MTK11B GPRS网络连接的方法Word下载.docx
- 文档编号:18364920
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:23
- 大小:19.85KB
MTK11B GPRS网络连接的方法Word下载.docx
《MTK11B GPRS网络连接的方法Word下载.docx》由会员分享,可在线阅读,更多相关《MTK11B GPRS网络连接的方法Word下载.docx(23页珍藏版)》请在冰豆网上搜索。
if(g_myapp_socket_inital)
{
if(myapp_Socket_HTTP_Create())
{
if(myapp_Socket_HTTP_Connect())
{
myapp_Socket_Send_Data();
}
}
}
}
voidsocket_set_protocol_event_handler(U16eventID,PsIntFuncPtrfuncPtr,MMI_BOOLisMultiHandler)
#if(MTK_VERSION>
0x0848)
=0x0936)
mmi_frm_set_protocol_event_handler(eventID,(PsIntFuncPtr)funcPtr,isMultiHandler);
#else
#endif
mmi_frm_set_protocol_event_handler((PsFuncPtr)funcPtr,eventID);
voidsocket_clear_protocol_event_handler(U16eventID,PsIntFuncPtrfuncPtr)
mmi_frm_clear_protocol_event_handler(eventID,(PsIntFuncPtr)funcPtr);
mmi_frm_clear_protocol_event_handler(eventID);
#if1
staticvoidsocket_mmi_dtcnt_add_disp_list(U32acct_id,constU8*acct_name,constU8*addr,U8bearer_type,U32account_type,U8conn_type,U8sim_info,U8read_only)
=0x11A1112)
#elif(MTK_VERSION>
=0x10A1103)
externvoidmmi_dtcnt_add_disp_list(U32acct_id,U8bearer_type,mmi_socket_dtcnt_acct_type_enumaccount_type,U8conn_type,U8sim_info,U8read_only);
mmi_dtcnt_add_disp_list(acct_id,bearer_type,account_type,conn_type,sim_info,read_only);
externvoidmmi_dtcnt_add_disp_list(U32acct_id,constU8*acct_name,constU8*addr,U8bearer_type,mmi_socket_dtcnt_acct_type_enumaccount_type,U8conn_type,U8sim_info,U8read_only);
mmi_dtcnt_add_disp_list(acct_id,acct_name,addr,bearer_type,account_type,conn_type,sim_info,read_only);
staticvoidsocket_mmi_dtcnt_update_disp_list(U32acct_id,constU8*acct_name,constU8*addr,U8bearer_type,U32account_type,U8conn_type,U8sim_info,U8read_only)
externvoidmmi_dtcnt_update_disp_list(U32acct_id,U8bearer_type,mmi_socket_dtcnt_acct_type_enumaccount_type,U8conn_type,U8sim_info,U8read_only);
mmi_dtcnt_update_disp_list(acct_id,bearer_type,account_type,conn_type,sim_info,read_only);
externvoidmmi_dtcnt_update_disp_list(U32acct_id,constU8*acct_name,constU8*addr,U8bearer_type,mmi_socket_dtcnt_acct_type_enumaccount_type,U8conn_type,U8sim_info,U8read_only);
mmi_dtcnt_update_disp_list(acct_id,acct_name,addr,bearer_type,account_type,conn_type,sim_info,read_only);
staticBOOLsocket_update_acc_prof_id(kal_uint32acc_prof_id,constWCHAR*account_name,
myapp_apn_structapn_param,cbm_sim_id_enumsim)
srv_dtcnt_result_enumret;
srv_dtcnt_store_prof_data_structprof_info;
srv_dtcnt_prof_gprs_structprof_gprs;
inti;
MMI_ASSERT(apn_param.apn!
=NULL);
memset(&
prof_gprs,0,sizeof(prof_gprs));
prof_gprs.APN=apn_param.apn;
prof_gprs.prof_common_header.sim_info=sim+1;
prof_gprs.prof_common_header.AccountName=(constU8*)account_name;
//if(accountInfo)
prof_gprs.prof_common_header.Auth_info.AuthType=apn_param.authentication_type;
strcpy((char*)prof_gprs.prof_common_header.Auth_info.UserName,apn_param.user_name);
strcpy((char*)prof_gprs.prof_common_header.Auth_info.Passwd,apn_param.password);
for(i=0;
i<
4;
i++)
prof_gprs.prof_common_header.PrimaryAddr[i]=apn_param.dns[i];
prof_gprs.prof_common_header.acct_type=SRV_DTCNT_PROF_TYPE_USER_CONF;
prof_gprs.prof_common_header.px_service=SRV_DTCNT_PROF_PX_SRV_HTTP;
if(app_stricmp((char*)apn_param.apn,(char*)"
cmwap"
)==0)
prof_gprs.prof_common_header.use_proxy=KAL_TRUE;
prof_gprs.prof_common_header.px_addr[0]=10;
prof_gprs.prof_common_header.px_addr[1]=0;
prof_gprs.prof_common_header.px_addr[2]=0;
prof_gprs.prof_common_header.px_addr[3]=172;
prof_gprs.prof_common_header.px_port=80;
strcpy(prof_gprs.prof_common_header.HomePage,"
"
);
prof_info.prof_data=&
prof_gprs;
prof_info.prof_fields=SRV_DTCNT_PROF_FIELD_ALL;
prof_info.prof_type=SRV_DTCNT_BEARER_GPRS;
ret=srv_dtcnt_store_update_prof(acc_prof_id,&
prof_info);
if(ret==SRV_DTCNT_RESULT_SUCCESS)
socket_mmi_dtcnt_update_disp_list(acc_prof_id,prof_gprs.prof_common_header.AccountName,prof_gprs.APN,DATA_ACCOUNT_BEARER_GPRS,
prof_gprs.prof_common_header.acct_type,1,prof_gprs.prof_common_header.sim_info,prof_gprs.prof_common_header.read_only);
returnTRUE;
else
returnFALSE;
statickal_uint32socket_find_acc_prof_id(constWCHAR*account_name)
inti,j;
srv_dtcnt_store_prof_qry_structstore_prof_qry;
srv_dtcnt_prof_str_info_qry_structprof_str_info_qry;
U16name[SRV_DTCNT_PROF_MAX_ACC_NAME_LEN+1]={0};
for(j=0;
j<
SRV_SIM_CTRL_MAX_SIM_NUM;
++j)
store_prof_qry,0,sizeof(store_prof_qry));
store_prof_qry.qry_info.filters=SRV_DTCNT_STORE_QRY_TYPE_SIM|SRV_DTCNT_STORE_QRY_TYPE_BEARER_TYPE;
store_prof_qry.qry_info.sim_qry_info=j+1;
store_prof_qry.qry_info.bearer_qry_info=SRV_DTCNT_BEARER_GPRS;
ret=srv_dtcnt_store_qry_ids(&
store_prof_qry);
store_prof_qry.num_ids;
++i)
prof_str_info_qry.dest=(S8*)name;
prof_str_info_qry.dest_len=sizeof(name);
srv_dtcnt_get_account_name(store_prof_qry.ids[i],&
prof_str_info_qry,SRV_DTCNT_ACCOUNT_PRIMARY);
if(kal_wstrcmp(account_name,name)==0)
returnstore_prof_qry.ids[i];
return-1;
statickal_uint32myapp_socket_add_acc_prof_id(constWCHAR*account_name)
srv_dtcnt_store_prof_data_structstore_prof_data;
kal_uint32acc_prof_id;
prof_gprs.APN="
;
//这个值在应用使用的时候会修改的
prof_gprs.prof_common_header.sim_info=SRV_DTCNT_SIM_TYPE_1;
store_prof_data.prof_data=&
store_prof_data.prof_fields=SRV_DTCNT_PROF_FIELD_ALL;
store_prof_data.prof_type=SRV_DTCNT_BEARER_GPRS;
ret=srv_dtcnt_store_add_prof(&
store_prof_data,&
acc_prof_id);
socket_mmi_dtcnt_add_disp_list(acc_prof_id,prof_gprs.prof_common_header.AccountName,prof_gprs.APN,DATA_ACCOUNT_BEARER_GPRS,
acc_prof_id=-1;
returnacc_prof_id;
statickal_uint32socket_find_acc_prof_id_by_apn(constchar*apn,cbm_sim_id_enumsim)
externsrv_dtcnt_store_info_contextg_srv_dtcnt_store_ctx;
SRV_DTCNT_PROF_MAX_ACCOUNT_NUM;
if(g_srv_dtcnt_store_ctx.acc_list[i].in_use&
&
g_srv_dtcnt_store_ctx.acc_list[i].bearer_type==SRV_DTCNT_BEARER_GPRS&
g_srv_dtcnt_store_ctx.acc_list[i].sim_info==(sim+1)&
app_stricmp((char*)g_srv_dtcnt_store_ctx.acc_list[i].dest_name,(char*)apn)==0)
returng_srv_dtcnt_store_ctx.acc_list[i].acc_id;
/**
*获取分配给应用的数据账号,可以支持两个应用同时使用
*
*@param应用handle
*@return账号索引,这个值肯定是有效的
*/
statickal_uint32socket_get_acc_prof_id(myapp_apn_structapn_param,cbm_sim_id_enumsim_id)
//1.搜索系统中存在的数据账户
//2.检查虚拟机平台账号是否已存在
//3.如果存在则返回这个账号ID,如果不存在继续
//4.添加一个虚拟机平台数据账号
//5.如果成功返回账号ID,如果失败则返回指定的账号ID
constWCHAR*names[]={L"
SOC1GPRS"
L"
SOC2GPRS"
};
kal_uint32modify_acc_prof_ids[]={SRV_DTCNT_PROF_MAX_ACCOUNT_NUM-1,SRV_DTCNT_PROF_MAX_ACCOUNT_NUM-2};
kal_uint32id;
id=0;
MMI_ASSERT(id>
=0&
id<
=1);
acc_prof_id=socket_find_acc_prof_id_by_apn((constchar*)apn_param.apn,sim_id);
if(acc_prof_id!
=-1)
acc_prof_id=socket_find_acc_prof_id(names[id]);
if(acc_prof_id==-1)
acc_prof_id=myapp_socket_add_acc_prof_id(names[id]);
if(id==0)
acc_prof_id=socket_find_acc_prof_id(names[1]);
acc_prof_id=socket_find_acc_prof_id(names[0]);
acc_prof_id=modify_acc_prof_ids[id];
if(acc_prof_id==SRV_DTCNT_PROF_MAX_ACCOUNT_NUM-1)
acc_prof_id=acc_prof_id-1;
acc_prof_id=acc_prof_id+1;
if(!
socket_update_acc_prof_id(acc_prof_id,names[id],apn_param,sim_id))
voidsocket_set_account_id(cbm_sim_id_enumsim_id)
/*----------------------------------------------------------------*/
/*LocalVariables*/
kal_int32i;
U16vs_apn[32];
S8temp[32];
/*CodeBody*/
//socket_set_protocol_event_handler(MSG_ID_APP_SOC_NOTIFY_IND,(PsIntFuncPtr)myapp_socket_not
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MTK11B GPRS网络连接的方法 GPRS 网络 连接 方法