Added support for a message hook and simple message sending
[cascardo/chat.git] / xmpp.c
diff --git a/xmpp.c b/xmpp.c
index e5eed9d..94cd9ab 100644 (file)
--- 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);
+}