From 1a28b331a5a8a7ddbbee7627c94353f421ee707b Mon Sep 17 00:00:00 2001 From: James Booth Date: Sat, 16 May 2015 22:37:38 +0100 Subject: [PATCH] Removed XMPPClient args --- src/server/parser.c | 13 +++++-------- src/server/parser.h | 8 ++++---- src/server/server.c | 38 +++++++++++++++++++------------------- 3 files changed, 28 insertions(+), 31 deletions(-) diff --git a/src/server/parser.c b/src/server/parser.c index 81a229f..27265a1 100644 --- a/src/server/parser.c +++ b/src/server/parser.c @@ -4,14 +4,12 @@ #include #include "server/parser.h" -#include "server/xmppclient.h" #include "server/stanza.h" static int depth = 0; static int do_reset = 0; static XML_Parser parser; -static XMPPClient *xmppclient; static XMPPStanza *curr_stanza; static stream_start_func stream_start_cb = NULL; @@ -22,7 +20,7 @@ static void start_element(void *data, const char *element, const char **attributes) { if (g_strcmp0(element, "stream:stream") == 0) { - stream_start_cb(xmppclient); + stream_start_cb(); do_reset = 1; return; } @@ -51,11 +49,11 @@ end_element(void *data, const char *element) } else { stanza_add(curr_stanza); if (stanza_get_child_by_ns(curr_stanza, "jabber:iq:auth")) { - auth_cb(curr_stanza, xmppclient); + auth_cb(curr_stanza); } else { const char *id = stanza_get_id(curr_stanza); if (id) { - id_cb(id, xmppclient); + id_cb(id); } } @@ -74,9 +72,8 @@ handle_data(void *data, const char *content, int length) } void -parser_init(XMPPClient *client, stream_start_func startcb, auth_func authcb, id_func idcb) +parser_init(stream_start_func startcb, auth_func authcb, id_func idcb) { - xmppclient = client; stream_start_cb = startcb; auth_cb = authcb; id_cb = idcb; @@ -103,7 +100,7 @@ parser_reset(void) { if (do_reset == 1) { parser_close(); - parser_init(xmppclient, stream_start_cb, auth_cb, id_cb); + parser_init(stream_start_cb, auth_cb, id_cb); do_reset = 0; } } diff --git a/src/server/parser.h b/src/server/parser.h index 6d72bb8..472e3de 100644 --- a/src/server/parser.h +++ b/src/server/parser.h @@ -4,11 +4,11 @@ #include "server/stanza.h" #include "server/xmppclient.h" -typedef void (*stream_start_func)(XMPPClient *client); -typedef void (*auth_func)(XMPPStanza *stanza, XMPPClient *client); -typedef void (*id_func)(const char *id, XMPPClient *client); +typedef void (*stream_start_func)(void); +typedef void (*auth_func)(XMPPStanza *stanza); +typedef void (*id_func)(const char *id); -void parser_init(XMPPClient *client, stream_start_func startcb, auth_func authcb, id_func); +void parser_init(stream_start_func startcb, auth_func authcb, id_func); int parser_feed(char *chunk, int len); void parser_close(void); void parser_reset(void); diff --git a/src/server/server.c b/src/server/server.c index 3a9b634..9fae01f 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -28,7 +28,7 @@ static void _shutdown(void); static int listen_socket; int -listen_for_xmlstart(XMPPClient *client) +listen_for_xmlstart(void) { int read_size; char buf[2]; @@ -68,7 +68,7 @@ listen_for_xmlstart(XMPPClient *client) } void -send_to(XMPPClient *client, const char * const stanza) +send_to(const char * const stanza) { int sent = 0; int to_send = strlen(stanza); @@ -81,15 +81,15 @@ send_to(XMPPClient *client, const char * const stanza) } void -stream_end(XMPPClient *client) +stream_end(void) { log_print_chars("\n"); log_println("--> Stream end callback fired"); - send_to(client, STREAM_END); + send_to(STREAM_END); } int -listen_to(XMPPClient *client) +listen_to(void) { int read_size; char buf[2]; @@ -103,7 +103,7 @@ listen_to(XMPPClient *client) parser_reset(); g_string_append_len(stream, buf, read_size); if (g_str_has_suffix(stream->str, STREAM_END)) { - stream_end(client); + stream_end(); break; } memset(buf, 0, sizeof(buf)); @@ -132,18 +132,18 @@ listen_to(XMPPClient *client) } void -stream_start_callback(XMPPClient *client) +stream_start_callback(void) { log_print_chars("\n"); log_println("--> Stream start callback fired"); - send_to(client, XML_START); - send_to(client, STREAM_RESP); - send_to(client, FEATURES); + send_to(XML_START); + send_to(STREAM_RESP); + send_to(FEATURES); log_print("RECV: "); } void -auth_callback(XMPPStanza *stanza, XMPPClient *client) +auth_callback(XMPPStanza *stanza) { log_print_chars("\n"); log_println("--> Auth callback fired"); @@ -157,23 +157,23 @@ auth_callback(XMPPStanza *stanza, XMPPClient *client) client->resource = strdup(resource->content->str); if (g_strcmp0(client->password, prime_get_passwd()) != 0) { - send_to(client, AUTH_FAIL); - send_to(client, STREAM_END); + send_to(AUTH_FAIL); + send_to(STREAM_END); exit(0); } - send_to(client, AUTH_RESP); + send_to(AUTH_RESP); log_print("RECV: "); } void -id_callback(const char *id, XMPPClient *client) +id_callback(const char *id) { char *stream = prime_get_for(id); if (stream) { log_print_chars("\n"); log_println("--> ID callback fired for '%s'", id); - send_to(client, stream); + send_to(stream); log_print("RECV: "); } } @@ -236,15 +236,15 @@ server_run(int port) } client = xmppclient_new(client_addr, client_socket); - parser_init(client, stream_start_callback, auth_callback, id_callback); + parser_init(stream_start_callback, auth_callback, id_callback); log_print("RECV: "); - int res = listen_for_xmlstart(client); + int res = listen_for_xmlstart(); if (res == -1) { return 0; } log_print("RECV: "); - listen_to(client); + listen_to(); return 1; }