From 45e6f5cb3940e40a0603ba42242a414e773d7f43 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 30 Mar 2010 14:37:42 -0500 Subject: Add initial implementation of cgmr/cgmi/cgmm/cgsn --- gatchat/test-server.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 66 insertions(+), 5 deletions(-) (limited to 'gatchat/test-server.c') diff --git a/gatchat/test-server.c b/gatchat/test-server.c index a44b4abf..ed0552eb 100644 --- a/gatchat/test-server.c +++ b/gatchat/test-server.c @@ -79,32 +79,93 @@ static void server_debug(const char *str, void *data) static void cgmi_cb(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"); + g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); + break; + case G_AT_SERVER_REQUEST_TYPE_SUPPORT: + g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); + break; + default: + g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); + }; } static void cgmm_cb(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"); + g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); + break; + case G_AT_SERVER_REQUEST_TYPE_SUPPORT: + g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); + break; + default: + g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); + }; } static void cgmr_cb(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 0.20"); + g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); + break; + case G_AT_SERVER_REQUEST_TYPE_SUPPORT: + g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); + break; + default: + g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); + }; } static void cgsn_cb(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"); + g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); + break; + case G_AT_SERVER_REQUEST_TYPE_SUPPORT: + g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); + break; + default: + g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); + }; } static void cfun_cb(GAtServerRequestType type, GAtResult *cmd, gpointer user) { + GAtServer *server = user; + + switch (type) { + case G_AT_SERVER_REQUEST_TYPE_SUPPORT: + g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); + break; + default: + g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); + }; } static void add_handler(GAtServer *server) { g_at_server_set_debug(server, server_debug, "Server"); - 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, "+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); } static void server_destroy(gpointer user) -- cgit v1.2.3