X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fchat.git;a=blobdiff_plain;f=xmpp.c;h=94cd9ab3bfad8638c8ca2bdcb6deab93cb68de6f;hp=e5eed9db28b62d97a5d45f68c7973c9ae0de4f41;hb=8a0e2834ab01c824196aab0e81c713f6b88110cd;hpb=def38cbbaffe0bd4504580384af2bbbde0b62762 diff --git a/xmpp.c b/xmpp.c index e5eed9d..94cd9ab 100644 --- a/xmpp.c +++ b/xmpp.c @@ -38,6 +38,7 @@ hc_xmpp_new (iksStreamHook *hook, char *server, char *user, char *pass) xmpp->tls = NONE; xmpp->sasl = NONE; xmpp->status = HC_XMPP_NONE; + xmpp->msghook = NULL; xmpp->nshooks = g_hash_table_new (g_str_hash, g_str_equal); g_hash_table_insert (xmpp->nshooks, HC_XMPP_NS_BIND, hc_xmpp_hook_bind); g_hash_table_insert (xmpp->nshooks, HC_XMPP_NS_SESSION, hc_xmpp_hook_session); @@ -160,3 +161,16 @@ hc_xmpp_register_ns_hook (hc_xmpp_t *xmpp, char *ns, hc_xmpp_hook_t hook) { g_hash_table_insert (xmpp->nshooks, ns, hook); } + +void +hc_xmpp_set_msg_hook (hc_xmpp_t *xmpp, hc_xmpp_hook_t hook) +{ + xmpp->msghook = hook; +} + +void +hc_xmpp_recv_message (hc_xmpp_t *xmpp, iks *stanza) +{ + if (xmpp->msghook) + xmpp->msghook (xmpp, stanza); +}