jingle-s5b/s5b.h
changeset 166 c42c167a2a5c
child 167 97f93fa3cd95
equal deleted inserted replaced
165:763c26abd99d 166:c42c167a2a5c
       
     1 #ifndef __JINGLESOCKS5_H__
       
     2 #define __JINGLESOCKS5_H__ 1
       
     3 
       
     4 #include <glib.h>
       
     5 #include <gio/gio.h>
       
     6 
       
     7 #define NS_JINGLE_TRANSPORT_SOCKS5 "urn:xmpp:jingle:transports:s5b:1"
       
     8 
       
     9 
       
    10 typedef enum {
       
    11   JINGLE_S5B_DIRECT,
       
    12   JINGLE_S5B_ASSISTED,
       
    13   JINGLE_S5B_TUNNEL,
       
    14   JINGLE_S5B_PROXY
       
    15 } JingleS5BType;
       
    16 
       
    17 typedef enum {
       
    18   JINGLE_S5B_TCP,
       
    19   JINGLE_S5B_UDP
       
    20 } JingleS5BModes;
       
    21 
       
    22 typedef struct {
       
    23   JingleS5BModes mode;
       
    24 
       
    25   const gchar *sid;
       
    26 
       
    27   GSocketConnection *connection;
       
    28 
       
    29   GCancellable *cancelconnect;
       
    30 
       
    31   GSocketListener *listener;
       
    32 
       
    33   GSocketClient *client;
       
    34 
       
    35   /**
       
    36    * @brief This is the list of the other client's candidates
       
    37    * 
       
    38    * It should always be priority ordered.
       
    39    */
       
    40   GSList *candidates;
       
    41 
       
    42   /**
       
    43    * @brief This is our list of candidates
       
    44    */
       
    45   GSList *ourcandidates;
       
    46 } JingleS5B;
       
    47  
       
    48 typedef struct {
       
    49   const gchar *cid;
       
    50 
       
    51   GInetAddress *host;
       
    52 
       
    53   const gchar *jid;
       
    54 
       
    55   guint16 port;
       
    56 
       
    57   guint64 priority;
       
    58 
       
    59   JingleS5BType type;
       
    60 } S5BCandidate;
       
    61 
       
    62 #endif