[feature][T8TSK-92][TCAM_T800_SW_0275] provide interface to get imei sv

Change-Id: I4de695bd96dbde783c5cc19d0a15b8439f473778
diff --git a/lib/liblynq-sim/src/lynq_sim.cpp b/lib/liblynq-sim/src/lynq_sim.cpp
index b229c57..ff62e1f 100755
--- a/lib/liblynq-sim/src/lynq_sim.cpp
+++ b/lib/liblynq-sim/src/lynq_sim.cpp
@@ -763,32 +763,21 @@
     return error1;
 }
 
-/**
- * @brief To handle comma-separated strings, take the character before the first comma  eg:123456,78 ->123456
- * 
- * @param buf Type:[IN]
- */
-static void parse_imei(char buf[])
+int lynq_get_imei_and_sv(char imei[],char sv[])
 {
-    if(NULL == buf)
-    {
-        return;
-    }
-    const char s[2] = ",";
-    char *token;
-    token = strtok(buf, s);
-    return;
-}
-
-int lynq_get_imei(char buf[])
-{
+    RLOGD("%s called",__func__);  
     if(g_lynq_sim_init_flag == 0)
     {
-        return -1;
+        RLOGD("%s init_flag is %d",__func__,g_lynq_sim_init_flag);  
+        return -2;
     }
     int ret = -1;
-    if(buf == NULL)
+    if(imei == NULL || sv== NULL)
+    {
+        RLOGD("%s imei is NULL or sv is NULL",__func__);  
         return ret;
+    }
+    
     int send_num = 0;
     int recv_num = 0;
     int len = 0;
@@ -803,7 +792,7 @@
     send_num = sendto(sock_fd, &client_t1, sizeof(client_t1), 0, (struct sockaddr *)&addr_serv, len_addr_serv);
     if(send_num < 0)  
     {  
-        RLOGD("function %s sendto error:", __FUNCTION__);
+        RLOGD("%s sendto error: %d",__func__,send_num);
         pthread_mutex_unlock(&g_lynq_sim_sendto_mutex);
         return send_num;
     }
@@ -812,7 +801,7 @@
     pthread_mutex_unlock(&g_lynq_sim_sendto_mutex);
     if(recv_num < 0 || recv_num == 0)
     {
-        RLOGD("recvfrom step2 fail:");
+        RLOGD("%s recvfrom step2 fail:%d",__func__,recv_num);
         return recv_num;
     }
     Parcel p;
@@ -828,12 +817,42 @@
         p.readInt32(&error1);
         if(!error1){
             p.readInt32(&num);
-            char * test = lynqStrdupReadString(p);
-            parse_imei(test);
-            memcpy(buf, test, strlen(test));
-            free(test);
+            if(num<2)
+            {
+                RLOGD("%s num %d error, should greater than 1",__func__,num);
+                return -1;
+            }
+            char *resp[2]={NULL,NULL};
+            int i;
+            for(i=0;i<2;i++)
+            {
+                resp[i]= lynqStrdupReadString(p);
+                if(resp[i]==NULL)
+                {
+                    break;
+                }
+            }            
+
+            if(i==2){           
+                memcpy(imei, resp[0], strlen(resp[0])+1);
+                memcpy(sv, resp[1], strlen(resp[1])+1);
+            }
+            else 
+            {
+                RLOGD("%s resp[%d] is null",__func__,i);
+            }             
+
+            for(i=0;i<2;i++)
+            {
+                if(resp[i]!=NULL)
+                {
+                    free(resp[i]);            
+                }            
+            }                        
+            return i==2? 0:-1;
         }
-    }
+    }    
+    RLOGD("%s called failed %d",__func__,error1);  
     return error1;
 }