subscription open fllow
来源:互联网 发布:linux 查找文件夹大小 编辑:程序博客网 时间:2024/05/21 17:48
1、开始一个新的事务时mmoc_info_ptr->trans_state=MMOC_TRANS_STATE_NULL
surbscription change
的话最先的subsc_chgd.chg_type=MMOC_SUBSC_CHG_SUBSC_AVAIL与其相对应的是MMOC_SUBSC_CHG_NAM_SEL
此时的一些手机参数状态如下:
mmoc_info_ptr->is_sd_initialized=0,所以在此要初始化并将其变为1
ph_stat_ptr->is_cdma_subs_avail=1
ph_stat_ptr->oprt_mode=PROT_OPRT_MODE_NULL
mmoc_info_ptr->curr_nam= cmd_ptr->param.subsc_chgd.nam;
mmoc_info_ptr->prot_subsc_chg = cmd_ptr->param.subsc_chgd.prot_subsc_chg;//change_type
mmoc_info_ptr->hybr_gw_subs_chg = cmd_ptr->param.subsc_chgd.hybr_gw_subs_chg;
然后根据mmoc_info_ptr->prot_subsc_chg 里保存的change_type判定哪个subs_avail
mmoc_info_ptr->is_cdma_subs_avail=
cmd_ptr->param.subsc_chgd.cdma.is_subs_avail;//is_cdma_subs_avail是在这个地方设置的
然后给mc发PROT_PH_STAT_CHG_SUBSC命令,mmoc进入MMOC_TRANS_STATE_WAIT_PH_STAT_CNF状态
这个命令在mc里的处理如下:
mc_init_auth
如果ph_stat_ptr->prot_subsc_chg=PROT_SUBSC_CHG_CDMA的话要设置cdma.is_cdma_subs_avail = ph_stat_ptr->is_cdma_subs_avail=1
绕后mcc_powerup_load //Reload the subscription information.
这个命令处理完返回到mmoc后的处理如下:Initialize sd with the new subscription information.
调用sd_nam_sel3(...)其里面的一些参数设置如下:
mmoc_info_ptr->trans_info.subsc_chgd.nam=0 //nam没有发生变化
mmoc_info_ptr->trans_info.subsc_chgd.orig_mode = SD_SS_ORIG_MODE_NONE
mmoc_info_ptr->trans_info.subsc_chgd.mode_pref = SD_SS_MODE_PREF_DIGITAL
mmoc_info_ptr->trans_info.subsc_chgd.prl_pref = SD_SS_PRL_PREF_ANY
mmoc_info_ptr->trans_info.subsc_chgd.roam_pref = SD_SS_ROAM_PREF_ANY
mmoc_info_ptr->trans_info.subsc_chgd.hybr_pref = SD_SS_HYBR_PREF_CDMA_HDR
mmoc_info_ptr->trans_info.subsc_chgd.domain_pref = SD_SS_SRV_DOMAIN_PREF_CS_ONLY
mmoc_info_ptr->trans_info.subsc_chgd.acq_order_pref = SD_SS_ACQ_ORDER_PREF_AUTO
mmoc_info_ptr->trans_info.subsc_chgd.is_gw_subsc_avail
mmoc_info_ptr->trans_info.subsc_chgd.is_cdma_subsc_avail = 1
mmoc_info_ptr->trans_info.subsc_chgd.is_wlan_subsc_avail = 0
mmoc_info_ptr->trans_info.subsc_chgd.tech_pref = 7
好复杂的处理啊
MMOC_TRANS_DUAL_STANDBY_CHGD命令的处理
只有在手机操作模式处在PROT_OPRT_MODE_NULL或PROT_OPRT_MODE_ONLINE下才处理这个命令
/* Copy new preference to ds_pref,在此处将有几张卡的信息保存在mmoc里面,
如果是一张卡,则要确定是哪张卡
*/
mmoc_info_ptr->ds_pref = cmd_ptr->param.dual_standby_chgd.ds_pref;
mmoc_info_ptr->single_stby_ss = cmd_ptr->param.dual_standby_chgd.single_stby_ss;
/* If Dual Standby, then both subscription should be available. If Single Standby,
** then selected subscription should be available. If FALSE, then wait for corresponding
** Subscription change event to handle Dual Standby preference change
*/
if(!((mmoc_info_ptr->ds_pref == SYS_MODEM_DS_PREF_DUAL_STANDBY &&
(mmoc_info_ptr->is_gw_subs_avail == TRUE ||
mmoc_info_ptr->is_cdma_subs_avail == TRUE) &&
mmoc_info_ptr->is_gw_hybr_subs_avail == TRUE) ||
(mmoc_info_ptr->ds_pref == SYS_MODEM_DS_PREF_SINGLE_STANDBY &&
((mmoc_info_ptr->single_stby_ss == SD_SS_MAIN &&
(mmoc_info_ptr->is_gw_subs_avail == TRUE ||
mmoc_info_ptr->is_cdma_subs_avail == TRUE)) ||
(mmoc_info_ptr->single_stby_ss == SD_SS_HYBR_2 &&
mmoc_info_ptr->is_gw_hybr_subs_avail == TRUE)))))
{
return mmoc_clear_transaction( mmoc_info_ptr );清楚这个事务
}
mmoc_dual_standby_pref_chgd判断卡的情况是否发生了改变,如果没改变则清楚这个事务的处理
如果改变了,mmoc进入MMOC_TRANS_STATE_PROT_DEACT_ENTER状态此时协议都还没打开,所以直接进入MMOC_TRANS_STATE_DS_STAT_CHGD_ENTER
如果卡的信息变化了hdrmc_standby_pref_chgd_cmd /* Inform DS stat chgd cmd to HDR */
将有几张卡的信息半寸在db里面,DB_DSDS_STATUS卡的数量对应,1表示有两张卡
mmoc进入MMOC_TRANS_STATE_WAIT_DS_STAT_CHGD_CNF,接到这个认证后变为MMOC_TRANS_STATE_DS_STAT_CHGD_ENTER,此时手机还处在开机状态,清除事务的处理
- subscription open fllow
- Subscription
- subscription-manager
- subscription-manager
- Knockout Subscription
- MyEclipse Subscription code生成器
- MyEclipse Subscription code生成器
- XMPP subscription status
- Myeclipse8.5 subscription expired
- Your MyEclipse subscription has expired
- myeclipse subscription code,myeclipse 注册码
- ril.subscription.types NV RUIM
- RACSignal的Subscription深入分析
- RACSignal的Subscription深入分析
- RACSignal的Subscription深入分析
- RACSignal的Subscription深入分析
- myeclipse Invalid Subscription level error
- RxJava Subscription 自动取消订阅
- Python新式类和经典类的区别
- jQuery实例--实现斑马线效果包括鼠标的移入移出变色
- admsi.pl - PAA(Patch Application Assistant) tools
- 4大 Java OSGi 框架比较 (Knopflerfish, Apache Felix, Equinox, Spring DM)
- Gluster分布式文件系统 使用(初阶篇)
- subscription open fllow
- Conversion to Dalvik format failed with error 1错误的解决
- SMART原则
- spring aop报Mismatch on arguments to advice method错误问题
- C++/CLI的泛型
- 结对编程
- ASP三层架构中可能出现的问题总结
- 仿Lightinthebox模版快速修改教程
- Maven基本知识点总结