[feature][T8TSK-196][TCAM_T800_SW_0283][network] add interface to set AT+CFUN=0

Change-Id: Ia04223faa1179d9d0a1ccea02d65761b1f08c323
(cherry picked from commit c6d8041552e1978fe023c3bee55a58c18ca0dc72)
diff --git a/lib/liblynq-network/include/lynq_network/lynq_network.h b/lib/liblynq-network/include/lynq_network/lynq_network.h
index 5b2ce3c..ba7c1f4 100755
--- a/lib/liblynq-network/include/lynq_network/lynq_network.h
+++ b/lib/liblynq-network/include/lynq_network/lynq_network.h
@@ -52,6 +52,12 @@
                       * Range [-23, 40], INT_MAX means invalid/unreported.*/

 }signalStrength_t;

 

+typedef enum { 

+    NETWORK_RADIO_ON_TYPE_CFUN_0=0,  

+    NETWORK_RADIO_ON_TYPE_NORMAL_MODE=1,

+    NETWORK_RADIO_ON_TYPE_FLIGHT_MODE=4,

+}lynq_network_radio_on_type;  

+

 int lynq_network_init(int utoken);

 int lynq_network_deinit(void);

 int lynq_query_operater(char *OperatorFN,char *OperatorSH,char *MccMnc);

@@ -65,7 +71,7 @@
 int lynq_set_unsol_cell_info_listrate(const int rate);

 int lynq_set_band_mode(const int bandmode);

 int lynq_query_available_bandmode(int availBanMode[]);

-int lynq_radio_on(const int data);

+int lynq_radio_on(const lynq_network_radio_on_type type);

 int lynq_query_radio_state(int *radio_state);

 int lynq_query_radio_tech(int* radioTech);

 int lynq_solicited_signal_strength(signalStrength_t *solSigStren);

diff --git a/lib/liblynq-network/lynq_network.cpp b/lib/liblynq-network/lynq_network.cpp
index 98e33f6..dd45fdc 100755
--- a/lib/liblynq-network/lynq_network.cpp
+++ b/lib/liblynq-network/lynq_network.cpp
@@ -757,21 +757,30 @@
     return RESULT_OK;                

 }

 

-int lynq_radio_on(const int data)

+int lynq_radio_on(const lynq_network_radio_on_type type)

 {     

     if(g_module_init_flag != MODULE_RUNNING)

     {

         LYERRLOG("%s module state %d error",__func__,g_module_init_flag);

         return LYNQ_E_CONFLICT;

     }

-    if (data < 0 || data > 1)

+    if (type != NETWORK_RADIO_ON_TYPE_CFUN_0  && type != NETWORK_RADIO_ON_TYPE_NORMAL_MODE && type!=NETWORK_RADIO_ON_TYPE_FLIGHT_MODE)

     {

-        LYERRLOG("%s parameter %d error",__func__,data);  

+        LYERRLOG("%s parameter %d error",__func__,type);  

         return LYNQ_E_PARAMETER_ANONALY;

     }     

     

     Parcel* p=NULL;      

-    int ret=lynq_send_common_request(p,65,RIL_REQUEST_RADIO_POWER,1,"%d",data);

+    int ret;

+

+    if(type==NETWORK_RADIO_ON_TYPE_CFUN_0)

+    {

+        ret=lynq_send_common_request(p,g_wait_time,RIL_REQUEST_OEM_HOOK_RAW,1,"%s","AT+CFUN=0");

+    }

+    else 

+    {

+        ret=lynq_send_common_request(p,65,RIL_REQUEST_RADIO_POWER,1,"%d",(type==NETWORK_RADIO_ON_TYPE_NORMAL_MODE));

+    }

 

     if(ret!=RESULT_OK)

     {

@@ -779,7 +788,7 @@
         return ret;  

     }       

 

-    LYINFLOG("%s set %d suc",__func__,data);  

+    LYINFLOG("%s set %d suc",__func__,type);  

     delete p;

     return RESULT_OK;  

 }