jingle/register.h
author Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
Sun, 18 Jul 2010 21:51:41 +0200
changeset 54 1c1153f9f945
parent 49 8dddfbe488b6
child 59 69985ccda25a
permissions -rw-r--r--
Handle for jingle
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
77966ed56e14 Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     1
#ifndef __JINGLE_REGISTER_H__
77966ed56e14 Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     2
#define __JINGLE_REGISTER_H__
77966ed56e14 Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     3
18
d0ddcfd31eb8 Change the way the header files are included.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 17
diff changeset
     4
#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
     5
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
     6
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
     7
#define NS_JINGLE_APP_PREFIX       "urn:xmpp:jingle:app:"
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
     8
#define NS_JINGLE_TRANSPORT_PREFIX "urn:xmpp:jingle:transport:"
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
     9
49
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    10
typedef enum {
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    11
  JINGLE_TRANS_IN_BAND,
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    12
  JINGLE_TRANS_OUT_BAND,
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    13
} JingleTransType;
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    14
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    15
typedef enum {
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    16
  JINGLE_TRANS_TCP,
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    17
  JINGLE_TRANS_UDP,
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    18
} JingleTransMethod;
17
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
    19
32
72bbe33f151a Modify the session-initiate handler among other things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 29
diff changeset
    20
typedef gconstpointer (*JingleAppCheck) (JingleContent *cn, GError **err);
72bbe33f151a Modify the session-initiate handler among other things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 29
diff changeset
    21
typedef void (*JingleAppHandle) (JingleNode *jn, JingleContent *cn);
29
9215053e8fb0 Delete parse / use check
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 25
diff changeset
    22
typedef LmMessageNode* (*JingleAppGetLM) (gconstpointer data);
54
1c1153f9f945 Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    23
typedef gboolean (*JingleAppHandleData) (gconstpointer data, const gchar *data2, guint len);
25
11694a99f84b Build a LMNode from a Jingle struct
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 23
diff changeset
    24
32
72bbe33f151a Modify the session-initiate handler among other things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 29
diff changeset
    25
typedef gconstpointer (*JingleTransportCheck) (JingleContent *cn, GError **err);
72bbe33f151a Modify the session-initiate handler among other things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 29
diff changeset
    26
typedef void (*JingleTransportHandle) (JingleNode *jn, JingleContent *cn);
29
9215053e8fb0 Delete parse / use check
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 25
diff changeset
    27
typedef LmMessageNode* (*JingleTransportGetLM) (gconstpointer data);
54
1c1153f9f945 Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    28
typedef gboolean (*JingleTransportCmp) (gconstpointer data1, gconstpointer data2);
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    29
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    30
typedef struct {
20
72e53665328e Add a function to check a file transfert request.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 19
diff changeset
    31
  /* check if the description of a JingleContent is correct */
25
11694a99f84b Build a LMNode from a Jingle struct
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 23
diff changeset
    32
  JingleAppCheck check;
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    33
25
11694a99f84b Build a LMNode from a Jingle struct
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 23
diff changeset
    34
  /* Give a LM from a internal struct */
11694a99f84b Build a LMNode from a Jingle struct
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 23
diff changeset
    35
  JingleAppGetLM desc;
23
9367e144e626 Some errors in code
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 20
diff changeset
    36
  
25
11694a99f84b Build a LMNode from a Jingle struct
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 23
diff changeset
    37
  /* If we got a LM with the good xmlns */
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    38
  JingleAppHandle handle;
54
1c1153f9f945 Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    39
  
1c1153f9f945 Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    40
  JingleAppHandleData handle_data;
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    41
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    42
} JingleAppFuncs;
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    43
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    44
typedef struct {
20
72e53665328e Add a function to check a file transfert request.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 19
diff changeset
    45
  /* check if the transport of a JingleContent is correct */
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    46
  JingleAppCheck  check;
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    47
25
11694a99f84b Build a LMNode from a Jingle struct
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 23
diff changeset
    48
  JingleTransportGetLM trans;
29
9215053e8fb0 Delete parse / use check
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 25
diff changeset
    49
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    50
  /* */
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    51
  JingleAppHandle handle;
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    52
  
54
1c1153f9f945 Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    53
  JingleTransportCmp cmp;
1c1153f9f945 Handle for jingle
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 49
diff changeset
    54
  
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    55
} JingleTransportFuncs;
17
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
    56
24aa7414bafd Start the transport/app registering code. Fix various things.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 14
diff changeset
    57
49
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    58
void jingle_register_app(const gchar *xmlns, JingleAppFuncs *funcs,
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    59
                         JingleTransMethod method);
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    60
void jingle_register_transport(const gchar *xmlns, JingleTransportFuncs *funcs,
8dddfbe488b6 Add ibb transport
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 37
diff changeset
    61
                               JingleTransType type, JingleTransMethod method);
19
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    62
JingleAppFuncs *jingle_get_appfuncs(const gchar *xmlns);
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    63
JingleTransportFuncs *jingle_get_transportfuncs(const gchar *xmlns);
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    64
void jingle_unregister_app(const gchar *xmlns);
60a10ab26723 Modify the "registering" code.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 18
diff changeset
    65
void jingle_unregister_transport(const gchar *xmlns);
14
77966ed56e14 Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    66
77966ed56e14 Create two subdirectories.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    67
#endif