📄 jmmsjsrhandler.c
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2002
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
* jmms_jsr_handler.C
*
* Project:
* --------
* MAUI
*
* Description:
* ------------
* This file conains the store APIs for interacting with Jatayu Store module
*
* Author:
* -------
* -------
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
#ifndef _MMI_JMMSJSRHANDLER_C
#define _MMI_JMMSJSRHANDLER_C
/*****************************************************************************
* Include
*****************************************************************************/
#include "MMI_features.h"
#if (defined (JATAAYU_SUPPORT) && defined(MMS_SUPPORT))
#include "JsrTypes.h"
#include "JMMSJSRHandler.h"
#include "PixtelDataTypes.h"
#include "SettingProfile.h"
#include "DebugInitDef.h"
#include "FileManagerGProt.h" /* file path util function */
#include <ddl.h>
#include <jcal.h>
#include <jcalnet.h>
#include "jdi_wspdatatype.h"
#include "jdi_transport.h"
#include "JMMSCoreAPI.h"
/* jataayu files */
#include "ddlbase.h"
#include "jcutils.h"
#include "ddlutils.h"
#include "jdi_MMSErr.h"
#include "jcerror.h"
#include <jdi_communicator.h>
#include <miscutils.h>
#include <MM1DataTypes.h>
#include <MessagingDatatypes.h>
#include <MessagingAPI.h>
#include "JMMSExdcl.h"
#include "JMMSMainMMS.h"
#include "JMMSProtocols.h"
#include "JMMSMessageSettings.h"
#include "JMMSMessageSettingsUtils.h"
#include "JMMSConfig.h"
#include "JMMSResEnum.h"
#include "JMMSWriteMMS.h"
#include "JMMSStoreHandling.h"
#include "PrvMessagingDataTypes.h"
#include "MM1Api.h"
#include "Msg_Utils.h"
#include "Msg_Presentation.h"
#include "JMMSPushHandling.h"
#include "JMMSCoreAPI.h"
#include "JMMSDrafts.h"
#include "JMMSExdcl.h"
/* /#include "JMMSGdcl.h" */
#include "JMMSCompose.h"
#include "JMMSGprot.h"
#include "JMMSInbox.h"
#include "JMMSJSRHandler.h"
#include "JMMSMainMMS.h"
#include "JMMSMessageSettingsUtils.h"
#include "JMMSOutbox.h"
#include "JMMSProtocols.h"
#include "JMMSPushHandling.h"
#include "JMMSResEnum.h"
#include "JMMSSent.h"
#include "JMMSStoreHandling.h"
#include "JMMSStructs.h"
#include "JMMSTemplates.h"
#include "JMMSUseDetails.h"
#include "JMMSView.h"
#include "JMMSWriteMMS.h"
#include "TimerEvents.h"
#include "wapadp.h"
#include "JPushInboxCommonUI.h"
#ifdef __MMI_UNIFIED_MESSAGE__
#include "UnifiedMessageDef.h"
#include "UnifiedMessageProt.h"
#include "JMMSUMHandling.h"
#endif /* __MMI_UNIFIED_MESSAGE__ */
#ifdef MMI_JMMS_JAVA_MMS_SUPPORT
/*****************************************************************************
* Define
*****************************************************************************/
/*****************************************************************************
* Typedef
*****************************************************************************/
/*****************************************************************************
* Local Variable
*****************************************************************************/
static U32 media_obj_index = 1;
/*****************************************************************************
* Local Function
*****************************************************************************/
/*****************************************************************************
* Global Variable
*****************************************************************************/
extern U64 g_jmms_normal_msgid;
extern U64 g_jmms_java_msgid;
/*****************************************************************************
* Global Function
*****************************************************************************/
JsrResult mmi_jmms_java_mms_error(JC_RETCODE error_code);
mmi_jmms_java_addresses_type mmi_jmms_java_map_address_type(MMSAddressTypes type);
extern int mmi_charset_ucs2_to_utf8_length_in_bytes(const kal_uint8 *raw);
extern int mmi_charset_utf8_to_ucs2_length_in_bytes(const kal_uint8 *raw);
extern kal_int32 mmi_chset_utf8_to_ucs2_string(kal_uint8 *dest, kal_int32 dest_size, kal_uint8 *src);
extern kal_int32 mmi_chset_ucs2_to_utf8_string(kal_uint8 *dest, kal_int32 dest_size, kal_uint8 *src);
extern JC_RETCODE mmi_jmms_jsr_form_send_request_pdu(MM1_HANDLE hMM1, MESSAGING_HANDLER *pMessaging);
extern void mmi_jmms_entry_inbox_screen(void);
extern void mmi_jmms_entry_outbox_screen(void);
extern void mmi_jmms_entry_sent_screen(void);
extern void mmi_jmms_entry_drafts_screen(void);
extern U8 *mmi_jmms_get_activated_mmsc_url(jmms_context_struct *jmms_context);
void mmi_jmms_MM1_decode_continue_start_timer(JC_UINT32 total_obj, error_callback new_err_cb);
extern em_wap_user_agent_brand_enum wap_get_user_agent_brand(void);
/* AT Command functions */
/*****************************************************************************
* FUNCTION
* mmi_jmms_get_folder_name_from_folderId
* DESCRIPTION
* Find the name of Folder corresponding to Folder Id.
* PARAMETERS
* folderId [IN] Id of folder
* fname [?] [?] Corresponding folder name
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_get_folder_name_from_folderId(U8 folderId, S8 *fname)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
switch (folderId)
{
case JSR_INBOX:
strcpy((S8*) fname, (S8*) MMI_JMMS_INBOX);
break;
case JSR_OUTBOX:
strcpy((S8*) fname, (S8*) MMI_JMMS_OUTBOX);
break;
case JSR_SENT:
strcpy((S8*) fname, (S8*) MMI_JMMS_SENT);
break;
case JSR_DRAFTS:
strcpy((S8*) fname, (S8*) MMI_JMMS_DRAFTS);
break;
case JSR_TEMPLATES:
strcpy((S8*) fname, (S8*) MMI_JMMS_TEMPLATES);
break;
}
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_at_get_folder_info
* DESCRIPTION
* Sets the folder information correponding to given Folder Id.
* PARAMETERS
* folderId [IN] Id of Folder
* folderInfo [?] [?] Folder information
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_at_get_folder_info(U8 folderId, JsrFolderInfo *folderInfo)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
FOLDER_INFO *pFolderInfo = NULL;
FOLDER_LIST *pFolderList = NULL;
U32 len = 0;
S8 *folder_name = NULL;
S8 fname[100];
JC_RETCODE eRet = JC_OK;
U8 numOfUnreadMsg = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
memset(fname, 0, 100);
mmi_jmms_get_folder_name_from_folderId(folderId, fname);
len = (strlen((PS8) fname) + 1) * ENCODING_LENGTH;
folder_name = (PS8) jdd_MemAlloc(len, sizeof(S8));
if (NULL == folder_name)
{
goto END;
}
AnsiiToUnicodeString((PS8) folder_name, (PS8) fname);
eRet = mmi_jmms_get_folder_list(&pFolderInfo);
if (eRet != JC_OK)
{
goto END;
}
pFolderList = pFolderInfo->pFolderList;
while (pFolderList)
{
if (pfnUnicodeStrcmp((S8*) pFolderList->pFolderName, (S8*) folder_name) == 0)
{
folderInfo->numOfMsg = pFolderList->uiTotalMessages;
//folderInfo->numOfUnreadMsg = (pFolderList->uiTotalMessages) - (pFolderList->uiTotalReadMessages);
if(strcmp((S8*)fname, (S8*) MMI_JMMS_INBOX) == 0)
{
eRet = mmi_jmms_get_number_of_unread_messages_in_inbox(&numOfUnreadMsg);
folderInfo->numOfUnreadMsg = numOfUnreadMsg;
}
else
{
folderInfo->numOfUnreadMsg = 0;
}
break;
}
pFolderList = pFolderList->pNext;
}
END:
if (folder_name != NULL)
{
jdd_MemFree(folder_name);
folder_name = NULL;
}
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_at_get_address_and_subject
* DESCRIPTION
* Sets the folder information correponding to given Folder Id.
* PARAMETERS
* list [?] [?]
* index [IN]
* address [?] [?]
* subject [?] [?]
* U8 folderId Id of Folder(?)(?)
* JsrFolderInfo* folderInfo folder information(?)(?)
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_at_get_address_and_subject(JsrMessageInfo *list, U32 index, S8 *address, S8 *subject)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (address != NULL)
{
if (strlen(address) > 39)
{
memcpy(list[index].address, address, 39);
}
else
{
strcpy((S8*) (list[index].address), (S8*) address);
}
}
if (subject != NULL)
{
if (strlen(subject) > 39)
{
memcpy(list[index].subject, subject, 39);
}
else
{
strcpy((S8*) (list[index].subject), (S8*) subject);
}
}
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_at_get_message_list
* DESCRIPTION
*
* PARAMETERS
* folderId [IN]
* list [?] [?]
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_at_get_message_list(U8 folderId, JsrMessageInfo *list)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
MESSAGE_LIST *pMessageList = NULL;
MESSAGE_LIST *pTempMessageList = NULL;
S8 fname[100];
U32 i = 0;
S32 msgType = -1;
U32 len = 0;
S8 *address = NULL;
S8 *subject = NULL;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -