jingle/register.h
author Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
Sun, 12 Sep 2010 18:20:53 +0200
changeset 167 97f93fa3cd95
parent 161 fa1d993d05b6
permissions -rw-r--r--
Change socks5.c to s5b.c in the headers and cmakelist
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
     1
/**
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
     2
 * @file register.h
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
     3
 * @brief register.c header file
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
     4
 * @author Nicolas Cornu
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
     5
 */
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
     6
14
77966ed56e14 Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     7
#ifndef __JINGLE_REGISTER_H__
77966ed56e14 Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     8
#define __JINGLE_REGISTER_H__
77966ed56e14 Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     9
18
d0ddcfd31eb8 Change the way the header files are included.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 17
diff changeset
    10
#include <jingle/jingle.h>
17
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
    11
59
69985ccda25a We send a session-accept \o/... Endly
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 54
diff changeset
    12
#define NS_JINGLE_APP_PREFIX       "urn:xmpp:jingle:apps:"
69985ccda25a We send a session-accept \o/... Endly
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 54
diff changeset
    13
#define NS_JINGLE_TRANSPORT_PREFIX "urn:xmpp:jingle:transports:"
17
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
    14
49
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    15
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    16
/**
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    17
 * @brief A transport can be either of type "streaming" or "datagram"
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    18
 */
49
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    19
typedef enum {
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    20
  /**
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    21
   * A datagram transport has one or more components with which to exchange
63
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    22
   * packets with UDP-like behavior. Packets might be of arbitrary length,
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    23
   * might be received out of order, and might not be received at all
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    24
   * (i.e., the transport is lossy).
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    25
   */
63
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    26
  JINGLE_TRANSPORT_STREAMING,
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    27
  
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    28
  /**
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    29
   * A streaming transport has one or more components with which to exchange
63
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    30
   * bidirectional bytestreams with TCP-like behavior. Bytes are received
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    31
   * reliably and in order, and applications MUST NOT rely on a stream being
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    32
   * chunked in any specific way.
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    33
   */
63
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    34
  JINGLE_TRANSPORT_DATAGRAM
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    35
} JingleTransportType;
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    36
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    37
/**
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    38
 * @brief A way for transport modules to rank themselves.
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    39
 * 
63
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    40
 * We need to rank transports to determine which one to choose.
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    41
 * With this system, In-Band Bytestreams could have a low priority,
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    42
 * SOCKS5 Bytestreams a normal priority.\n
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    43
 * 0 will always be an invalid priority.
63
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    44
 */
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    45
typedef enum {
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    46
  JINGLE_TRANSPORT_PRIO_LOW = 1,
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    47
  JINGLE_TRANSPORT_PRIO_NORMAL,
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    48
  JINGLE_TRANSPORT_PRIO_HIGH
63
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
    49
} JingleTransportPriority;
17
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
    50
156
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    51
/**
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    52
 * @brief Type returned by JingleAppFuncs and JingleTransportFuncs ->handle
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    53
 */
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    54
typedef enum {
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    55
  JINGLE_STATUS_HANDLED,
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    56
  JINGLE_STATUS_NOT_HANDLED,
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    57
  JINGLE_STATUS_HANDLE_ERROR
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    58
} JingleHandleStatus;
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    59
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    60
typedef gconstpointer (*JingleAppNewFromMsg) (JingleContent *cn, GError **err);
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    61
typedef JingleHandleStatus (*JingleAppHandle) (JingleAction action, gconstpointer data, LmMessageNode *node, GError **err);
81
8b6320ad470b Add comments, change some function names...
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 80
diff changeset
    62
typedef void (*JingleAppToMessage) (gconstpointer data, LmMessageNode *node);
54
1c1153f9f945 Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    63
typedef gboolean (*JingleAppHandleData) (gconstpointer data, const gchar *data2, guint len);
123
58bd57666ef9 Add a end function to transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 122
diff changeset
    64
typedef void (*JingleAppStart) (session_content *sc);
58bd57666ef9 Add a end function to transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 122
diff changeset
    65
typedef void (*JingleAppSend) (session_content *sc);
109
d4d50e62098b debug 3
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 107
diff changeset
    66
typedef void (*JingleAppStop) (gconstpointer data);
128
cded9f40039e Give info when asking for events
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    67
typedef gchar* (*JingleAppInfo) (gconstpointer data);
25
11694a99f84b Build a LMNode from a Jingle struct
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 23
diff changeset
    68
156
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    69
typedef gconstpointer (*JingleTransportNewFromMsg) (JingleContent *cn, GError **err);
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    70
typedef JingleHandleStatus (*JingleTransportHandle) (JingleAction action, gconstpointer data, LmMessageNode *node, GError **err);
81
8b6320ad470b Add comments, change some function names...
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 80
diff changeset
    71
typedef void (*JingleTransportToMessage) (gconstpointer data, LmMessageNode *node);
73
6f061c11acfb Add atrans to a new app
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 70
diff changeset
    72
typedef gconstpointer (*JingleTransportNew) (void);
122
8969dc3e2f14 JIBB: buffering
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 111
diff changeset
    73
typedef void (*JingleTransportSend) (session_content *sc, gconstpointer data, gchar *buf, gsize size);
161
fa1d993d05b6 S5B: Use a GSocketListener to manage listener sockets.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 156
diff changeset
    74
typedef void (*JingleTransportInit) (session_content *sc, gconstpointer data);
123
58bd57666ef9 Add a end function to transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 122
diff changeset
    75
typedef void (*JingleTransportEnd) (session_content *sc, gconstpointer data);
128
cded9f40039e Give info when asking for events
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
    76
typedef gchar* (*JingleTransportInfo) (gconstpointer data);
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    77
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    78
/**
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    79
 * @brief Struct containing functions provided by an app module.
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    80
 */
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    81
typedef struct {
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    82
  /**
156
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    83
   * @brief Check a description node, store its content in an internal
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    84
   *        struct, then return it as a gconstpointer
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    85
   * 
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    86
   * This function will only called when receiving a session-initiate.
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    87
   * It should store the content of the <description> node into an
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    88
   * internal struct and return this struct as a gconstpointer.
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    89
   */
156
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
    90
  JingleAppNewFromMsg newfrommessage;
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    91
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    92
  /**
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    93
   * @brief Handle an incoming jingle message (session-info, description-info...)
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    94
   * 
111
76ce876f7935 Handle incoming session-info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 109
diff changeset
    95
   * If the function could not handle the incoming data, the caller should
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    96
   * reply to the incoming message with an error iq.
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
    97
   */
111
76ce876f7935 Handle incoming session-info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 109
diff changeset
    98
  JingleAppHandle handle;
76ce876f7935 Handle incoming session-info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 109
diff changeset
    99
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   100
  /**
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   101
   * @brief Insert data from the gconstpointer to the node given as an argument
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   102
   */
80
1c2ef2c5debe Modifications to the JingleSession struct.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 76
diff changeset
   103
  JingleAppToMessage tomessage;
111
76ce876f7935 Handle incoming session-info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 109
diff changeset
   104
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   105
  /**
156
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   106
   * @brief Handle incoming Jingle IQs.
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   107
   * 
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   108
   * e.g.: decription-info, content-info... etc
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   109
   * The first argument is the IQ type (a JingleAction). If the function
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   110
   * doesn't want to handle the IQ, it simply returns JINGLE_NOT_HANDLED,
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   111
   * if it has handled the IQ, it returns JINGLE_HANDLED, if it has handled
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   112
   * the IQ and an error happened, it returns JINGLE_HANDLE_ERROR.
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   113
   */
54
1c1153f9f945 Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
   114
  JingleAppHandleData handle_data;
111
76ce876f7935 Handle incoming session-info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 109
diff changeset
   115
101
4235aa1a7664 JFT: add a func to send data
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 81
diff changeset
   116
  JingleAppStart start;
111
76ce876f7935 Handle incoming session-info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 109
diff changeset
   117
103
c34b513be8d9 JFT: handle data app
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 102
diff changeset
   118
  JingleAppSend send;
111
76ce876f7935 Handle incoming session-info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 109
diff changeset
   119
109
d4d50e62098b debug 3
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 107
diff changeset
   120
  JingleAppStop stop;
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   121
128
cded9f40039e Give info when asking for events
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
   122
  JingleAppInfo info;
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
   123
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
   124
} JingleAppFuncs;
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
   125
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
   126
typedef struct {
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   127
  /**
156
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   128
   * @brief Check a transport node, store its content in an internal
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   129
   *        struct, then return it as a gconstpointer
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   130
   * 
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   131
   * It basically does the same thins as a JingleAppNewFroMsg function,
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   132
   * but for a <transport> node.
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   133
   */
156
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   134
  JingleTransportNewFromMsg newfrommessage;
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   135
653fa009fea3 Rename ->check() to newfrommessage and call it only on session-initiate.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 148
diff changeset
   136
  JingleTransportHandle handle;
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
   137
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   138
  /**
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   139
   * @brief Insert data from the gconstpointer to the node given as an argument
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   140
   */
80
1c2ef2c5debe Modifications to the JingleSession struct.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 76
diff changeset
   141
  JingleTransportToMessage tomessage;
111
76ce876f7935 Handle incoming session-info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 109
diff changeset
   142
73
6f061c11acfb Add atrans to a new app
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 70
diff changeset
   143
  JingleTransportNew new;
111
76ce876f7935 Handle incoming session-info
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 109
diff changeset
   144
102
ec430b98c115 send hash
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 101
diff changeset
   145
  JingleTransportSend send;
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   146
126
059a6737f6a4 Error are better handle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 123
diff changeset
   147
  JingleTransportInit init;
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   148
123
58bd57666ef9 Add a end function to transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 122
diff changeset
   149
  JingleTransportEnd end;
148
cb40539b88b7 Fix compilation warnings. Add documentation in the code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 133
diff changeset
   150
128
cded9f40039e Give info when asking for events
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
   151
  JingleTransportInfo info;
cded9f40039e Give info when asking for events
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 127
diff changeset
   152
  
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
   153
} JingleTransportFuncs;
17
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
   154
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
   155
49
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
   156
void jingle_register_app(const gchar *xmlns, JingleAppFuncs *funcs,
63
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
   157
                         JingleTransportType type);
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
   158
void jingle_register_transport(const gchar *xmlns,
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
   159
                               JingleTransportFuncs *funcs,
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
   160
                               JingleTransportType type,
b56853071a09 Add a new function that find the best transport method for an app.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 61
diff changeset
   161
                               JingleTransportPriority prio);
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
   162
JingleAppFuncs *jingle_get_appfuncs(const gchar *xmlns);
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
   163
JingleTransportFuncs *jingle_get_transportfuncs(const gchar *xmlns);
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
   164
void jingle_unregister_app(const gchar *xmlns);
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
   165
void jingle_unregister_transport(const gchar *xmlns);
127
02dde03e219b remove xmlns() in transports
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 126
diff changeset
   166
const gchar *jingle_transport_for_app(const gchar *appxmlns, GSList **forbid);
14
77966ed56e14 Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
   167
77966ed56e14 Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
   168
#endif