[Fearture]Add AT+LYNQFACTORY=iccid to get two cards' iccid in one time

Only Configure: Yes
Affected branch: MR3.0-Merge-v3.0-DSDS
Affected module: AT
Is it affected on both ZXIC and MTK: only MTK
Self-test: No
Doc Update: No

Change-Id: Ic3d16e881f03c036a0eee652e59a40981eee6939
diff --git a/common_src/lib/liblynq-at-factory/lynq_at_factory.cpp b/common_src/lib/liblynq-at-factory/lynq_at_factory.cpp
index fc4d4ec..82a3ad8 100755
--- a/common_src/lib/liblynq-at-factory/lynq_at_factory.cpp
+++ b/common_src/lib/liblynq-at-factory/lynq_at_factory.cpp
@@ -756,6 +756,41 @@
 }

 

 

+void lynq_handle_iccid_dual(char *input)

+{

+    RLOGD("function %s line %d input %s\n", __FUNCTION__, __LINE__, input);

+    FILE *fp_sim1;

+    FILE *fp_sim2;

+    char buf_sim1[64] = {0};

+    char buf_sim2[64] = {0};

+    char sim1_iccid[64] = {0};

+    char sim2_iccid[64] = {0};

+    fp_sim1=popen("uci get radio_property.property.vendor_ril_iccid_sim1", "r");

+    fp_sim2=popen("uci get radio_property.property.vendor_ril_iccid_sim2", "r");

+    if(NULL == fp_sim1 || NULL == fp_sim2){

+        char *str = "popen errorn\n";

+        handle_output(str, strlen(str), Response);

+    }

+    fgets(buf_sim1, sizeof(buf_sim1), fp_sim1);

+    fgets(buf_sim2, sizeof(buf_sim2), fp_sim2);

+    if(strstr(buf_sim1,":empty") != NULL)

+    {

+        strcpy(buf_sim1,"empty");

+    }

+    if(strstr(buf_sim2,":empty") != NULL)

+    {

+        strcpy(buf_sim2,"empty");

+    }

+    sprintf(sim1_iccid,"+iccid1:%s\r\n",buf_sim1);

+    sprintf(sim2_iccid,"+iccid2:%s\r\n",buf_sim2);

+    handle_output(sim1_iccid, strlen(sim1_iccid), Response);

+    handle_output(sim2_iccid, strlen(sim2_iccid), Response);

+    lynq_response_ok();

+    pclose(fp_sim1);

+    pclose(fp_sim2);

+}

+

+

 static Command commands[] = 

 {

     {"adc",lynq_handle_adc},

@@ -767,6 +802,7 @@
     {"rgmii",lynq_handle_rgmii},

     {"sgmii",lynq_handle_sgmii},

     {"usb",lynq_handle_usb},

+    {"iccid",lynq_handle_iccid_dual},

     {NULL, NULL}

 };