diff options
Diffstat (limited to 'src/xmpp_message.c')
-rw-r--r-- | src/xmpp_message.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/xmpp_message.c b/src/xmpp_message.c index 532b7c1b..c75df16a 100644 --- a/src/xmpp_message.c +++ b/src/xmpp_message.c @@ -32,10 +32,22 @@ #include "profanity.h" #include "xmpp.h" +#define HANDLE(ns, type, func) xmpp_handler_add(conn, func, ns, STANZA_NAME_MESSAGE, type, ctx) + +static int _message_handler(xmpp_conn_t * const conn, + xmpp_stanza_t * const stanza, void * const userdata); static int _groupchat_message_handler(xmpp_stanza_t * const stanza); static int _chat_message_handler(xmpp_stanza_t * const stanza); void +message_add_handlers(void) +{ + xmpp_conn_t * const conn = jabber_get_conn(); + xmpp_ctx_t * const ctx = jabber_get_ctx(); + HANDLE(NULL, NULL, _message_handler); +} + +void message_send(const char * const msg, const char * const recipient) { xmpp_conn_t * const conn = jabber_get_conn(); @@ -124,8 +136,8 @@ message_send_gone(const char * const recipient) chat_session_set_sent(recipient); } -int -message_handler(xmpp_conn_t * const conn, +static int +_message_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza, void * const userdata) { gchar *type = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_TYPE); |