WockyJingleInfo

## WockyJingleInfo WockyJingleInfo |

## Synopsis

    struct              WockyJingleInfoClass;
    WockyJingleInfo *   wocky_jingle_info_new               (WockyPorter *porter);
    void                wocky_jingle_info_take_stun_server  (WockyJingleInfo *self,
                                                             gchar *stun_server,
                                                             guint16 stun_port,
                                                             gboolean is_fallback);
    void                wocky_jingle_info_send_request      (WockyJingleInfo *self,
                                                             gboolean google_jingleinfo_supported);
                        WockyStunServer;
    GList *             wocky_jingle_info_get_stun_servers  (WockyJingleInfo *self);
    const gchar *       wocky_jingle_info_get_google_relay_token
                                                            (WockyJingleInfo *self);
    enum                WockyJingleRelayType;
    #define             WOCKY_N_JINGLE_RELAY_TYPES
                        WockyJingleRelay;
    WockyJingleRelay *  wocky_jingle_relay_new              (WockyJingleRelayType type,
                                                             const gchar *ip,
                                                             guint port,
                                                             const gchar *username,
                                                             const gchar *password,
                                                             guint component);
    void                wocky_jingle_relay_free             (WockyJingleRelay *relay);
    void                (*WockyJingleInfoRelaySessionCb)    (GPtrArray *relays,
                                                             gpointer user_data);
    void                wocky_jingle_info_create_google_relay_session
                                                            (WockyJingleInfo *self,
                                                             guint components,
                                                             WockyJingleInfoRelaySessionCb callback,
                                                             gpointer user_data);
    void                wocky_jingle_info_set_test_mode     (void);

## Description

## Details

### struct WockyJingleInfoClass

    struct WockyJingleInfoClass {
        GObjectClass parent_class;
    };

### wocky_jingle_info_new ()

    WockyJingleInfo *   wocky_jingle_info_new               (WockyPorter *porter);

### wocky_jingle_info_take_stun_server ()

    void                wocky_jingle_info_take_stun_server  (WockyJingleInfo *self,
                                                             gchar *stun_server,
                                                             guint16 stun_port,
                                                             gboolean is_fallback);

### wocky_jingle_info_send_request ()

    void                wocky_jingle_info_send_request      (WockyJingleInfo *self,
                                                             gboolean google_jingleinfo_supported);

### WockyStunServer

    typedef struct {
        gchar *address;
        guint16 port;
    } WockyStunServer;

### wocky_jingle_info_get_stun_servers ()

    GList *             wocky_jingle_info_get_stun_servers  (WockyJingleInfo *self);

### wocky_jingle_info_get_google_relay_token ()

    const gchar *       wocky_jingle_info_get_google_relay_token
                                                            (WockyJingleInfo *self);

### enum WockyJingleRelayType

    typedef enum {
        WOCKY_JINGLE_RELAY_TYPE_UDP,
        WOCKY_JINGLE_RELAY_TYPE_TCP,
        WOCKY_JINGLE_RELAY_TYPE_TLS
    } WockyJingleRelayType;

`WOCKY_JINGLE_RELAY_TYPE_UDP` |
`WOCKY_JINGLE_RELAY_TYPE_TCP` |
`WOCKY_JINGLE_RELAY_TYPE_TLS` |

### WOCKY_N_JINGLE_RELAY_TYPES

    #define WOCKY_N_JINGLE_RELAY_TYPES 3

### WockyJingleRelay

    typedef struct {
        WockyJingleRelayType type;
        gchar *ip;
        guint port;
        gchar *username;
        gchar *password;
        guint component;
    } WockyJingleRelay;

### wocky_jingle_relay_new ()

    WockyJingleRelay *  wocky_jingle_relay_new              (WockyJingleRelayType type,
                                                             const gchar *ip,
                                                             guint port,
                                                             const gchar *username,
                                                             const gchar *password,
                                                             guint component);

### wocky_jingle_relay_free ()

    void                wocky_jingle_relay_free             (WockyJingleRelay *relay);

### WockyJingleInfoRelaySessionCb ()

    void                (*WockyJingleInfoRelaySessionCb)    (GPtrArray *relays,
                                                             gpointer user_data);

### wocky_jingle_info_create_google_relay_session ()

    void                wocky_jingle_info_create_google_relay_session
                                                            (WockyJingleInfo *self,
                                                             guint components,
                                                             WockyJingleInfoRelaySessionCb callback,
                                                             gpointer user_data);

### wocky_jingle_info_set_test_mode ()

    void                wocky_jingle_info_set_test_mode     (void);