⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmmsumhandling.c

📁 MTK手机平台的MMI部分的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
    mms_count_rsp_p->inbox_read_msg_number = number - total_num_unread_messages;
    mmi_mms_get_number_of_messages(MMI_JMMS_OUTBOX, &number);
    mms_count_rsp_p->unsent_msg_number = number;
    mmi_mms_get_number_of_messages(MMI_JMMS_SENT, &number);
    mms_count_rsp_p->sent_msg_number = number;
    mmi_mms_get_number_of_messages(MMI_JMMS_DRAFTS, &number);
    mms_count_rsp_p->draft_msg_number = number;
    if (g_jmms_context->store_context != NULL && g_jmms_context->store_context->messages_list != NULL)
    {
        mmi_jmms_free_msgs_list(&(g_jmms_context->store_context->messages_list));
    }
    /* Prepare response structure */
    Message.oslSrcId = MOD_WAP;
    Message.oslDestId = MOD_MMI;
    Message.oslMsgId = MSG_ID_MMI_UM_GET_MSG_NUM_RSP;
    Message.oslDataPtr = (oslParaType*) mms_count_rsp_p;
    Message.oslPeerBuffPtr = NULL;
    OslMsgSendExtQueue(&Message);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_um_jmms_get_message_list_rsp
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_um_jmms_get_message_list_rsp(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    MYQUEUE Message;
    mmi_um_get_list_rsp_struct *mms_list_rsp = NULL;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mms_list_rsp = (mmi_um_get_list_rsp_struct*) g_um_jmms_rsp_struct;
    mms_list_rsp->result = KAL_TRUE;
    mmi_um_jmms_generate_list(mms_list_rsp);
    /* Prepare response structure */
    Message.oslSrcId = MOD_WAP;
    Message.oslDestId = MOD_MMI;
    Message.oslMsgId = MSG_ID_MMI_UM_GET_LIST_RSP;

    /* Send Response to MMI Queue */
    Message.oslDataPtr = (oslParaType*) mms_list_rsp;
    Message.oslPeerBuffPtr = NULL;
    OslMsgSendExtQueue(&Message);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_um_jmms_get_mms_message_list_req
 * DESCRIPTION
 *  
 * PARAMETERS
 *  msg_list_req        [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_um_jmms_get_mms_message_list_req(mmi_um_get_list_req_struct *msg_list_req)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    mmi_um_get_list_rsp_struct *mms_list_rsp;
    U8 number = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    switch (msg_list_req->msg_box_type)
    {
        case UM_MSG_BOX_TYPE_INBOX:
            mmi_mms_get_number_of_messages(MMI_JMMS_INBOX, &number);
            break;

        case UM_MSG_BOX_TYPE_UNSENT:
            mmi_mms_get_number_of_messages(MMI_JMMS_OUTBOX, &number);
            break;

        case UM_MSG_BOX_TYPE_SENT:
            mmi_mms_get_number_of_messages(MMI_JMMS_SENT, &number);
            break;

        case UM_MSG_BOX_TYPE_DRAFT:
            mmi_mms_get_number_of_messages(MMI_JMMS_DRAFTS, &number);
            break;

    }

    mms_list_rsp = (mmi_um_get_list_rsp_struct*) OslConstructDataPtr(sizeof(mmi_um_get_list_rsp_struct));
 //   memset(mms_list_rsp, 0, sizeof(mmi_um_get_list_rsp_struct));

    mms_list_rsp->msg_type = UM_MSG_TYPE_MMS;
    mms_list_rsp->msg_box_type = msg_list_req->msg_box_type;
    mms_list_rsp->start_entry = msg_list_req->start_entry;

    if (mms_list_rsp->start_entry + MMI_UM_MAX_GET_LIST_MSG_NUMBER < number)
    {
        mms_list_rsp->msg_number = MMI_UM_MAX_GET_LIST_MSG_NUMBER;
        mms_list_rsp->more = TRUE;
    }
    else
    {
        mms_list_rsp->msg_number = number - mms_list_rsp->start_entry;
        mms_list_rsp->more = FALSE;
    }

    g_um_jmms_rsp_struct = (void*)mms_list_rsp;

    mmi_um_jmms_set_folder_list_callback_function(mmi_um_jmms_parse_mms_for_attachment);
    if (g_jmms_context->store_context != NULL && g_jmms_context->store_context->messages_list != NULL)
    {
        mmi_jmms_free_msgs_list(&(g_jmms_context->store_context->messages_list));
    }
    mmi_um_jmms_get_fill_list(mms_list_rsp, ((mmi_um_get_list_req_struct*) msg_list_req));

}


/*****************************************************************************
 * FUNCTION
 *  mmi_um_jmms_get_mms_message_info_req
 * DESCRIPTION
 *  
 * PARAMETERS
 *  msg_info_req        [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_um_jmms_get_mms_message_info_req(mmi_um_get_msg_info_req_struct *msg_info_req)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    MYQUEUE Message;
    mmi_um_get_msg_info_rsp_struct *mms_info_rsp = NULL;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mms_info_rsp = (mmi_um_get_msg_info_rsp_struct*) OslConstructDataPtr(sizeof(mmi_um_get_msg_info_rsp_struct));
 //   memset(mms_info_rsp, 0, sizeof(mmi_um_get_msg_info_rsp_struct));
    mms_info_rsp->result = KAL_TRUE;
    mms_info_rsp->msg_type = UM_MSG_TYPE_MMS;
    mms_info_rsp->msg_box_type = msg_info_req->msg_box_type;
    mms_info_rsp->start_entry = msg_info_req->start_entry;
    mms_info_rsp->msg_number = msg_info_req->msg_number;
    mmi_um_jmms_get_fill_list_info(mms_info_rsp, msg_info_req);

    mmi_um_jmms_at_delete_pre_set();
    /* Prepare response structure */
    Message.oslSrcId = MOD_WAP;
    Message.oslDestId = MOD_MMI;
    Message.oslMsgId = MSG_ID_MMI_UM_GET_MSG_INFO_RSP;

    /* Send Response to MMI Queue */
    Message.oslDataPtr = (oslParaType*) mms_info_rsp;
    Message.oslPeerBuffPtr = NULL;
    OslMsgSendExtQueue(&Message);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_um_jmms_delete_all_mms_message_req
 * DESCRIPTION
 *  
 * PARAMETERS
 *  msg_delete_all_req      [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_um_jmms_delete_all_mms_message_req(mmi_um_delete_folder_req_struct *msg_delete_all_req)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    MYQUEUE Message;
    mmi_um_delete_folder_rsp_struct *mms_delete_all_rsp = NULL;
    JC_RETCODE eRet = JC_OK;
    S16 number = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mms_delete_all_rsp =
        (mmi_um_delete_folder_rsp_struct*) OslConstructDataPtr(sizeof(mmi_um_delete_folder_rsp_struct));

    /* memset(mms_delete_all_rsp, 0, sizeof(mmi_um_delete_folder_rsp_struct)); */
    mms_delete_all_rsp->msg_type = msg_delete_all_req->msg_type;
    number = mmi_jmms_get_number_of_messages_from_msg_box_type(msg_delete_all_req->msg_box_type);
	
	if(number >= 0)
	{
		if(number == 0)
		{
			mms_delete_all_rsp->result = KAL_TRUE;
		}
		else
		{
			
#ifdef __USB_IN_NORMAL_MODE__
			if(mmi_jmms_check_usb_mode() == 0)
#endif /*__USB_IN_NORMAL_MODE__*/
			{
				eRet = mmi_jmms_delete_all_msgs_list(msg_delete_all_req->msg_box_type);
				
				if (eRet == JC_OK)
				{
					mms_delete_all_rsp->result = KAL_TRUE;
				}
				else
				{
					mms_delete_all_rsp->result = KAL_FALSE;
				}
			}
#ifdef __USB_IN_NORMAL_MODE__
			else
			{
				mms_delete_all_rsp->result = KAL_FALSE;
			}
#endif
		}
	}
	else
	{
		mms_delete_all_rsp->result = KAL_FALSE;
	}
    /* Prepare response structure */
    Message.oslSrcId = MOD_WAP;
    Message.oslDestId = MOD_MMI;
    Message.oslMsgId = MSG_ID_MMI_UM_DELETE_FOLDER_RSP;

    /* Send Response to MMI Queue */
    Message.oslDataPtr = (oslParaType*) mms_delete_all_rsp;
    Message.oslPeerBuffPtr = NULL;
    OslMsgSendExtQueue(&Message);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_um_jmms_ready_ind
 * DESCRIPTION
 *  Function to send an indication to UM that browser is ready.
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_um_jmms_ready_ind(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    MYQUEUE Message;
    mmi_um_ready_ind_struct *mms_um_ready_ind;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mms_um_ready_ind = (mmi_um_ready_ind_struct*) OslConstructDataPtr(sizeof(mmi_um_ready_ind_struct));
    mms_um_ready_ind->result = KAL_TRUE;
    mms_um_ready_ind->msg_type = UM_MSG_TYPE_MMS;

    /* Prepare response structure */
    Message.oslSrcId = MOD_WAP;
    Message.oslDestId = MOD_MMI;
    Message.oslMsgId = MSG_ID_MMI_UM_READY_IND;

    /* Send Response to MMI Queue */
    Message.oslDataPtr = (oslParaType*) mms_um_ready_ind;
    Message.oslPeerBuffPtr = NULL;
    OslMsgSendExtQueue(&Message);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_um_delete_all_mms_messages_rsp
 * DESCRIPTION
 *  Function to recieve information that if user has confirmed
 *  to delete all mms messages or not.
 * PARAMETERS
 *  result      [IN]        - confirmation of deletion of all messages.
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_um_delete_all_mms_messages_rsp(U16 result)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (result == KAL_TRUE && !(IsScreenPresent(SCR_ID_UM_INBOX) || IsScreenPresent(SCR_ID_UM_UNSENT)
        || IsScreenPresent(SCR_ID_UM_SENT) ||IsScreenPresent(SCR_ID_UM_DRAFT) ))
    {
        DeleteUptoScrID(SCR_ID_UM_MAIN);
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_um_delete_highlight_folder
 * DESCRIPTION
 *  
 * PARAMETERS
 *  folder      [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_um_delete_highlight_folder(um_msg_delete_folder_enum folder)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    MYQUEUE Message;
    mmi_um_delete_all_ind_struct *mms_delete_all_ind;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mms_delete_all_ind = (mmi_um_delete_all_ind_struct*) OslConstructDataPtr(sizeof(mmi_um_delete_all_ind_struct));
    mms_delete_all_ind->msg_type = UM_MSG_TYPE_MMS;
    mms_delete_all_ind->msg_box_type = folder;

    /* Prepare response structure */
    Message.oslSrcId = MOD_WAP;
    Message.oslDestId = MOD_MMI;
    Message.oslMsgId = MSG_ID_MMI_UM_DELETE_ALL_IND;

    /* Send Response to MMI Queue */
    Message.oslDataPtr = (oslParaType*) mms_delete_all_ind;
    Message.oslPeerBuffPtr = NULL;
    OslMsgSendExtQueue(&Message);
}


/*****************************************************************************
 * FUNCTION
 *  mmi_um_jmms_new_mms_timestamp
 * DESCRIPTION
 *  Function to send an indication to UM that a new m

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -