Add mbtk gnss callback.
Change-Id: I5c720e8e742648aade43f02eae1fa2274ce361ea
diff --git a/mbtk/mbtk_gnssd/gnss_ipc.c b/mbtk/mbtk_gnssd/gnss_ipc.c
index 3e13854..54ba823 100755
--- a/mbtk/mbtk_gnssd/gnss_ipc.c
+++ b/mbtk/mbtk_gnssd/gnss_ipc.c
@@ -67,25 +67,32 @@
}
char rsp[100] = {0};
- sprintf(rsp, "gnss_init:%d", ret);
+ sprintf(rsp, "%cgnss_init:%d%c", MBTK_IND_START_FLAG, ret, MBTK_IND_END_FLAG);
gnss_write(fd, rsp, strlen(rsp));
} else if(memcmp(msg, "gnss_deinit", 11) == 0) { // gnss_deinit
int ret = gnss_deinit();
char rsp[100] = {0};
- sprintf(rsp, "gnss_deinit:%d", ret);
+ sprintf(rsp, "%cgnss_deinit:%d%c", MBTK_IND_START_FLAG, ret, MBTK_IND_END_FLAG);
gnss_write(fd, rsp, strlen(rsp));
} else if(memcmp(msg, "gnss_setting", 12) == 0) {// gnss_setting:cmd
int ret = gnss_set(msg + 13, strlen(msg + 13), NULL, 0);
char rsp[100] = {0};
- sprintf(rsp, "gnss_setting:%d", ret);
+ sprintf(rsp, "%cgnss_setting:%d%c", MBTK_IND_START_FLAG, ret, MBTK_IND_END_FLAG);
gnss_write(fd, rsp, strlen(rsp));
} else if(memcmp(msg, "gnss_dl", 7) == 0) {// gnss_dl:fw_name
int ret = gnss_dl_fw(msg + 8, NULL, 0);
char rsp[100] = {0};
- sprintf(rsp, "gnss_dl:%d", ret);
+ sprintf(rsp, "%cgnss_dl:%d%c", MBTK_IND_START_FLAG, ret, MBTK_IND_END_FLAG);
+ gnss_write(fd, rsp, strlen(rsp));
+ } else if(memcmp(msg, "gnss_ind", 8) == 0) {// gnss_ind:ind_type
+ int ind_type = atoi(msg + 9);
+ int ret = gnss_ind_set(fd, ind_type);
+
+ char rsp[100] = {0};
+ sprintf(rsp, "%cgnss_ind:%d%c", MBTK_IND_START_FLAG, ret, MBTK_IND_END_FLAG);
gnss_write(fd, rsp, strlen(rsp));
} else {
LOGW("Unknown gnss msg : %s", msg);
@@ -135,6 +142,9 @@
close(epoll_events[i].data.fd);
sock_cli_fds[index] = -1;
+
+ // Clear IND flag.
+ gnss_ind_set(epoll_events[i].data.fd, 0);
}
else
{