static PRESULT par_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT32 i; UINT8 unact; CONTAINER* cont = (CONTAINER*)pObj; UINT8 id = OSD_GetObjID(pObj); SYSTEM_DATA* p_sys_data; static UINT32 default_key_exit[] = { V_KEY_EXIT,V_KEY_MENU,V_KEY_LEFT,V_KEY_UP,V_KEY_DOWN }; switch(event) { case EVN_PRE_OPEN: if(win_pwd_open(default_key_exit,ARRAY_SIZE(default_key_exit))==FALSE) { return PROC_LEAVE; } wincom_open_subtitle((POBJECT_HEAD)&win_parental_con,RS_SYSTME_PARENTAL_LOCK, 0); OSD_ChangeFocus((POBJECT_HEAD)&win_parental_con,MENU_PARENTAL_MENU_LOCK,0); p_sys_data=sys_data_get(); win_par_set_menu_lock_string(p_sys_data->menu_lock); win_par_set_channel_lock_string(p_sys_data->channel_lock); win_par_switch_confirm(FALSE); g_PL_Input_Bit_Number=0; g_PL_Input_Status=FALSE; win_pl_password_value[0]=0; win_pl_password_value[1]=0; win_pl_set_password_str(0); win_pl_set_password_str(1); break; case EVN_POST_OPEN: break; case EVN_PRE_CLOSE: sys_data_save(1); *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: wincom_close_subtitle(); OSD_TrackObject( (POBJECT_HEAD) &g_win_mainmenu, C_UPDATE_ALL); break; } return ret; }
static PRESULT timerset_btn_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT8 bID; UINT8 back_save; bID = OSD_GetObjID(pObj); switch(event) { case EVN_UNKNOWN_ACTION: if(bID == TIMER_BTN_OK_ID) { if(win_timerset_check_and_save() == 0) { #if 0//def DVR_PVR_SUPPORT TIMER_SET_CONTENT* timer = &timer_set; P_NODE p_node; if(get_prog_by_id(timer->wakeup_channel,&p_node) != DB_SUCCES) return PROC_PASS; if((p_node.lock_flag) // && (timer->timer_mode != TIMER_MODE_OFF) && (timer->timer_service == TIMER_SERVICE_DVR_RECORD) ) { if(!win_pwd_open(NULL,0)) { return PROC_PASS; } } #endif timer_set_ok_cancel_flag= 1; ret = PROC_LEAVE; } else { win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL,NULL,RS_MSG_INVALID_INPUT_CONTINUE); win_compopup_open_ext(&back_save); } } else ret = PROC_LEAVE; break; } return ret; }
static PRESULT sys_item_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT8 id = 0; VACTION act; OSD_RECT rct; SYSTEM_DATA *psys = NULL; psys = sys_data_get(); struct smc_device *smc_dev; smc_dev = (struct smc_device *)dev_get_by_id(HLD_DEV_TYPE_SMC, 0); rct.uHeight = 130; rct.uWidth = 200; rct.uLeft = PREVIEW_L + (PREVIEW_W - rct.uWidth) / 2; rct.uTop = PREVIEW_T + PREVIEW_H; switch (event) { case EVN_UNKNOWN_ACTION: act = (VACTION)(param1 >> 16); switch (act) { case VACT_ITEM_SELECT: id = OSD_GetFocusID(pObj); #ifdef MULTI_CAS #if(CAS_TYPE== CAS_DVN) if(id==WIN_CA_ID&&(!getIsCardIn())) { win_popup_msg(NULL, NULL, RS_CAERR_NOSMC); break; } #elif(CAS_TYPE== CAS_CONAX) if((id == WIN_CA_ID) && (smc_card_exist(smc_dev) != SUCCESS)) { break; } #elif(CAS_TYPE== CAS_ABEL) if((id == WIN_CA_ID) && (!api_abel_cas_check_card_inited())) { win_popup_msg(NULL, NULL, RS_CAERR_NOSMC); break; } #endif #endif if((id == WIN_PWD_ID)|| (psys->menu_lock&&(id == WIN_CA_ID || id == WIN_FACT_ID || id == WIN_OTA_ID))) { if (!win_pwd_open(NULL, 0, &rct)) break; } if ((NULL !=items_list[id - 1]) && (OSD_ObjOpen(items_list[id - 1], 0xFFFFFFFF) != PROC_LEAVE)) menu_stack_push(items_list[id - 1]); break; default: break; } ret = PROC_LOOP; break; default: break; } return ret; }