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
                     {