X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fmodules%2Fxmpp%2Fserv_xmpp.h;fp=citadel%2Fmodules%2Fxmpp%2Fserv_xmpp.h;h=ba19e7af26265f92f62c8edb615b3e3ad811fa63;hp=faebc3615aea668b6df7a5d153318e2e3ed4b552;hb=6ae0819ac13984a0dfa583281fc0081af735c77d;hpb=1aa2da0249792527f99172681aecc77e0ad086af diff --git a/citadel/modules/xmpp/serv_xmpp.h b/citadel/modules/xmpp/serv_xmpp.h index faebc3615..ba19e7af2 100644 --- a/citadel/modules/xmpp/serv_xmpp.h +++ b/citadel/modules/xmpp/serv_xmpp.h @@ -16,7 +16,12 @@ * */ +#include "xmpp_xmacros.h" +#include "xmpp_util.h" + + typedef struct _citxmpp { /* Information about the current session */ + StrBuf *OutBuf; XML_Parser xp; /* XML parser instance for incoming client stream */ char server_name[256]; /* who they think we are */ char *chardata; @@ -25,10 +30,8 @@ typedef struct _citxmpp { /* Information about the current session */ char client_jid[256]; /* "full JID" of the client */ int last_event_processed; - char iq_type[256]; /* for stanzas */ - char iq_id[256]; - char iq_from[256]; - char iq_to[256]; + TheToken_iq IQ; + char iq_client_username[256]; /* username requested by the client (NON SASL ONLY) */ char iq_client_password[256]; /* password requested by the client (NON SASL ONLY) */ char iq_client_resource[256]; /* resource name requested by the client */ @@ -56,7 +59,6 @@ struct xmpp_event { int session_which_generated_this_event; }; -extern struct xmpp_event *xmpp_queue; extern int queue_event_seq; enum { @@ -79,15 +81,14 @@ void xmpp_command_loop(void); void xmpp_async_loop(void); void xmpp_sasl_auth(char *, char *); void xmpp_output_auth_mechs(void); -void xmpp_query_namespace(char *, char *, char *, char *); -void xmpp_wholist_presence_dump(void); +void xmpp_query_namespace(TheToken_iq *iq, char *); void xmpp_output_incoming_messages(void); void xmpp_queue_event(int, char *); void xmpp_process_events(void); void xmpp_presence_notify(char *, int); void xmpp_roster_item(struct CitContext *); void xmpp_send_message(char *, char *); -void xmpp_non_sasl_authenticate(char *, char *, char *, char *); +void xmpp_non_sasl_authenticate(StrBuf *IQ_id, char *, char *, char *); void xmpp_massacre_roster(void); void xmpp_delete_old_buddies_who_no_longer_exist_from_the_client_roster(void); int xmpp_is_visible(struct CitContext *from, struct CitContext *to_whom); @@ -105,3 +106,17 @@ extern int XMPPSrvDebugEnable; DBGLOG(LEVEL) syslog(LEVEL, \ "XMPP: " FORMAT); + +void AddXMPPStartHandler(const char *key, + long len, + xmpp_handler_func Handler, + int Flags); + +void AddXMPPEndHandler(const char *key, + long len, + xmpp_handler_func Handler, + int Flags); + + + +