[Bugfix][T108-GSW][bug-view-1585] gsw_reg_operating_mode_callback didn't work
Only Configure: No
Affected branch: unknown
Affected module: network
Is it affected on both ZXIC and ASR: only ASR
Self-test: yes
Doc Update: no
Change-Id: Ia5d4c16f5c6f30970ed9ccbbf9b1b5f99c96e885
diff --git a/mbtk/test/libgsw_lib/gsw_nw_test.c b/mbtk/test/libgsw_lib/gsw_nw_test.c
index 9cfb040..b50dcf5 100755
--- a/mbtk/test/libgsw_lib/gsw_nw_test.c
+++ b/mbtk/test/libgsw_lib/gsw_nw_test.c
@@ -609,6 +609,8 @@
typedef void (* GSW_NW_RejectCauseHandlePtr)(GSW_NW_REJ_CAUSE_E *rej_cause);
typedef void (* GSW_HAL_NW_AIRPLANE_MODE_HANDLE_PTR)(int32_t airplane_mode);
typedef void (* GSW_NW_ModemStateHandlePtr)(gsw_mode_state_e state);
+typedef void (* GSW_NW_AirplaneModeHandlePtr)(int airplane_mode);
+
int (*gsw_reg_serving_info_callback)(GSW_NW_ServingInfoHandlePtr handle_ptr);
int (*gsw_reg_sig_info_callback)(GSW_NW_SigInfoHandlePtr handle_ptr);
@@ -635,6 +637,8 @@
int (*gsw_oos_config_set)(GSW_NW_OOS_CONFIG_INFO_T *pt_info);
int (*gsw_get_imei)(int32_t len, int8_t *imei);
int (*gsw_reset_modem)(void);
+int (*gsw_reg_operating_mode_callback)(GSW_NW_AirplaneModeHandlePtr handle_ptr);
+
static int gsw_nw_api_import()
{
@@ -794,6 +798,12 @@
return GSW_HAL_FAIL;
}
+ gsw_reg_operating_mode_callback = (int(*)(GSW_NW_AirplaneModeHandlePtr handle_ptr))dlsym(dlHandle_nw,"gsw_reg_operating_mode_callback");
+ if (gsw_reg_operating_mode_callback == NULL) {
+ printf("dlsym gsw_reg_operating_mode_callback fail\n");
+ return GSW_HAL_FAIL;
+ }
+
return 0;
}
@@ -850,6 +860,13 @@
printf("state = %d\n", state);
}
+static void gsw_operating_state_cb(int airplane_mode)
+{
+ printf("gsw_operating_state_cb: \n");
+ printf("airplane mode = %d\n", airplane_mode);
+}
+
+
void dump_items()
{
@@ -884,6 +901,7 @@
printf(" 23 gsw_oos_config_set\n");
printf(" 24 gsw_get_imei\n");
printf(" 25 gsw_reset modem\n");
+ printf(" 26 gsw_reg_operating_mode_callback\n");
printf("-------------------------------------------------------------------------\n");
}
@@ -895,7 +913,7 @@
ret = gsw_nw_api_import();
if (ret != 0) {
- printf("gsw_nw_api_import failed \n");
+ printf("gsw_nw_api_import failed, ret is %d\n",ret);
return -1;
}
@@ -939,7 +957,7 @@
ret = gsw_get_nwinfo(nwinfo);
if(ret != 0)
{
- printf("gsw_get_nwinfo failed \n");
+ printf("gsw_get_nwinfo failed, ret is %d\n",ret);
continue;
}
printf("nwinfo.reg_state = %d\nnwinfo.ps_state = %d\nnwinfo.reg_rat = %d\nnwinfo.srv_domain = %d\nnwinfo.roaming_ind = %d\nnwinfo.reg_plmn = %s\nnwinfo.operator_name = %s\nnwinfo.cell_id = %s\nnwinfo.lac = %s\nnwinfo.sid=%d\nnwinfo.nid = %d\n",nwinfo->reg_state, nwinfo->ps_state, nwinfo->reg_rat, nwinfo->srv_domain, nwinfo->roaming_ind, nwinfo->reg_plmn, nwinfo->operator_name, nwinfo->cell_id, nwinfo->lac, nwinfo->sid, nwinfo->nid);
@@ -952,7 +970,7 @@
ret = gsw_get_netype(&nettype);
if(ret != 0)
{
- printf("gsw_get_netype failed \n");
+ printf("gsw_get_netype failed, ret is %d\n",ret);
continue;
}
printf("nettype = %d\n", nettype);
@@ -965,7 +983,7 @@
ret = gsw_get_opmode(&opmode);
if(ret != 0)
{
- printf("gsw_get_opmode failed \n");
+ printf("gsw_get_opmode failed, ret is %d\n",ret);
continue;
}
printf("opmode = %d\n", opmode);
@@ -982,7 +1000,7 @@
ret = gsw_set_opmode(opt);
if(ret != 0)
{
- printf("gsw_set_opmode failed \n");
+ printf("gsw_set_opmode failed, ret is %d\n",ret);
continue;
}
break;
@@ -994,7 +1012,7 @@
ret = gsw_get_mode_preference(&mode_pref);
if(ret != 0)
{
- printf("gsw_get_mode_preference failed \n");
+ printf("gsw_get_mode_preference failed, ret is %d\n",ret);
continue;
}
printf("mode_pref = %d\n", mode_pref);
@@ -1011,7 +1029,7 @@
ret = gsw_set_mode_preference(opt);
if(ret != 0)
{
- printf("gsw_set_mode_preference failed \n");
+ printf("gsw_set_mode_preference failed, ret is %d\n",ret);
continue;
}
break;
@@ -1023,7 +1041,7 @@
ret = gsw_get_sig_info(&siginfo);
if(ret != 0)
{
- printf("gsw_get_sig_info failed \n");
+ printf("gsw_get_sig_info failed, ret is %d\n",ret);
continue;
}
printf("signal info: siginfo = %d\n", siginfo);
@@ -1040,7 +1058,7 @@
ret = gsw_network_set_power_mode(opt);
if(ret != 0)
{
- printf("gsw_network_set_power_mode failed \n");
+ printf("gsw_network_set_power_mode failed, ret is %d\n",ret);
continue;
}
break;
@@ -1076,7 +1094,7 @@
ret = gsw_get_forbidden_networks(&fplmn_list);
if(ret != 0)
{
- printf("gsw_get_forbidden_networks failed \n");
+ printf("gsw_get_forbidden_networks failed, ret is %d\n",ret);
continue;
}
@@ -1099,7 +1117,7 @@
ret = gsw_add_forbidden_networks(&fplmn_list_set);
if(ret != 0)
{
- printf("gsw_add_forbidden_networks failed \n");
+ printf("gsw_add_forbidden_networks failed, ret is %d\n",ret);
continue;
}
printf("gsw_add_forbidden_networks end\n");
@@ -1116,7 +1134,7 @@
ret = gsw_remove_forbidden_networks(&fplmn_list_remove);
if(ret != 0)
{
- printf("gsw_add_forbidden_networks failed \n");
+ printf("gsw_add_forbidden_networks failed, ret is %d\n",ret);
continue;
}
printf("gsw_add_forbidden_networks end\n");
@@ -1129,7 +1147,7 @@
ret = gsw_clear_forbidden_networks();
if(ret != 0)
{
- printf("gsw_clear_forbidden_networks failed \n");
+ printf("gsw_clear_forbidden_networks failed, ret is %d\n",ret);
continue;
}
printf("gsw_clear_forbidden_networks end\n");
@@ -1143,7 +1161,7 @@
ret = gsw_get_mobile_operator_name(&opname);
if(ret != 0)
{
- printf("gsw_get_mobile_operator_name failed \n");
+ printf("gsw_get_mobile_operator_name failed, ret is %d\n",ret);
continue;
}
@@ -1157,7 +1175,7 @@
ret = gsw_reg_set_modem_status_event_callback(gsw_modem_status_cb);
if(ret != 0)
{
- printf("gsw_reg_set_modem_status_event_callback failed \n");
+ printf("gsw_reg_set_modem_status_event_callback failed, ret is %d\n",ret);
continue;
}
printf("gsw_reg_set_modem_status_event_callback success\n");
@@ -1172,7 +1190,7 @@
ret = gsw_get_cell_info(&cell_info);
if(ret != 0)
{
- printf("gsw_get_cell_info failed \n");
+ printf("gsw_get_cell_info failed, ret is %d\n",ret);
continue;
}
@@ -1287,7 +1305,7 @@
ret = gsw_oos_config_get(&oos_cfg);
if(ret != 0)
{
- printf("gsw_oos_config_get failed \n");
+ printf("gsw_oos_config_get failed, ret is %d\n",ret);
continue;
}
@@ -1311,7 +1329,7 @@
ret = gsw_oos_config_set(&oos_cfg);
if(ret != 0)
{
- printf("gsw_oos_config_set failed \n");
+ printf("gsw_oos_config_set failed, ret is %d\n",ret);
continue;
}
else
@@ -1350,6 +1368,18 @@
}
break;
}
+ case 26:
+ {
+ printf("gsw_reg_operating_mode_callback\n");
+ ret = gsw_reg_operating_mode_callback(gsw_operating_state_cb);
+ if(ret != 0)
+ {
+ printf("gsw_reg_operating_mode_callback failed, ret is %d\n",ret);
+ break;
+ }
+ printf("gsw_reg_operating_mode_callback success\n");
+ break;
+ }
default:
{
continue;