Beispiel #1
0
static void PRELOAD_PMNG_WRAP_CALLBACK(VM_P_HANDLE p, void (*cb)(VMINT hdl, void * para), VMINT rid, void * data)
{
    if (vm_pmng_set_ctx(p) == VM_PMNG_OP_OK)
    {
        if (cb)
        {
            MMI_TRACE(MMI_MRE_TRC_MOD_VMSOCK, TRC_MRE_VMSOCK_PRELOAD_S, 3, __LINE__);            
            cb(rid, data);
            MMI_TRACE(MMI_MRE_TRC_MOD_VMSOCK, TRC_MRE_VMSOCK_PRELOAD_E, 3, __LINE__);            
        }
        vm_pmng_reset_ctx(); 
    }
}
S32 UcmService::callback(mmi_event_struct *param)
{
    //MMI_PRINT(MOD_MRE, TRACE_GROUP_1, "[MRE] UcmService::callback");
    
    callback_data* pdata = (callback_data*)param->user_data;
    if (VM_PMNG_OP_OK == vm_pmng_set_ctx(pdata->p_handle))
    {
        (*(gs_srv_callback_func)pdata->callback)((gs_srv_event_struct*)pdata->user_data);
        vm_free(pdata);
        vm_pmng_reset_ctx();
    }      
    return 0;
}
Beispiel #3
0
static mmi_ret vm_callout_ucm_callback(mmi_event_struct * param)
{
	//srv_ucm_status_change_evt_struct *evt = (srv_ucm_status_change_evt_struct *)param;
	VMINT resid = -1;
	VM_CALLOUT_RESPONSE_T callout_callback;
	VMWSTR phonenum = NULL;
	VMINT size = 0;

	VMINT callcount = 0;

	callcount = srv_ucm_query_call_count(SRV_UCM_CALL_STATE_ALL, SRV_UCM_CALL_TYPE_ALL, NULL);
	vm_log_debug("vm_callout_ucm_callback : callcount=%d", callcount);
	if (callcount > 0)
	{
		vm_callout_status = VM_CALLOUT_BUSY;
	}
	else
	{
		vm_callout_status = VM_CALLOUT_IDEL;
		
	}

	if ((resid = vm_res_findfirst(-1, VM_RES_TYPE_CALLOUT)) != VM_RES_NOT_FIND)
	{
		VM_P_HANDLE phandle = vm_res_get_process_handle(VM_RES_TYPE_CALLOUT, resid);
		vm_res_get_callback(VM_RES_TYPE_CALLOUT, resid, (void**)&callout_callback);
		vm_res_get_data(VM_RES_TYPE_CALLOUT, resid, (void**)&phonenum, &size);

		if (vm_pmng_set_ctx(phandle) == VM_PMNG_OP_OK)
		{
			if (callout_callback != NULL)
			{
				callout_callback(phonenum, vm_callout_status);
			}

			vm_pmng_reset_ctx();
		}

		if (vm_callout_status == VM_CALLOUT_IDEL)
		{
			vm_res_release_data(VM_RES_TYPE_CALLOUT, resid);
		}
		
		vm_res_findclose(VM_RES_TYPE_CALLOUT);
		
	}
	return MMI_RET_OK;
}
void notify_cb(S32 event, S32 list_cid, S32 user_data)
{
    callback_data* data = (callback_data*)user_data;

    //MMI_PRINT(MOD_MRE, TRACE_GROUP_1, "[MRE] notify_cb");
    if (VM_PMNG_OP_OK == vm_pmng_set_ctx(data->handle))
    {
        if (data->cb)
        {
            (*(gs_srv_um_notify_list_handler)data->cb)(event,list_cid,data->user_data);      
        }
		gs_free(data);
        vm_pmng_reset_ctx();
    }  
    
}
S32 common_callback(S32 pid, void* rsp, S32 user_data)
{
    S32 res = 0;
    callback_data* data = (callback_data*)user_data;

    //MMI_PRINT(MOD_MRE, TRACE_GROUP_1, "[MRE] common_callback");
    if (VM_PMNG_OP_OK == vm_pmng_set_ctx(data->handle))
    {
        if (data->cb)
        {
            res = (*data->cb)(pid,rsp,data->user_data);      
        }
		gs_free(data);
        vm_pmng_reset_ctx();
    }  
    return res;
}
Beispiel #6
0
static mmi_ret _vm_ivr_call_callback(mmi_event_struct *param)
{
    srv_ucm_act_rsp_struct* rsp = (srv_ucm_act_rsp_struct*)((srv_ucm_act_result_evt_struct*)param)->act_result;
    MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"_vm_ivr_call_callback 1");
    
    if (rsp && SRV_UCM_RESULT_OK != rsp->result_info.result)
    {
        VMINT resid = -1;
        
        MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"_vm_ivr_call_callback fail");
        
        if ((resid = vm_res_findfirst(-1, VM_RES_TYPE_IVR)) != VM_RES_NOT_FIND)
    	{	
            VM_P_HANDLE phandle = vm_res_get_process_handle(VM_RES_TYPE_IVR, resid);
            void* user_data;
            VMINT size = 4;
            vm_ivr_cb callback;
            ivr_callback_data data;

            MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"1");
            
            vm_res_get_callback(VM_RES_TYPE_IVR, resid, (void**)&callback);
            vm_res_get_data(VM_RES_TYPE_IVR, resid, (void**)&user_data, &size);
            data.user_data = user_data;
            data.status = VM_IVR_FAIL;

            if (vm_pmng_set_ctx(phandle) == VM_PMNG_OP_OK)
    		{
    			if (callback != NULL)
    			{
    				callback(&data);
    			}

    			vm_pmng_reset_ctx();
    		}
    		vm_res_release_data(VM_RES_TYPE_IVR, resid);
    		vm_res_findclose(VM_RES_TYPE_IVR);
        }        
    }
    MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"_vm_ivr_call_callback end");
    return MMI_RET_OK; 
}
Beispiel #7
0
void vm_nmgr_confirm_popup_user_callback (vm_common_ui_confirm_evt_enum evt_id, VMINT common_ui_id)	
{
    VMINT res_node_size = 0;
    vm_common_ui_res_struct *res_p = NULL;

	if (vm_res_get_data(VM_RES_TYPE_COMMON_UI, common_ui_id, (void **)&res_p, &res_node_size) < VM_RES_OK)
	{
		MMI_TRACE(MMI_MRE_TRC_MOD_COMMONUI, TRC_MRE_COMMON_UI_CONFIRM_USER_CB_GET_RES_FAIL, common_ui_id); 
		return;
	}

	if (res_p->gpType == VM_CONFIRM_ONE_BUTTON_STR && evt_id == VM_COMMON_UI_CONFIRM_EVENT_USER_1)
	{
		MMI_TRACE(MMI_MRE_TRC_MOD_COMMONUI, TRC_MRE_COMMON_UI_CONFIRM_USER_CB_WRONG_EVT_ID, res_p->gpType, evt_id); 
	}
	else
	{
		if (res_p->gpType == VM_CONFIRM_ONE_BUTTON_STR && evt_id == VM_COMMON_UI_CONFIRM_EVENT_USER_2)
		{
			evt_id = VM_COMMON_UI_CONFIRM_EVENT_USER_1;
		}
		
		if (vm_pmng_set_ctx(res_p->m_pHandle) == VM_PMNG_OP_OK)
		{
			if (res_p->callback_func)
			{
				res_p->callback_func(evt_id, res_p->user_data);
			}
			vm_pmng_reset_ctx();
		}
	}
	
	_vm_kernel_free(res_p);
	
	if (vm_res_release_data(VM_RES_TYPE_COMMON_UI, common_ui_id) < VM_RES_OK)
	{
		MMI_TRACE(MMI_MRE_TRC_MOD_COMMONUI, TRC_MRE_COMMON_UI_CONFIRM_RELEASE_RES_FAIL, common_ui_id);
		return;
	}	
}
void VideoRecordService::gs_save_result_callback_helper (S32 ret,void* user_data)
{
	kal_prompt_trace(MOD_IDLE,"SAVE CB RET = %d",ret);

	if (m_gs_save_result_callback == NULL )
	{
		return;
	}
	kal_prompt_trace(MOD_IDLE,"SAVE CB 2");

	if (vm_pmng_set_ctx(m_phandle) != VM_PMNG_OP_OK)
	{
		return;
	}
	kal_prompt_trace(MOD_IDLE,"SAVE CB 3");

	m_gs_save_result_callback(ret,user_data);
	kal_prompt_trace(MOD_IDLE,"SAVE CB 4");
	vm_pmng_reset_ctx();
	kal_prompt_trace(MOD_IDLE,"SAVE CB 5");

}
Beispiel #9
0
mmi_ret vm_ivr_handler(mmi_event_struct *param)
{
    mmi_ret result = MMI_RET_OK;
    ivr_callback_data data;
    srv_ucm_act_rsp_struct* rsp = (srv_ucm_act_rsp_struct*)param->user_data;
    VMINT resid = -1;

    data.status = VM_IVR_CALLED_OUT;
    MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"vm_ivr_handler1 %d", param->evt_id);
    if ((resid = vm_res_findfirst(-1, VM_RES_TYPE_IVR)) != VM_RES_NOT_FIND)
	{	    
        VM_P_HANDLE phandle = vm_res_get_process_handle(VM_RES_TYPE_IVR, resid);
        void* user_data;
        VMINT size = 4;
        vm_ivr_cb callback;        

        MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"vm_ivr_handler");
        
        vm_res_get_callback(VM_RES_TYPE_IVR, resid, (void**)&callback);
        vm_res_get_data(VM_RES_TYPE_IVR, resid, (void**)&user_data, &size);
        data.user_data = user_data;
        
	    if (EVT_ID_SRV_UCM_STATUS_CHANGE == param->evt_id)
        {                
            if (srv_ucm_query_call_count(SRV_UCM_CALL_STATE_ALL, SRV_UCM_CALL_TYPE_ALL, NULL) == 0)
        	{
                MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"1");
                data.status = VM_IVR_CALL_END;
        		if (vm_pmng_set_ctx(phandle) == VM_PMNG_OP_OK)
        		{
        			if (callback != NULL)
        			{
        				callback(&data);
        			}

        			vm_pmng_reset_ctx();
        		}
        		vm_res_release_data(VM_RES_TYPE_IVR, resid);
        		MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"2");
        	}
        	else
        	{
        	    MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"3");
        	    data.status = VM_IVR_CALLED_OUT;
        	    if (vm_pmng_set_ctx(phandle) == VM_PMNG_OP_OK)
        		{
        			if (callback != NULL)
        			{
        				callback(&data);
        			}

        			vm_pmng_reset_ctx();
        		}
        		MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"4");
        	}
        	result = MMI_RET_ERR;
        }
        else if (EVT_ID_SRV_UCM_INDICATION == param->evt_id)
        {
            srv_ucm_ind_evt_struct* evt_struct = (srv_ucm_ind_evt_struct*)param;
            
            if (SRV_UCM_OUTGOING_CALL_IND == evt_struct->ind_type)
            {                
                srv_ucm_outgoing_call_ind_struct* info = (srv_ucm_outgoing_call_ind_struct*)evt_struct->ptr;
                memcpy(&g_vm_ivr_call_info,&info->uid_info,sizeof(g_vm_ivr_call_info));
                MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"vm_ivr_handler%d,%d",g_vm_ivr_call_info.group_id,g_vm_ivr_call_info.call_id);

                result = MMI_RET_ERR;
            }            
            else if (SRV_UCM_INCOMING_CALL_IND == evt_struct->ind_type)
            {    
                srv_ucm_single_call_act_req_struct req;
                
                MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"6");
                data.status = VM_IVR_INTERRUPT;
        		if (vm_pmng_set_ctx(phandle) == VM_PMNG_OP_OK)
        		{
        			if (callback != NULL)
        			{
        				callback(&data);
        			}

        			vm_pmng_reset_ctx();
        		}       

                memcpy(&g_vm_ivr_incoming_data,evt_struct->ptr,sizeof(g_vm_ivr_incoming_data));
                vm_res_release_data(VM_RES_TYPE_IVR, resid);
                
        		StartTimer(0xefda,100,_vm_ivr_handler_timer_cb);
#if 0        		
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif                
        		MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"7");
        		result = MMI_RET_ERR;
            }
            else
            {
                 MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"8");
                result = MMI_RET_ERR;
            }
            
        }
        else if (EVT_ID_SRV_UCM_ACTION_NOTIFY == param->evt_id)
        {
            MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"9");
            result = MMI_RET_ERR;
        }	
        vm_res_findclose(VM_RES_TYPE_IVR);
	}
	MMI_PRINT(MOD_MRE,TRACE_GROUP_9,"vm_ivr_handler end %d,%d",result,data.status);
	return result;    
}