X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fchat.git;a=blobdiff_plain;f=xmpp.h;h=8c358b1ed4922c82a6fb6bcb115e5d611996e7fb;hp=74cee4afd054fe43df7788f759de8099dd0f28e6;hb=387372d4d6321ff20f8dadb76906aa77d815b283;hpb=ded734abecf69e281222c987dc201586a46199e1 diff --git a/xmpp.h b/xmpp.h index 74cee4a..8c358b1 100644 --- a/xmpp.h +++ b/xmpp.h @@ -22,12 +22,25 @@ #include +enum +{ + HC_XMPP_NONE, + HC_XMPP_AUTHENTICATED, + HC_XMPP_BOUND, + HC_XMPP_SESSION +}; + typedef struct _hc_xmpp_t hc_xmpp_t; +typedef void (*hc_xmpp_hook_t) (hc_xmpp_t *, iks *); #define HC_XMPP_NS_TLS "urn:ietf:params:xml:ns:xmpp-tls" #define HC_XMPP_NS_SASL "urn:ietf:params:xml:ns:xmpp-sasl" +#define HC_XMPP_NS_BIND "urn:ietf:params:xml:ns:xmpp-bind" +#define HC_XMPP_NS_SESSION "urn:ietf:params:xml:ns:xmpp-session" +#define HC_XMPP_NS_DISCO "http://jabber.org/protocol/disco" +#define HC_XMPP_NS_DISCO_INFO "http://jabber.org/protocol/disco#info" -hc_xmpp_t * hc_xmpp_new (void); +hc_xmpp_t * hc_xmpp_new (iksStreamHook *, char *, char *, char *); int hc_xmpp_is_tls_supported (hc_xmpp_t *); int hc_xmpp_is_tls_required (hc_xmpp_t *); int hc_xmpp_is_tls_optional (hc_xmpp_t *); @@ -36,6 +49,26 @@ int hc_xmpp_is_sasl_supported (hc_xmpp_t *); int hc_xmpp_is_sasl_required (hc_xmpp_t *); int hc_xmpp_is_sasl_optional (hc_xmpp_t *); int hc_xmpp_is_sasl_enabled (hc_xmpp_t *); +int hc_xmpp_is_bind_supported (hc_xmpp_t *); +int hc_xmpp_is_session_supported (hc_xmpp_t *); +int hc_xmpp_is_session_required (hc_xmpp_t *); +char *hc_xmpp_server (hc_xmpp_t *); +int hc_xmpp_fd (hc_xmpp_t *); +void hc_xmpp_send_buffer (hc_xmpp_t *, char *, size_t); +void hc_xmpp_send_iks (hc_xmpp_t *, iks *); +void hc_xmpp_read_and_parse (hc_xmpp_t *); void hc_xmpp_features (hc_xmpp_t *, iks *); +int hc_xmpp_status (hc_xmpp_t *); +int hc_xmpp_hook (void *, int, iks *); +void hc_xmpp_send_stream (hc_xmpp_t *); +void hc_xmpp_set_msg_hook (hc_xmpp_t *, hc_xmpp_hook_t); +void hc_xmpp_set_sent_msg_hook (hc_xmpp_t *, hc_xmpp_hook_t); +void hc_xmpp_set_pres_hook (hc_xmpp_t *, hc_xmpp_hook_t); +void hc_xmpp_set_sent_pres_hook (hc_xmpp_t *, hc_xmpp_hook_t); +void hc_xmpp_register_ns_hook (hc_xmpp_t *, char *, hc_xmpp_hook_t); +void hc_xmpp_recv_message (hc_xmpp_t *, iks *); +void hc_xmpp_sent_message (hc_xmpp_t *, iks *); +void hc_xmpp_recv_presence (hc_xmpp_t *, iks *); +void hc_xmpp_sent_presence (hc_xmpp_t *, iks *); #endif