[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;
}