| wocky Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
WockyXmppStanza; WockyXmppStanzaClass; enum WockyStanzaType; enum WockyStanzaSubType; enum WockyBuildTag; WockyXmppStanza * wocky_xmpp_stanza_new (const gchar *name); WockyXmppStanza * wocky_xmpp_stanza_build (WockyStanzaType type, WockyStanzaSubType sub_type, const gchar *from, const gchar *to, WockyBuildTag spec, ...); void wocky_xmpp_stanza_get_type_info (WockyXmppStanza *stanza, WockyStanzaType *type, WockyStanzaSubType *sub_type); WockyXmppStanza * wocky_xmpp_stanza_build_va (WockyStanzaType type, WockyStanzaSubType sub_type, const gchar *from, const gchar *to, WockyBuildTag spec, va_list ap); WockyXmppStanza * wocky_xmpp_stanza_build_iq_result (WockyXmppStanza *iq, WockyBuildTag spec, ...); WockyXmppStanza * wocky_xmpp_stanza_build_iq_error (WockyXmppStanza *iq, WockyBuildTag spec, ...); gboolean wocky_xmpp_stanza_extract_errors (WockyXmppStanza *stanza, WockyXmppErrorType *type, GError **core, GError **specialized, WockyXmppNode **specialized_node); gboolean wocky_xmpp_stanza_extract_stream_error (WockyXmppStanza *stanza, GError **stream_error);
typedef enum
{
WOCKY_STANZA_TYPE_NONE,
WOCKY_STANZA_TYPE_MESSAGE,
WOCKY_STANZA_TYPE_PRESENCE,
WOCKY_STANZA_TYPE_IQ,
WOCKY_STANZA_TYPE_STREAM,
WOCKY_STANZA_TYPE_STREAM_FEATURES,
WOCKY_STANZA_TYPE_AUTH,
WOCKY_STANZA_TYPE_CHALLENGE,
WOCKY_STANZA_TYPE_RESPONSE,
WOCKY_STANZA_TYPE_SUCCESS,
WOCKY_STANZA_TYPE_FAILURE,
WOCKY_STANZA_TYPE_STREAM_ERROR,
WOCKY_STANZA_TYPE_UNKNOWN,
NUM_WOCKY_STANZA_TYPE
} WockyStanzaType;
typedef enum
{
WOCKY_STANZA_SUB_TYPE_NONE,
WOCKY_STANZA_SUB_TYPE_AVAILABLE,
WOCKY_STANZA_SUB_TYPE_NORMAL,
WOCKY_STANZA_SUB_TYPE_CHAT,
WOCKY_STANZA_SUB_TYPE_GROUPCHAT,
WOCKY_STANZA_SUB_TYPE_HEADLINE,
WOCKY_STANZA_SUB_TYPE_UNAVAILABLE,
WOCKY_STANZA_SUB_TYPE_PROBE,
WOCKY_STANZA_SUB_TYPE_SUBSCRIBE,
WOCKY_STANZA_SUB_TYPE_UNSUBSCRIBE,
WOCKY_STANZA_SUB_TYPE_SUBSCRIBED,
WOCKY_STANZA_SUB_TYPE_UNSUBSCRIBED,
WOCKY_STANZA_SUB_TYPE_GET,
WOCKY_STANZA_SUB_TYPE_SET,
WOCKY_STANZA_SUB_TYPE_RESULT,
WOCKY_STANZA_SUB_TYPE_ERROR,
WOCKY_STANZA_SUB_TYPE_UNKNOWN,
NUM_WOCKY_STANZA_SUB_TYPE
} WockyStanzaSubType;
typedef enum
{
WOCKY_NODE,
WOCKY_NODE_TEXT,
WOCKY_NODE_END,
WOCKY_NODE_ATTRIBUTE,
WOCKY_NODE_XMLNS,
WOCKY_NODE_ASSIGN_TO,
WOCKY_STANZA_END
} WockyBuildTag;
WockyXmppStanza * wocky_xmpp_stanza_new (const gchar *name);
|
|
Returns : |
WockyXmppStanza * wocky_xmpp_stanza_build (WockyStanzaType type, WockyStanzaSubType sub_type, const gchar *from, const gchar *to, WockyBuildTag spec, ...);
Build a XMPP stanza from a list of arguments. Example:
Example 1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
wocky_xmpp_stanza_build ( WOCKY_STANZA_TYPE_MESSAGE, WOCKY_STANZA_SUB_TYPE_NONE, "alice@collabora.co.uk", "bob@collabora.co.uk", WOCKY_NODE, "html", WOCKY_NODE_XMLNS, "http://www.w3.org/1999/xhtml", WOCKY_NODE, "body", WOCKY_NODE_ATTRIBUTE, "textcolor", "red", WOCKY_NODE_TEXT, "Telepathy rocks!", WOCKY_NODE_END, WOCKY_NODE_END, WOCKY_STANZA_END); /* produces <message from='alice@collabora.co.uk' to='bob@collabora.co.uk'> <html xmlns='http://www.w3.org/1999/xhtml'> <body textcolor='red'> Telepathy rocks! </body> </html> </message> */ |
|
The type of stanza to build |
|
The stanza's subtype; valid values depend on type. (For instance,
WOCKY_STANZA_TYPE_IQ can use WOCKY_STANZA_SUB_TYPE_GET, but not
WOCKY_STANZA_SUB_TYPE_SUBSCRIBED.)
|
|
The sender's JID, or NULL to leave it unspecified.
|
|
The target's JID, or NULL to leave it unspecified.
|
|
The beginning of a description of the stanza to build,
or WOCKY_STANZA_END to build an empty stanza
|
|
The rest of the description of the stanza to build,
terminated with WOCKY_STANZA_END
|
Returns : |
a new stanza object |
void wocky_xmpp_stanza_get_type_info (WockyXmppStanza *stanza, WockyStanzaType *type, WockyStanzaSubType *sub_type);
|
|
|
|
|
WockyXmppStanza * wocky_xmpp_stanza_build_va (WockyStanzaType type, WockyStanzaSubType sub_type, const gchar *from, const gchar *to, WockyBuildTag spec, va_list ap);
|
|
|
|
|
|
|
|
|
|
|
|
Returns : |
WockyXmppStanza * wocky_xmpp_stanza_build_iq_result (WockyXmppStanza *iq, WockyBuildTag spec, ...);
|
|
|
|
|
|
Returns : |
WockyXmppStanza * wocky_xmpp_stanza_build_iq_error (WockyXmppStanza *iq, WockyBuildTag spec, ...);
|
|
|
|
|
|
Returns : |
gboolean wocky_xmpp_stanza_extract_errors (WockyXmppStanza *stanza, WockyXmppErrorType *type, GError **core, GError **specialized, WockyXmppNode **specialized_node);
Given a message, iq or presence stanza with type='error', breaks it down
into values describing the error. type and core are guaranteed to be set;
specialized and specialized_node will be set if a recognised
application-specific error is found, and the latter will be set to NULL if
no application-specific error is found.
Any or all of the out parameters may be NULL to ignore the value. The
value stored in specialized_node is borrowed from stanza, and is only
valid as long as the latter is alive.
|
a message/iq/presence stanza |
|
location at which to store the error type |
|
location at which to store an error in the domain WOCKY_XMPP_ERROR |
|
location at which to store an error in an application-specific domain, if one is found |
|
location at which to store the node representing an application-specific error, if one is found |
Returns : |
TRUE if the stanza had type='error'; FALSE otherwise
|
gboolean wocky_xmpp_stanza_extract_stream_error (WockyXmppStanza *stanza, GError **stream_error);
|
a stanza |
|
location at which to store an error in domain WOCKY_XMPP_STREAM_ERROR, if one is found. |
Returns : |
TRUE and sets stream_error if the stanza was indeed a stream
error.
|