diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-02-15 15:46:24 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-02-15 15:47:32 -0600 |
commit | a6f910e27cdae6f44b767767dae6190a0affe438 (patch) | |
tree | f4df31736c123d3ba697b2dcc6afcfc1e38d7880 | |
parent | a0cca0a970fb46fe2a3ee2615271da7d8a60c071 (diff) | |
download | ofono-a6f910e27cdae6f44b767767dae6190a0affe438.tar.bz2 |
gatserver: Change callback signature
Provide the originating GAtServer to the callback
-rw-r--r-- | gatchat/gatserver.c | 72 | ||||
-rw-r--r-- | gatchat/gatserver.h | 3 | ||||
-rw-r--r-- | gatchat/test-server.c | 116 |
3 files changed, 86 insertions, 105 deletions
diff --git a/gatchat/gatserver.c b/gatchat/gatserver.c index b18e888e..4ccea86d 100644 --- a/gatchat/gatserver.c +++ b/gatchat/gatserver.c @@ -319,24 +319,21 @@ static void s_template_cb(GAtServerRequestType type, GAtResult *result, } } -static void at_s3_cb(GAtServerRequestType type, GAtResult *result, - gpointer user_data) +static void at_s3_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *result, gpointer user_data) { - GAtServer *server = user_data; s_template_cb(type, result, server, &server->v250.s3, "S3", 0, 127); } -static void at_s4_cb(GAtServerRequestType type, GAtResult *result, - gpointer user_data) +static void at_s4_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *result, gpointer user_data) { - GAtServer *server = user_data; s_template_cb(type, result, server, &server->v250.s4, "S4", 0, 127); } -static void at_s5_cb(GAtServerRequestType type, GAtResult *result, - gpointer user_data) +static void at_s5_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *result, gpointer user_data) { - GAtServer *server = user_data; s_template_cb(type, result, server, &server->v250.s5, "S5", 0, 127); } @@ -384,53 +381,46 @@ static void at_template_cb(GAtServerRequestType type, GAtResult *result, } } -static void at_e_cb(GAtServerRequestType type, GAtResult *result, - gpointer user_data) +static void at_e_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *result, gpointer user_data) { - GAtServer *server = user_data; at_template_cb(type, result, server, &server->v250.echo, "E", 0, 1, 1); } -static void at_q_cb(GAtServerRequestType type, GAtResult *result, - gpointer user_data) +static void at_q_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *result, gpointer user_data) { - GAtServer *server = user_data; at_template_cb(type, result, server, &server->v250.quiet, "Q", 0, 1, 0); } -static void at_v_cb(GAtServerRequestType type, GAtResult *result, - gpointer user_data) +static void at_v_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *result, gpointer user_data) { - GAtServer *server = user_data; at_template_cb(type, result, server, &server->v250.is_v1, "V", 0, 1, 1); } -static void at_x_cb(GAtServerRequestType type, GAtResult *result, - gpointer user_data) +static void at_x_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *result, gpointer user_data) { - GAtServer *server = user_data; at_template_cb(type, result, server, &server->v250.res_format, "X", 0, 4, 4); } -static void at_s6_cb(GAtServerRequestType type, GAtResult *result, - gpointer user_data) +static void at_s6_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *result, gpointer user_data) { - GAtServer *server = user_data; at_template_cb(type, result, server, &server->v250.s6, "S6", 0, 1, 1); } -static void at_c109_cb(GAtServerRequestType type, GAtResult *result, - gpointer user_data) +static void at_c109_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *result, gpointer user_data) { - GAtServer *server = user_data; at_template_cb(type, result, server, &server->v250.c109, "&C", 0, 1, 1); } -static void at_c108_cb(GAtServerRequestType type, GAtResult *result, - gpointer user_data) +static void at_c108_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *result, gpointer user_data) { - GAtServer *server = user_data; at_template_cb(type, result, server, &server->v250.c108, "&D", 0, 2, 2); } @@ -463,7 +453,7 @@ static void at_command_notify(GAtServer *server, char *command, result.lines = g_slist_prepend(NULL, command); result.final_or_pdu = 0; - node->notify(type, &result, node->user_data); + node->notify(server, type, &result, node->user_data); g_slist_free(result.lines); } @@ -1078,16 +1068,16 @@ static void at_notify_node_destroy(gpointer data) static void basic_command_register(GAtServer *server) { - g_at_server_register(server, "S3", at_s3_cb, server, NULL); - g_at_server_register(server, "S4", at_s4_cb, server, NULL); - g_at_server_register(server, "S5", at_s5_cb, server, NULL); - g_at_server_register(server, "E", at_e_cb, server, NULL); - g_at_server_register(server, "Q", at_q_cb, server, NULL); - g_at_server_register(server, "V", at_v_cb, server, NULL); - g_at_server_register(server, "X", at_x_cb, server, NULL); - g_at_server_register(server, "S6", at_s6_cb, server, NULL); - g_at_server_register(server, "&C", at_c109_cb, server, NULL); - g_at_server_register(server, "&D", at_c108_cb, server, NULL); + g_at_server_register(server, "S3", at_s3_cb, NULL, NULL); + g_at_server_register(server, "S4", at_s4_cb, NULL, NULL); + g_at_server_register(server, "S5", at_s5_cb, NULL, NULL); + g_at_server_register(server, "E", at_e_cb, NULL, NULL); + g_at_server_register(server, "Q", at_q_cb, NULL, NULL); + g_at_server_register(server, "V", at_v_cb, NULL, NULL); + g_at_server_register(server, "X", at_x_cb, NULL, NULL); + g_at_server_register(server, "S6", at_s6_cb, NULL, NULL); + g_at_server_register(server, "&C", at_c109_cb, NULL, NULL); + g_at_server_register(server, "&D", at_c108_cb, NULL, NULL); } GAtServer *g_at_server_new(GIOChannel *io) diff --git a/gatchat/gatserver.h b/gatchat/gatserver.h index f0c19da4..5e663b75 100644 --- a/gatchat/gatserver.h +++ b/gatchat/gatserver.h @@ -65,7 +65,8 @@ enum _GAtServerRequestType { typedef enum _GAtServerRequestType GAtServerRequestType; -typedef void (*GAtServerNotifyFunc)(GAtServerRequestType type, +typedef void (*GAtServerNotifyFunc)(GAtServer *server, + GAtServerRequestType type, GAtResult *result, gpointer user_data); GAtServer *g_at_server_new(GIOChannel *io); diff --git a/gatchat/test-server.c b/gatchat/test-server.c index b37bdda5..d024e64a 100644 --- a/gatchat/test-server.c +++ b/gatchat/test-server.c @@ -187,10 +187,9 @@ static gboolean setup_ppp(gpointer user) return FALSE; } -static void cgmi_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cgmi_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; - switch (type) { case G_AT_SERVER_REQUEST_TYPE_COMMAND_ONLY: g_at_server_send_info(server, "oFono", TRUE); @@ -204,10 +203,9 @@ static void cgmi_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) }; } -static void cgmm_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cgmm_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; - switch (type) { case G_AT_SERVER_REQUEST_TYPE_COMMAND_ONLY: g_at_server_send_info(server, "oFono pre-1.0", TRUE); @@ -221,9 +219,9 @@ static void cgmm_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) }; } -static void cgmr_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cgmr_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; char buf[256]; switch (type) { @@ -240,10 +238,9 @@ static void cgmr_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) }; } -static void cgsn_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cgsn_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; - switch (type) { case G_AT_SERVER_REQUEST_TYPE_COMMAND_ONLY: g_at_server_send_info(server, "123456789", TRUE); @@ -266,9 +263,9 @@ static gboolean send_ok(gpointer user) return FALSE; } -static void cfun_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cfun_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; char buf[12]; switch (type) { @@ -314,10 +311,9 @@ error: g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); } -static void cpin_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cpin_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; - if (modem_mode == 0) { g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); return; @@ -359,10 +355,9 @@ static gboolean do_netreg(gpointer user) return FALSE; } -static void cops_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cops_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; - if (modem_mode == 0) { g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); return; @@ -403,9 +398,9 @@ static void cops_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) } } -static void creg_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void creg_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; char buf[20]; if (modem_mode == 0) { @@ -452,9 +447,9 @@ error: g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); } -static void cgreg_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cgreg_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; char buf[20]; if (modem_mode == 0) { @@ -501,9 +496,9 @@ error: g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); } -static void cgatt_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cgatt_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; char buf[12]; if (modem_mode == 0) { @@ -554,10 +549,9 @@ error: g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); } -static void cgdata_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cgdata_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; - if (modem_mode == 0) { g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); return; @@ -580,10 +574,9 @@ static void cgdata_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) } } -static void cgdcont_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cgdcont_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; - if (modem_mode == 0) { g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); return; @@ -605,10 +598,9 @@ static void cgdcont_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) } } -static void cimi_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cimi_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; - switch (type) { case G_AT_SERVER_REQUEST_TYPE_COMMAND_ONLY: g_at_server_send_info(server, "246813579", TRUE); @@ -623,10 +615,9 @@ static void cimi_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) } } -static void csms_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void csms_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; - switch (type) { case G_AT_SERVER_REQUEST_TYPE_SET: g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); @@ -645,10 +636,9 @@ static void csms_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) } } -static void cmgf_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cmgf_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; - switch (type) { case G_AT_SERVER_REQUEST_TYPE_SET: g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); @@ -667,9 +657,9 @@ static void cmgf_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) } } -static void cpms_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) +static void cpms_cb(GAtServer *server, GAtServerRequestType type, + GAtResult *cmd, gpointer user) { - GAtServer *server = user; char buf[2048]; switch (type) { @@ -812,27 +802,27 @@ static void add_handler(GAtServer *server) { g_at_server_set_debug(server, server_debug, "Server"); - g_at_server_register(server, "+CGMI", cgmi_cb, server, NULL); - g_at_server_register(server, "+CGMM", cgmm_cb, server, NULL); - g_at_server_register(server, "+CGMR", cgmr_cb, server, NULL); - g_at_server_register(server, "+CGSN", cgsn_cb, server, NULL); - g_at_server_register(server, "+CFUN", cfun_cb, server, NULL); - g_at_server_register(server, "+CPIN", cpin_cb, server, NULL); - g_at_server_register(server, "+COPS", cops_cb, server, NULL); - g_at_server_register(server, "+CREG", creg_cb, server, NULL); - g_at_server_register(server, "+CGREG", cgreg_cb, server, NULL); - g_at_server_register(server, "+CGATT", cgatt_cb, server, NULL); - g_at_server_register(server, "+CGDATA", cgdata_cb, server, NULL); - g_at_server_register(server, "+CGDCONT", cgdcont_cb, server, NULL); - g_at_server_register(server, "+CIMI", cimi_cb, server, NULL); - g_at_server_register(server, "+CSMS", csms_cb, server, NULL); - g_at_server_register(server, "+CMGF", cmgf_cb, server, NULL); - g_at_server_register(server, "+CPMS", cpms_cb, server, NULL); - g_at_server_register(server, "+CNMI", cnmi_cb, server, NULL); - g_at_server_register(server, "+CSCS", cscs_cb, server, NULL); - g_at_server_register(server, "+CMGL", cmgl_cb, server, NULL); - g_at_server_register(server, "+CPBS", cpbs_cb, server, NULL); - g_at_server_register(server, "D", dial_cb, server, NULL); + g_at_server_register(server, "+CGMI", cgmi_cb, NULL, NULL); + g_at_server_register(server, "+CGMM", cgmm_cb, NULL, NULL); + g_at_server_register(server, "+CGMR", cgmr_cb, NULL, NULL); + g_at_server_register(server, "+CGSN", cgsn_cb, NULL, NULL); + g_at_server_register(server, "+CFUN", cfun_cb, NULL, NULL); + g_at_server_register(server, "+CPIN", cpin_cb, NULL, NULL); + g_at_server_register(server, "+COPS", cops_cb, NULL, NULL); + g_at_server_register(server, "+CREG", creg_cb, NULL, NULL); + g_at_server_register(server, "+CGREG", cgreg_cb, NULL, NULL); + g_at_server_register(server, "+CGATT", cgatt_cb, NULL, NULL); + g_at_server_register(server, "+CGDATA", cgdata_cb, NULL, NULL); + g_at_server_register(server, "+CGDCONT", cgdcont_cb, NULL, NULL); + g_at_server_register(server, "+CIMI", cimi_cb, NULL, NULL); + g_at_server_register(server, "+CSMS", csms_cb, NULL, NULL); + g_at_server_register(server, "+CMGF", cmgf_cb, NULL, NULL); + g_at_server_register(server, "+CPMS", cpms_cb, NULL, NULL); + g_at_server_register(server, "+CNMI", cnmi_cb, NULL, NULL); + g_at_server_register(server, "+CSCS", cscs_cb, NULL, NULL); + g_at_server_register(server, "+CMGL", cmgl_cb, NULL, NULL); + g_at_server_register(server, "+CPBS", cpbs_cb, NULL, NULL); + g_at_server_register(server, "D", dial_cb, NULL, NULL); } static void server_destroy(gpointer user) |