1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00

Add message and presence error handlers seperately

This commit is contained in:
James Booth 2014-01-25 22:57:53 +00:00
parent 9b82551809
commit e1aca3b1f6
4 changed files with 3 additions and 11 deletions

View File

@ -347,16 +347,6 @@ connection_error_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
xmpp_stanza_t *error_stanza = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ERROR); xmpp_stanza_t *error_stanza = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ERROR);
xmpp_stanza_t *text_stanza = xmpp_stanza_get_child_by_name(error_stanza, STANZA_NAME_TEXT); xmpp_stanza_t *text_stanza = xmpp_stanza_get_child_by_name(error_stanza, STANZA_NAME_TEXT);
// handle specific errors by ID
char *id = xmpp_stanza_get_id(stanza);
if (id != NULL) {
// ignore if server doesn't support bookmarks
if (strcmp("bookmark_init_request", id) == 0) {
return 1;
}
}
if (error_stanza == NULL) { if (error_stanza == NULL) {
log_debug("error message without <error/> received"); log_debug("error message without <error/> received");
} else { } else {
@ -499,7 +489,6 @@ _connection_handler(xmpp_conn_t * const conn,
chat_sessions_init(); chat_sessions_init();
xmpp_handler_add(conn, connection_error_handler, NULL, NULL, STANZA_TYPE_ERROR, ctx);
roster_add_handlers(); roster_add_handlers();
message_add_handlers(); message_add_handlers();
presence_add_handlers(); presence_add_handlers();

View File

@ -57,6 +57,7 @@ message_add_handlers(void)
xmpp_conn_t * const conn = connection_get_conn(); xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx(); xmpp_ctx_t * const ctx = connection_get_ctx();
HANDLE(NULL, STANZA_TYPE_ERROR, connection_error_handler);
HANDLE(NULL, STANZA_TYPE_GROUPCHAT, _groupchat_handler); HANDLE(NULL, STANZA_TYPE_GROUPCHAT, _groupchat_handler);
HANDLE(NULL, STANZA_TYPE_CHAT, _chat_handler); HANDLE(NULL, STANZA_TYPE_CHAT, _chat_handler);
HANDLE(STANZA_NS_MUC_USER, NULL, _muc_user_handler); HANDLE(STANZA_NS_MUC_USER, NULL, _muc_user_handler);

View File

@ -72,6 +72,7 @@ presence_add_handlers(void)
xmpp_conn_t * const conn = connection_get_conn(); xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx(); xmpp_ctx_t * const ctx = connection_get_ctx();
HANDLE(NULL, STANZA_TYPE_ERROR, connection_error_handler);
HANDLE(STANZA_NS_MUC_USER, NULL, _muc_user_handler); HANDLE(STANZA_NS_MUC_USER, NULL, _muc_user_handler);
HANDLE(NULL, STANZA_TYPE_UNAVAILABLE, _unavailable_handler); HANDLE(NULL, STANZA_TYPE_UNAVAILABLE, _unavailable_handler);
HANDLE(NULL, STANZA_TYPE_SUBSCRIBE, _subscribe_handler); HANDLE(NULL, STANZA_TYPE_SUBSCRIBE, _subscribe_handler);

View File

@ -68,6 +68,7 @@ roster_add_handlers(void)
{ {
xmpp_conn_t * const conn = connection_get_conn(); xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx(); xmpp_ctx_t * const ctx = connection_get_ctx();
HANDLE(STANZA_TYPE_SET, _roster_set_handler); HANDLE(STANZA_TYPE_SET, _roster_set_handler);
HANDLE(STANZA_TYPE_RESULT, _roster_result_handler); HANDLE(STANZA_TYPE_RESULT, _roster_result_handler);
} }