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

📄 plxmms_box.c

📁 mtk wap和mms代码。。适应mtk 25。26平台
💻 C
📖 第 1 页 / 共 5 页
字号:
        {
            GoBackHistory();
            return;
        }
    }

    if(!CreateMmsInfo(g_box_data.mmse, g_box_data.cur_info_item->id, 
        g_box_data.folder, SCR_ID_PLX_MMS_BOX_MENU))
    {
        GoBackHistory();
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(MMS_BOX_STR_VIEWFAIL), 0);
    }

/*
//  for test
    //g_box_data.id_to_report = g_box_data.cur_info_item->id;
	g_id_to_report = g_box_data.cur_info_item->id;

    if(WillSendReadReply())
    {
//        int i = 0;

        PLIB_ConfirmBox(NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_BOX_IFSENDREADREPLY),
            (WCHAR*)GetString(STR_GLOBAL_YES), 
            (WCHAR*)GetString(STR_GLOBAL_NO), 
            NULL, 0, NULL, 0, IfSendReadReplyCallback); 
    }
*/
/*
    {
        BOOL bShow = TRUE;
        int  icon = 0;

        StatusIconTest(bShow, icon, FALSE);
    }
*/
/*
	{
		S32 handle;
		S32 l;
		S32 max = 100 * 1024;
		S32 err;
		UINT wlen;
		static unsigned char* hugetest[1024];

		handle = FS_Open (L"D:\\\\hugetest", FS_CREATE);
		if(handle <= 0)
			return;

		for(l = 0L; l < max; l++)
		{
			err = FS_Write(handle, (void*)hugetest, (UINT)1024, &wlen);
			if(err != FS_NO_ERROR || wlen != 1024)
				break;
		}

		FS_Close (handle);
	}
*/
}

/***************************************************************************
* Function	EnterBoxNum
* Purpose	Into use number
* Params	
* Return	
* Remarks	Inbox has this function, combine sender and cc, and show numbers
*           in a list
\**************************************************************************/
void EnterBoxNum(void)
{
    char* from = NULL;
    char* cc   = NULL;
    char* numbers = NULL;
    PMMSEMSGINFO info = NULL;
    int len;

    if(!g_box_data.cur_info_item)
    {
        g_box_data.cur_info_item = GetListItem(g_box_data.cur_info_index);
        if(!g_box_data.cur_info_item)
        {
            GoBackHistory();
            return;
        }
    }

    //info buffer
//   len = sizeof(MMSEMSGINFO) + MSG_INFO_BUF_LEN; //512;
//	info = (PMMSEMSGINFO)MMS_Malloc(len);
//	if(!info)
//    {
//        GoBackHistory();
//        return;
//    }
	info = (PMMSEMSGINFO)g_msg_info_buf;
    MMS_Memset((void*)info, 0, MSG_INFO_BUF_LEN);

    //get message info
    if(MMSE_SUCCESS != MMSE_GetMessageInfo(g_box_data.mmse, 
        g_box_data.cur_info_item->id, info, MSG_INFO_BUF_LEN))
    {
//        MMS_Free((void*)info);
        GoBackHistory();
        return;
    }

    from = info->pSender;
    cc   = info->pCc;

    if(!from && !cc)
    {
        GoBackHistory();
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
                (WCHAR*)GetString(STR_ID_PLX_MMS_BOX_NONUMBER), 0);
        return;
    }

    len = 5;
    if(from)
        len += MMS_Strlen(from);
    if(cc)
        len += MMS_Strlen(cc);

    //nubmer buffer
    numbers = (char*)MMS_Malloc(len);
    if(!numbers)
    {
 //       MMS_Free((void*)info);
        GoBackHistory();
        return;
    }
    numbers[0] = 0;

    if(from)
        MMS_Strcat(numbers, from);
    if(cc)
    {
        MMS_Strcat(numbers, ";");
        MMS_Strcat(numbers, cc);
    }

    //open recveiver list window
    if(!CreateBoxNumSave(MMS_BOX_STR_NUM, numbers, 
        SCR_ID_PLX_MMS_BOX_MENU))
    {
        MMS_Free((void*)numbers);
//        MMS_Free((void*)info);
        GoBackHistory();
        return;
    }
    MMS_Free((void*)numbers);
 //   MMS_Free((void*)info);
    return;
}

/***************************************************************************
* Function	EnterBoxMmsReply
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterBoxMmsReply(void)
{
}

/***************************************************************************
* Function	EnterBoxSmsReply
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
/*void EnterBoxSmsReply(void)
{
//    GoBackHistory();
//    EnterReplyMenu();
}
*/
/***************************************************************************
* Function	EnterBoxTrans
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterBoxTrans(void)
{
//    int          len;
    PMMSEMSGINFO info = NULL;

#ifdef MMS_DEBUG
    PlxTrace("EnterBoxTrans\r\n");
#endif
	if(IsLowSpace(0))
	{
		PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
                (WCHAR*)GetString(STR_ID_PLX_MMS_BOX_NOSPACE), 0);
		return;
	}

	//get current message node
    if(!g_box_data.cur_info_item)
    {
        g_box_data.cur_info_item = GetListItem(g_box_data.cur_info_index);
        if(!g_box_data.cur_info_item)
        {
            GoBackHistory();
            return;
        }
    }
    //info buffer
//    len = sizeof(MMSEMSGINFO) + 512;
//    info = (PMMSEMSGINFO)MMS_Malloc(len);
	info = (PMMSEMSGINFO)g_msg_info_buf;
    MMS_Memset((void*)info, 0, MSG_INFO_BUF_LEN);

    if(info)
    {
        //get message info
        if(MMSE_SUCCESS != MMSE_GetMessageInfo(g_box_data.mmse, 
            g_box_data.cur_info_item->id, info, MSG_INFO_BUF_LEN))
        {
            GoBackHistory();
            PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
                (WCHAR*)GetString(STR_ID_PLX_MMS_BOX_NOSPACE), 0);
//            MMS_Free((void*)info);
            return;
        }
        //if has enough space
        if(IsLowSpace(info->length))
        {
#ifdef MMS_DEBUG
    PlxTrace("no space\r\n");
#endif
            GoBackHistory();
            PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
                (WCHAR*)GetString(STR_ID_PLX_MMS_BOX_NOSPACE), 0);
//            MMS_Free((void*)info);
            return;
        }
 //       MMS_Free((void*)info);
    }
    //into edit
    if(!CreateMmsEdit(g_box_data.mmse, g_box_data.cur_info_item->id,
        EditTrans, (char*)g_box_data.folder, 
        SCR_ID_PLX_MMS_BOX_MENU, 0, NULL))
    {
        GoBackHistory();
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(MMS_BOX_STR_FWERR), 0);
    }
}

/***************************************************************************
* Function	EnterBoxRecv
* Purpose	Receive a message in inbox
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterBoxRecv(void)
{
#ifdef MMS_DEBUG
    int result;
    PlxTrace("EnterBoxRecv\r\n");
#endif
    //get current message node
    if(!g_box_data.cur_info_item)
    {
        g_box_data.cur_info_item = GetListItem(g_box_data.cur_info_index);
        if(!g_box_data.cur_info_item)
        {
            GoBackHistory();
            return;
        }
    }
    if(g_box_data.cur_info_item->status != MMT_UNRECEIVE)
    {
        GoBackHistory();
        return;
    }

#ifdef MMS_DEBUG
    PlxTrace("will recv\r\n");
    switch((result = MMSE_ReceiveMessage(g_box_data.mmse, g_box_data.cur_info_item->id)))
#else
    switch(MMSE_ReceiveMessage(g_box_data.mmse, g_box_data.cur_info_item->id))
#endif
    {
    case MMSE_MM_SIZE_ERROR: //too large
        GoBackHistory();
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_BOX_MSGTOOLARGE), 0);
        break;
    case MMSE_NO_SPACE: //no space
        GoBackHistory();
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_BOX_NOSPACE), 0);
        break;
    case MMSE_EXPIRY_MM: //expired
        GoBackHistory();
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_BOX_EXPIRE), 0);
        break;
    case MMSE_SUCCESS:
#ifdef MMS_DEBUG
    PlxTrace("recving\r\n");
#endif
        GoBackHistory();
        PLIB_MessageBox(PMBTYPE_SUCCESS, NULL, 
            (WCHAR*)GetString(MMS_BOX_STR_RECVING), 0);
        break;
    default:
#ifdef MMS_DEBUG
    PlxTrace("default, result = %d\r\n", result);
#endif
        GoBackHistory();
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(MMS_BOX_STR_RECVFAIL), 0);
    }
    
    return;
}

/***************************************************************************
* Function	EnterBoxCancel
* Purpose	Cancel receiving and sending
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterBoxCancel(void)
{
    GoBackHistory();
    if(MMSE_Cancel(g_box_data.mmse) < 0)
    {
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(MMS_BOX_STR_CANCELFAIL), 0);
        return;
    }
}

/***************************************************************************
* Function	EnterBoxDel
* Purpose	Delete selected message
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterBoxDel(void)
{
//    int   i = 0;
    WCHAR ifdel[10];

    pfnUnicodeStrcpy((S8*)ifdel, (S8*)GetString(MMS_BOX_STR_DEL));
    pfnUnicodeStrcat((S8*)ifdel, (S8*)L"?");

    PLIB_ConfirmBox(NULL, 
                (WCHAR*)ifdel,
                (WCHAR*)GetString(STR_GLOBAL_YES), 
                (WCHAR*)GetString(STR_GLOBAL_NO), 
                NULL, 0, NULL, 0, IfDelCallback);
    SetKeyHandler(PlxMmsGoBackToIdle, KEY_END, KEY_EVENT_DOWN);
}

/***************************************************************************
* Function	IfDelCallback
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void IfDelCallback(PLIBEVENT event)
{
    switch(event)
    {
    case PEVENT_POSITIVE: //delete
        if(!g_box_data.cur_info_item) //get current message node
        {
            g_box_data.cur_inf

⌨️ 快捷键说明

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