diff options
Diffstat (limited to 'src/stanza.h')
-rw-r--r-- | src/stanza.h | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/stanza.h b/src/stanza.h index a0a22908..497a7388 100644 --- a/src/stanza.h +++ b/src/stanza.h @@ -47,6 +47,9 @@ #define STANZA_NAME_TEXT "text" #define STANZA_NAME_SUBJECT "subject" #define STANZA_NAME_ITEM "item" +#define STANZA_NAME_C "c" +#define STANZA_NAME_IDENTITY "identity" +#define STANZA_NAME_FEATURE "feature" #define STANZA_TYPE_CHAT "chat" #define STANZA_TYPE_GROUPCHAT "groupchat" @@ -72,6 +75,10 @@ #define STANZA_ATTR_ASK "ask" #define STANZA_ATTR_ID "id" #define STANZA_ATTR_SECONDS "seconds" +#define STANZA_ATTR_NODE "node" +#define STANZA_ATTR_VER "ver" +#define STANZA_ATTR_VAR "var" +#define STANZA_ATTR_HASH "hash" #define STANZA_TEXT_AWAY "away" #define STANZA_TEXT_DND "dnd" @@ -82,8 +89,21 @@ #define STANZA_NS_CHATSTATES "http://jabber.org/protocol/chatstates" #define STANZA_NS_MUC "http://jabber.org/protocol/muc" #define STANZA_NS_MUC_USER "http://jabber.org/protocol/muc#user" +#define STANZA_NS_CAPS "http://jabber.org/protocol/caps" #define STANZA_NS_PING "urn:xmpp:ping" #define STANZA_NS_LASTACTIVITY "jabber:iq:last" +#define STANZA_NS_DATA "jabber:x:data" +#define STANZA_NS_VERSION "jabber:iq:version" + +typedef struct form_field_t { + char *var; + GSList *values; +} FormField; + +typedef struct data_form_t { + char *form_type; + GSList *fields; +} DataForm; xmpp_stanza_t* stanza_create_chat_state(xmpp_ctx_t *ctx, const char * const recipient, const char * const state); @@ -106,6 +126,8 @@ xmpp_stanza_t* stanza_create_presence(xmpp_ctx_t *ctx, const char * const show, xmpp_stanza_t* stanza_create_roster_iq(xmpp_ctx_t *ctx); xmpp_stanza_t* stanza_create_ping_iq(xmpp_ctx_t *ctx); +xmpp_stanza_t* stanza_create_disco_iq(xmpp_ctx_t *ctx, const char * const id, + const char * const to, const char * const node); gboolean stanza_contains_chat_state(xmpp_stanza_t *stanza); @@ -115,8 +137,16 @@ gboolean stanza_is_muc_self_presence(xmpp_stanza_t * const stanza, const char * const self_jid); gboolean stanza_is_room_nick_change(xmpp_stanza_t * const stanza); -char* stanza_get_new_nick(xmpp_stanza_t * const stanza); +char * stanza_get_new_nick(xmpp_stanza_t * const stanza); int stanza_get_idle_time(xmpp_stanza_t * const stanza); +char * stanza_get_caps_str(xmpp_stanza_t * const stanza); +gboolean stanza_contains_caps(xmpp_stanza_t * const stanza); +char * stanza_caps_get_hash(xmpp_stanza_t * const stanza); +gboolean stanza_is_caps_request(xmpp_stanza_t * const stanza); + +gboolean stanza_is_version_request(xmpp_stanza_t * const stanza); + +DataForm * stanza_get_form(xmpp_stanza_t * const stanza); #endif |