wocky-jingle-types

## wocky-jingle-types wocky-jingle-types |

## Synopsis

    enum                WockyJingleDialect;
    enum                WockyJingleState;
    enum                WockyJingleAction;
    enum                WockyJingleContentSenders;
    enum                WockyJingleTransportType;
    enum                WockyJingleTransportProtocol;
    enum                WockyJingleCandidateType;
    enum                WockyJingleReason;
                        WockyJingleTransportRawUdp;
                        WockyJingleTransportGoogle;
                        WockyJingleContent;
                        WockyJingleMediaRtp;
                        WockyJingleFactory;
                        WockyJingleSession;
                        WockyJingleTransportIceUdp;
                        WockyJingleCandidate;

## Object Hierarchy

      GEnum
       +----WockyJingleReason

      GObject
       +----WockyJingleTransportRawUdp

      GObject
       +----WockyJingleTransportGoogle

      GObject
       +----WockyJingleContent
             +----WockyJingleMediaRtp

      GObject
       +----WockyJingleContent
             +----WockyJingleMediaRtp

      GObject
       +----WockyJingleFactory

      GObject
       +----WockyJingleSession

      GObject
       +----WockyJingleTransportIceUdp

## Implemented Interfaces

WockyJingleTransportRawUdp implements WockyJingleTransportIface.

WockyJingleTransportGoogle implements WockyJingleTransportIface.

WockyJingleTransportIceUdp implements WockyJingleTransportIface.

## Properties

      "content"                  WockyJingleContent*   : Read / Write / Construct Only
      "state"                    guint                 : Read / Write
      "transport-ns"             gchar*                : Read / Write / Construct Only
      "content"                  WockyJingleContent*   : Read / Write / Construct Only
      "state"                    guint                 : Read / Write
      "transport-ns"             gchar*                : Read / Write / Construct Only
      "content-ns"               gchar*                : Read / Write
      "disposition"              gchar*                : Read / Write
      "locally-created"          gboolean              : Read
      "name"                     gchar*                : Read / Write / Construct Only
      "senders"                  guint                 : Read / Write
      "session"                  WockyJingleSession*   : Read / Write / Construct Only
      "state"                    guint                 : Read / Write
      "transport-ns"             gchar*                : Read / Write
      "media-type"               guint                 : Read / Write / Construct Only
      "remote-mute"              gboolean              : Read / Write
      "session"                  WockySession*         : Read / Write / Construct Only
      "dialect"                  guint                 : Read / Write
      "jingle-factory"           WockyJingleFactory*   : Read / Write / Construct Only
      "local-hold"               gboolean              : Read / Write
      "local-initiator"          gboolean              : Read / Write / Construct Only
      "peer-contact"             WockyContact*         : Read / Write / Construct Only
      "porter"                   WockyPorter*          : Read / Write / Construct Only
      "remote-hold"              gboolean              : Read
      "remote-ringing"           gboolean              : Read
      "session-id"               gchar*                : Read / Write / Construct Only
      "state"                    guint                 : Read / Write
      "content"                  WockyJingleContent*   : Read / Write / Construct Only
      "state"                    guint                 : Read / Write
      "transport-ns"             gchar*                : Read / Write / Construct Only

## Signals

      "new-candidates"                                 : Run Last
      "new-candidates"                                 : Run Last
      "completed"                                      : Run Last
      "new-candidates"                                 : Run Last
      "new-share-channel"                              : Run Last
      "ready"                                          : Has Details
      "removed"                                        : Has Details
      "remote-media-description"                       : Run Last
      "new-session"                                    : Run Last
      "query-cap"                                      : Run Last
      "about-to-initiate"                              : Run Last
      "content-rejected"                               : Run Last
      "new-content"                                    : Run Last
      "query-cap"                                      : Run Last
      "remote-state-changed"                           : Run Last
      "terminated"                                     : Run Last
      "new-candidates"                                 : Run Last

## Description

## Details

### enum WockyJingleDialect

    typedef enum {
     /*< skip >*/
      /* not a jingle message */
      WOCKY_JINGLE_DIALECT_ERROR,
      /* old libjingle3 gtalk variant */
      WOCKY_JINGLE_DIALECT_GTALK3,
      /* new gtalk variant */
      WOCKY_JINGLE_DIALECT_GTALK4,
      /* jingle in the old 0.15 version days */
      WOCKY_JINGLE_DIALECT_V015,
      /* current jingle standard */
      WOCKY_JINGLE_DIALECT_V032
    } WockyJingleDialect;

`WOCKY_JINGLE_DIALECT_ERROR` |
`WOCKY_JINGLE_DIALECT_GTALK3` |
`WOCKY_JINGLE_DIALECT_GTALK4` |
`WOCKY_JINGLE_DIALECT_V015` |
`WOCKY_JINGLE_DIALECT_V032` |

### enum WockyJingleState

    typedef enum {
     /*< skip >*/
      WOCKY_JINGLE_STATE_PENDING_CREATED = 0,
      WOCKY_JINGLE_STATE_PENDING_INITIATE_SENT,
      WOCKY_JINGLE_STATE_PENDING_INITIATED,
      WOCKY_JINGLE_STATE_PENDING_ACCEPT_SENT,
      WOCKY_JINGLE_STATE_ACTIVE,
      WOCKY_JINGLE_STATE_ENDED,
    } WockyJingleState;

Possible states of a WockyJingleSession.

`WOCKY_JINGLE_STATE_PENDING_CREATED` | on outgoing sessions, no offer has been sent to the peer yet.
`WOCKY_JINGLE_STATE_PENDING_INITIATE_SENT` | on outgoing sessions, we have sent the session-initiate and are awaiting the peer's acknowledgement.
`WOCKY_JINGLE_STATE_PENDING_INITIATED` | on outgoing sessions, the peer has received our session-initiate and we're waiting for them to accept; on incoming sessions, the peer is waiting for us to accept.
`WOCKY_JINGLE_STATE_PENDING_ACCEPT_SENT` | on incoming sessions, we have sent session-accept and are waiting for the peer to acknowledge it.
`WOCKY_JINGLE_STATE_ACTIVE` | the session is active.
`WOCKY_JINGLE_STATE_ENDED` | the session has ended. The "terminated" signal describes how the session ended.

### enum WockyJingleAction

    typedef enum {
     /*< skip >*/
      WOCKY_JINGLE_ACTION_UNKNOWN,
      WOCKY_JINGLE_ACTION_CONTENT_ACCEPT,
      WOCKY_JINGLE_ACTION_CONTENT_ADD,
      WOCKY_JINGLE_ACTION_CONTENT_MODIFY,
      WOCKY_JINGLE_ACTION_CONTENT_REMOVE,
      WOCKY_JINGLE_ACTION_CONTENT_REPLACE,
      WOCKY_JINGLE_ACTION_CONTENT_REJECT,
      WOCKY_JINGLE_ACTION_SESSION_ACCEPT,
      WOCKY_JINGLE_ACTION_SESSION_INFO,
      WOCKY_JINGLE_ACTION_SESSION_INITIATE,
      WOCKY_JINGLE_ACTION_SESSION_TERMINATE,
      WOCKY_JINGLE_ACTION_TRANSPORT_INFO,
      WOCKY_JINGLE_ACTION_TRANSPORT_ACCEPT,
      WOCKY_JINGLE_ACTION_DESCRIPTION_INFO,
      WOCKY_JINGLE_ACTION_INFO
    } WockyJingleAction;

`WOCKY_JINGLE_ACTION_UNKNOWN` |
`WOCKY_JINGLE_ACTION_CONTENT_ACCEPT` |
`WOCKY_JINGLE_ACTION_CONTENT_ADD` |
`WOCKY_JINGLE_ACTION_CONTENT_MODIFY` |
`WOCKY_JINGLE_ACTION_CONTENT_REMOVE` |
`WOCKY_JINGLE_ACTION_CONTENT_REPLACE` |
`WOCKY_JINGLE_ACTION_CONTENT_REJECT` |
`WOCKY_JINGLE_ACTION_SESSION_ACCEPT` |
`WOCKY_JINGLE_ACTION_SESSION_INFO` |
`WOCKY_JINGLE_ACTION_SESSION_INITIATE` |
`WOCKY_JINGLE_ACTION_SESSION_TERMINATE` |
`WOCKY_JINGLE_ACTION_TRANSPORT_INFO` |
`WOCKY_JINGLE_ACTION_TRANSPORT_ACCEPT` |
`WOCKY_JINGLE_ACTION_DESCRIPTION_INFO` |
`WOCKY_JINGLE_ACTION_INFO` |

### enum WockyJingleContentSenders

    typedef enum {
     /*< skip >*/
      WOCKY_JINGLE_CONTENT_SENDERS_NONE,
      WOCKY_JINGLE_CONTENT_SENDERS_INITIATOR,
      WOCKY_JINGLE_CONTENT_SENDERS_RESPONDER,
      WOCKY_JINGLE_CONTENT_SENDERS_BOTH
    } WockyJingleContentSenders;

`WOCKY_JINGLE_CONTENT_SENDERS_NONE` |
`WOCKY_JINGLE_CONTENT_SENDERS_INITIATOR` |
`WOCKY_JINGLE_CONTENT_SENDERS_RESPONDER` |
`WOCKY_JINGLE_CONTENT_SENDERS_BOTH` |

### enum WockyJingleTransportType

    typedef enum {
     /*< skip >*/
      JINGLE_TRANSPORT_UNKNOWN,
      JINGLE_TRANSPORT_GOOGLE_P2P,
      JINGLE_TRANSPORT_RAW_UDP,
      JINGLE_TRANSPORT_ICE_UDP,
    } WockyJingleTransportType;

`JINGLE_TRANSPORT_UNKNOWN` |
`JINGLE_TRANSPORT_GOOGLE_P2P` |
`JINGLE_TRANSPORT_RAW_UDP` |
`JINGLE_TRANSPORT_ICE_UDP` |

### enum WockyJingleTransportProtocol

    typedef enum {
     /*< skip >*/
      WOCKY_JINGLE_TRANSPORT_PROTOCOL_UDP,
      WOCKY_JINGLE_TRANSPORT_PROTOCOL_TCP
    } WockyJingleTransportProtocol;

`WOCKY_JINGLE_TRANSPORT_PROTOCOL_UDP` |
`WOCKY_JINGLE_TRANSPORT_PROTOCOL_TCP` |

### enum WockyJingleCandidateType

    typedef enum {
     /*< skip >*/
      WOCKY_JINGLE_CANDIDATE_TYPE_LOCAL,
      WOCKY_JINGLE_CANDIDATE_TYPE_STUN,
      WOCKY_JINGLE_CANDIDATE_TYPE_RELAY
    } WockyJingleCandidateType;

`WOCKY_JINGLE_CANDIDATE_TYPE_LOCAL` |
`WOCKY_JINGLE_CANDIDATE_TYPE_STUN` |
`WOCKY_JINGLE_CANDIDATE_TYPE_RELAY` |

### enum WockyJingleReason

    typedef enum {
      WOCKY_JINGLE_REASON_UNKNOWN,
      WOCKY_JINGLE_REASON_ALTERNATIVE_SESSION,
      WOCKY_JINGLE_REASON_BUSY,
      WOCKY_JINGLE_REASON_CANCEL,
      WOCKY_JINGLE_REASON_CONNECTIVITY_ERROR,
      WOCKY_JINGLE_REASON_DECLINE,
      WOCKY_JINGLE_REASON_EXPIRED,
      WOCKY_JINGLE_REASON_FAILED_APPLICATION,
      WOCKY_JINGLE_REASON_FAILED_TRANSPORT,
      WOCKY_JINGLE_REASON_GENERAL_ERROR,
      WOCKY_JINGLE_REASON_GONE,
      WOCKY_JINGLE_REASON_INCOMPATIBLE_PARAMETERS,
      WOCKY_JINGLE_REASON_MEDIA_ERROR,
      WOCKY_JINGLE_REASON_SECURITY_ERROR,
      WOCKY_JINGLE_REASON_SUCCESS,
      WOCKY_JINGLE_REASON_TIMEOUT,
      WOCKY_JINGLE_REASON_UNSUPPORTED_APPLICATIONS,
      WOCKY_JINGLE_REASON_UNSUPPORTED_TRANSPORTS
    } WockyJingleReason;

The reason for a Jingle action occurring—specifically, the reason for terminating a call. See XEP-0166 Jingle §7.4 for definitions of the codes.

`WOCKY_JINGLE_REASON_UNKNOWN` | no known reason
`WOCKY_JINGLE_REASON_ALTERNATIVE_SESSION` |
`WOCKY_JINGLE_REASON_BUSY` |
`WOCKY_JINGLE_REASON_CANCEL` |
`WOCKY_JINGLE_REASON_CONNECTIVITY_ERROR` |
`WOCKY_JINGLE_REASON_DECLINE` |
`WOCKY_JINGLE_REASON_EXPIRED` |
`WOCKY_JINGLE_REASON_FAILED_APPLICATION` |
`WOCKY_JINGLE_REASON_FAILED_TRANSPORT` |
`WOCKY_JINGLE_REASON_GENERAL_ERROR` |
`WOCKY_JINGLE_REASON_GONE` |
`WOCKY_JINGLE_REASON_INCOMPATIBLE_PARAMETERS` |
`WOCKY_JINGLE_REASON_MEDIA_ERROR` |
`WOCKY_JINGLE_REASON_SECURITY_ERROR` |
`WOCKY_JINGLE_REASON_SUCCESS` |
`WOCKY_JINGLE_REASON_TIMEOUT` |
`WOCKY_JINGLE_REASON_UNSUPPORTED_APPLICATIONS` |
`WOCKY_JINGLE_REASON_UNSUPPORTED_TRANSPORTS` |

### WockyJingleTransportRawUdp

    typedef struct _WockyJingleTransportRawUdp WockyJingleTransportRawUdp;

### WockyJingleTransportGoogle

    typedef struct _WockyJingleTransportGoogle WockyJingleTransportGoogle;

### WockyJingleContent

    typedef struct _WockyJingleContent WockyJingleContent;

### WockyJingleMediaRtp

    typedef struct _WockyJingleMediaRtp WockyJingleMediaRtp;

### WockyJingleFactory

    typedef struct _WockyJingleFactory WockyJingleFactory;

### WockyJingleSession

    typedef struct _WockyJingleSession WockyJingleSession;

### WockyJingleTransportIceUdp

    typedef struct _WockyJingleTransportIceUdp WockyJingleTransportIceUdp;

### WockyJingleCandidate

    typedef struct {
      WockyJingleTransportProtocol protocol;
      WockyJingleCandidateType type;

      gchar *id;
      gchar *address;
      int port;
      int component;
      int generation;

      int preference;
      gchar *username;
      gchar *password;
      int network;
    } WockyJingleCandidate;

## Property Details

### The `"content"` property

      "content"                  WockyJingleContent*   : Read / Write / Construct Only

Jingle content object using this transport.

### The `"state"` property

      "state"                    guint                 : Read / Write

Enum specifying the connection state of the transport.

Allowed values: <= 2

Default value: 0

### The `"transport-ns"` property

      "transport-ns"             gchar*                : Read / Write / Construct Only

Namespace identifying the transport type.

Default value: NULL

### The `"content"` property

      "content"                  WockyJingleContent*   : Read / Write / Construct Only

Jingle content object using this transport.

### The `"state"` property

      "state"                    guint                 : Read / Write

Enum specifying the connection state of the transport.

Allowed values: <= 2

Default value: 0

### The `"transport-ns"` property

      "transport-ns"             gchar*                : Read / Write / Construct Only

Namespace identifying the transport type.

Default value: NULL

### The `"content-ns"` property

      "content-ns"               gchar*                : Read / Write

Namespace identifying the content type.

Default value: NULL

### The `"disposition"` property

      "disposition"              gchar*                : Read / Write

Distinguishes between 'session' and other contents.

Default value: NULL

### The `"locally-created"` property

      "locally-created"          gboolean              : Read

True if the content was created by the local client.

Default value: FALSE

### The `"name"` property

      "name"                     gchar*                : Read / Write / Construct Only

A unique content name in the session.

Default value: NULL

### The `"senders"` property

      "senders"                  guint                 : Read / Write

Valid senders for the stream.

Default value: 0

### The `"session"` property

      "session"                  WockyJingleSession*   : Read / Write / Construct Only

Jingle session object that owns this content.

### The `"state"` property

      "state"                    guint                 : Read / Write

The current state that the content is in.

Default value: 0

### The `"transport-ns"` property

      "transport-ns"             gchar*                : Read / Write

Namespace identifying the transport type.

Default value: NULL

### The `"media-type"` property

      "media-type"               guint                 : Read / Write / Construct Only

Media type.

Default value: 0

### The `"remote-mute"` property

      "remote-mute"              gboolean              : Read / Write

TRUE if the peer has muted this stream.

Default value: FALSE

### The `"session"` property

      "session"                  WockySession*         : Read / Write / Construct Only

WockySession to listen for Jingle sessions on.

### The `"dialect"` property

      "dialect"                  guint                 : Read / Write

Jingle dialect used for this session.

Default value: 0

### The `"jingle-factory"` property

      "jingle-factory"           WockyJingleFactory*   : Read / Write / Construct Only

The Jingle factory which created this session.

### The `"local-hold"` property

      "local-hold"               gboolean              : Read / Write

TRUE if we've placed the peer on hold.

Default value: FALSE

### The `"local-initiator"` property

      "local-initiator"          gboolean              : Read / Write / Construct Only

Specifies if local end initiated the session.

Default value: TRUE

### The `"peer-contact"` property

      "peer-contact"             WockyContact*         : Read / Write / Construct Only

The WockyContact representing the other party in the session. Note that if this is a WockyBareContact (as opposed to a WockyResourceContact) the session is with the contact's bare JID.

### The `"porter"` property

      "porter"                   WockyPorter*          : Read / Write / Construct Only

The WockyPorter for the current connection.

### The `"remote-hold"` property

      "remote-hold"              gboolean              : Read

TRUE if the peer has placed us on hold.

Default value: FALSE

### The `"remote-ringing"` property

      "remote-ringing"           gboolean              : Read

TRUE if the peer's client is ringing.

Default value: FALSE

### The `"session-id"` property

      "session-id"               gchar*                : Read / Write / Construct Only

A unique session identifier used throughout all communication.

Default value: NULL

### The `"state"` property

      "state"                    guint                 : Read / Write

The current state that the session is in.

Default value: 0

### The `"content"` property

      "content"                  WockyJingleContent*   : Read / Write / Construct Only

Jingle content object using this transport.

### The `"state"` property

      "state"                    guint                 : Read / Write

Enum specifying the connection state of the transport.

Allowed values: <= 2

Default value: 0

### The `"transport-ns"` property

      "transport-ns"             gchar*                : Read / Write / Construct Only

Namespace identifying the transport type.

Default value: NULL

## Signal Details

### The `"new-candidates"` signal

    void                user_function                      (WockyJingleTransportRawUdp *wockyjingletransportrawudp,
                                                            gpointer                    arg1,
                                                            gpointer                    user_data)                       : Run Last

### The `"new-candidates"` signal

    void                user_function                      (WockyJingleTransportGoogle *wockyjingletransportgoogle,
                                                            gpointer                    arg1,
                                                            gpointer                    user_data)                       : Run Last

### The `"completed"` signal

    void                user_function                      (WockyJingleContent *wockyjinglecontent,
                                                            gpointer            user_data)               : Run Last

### The `"new-candidates"` signal

    void                user_function                      (WockyJingleContent *content,
                                                            gpointer            candidates,
                                                            gpointer            user_data)       : Run Last

Emitted when new candidates are received from the peer.

`content` : | the content
`candidates` : | a GList of new candidates. [type GList][element-type WockyJingleCandidate]
`user_data` : | user data set when the signal handler was connected.

### The `"new-share-channel"` signal

    void                user_function                      (WockyJingleContent *wockyjinglecontent,
                                                            gchar              *arg1,
                                                            guint               arg2,
                                                            gpointer            user_data)               : Run Last

### The `"ready"` signal

    void                user_function                      (WockyJingleContent *wockyjinglecontent,
                                                            gpointer            user_data)               : Has Details

### The `"removed"` signal

    void                user_function                      (WockyJingleContent *wockyjinglecontent,
                                                            gpointer            user_data)               : Has Details

### The `"remote-media-description"` signal

    void                user_function                      (WockyJingleMediaRtp *content,
                                                            gpointer             md,
                                                            gpointer             user_data)      : Run Last

Emitted when the remote media description is received or subsequently updated.

`content` : | the RTP content
`md` : | a WockyJingleMediaDescription
`user_data` : | user data set when the signal handler was connected.

### The `"new-session"` signal

    void                user_function                      (WockyJingleFactory *wockyjinglefactory,
                                                            WockyJingleSession *arg1,
                                                            gboolean            arg2,
                                                            gpointer            user_data)               : Run Last

### The `"query-cap"` signal

    gboolean            user_function                      (WockyJingleFactory *wockyjinglefactory,
                                                            WockyContact       *arg1,
                                                            gchar              *arg2,
                                                            gpointer            user_data)               : Run Last

### The `"about-to-initiate"` signal

    void                user_function                      (WockyJingleSession *wockyjinglesession,
                                                            gpointer            user_data)               : Run Last

### The `"content-rejected"` signal

    void                user_function                      (WockyJingleSession *wockyjinglesession,
                                                            GObject            *arg1,
                                                            guint               arg2,
                                                            gchar              *arg3,
                                                            gpointer            user_data)               : Run Last

### The `"new-content"` signal

    void                user_function                      (WockyJingleSession *wockyjinglesession,
                                                            GObject            *arg1,
                                                            gpointer            user_data)               : Run Last

### The `"query-cap"` signal

    gboolean            user_function                      (WockyJingleSession *wockyjinglesession,
                                                            WockyContact       *arg1,
                                                            gchar              *arg2,
                                                            gpointer            user_data)               : Run Last

### The `"remote-state-changed"` signal

    void                user_function                      (WockyJingleSession *wockyjinglesession,
                                                            gpointer            user_data)               : Run Last

### The `"terminated"` signal

    void                user_function                      (WockyJingleSession *session,
                                                            gboolean            locally_terminated,
                                                            guint               reason,
                                                            gchar              *text,
                                                            gpointer            user_data)               : Run Last

Emitted when the session ends, just after "state" moves to WOCKY_JINGLE_STATE_ENDED.

`session` : | the session
`locally_terminated` : | `TRUE` if the session ended due to a call to `wocky_jingle_session_terminate()`; `FALSE` if the peer ended the session.
`reason` : | a WockyJingleReason describing why the session terminated
`text` : | a possibly-`NULL` human-readable string describing why the session terminated
`user_data` : | user data set when the signal handler was connected.

### The `"new-candidates"` signal

    void                user_function                      (WockyJingleTransportIceUdp *wockyjingletransporticeudp,
                                                            gpointer                    arg1,
                                                            gpointer                    user_data)                       : Run Last