X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fxmpp%2Fserv_xmpp.h;h=b8133cdbbdd84275791049c4eca020c5f327740d;hb=4b0153bbdd15ddc4bc7b6193ff7ecb531b330a3c;hp=715abd41dc0524d05fc301c1e9a84773d5c7583c;hpb=bb47b9c23a29dee2a8d801655a237ec50078b348;p=citadel.git diff --git a/citadel/modules/xmpp/serv_xmpp.h b/citadel/modules/xmpp/serv_xmpp.h index 715abd41d..b8133cdbb 100644 --- a/citadel/modules/xmpp/serv_xmpp.h +++ b/citadel/modules/xmpp/serv_xmpp.h @@ -16,6 +16,10 @@ * */ +#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 */ @@ -26,10 +30,9 @@ 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; + TheToken_message Message; + 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 */ @@ -38,7 +41,6 @@ typedef struct _citxmpp { /* Information about the current session */ char sasl_auth_mech[32]; /* SASL auth mechanism requested by the client */ - char message_to[256]; char *message_body; /* Message body in transit */ int html_tag_level; /* tag nesting level */ @@ -57,7 +59,6 @@ struct xmpp_event { int session_which_generated_this_event; }; -extern struct xmpp_event *xmpp_queue; extern int queue_event_seq; enum { @@ -80,14 +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_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_send_message(StrBuf *, 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); @@ -106,15 +107,6 @@ extern int XMPPSrvDebugEnable; "XMPP: " FORMAT); -void XUnbuffer(void); -void XPutBody(const char *Str, long Len); -void XPutProp(const char *Str, long Len); -void XPut(const char *Str, long Len); -#define XPUT(CONSTSTR) XPut(CONSTSTR, sizeof(CONSTSTR) -1) - -void XPrintf(const char *Format, ...); - - void AddXMPPStartHandler(const char *key, long len, xmpp_handler_func Handler, @@ -126,19 +118,5 @@ void AddXMPPEndHandler(const char *key, int Flags); -#define XCLOSED (1<<0) -void XPrint(const char *Token, long tlen, - int Flags, - ...); - -#define TYPE_STR 1 -#define TYPE_OPTSTR 2 -#define TYPE_INT 3 -#define TYPE_BODYSTR 4 -#define TYPE_ARGEND 5 -#define XPROPERTY(NAME, VALUE, VLEN) TYPE_STR, NAME, sizeof(NAME)-1, VALUE, VLEN -#define XOPROPERTY(NAME, VALUE, VLEN) TYPE_OPTSTR, NAME, sizeof(NAME)-1, VALUE, VLEN -#define XCPROPERTY(NAME, VALUE) TYPE_STR, NAME, sizeof(NAME)-1, VALUE, sizeof(VALUE) - 1 -#define XIPROPERTY(NAME, LVALUE) TYPE_INT, NAME, SIZEOF(NAME)-1 -#define XBODY(VALUE, VLEN) TYPE_BODYSTR, VALUE, VLEN -#define XCFGBODY(WHICH) TYPE_BODYSTR, config.WHICH, configlen.WHICH + +