+ CitadelServiceXMPP);
+
+
+ XMPP_StartHandlers = NewHash(1, NULL);
+ XMPP_EndHandlers = NewHash(1, NULL);
+
+ AddXMPPEndHandler(HKEY("resource"), xmpp_end_resource, 0);
+ AddXMPPEndHandler(HKEY("username"), xmpp_end_username, 0);
+ AddXMPPEndHandler(HKEY("password"), xmpp_end_password, 0);
+ AddXMPPEndHandler(HKEY("iq"), xmpp_end_iq, 0);
+ AddXMPPEndHandler(HKEY("auth"), xmpp_end_auth, 0);
+ AddXMPPEndHandler(HKEY("session"), xmpp_end_session, 0);
+ AddXMPPEndHandler(HKEY("body"), xmpp_end_body, 0);
+ AddXMPPEndHandler(HKEY("html"), xmpp_end_html, 0);
+ AddXMPPEndHandler(HKEY("starttls"), xmpp_end_starttls, 0);
+ AddXMPPEndHandler(HKEY("ping"), xmpp_end_ping, 0);
+ AddXMPPEndHandler(HKEY("stream"), xmpp_end_stream, 0);
+
+ AddXMPPStartHandler(HKEY("stream"), xmpp_stream_start, 0);
+ AddXMPPStartHandler(HKEY("query"), xmpp_start_query, 0);
+ AddXMPPStartHandler(HKEY("bind"), xmpp_start_bind, 0);
+ AddXMPPStartHandler(HKEY("iq"), xmpp_start_iq, 0);
+ AddXMPPStartHandler(HKEY("auth"), xmpp_start_auth, 0);
+ AddXMPPStartHandler(HKEY("message"), xmpp_start_message, 0);
+ AddXMPPStartHandler(HKEY("html"), xmpp_start_html, 0);
+
+
+ CtdlRegisterDebugFlagHook(HKEY("serv_xmpp"), LogXMPPSrvDebugEnable, &XMPPSrvDebugEnable);
+ CtdlRegisterSessionHook(xmpp_cleanup_function, EVT_STOP, PRIO_STOP + 70);
+ CtdlRegisterSessionHook(xmpp_login_hook, EVT_LOGIN, PRIO_LOGIN + 90);
+ CtdlRegisterSessionHook(xmpp_logout_hook, EVT_LOGOUT, PRIO_LOGOUT + 90);
+ CtdlRegisterSessionHook(xmpp_login_hook, EVT_UNSTEALTH, PRIO_UNSTEALTH + 1);
+ CtdlRegisterSessionHook(xmpp_logout_hook, EVT_STEALTH, PRIO_STEALTH + 1);
+ CtdlRegisterCleanupHook(xmpp_cleanup_events);
+