summaryrefslogtreecommitdiffstats
path: root/gatchat/test-server.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-03-30 14:37:42 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-03-30 14:37:42 -0500
commit45e6f5cb3940e40a0603ba42242a414e773d7f43 (patch)
treef3cd8d158d915ead9ce0e79819df5b7a7819d9e7 /gatchat/test-server.c
parent11a8ccad0a8aa04974a04dabb5f0e5ac6766c6e7 (diff)
downloadofono-45e6f5cb3940e40a0603ba42242a414e773d7f43.tar.bz2
Add initial implementation of cgmr/cgmi/cgmm/cgsn
Diffstat (limited to 'gatchat/test-server.c')
-rw-r--r--gatchat/test-server.c71
1 files changed, 66 insertions, 5 deletions
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)