www.pudn.com > mms.rar > mmimms_internal.h
/*****************************************************************************
** File Name: mmimms_internal.h *
** Author: *
** Date: 24/03/2004 *
** Copyright: 2003 Spreatrum, Incoporated. All Rights Reserved. *
** Description: *
*****************************************************************************
** Important Edit History *
** --------------------------------------------------------------------------*
** DATE NAME DESCRIPTION *
** 08/2004 Bruce.Chi Create
******************************************************************************/
#ifndef _MMI_MMS_INTERNAL_H_
#define _MMI_MMS_INTERNAL_H_
/**--------------------------------------------------------------------------*
** Include Files *
**--------------------------------------------------------------------------*/
#include "mmimms.h"
#include "guianimate.h"
#include "mmiwap.h"
#include "mmisms_api.h"
#include "guilistbox.h"
#include "ffs.h"
#include "Cms_MMSDoc.h"
#include "Cms_MMSProvide.h"
#include "Cms_WAPMain.h"
#include "Mmi_appmsg.h"
#include "Cms_MMSFilefunc.h"
#include "mmimpeg4.h"
#include "cms_sysfun.h" //added liangliu 2006-2-22
#include "mmiaudio.h" //fnh add 0320 for play audio
#include "mms_id.h"
#include "mms_image.h"
#include "mms_menutable.h"
/**--------------------------------------------------------------------------*
** Compiler Flag *
**--------------------------------------------------------------------------*/
#ifdef __cplusplus
extern "C"
{
#endif
#define HAVE_MP3 //版本包含MP3
//#define HAVE_AMR //版本支持AMR
#define HAVE_MPEG4 //版本包含MPEG4
/**--------------------------------------------------------------------------*
** MACRO DEFINITION *
**--------------------------------------------------------------------------*/
#define ONE_KILO 1000
#define ONE_K_LEN 1024
#define MMIMMS_MAX_ONE_MMS_SIZE (100 * ONE_K_LEN) //单条MMS最大size
#define MMIMMS_MAX_TOTAL_MMS_SIZE (MMIMMS_MAX_MMS_NUM * MMIMMS_MAX_ONE_MMS_SIZE)//(2000 * ONE_KILO) //2000K
#define MMIMMS_ADDRESS_TYPE_NUM 3 //地址类型个数
#define MMIMMS_MAX_SLIDE 20 //每一条MMS最大的帧数
#define MMIMMS_MAX_ADDRESS_NUM 60 //每一类目标地址的最大个数
#define MMIMMS_MAX_ADDRESS_LEN 40 //每一条地址的最大长度
#define MMIMMS_MAX_SUBJECTS_LEN 64 //每一条MMS主题的最大长度
#define MMIMMS_MAX_TEXT_LEN 1000//160 //每一条MMS文字内容的最大长度,不要超过MAX_TXT_BUF_SIZE (t9.c)
#define MMIMMS_MAX_FS_NAME_LEN 32 //每一条MMS文件名的最大长度暂定
#define MMIMMS_ADDRESS_BTN_WIDTH 44 //添加地址按钮的宽度
#define MMIMMS_SLIDE_DUARATION_MAX 600 //99 //最大slide duaration
#define MMIMMS_SLIDE_DUARATION_MIN 1 //最小slide duaration
#define MMIMMS_SLIDE_DUARATION_DEFAULT 15 //5 s
#define MMIMMS_MAX_TRANSACTIONID_LEN 32 //transaction ID最大长度。
#define MMIMMS_MAX_NOTIFICATION_URL_LEN 512 //彩信通知URL地址的长度。//暂定吧。这个挺关键的,一旦截断了,就没法下载了。
#define MMIMMS_MAX_RECEIVE_MSG_ID_LEN 64 //这个是干什么的?
#define MMS_SIZE_OF_MESSAGE (100*1024) //定义一条MMS的大小
#define MMS_SINGLE_SLIDE_SIZE 100
#define EDITMMS_ADDITIONAL_SIZE (3 * 1024)
//FNH ADD
#define MMIMMS_PBNUM_MAX_LEN ( PHONEBOOK_MAX_DN_NUMBER_LEN << 1 )
#define MMIMMS_NUMBER_MAX_BCD_LEN 10
#define MMIMMS_NUMBER_MAX_LEN 20
#define MMIMMS_DEST_ADDR_MAX_NUM 10
//FNH ADD
//liangliu added
#define MMIMMS_SETTING_WHETHER_NUM 2
#define MMIMMS_MMSC_MAX_LEN MMS_MAX_CENTRE_ADDR_LENGTH/2
#define MMIMMS_GATEWAY_MAX_LEN MMS_MAX_GATEWAY_LENGTH/2
#define MMIMMS_PORT_MAX_LEN MMS_MAX_PORT_LENGTH/2
#define MMIMMS_USERNAME_MAX_LEN MMS_MAX_USERNAME_LENGTH/2
#define MMIMMS_PASSWORD_MAX_LEN MMS_MAX_PASSWORD_LENGTH/2
#define MMIMMS_APN_MAX_LEN MMS_MAX_APN_LENGTH/2
#define LISTMAXLENGTH 40 //added liangliu 2005-12-14
#define MMS_MAX_NUM 100 //the max num of mms in total added 2005-12-14
//#define MMIMMS_PROGRESS_BAR_LEFT 12//5
//#define MMIMMS_PROGRESS_BAR_TOP 180//144//40//121
#define MMIMMS_SCROLL_BAR_LEFT 12//5//6
#define MMIMMS_SCROLL_BAR_TOP 159//MMIMMS_PROGRESS_BAR_TOP
#define MMIMMS_SCROLL_BAR_RIGHT (MMIMMS_SCROLL_BAR_LEFT+100)
#define MMIMMS_SCROLL_BAR_BOTTOM (MMIMMS_SCROLL_BAR_TOP+20) //fnh modify 0323
#define MMIMMS_SCROLL_BAR_COLOR 0x523900//0xFCC0
#define MMIMMS_MAX_FILE_NAME_LEN 32 //from the wintable.c to
#define MMS_MAX_SIZE_OF_MULTIM (100*1024) //编辑彩信时限制的多媒体的大小
#define MMIMMS_UNKNOWN_SENDER "" //无收件人时彩信列表的显示内容
#define MMIMMS_MMSC_DEFAULT_URL "http://mmsc.monternet.com/"
#define MMIMMS_FS_ROOT_DIR "/MMS/" //mms directory in file system
#define MMIMMS_FS_ROOT "/"
#define MMIMMS_MMS_DIR "MMS"
#define MMIMMS_MP3_DIR "MP3"
#define MMIMMS_VIDEO_DIR "VIDEO"//added by liangliu for save video 2005-11-29
#define MMIMMS_DEFAULT_DIR_LEN 5
//#define MMIMMS_FILE_NAME_PREFIX "mms_" //file name prefix
//file name is from 1 to 100
#define MMIMMS_FILE_NAME_SUBFIX ".mms"
#define MMIMMS_FILE_WILDCARD "*.mms"
#define MMIMMS_FILE_HEAD "MMS/mms_*"
#define MMIMMS_FILE_ID_INVALID 0xFFFFL
#define MMIMMS_NV_ID_INVALID 0xFFFFL
#define FLAG_MMS_IS_MMS 0x80
#define FLAG_MMS_NOTIFICATION 0x40
#define FLAG_MMS_HAVE_DOWNLOADED 0x20
#define FLAG_MMS_INBOX_NOT_READ 0x00
#define FLAG_MMS_INBOX_HAVE_READ 0x02
#define FLAG_MMS_OUTBOX 0x04
#define FLAG_MMS_DRAFTBOX 0x05
#define FLAG_MMS_SENTBOX 0x06
#define FLAG_MMS_MOMT_STATE 0x07
#define FLAG_MMS_CONTENT_IS_UCS2 0x08
#define MMIMMS_INVALID_MMS_CONTENT_PDU_SIZE 3 //0x84A300
#define MMS_LOCAL_TIME_ZONE 8 //时区
#define MMS_100_YEARS 100
//liangliu added
#define MMS_MAX_INPUT_TEXT_SIZE 256 /* 彩信文本编辑输入最大长度 */
#define MMS_MAX_TEXT_SIZE MMS_MAX_INPUT_TEXT_SIZE * 3 + 2 /* 彩信文本UNICODE数组(全局)最大长度 */
#define MMS_MAX_INPUT_SUBJECT_SIZE 20 /* 彩信主题编辑输入最大长度 */
#define MMS_MAX_UTF_SUBJECT_SIZE MMS_MAX_INPUT_SUBJECT_SIZE*3+1 /* UNICODE(汉字)转为UTF8所需最大长度 */
#define MMS_MAX_SUBJECT_SIZE MMS_MAX_INPUT_SUBJECT_SIZE*3+2 /* 彩信主题UNICODE数组(全局)最大长度 */
#define MMS_MAX_INPUT_SEND_TO_SIZE 36 /* 编辑收件人输入的最大长度 */
#define MMS_MAX_SEND_TO_SIZE MMS_MAX_INPUT_SEND_TO_SIZE * 2 + 2 /* 收件人UNICODE数组(全局)最大长度 */
#define MMS_MAX_FILE_NAME_LENGTH 128 /* 彩信文件名最大长度 */
#define MMS_MAX_ADDRESS_LENGTH 64 /* 收(发)件人地址(即号码)在文件管理摘要结构中最大长度 */
#define MMS_MAX_DATE_LEN 32 /* 文件管理器信息日期最大长度 */
#define MMS_MAX_DETAILS_LENGTH 5 * 128 /* 信息详情string长度 */
#define MMS_MAX_MSGID_LENGTH 40 /* 信息详情string长度 */
/* image content type macros */
#define COMPOSER_IMAGE_GIF "image/gif"
#define COMPOSER_IMAGE_JPEG "image/jpeg"
#define COMPOSER_IMAGE_PNG "image/png"
#define COMPOSER_IMAGE_WBMP "image/vnd.wap.wbmp"
#define COMPOSER_IMAGE_BMP "image/bmp"
/* audio content type macros */
#define COMPOSER_AUDIO_WAV "audio/wav"
#define COMPOSER_AUDIO_IMELODY "audio/imelody"
#define COMPOSER_AUDIO_MIDI "audio/midi"
#define COMPOSER_AUDIO_AMR "audio/amr"
#define COMPOSER_AUDIO_MP3 "audio/mp3"
/* video content type macros */
#define COMPOSER_VIDEO_MPEG "video/mpeg"
/**--------------------------------------------------------------------------*
** TYPE AND CONSTANT *
**--------------------------------------------------------------------------*/
#ifndef FILE_HANDLE
#define FILE_HANDLE int
#endif
typedef enum
{
SEND_MMS_NORMAL,
SEND_MMS_FROM_CAIKE,
SEND_MMS_INVALID
}MMIMMS_MMS_OR_CAIKE;
//FNH ADD 发送当前彩信(新彩信OR发件箱中的彩信)
typedef enum
{
INBOX,
SENTBOX,
OUTBOX,
DRAFTBOX,
ALL_BOX
}MMIMMS_OPTION_BOX;
//FNH ADD 发送当前彩信(新彩信OR发件箱中的彩信)
typedef enum
{
SEND_NEW_MMS,
SEND_OUTBOX_MMS
}MMIMMS_SEND_MMS_STATUS;
typedef enum
{
DOWNLOAD_RESULT_SUCCEED,
DOWNLOAD_RESULT_FAIL,
DOWNLOAD_RESULT_MMS_TOO_BIG
}MMIMMS_DOWNLOAD_RESULT;
/* 显示矩形区域结构 */ /*record display position */
typedef struct T_Composer_Rectangle_tag{
T_WORD x; /*x start coordinate of screen*/
T_WORD y; /*y start coordinate of screen*/
T_WORD width; /*width of display position*/
T_WORD height; /*height of display postion*/
}T_Composer_Rectangle;
/*插入图片的资源信息*/
typedef struct T_Composer_Image{
T_UBYTE* ImgBuf; /*image data*/
T_CHAR* Type; /*image type*/
T_WORD begin; /*begin time of image display*/
T_WORD end; /*end time of image display*/
T_WORD size; /*size of image data*/
T_Composer_Rectangle region; /* image's region */
}T_Composer_Image;
/*插入文本的资源信息*/
typedef struct T_Composer_Text{
T_UBYTE* TxtBuf; /*text data*/
T_WORD begin; /*begin time of text show*/
T_WORD end; /*end time of text show*/
T_WORD size; /* the size of the text content */
T_Composer_Rectangle region; /* text's region */
}T_Composer_Text;
/*插入声音资源信息*/
typedef struct T_Composer_Audio{
T_UBYTE* AudBuf; /*audio data buffer*/
T_CHAR *Type; /* audio type */
T_WORD begin; /*begin time of audio play*/
T_WORD end; /*end time of audio play*/
T_WORD size; /*size of audio data*/
}T_Composer_Audio;
/*插入声音资源信息*/
typedef struct T_Composer_Video{
T_UBYTE* VidBuf; /*video data buffer*/
MMIMPEG4_TYPE_E Type; /* video type */
T_WORD begin; /*begin time of video play*/
T_WORD end; /*end time of video play*/
T_WORD size; /*size of video data*/
T_Composer_Rectangle region; /* video's region */
}T_Composer_Video;
typedef enum
{
MMSRE,
MMSFW,
MMSEDIT,
MMSREAD
}MMSSTATE;
typedef enum
{
MMIMMS_RESULT_SUCCESS, //函数调用成功
MMIMMS_RESULT_ERROR //函数调用错误
}MMIMMS_RESULT_E; //函数的返回结果
typedef enum //give specific number to differ MMIMMS_TYPE and MMIMMS_MAILBOX_TYPE
{
MMIMMS_MO = 8, //发送
MMIMMS_MT = 9, //接收
MMIMMS_MNOTI = 10, //彩信通知
MMIMMS_TOTAL = 11
}MMIMMS_TYPE;
typedef struct
{
uint32 type; //MMIMMS_TYPE
uint32 head_size; //sizeof(STRUCTURE)
uint32 body_size; //body size
BOOLEAN Delivery_Report; // 是否需要传送报告标志
BOOLEAN Read_Reply; //是否需要阅读报告标志
BOOLEAN Sender_Visibility; // 是否匿名发送标志
int8 Transaction_Id[MMIMMS_MAX_TRANSACTIONID_LEN + 1]; //事务ID,由本地产生的随机序列
int8 To[MMIMMS_MAX_ADDRESS_NUM * MMIMMS_MAX_ADDRESS_LEN + 1]; //TO接收者,多个用‘;’隔开
//int8 Cc[MMIMMS_MAX_ADDRESS_LEN]; //抄送者,多个用‘;’隔开
//int8 Bcc[MMIMMS_MAX_ADDRESS_LEN]; //密送者,多个用‘;’隔开
int8 Subject[MMIMMS_MAX_SUBJECTS_LEN + 1]; //主题
T_WORD MMS_Priority;
T_WORD MMS_Expiry; //expiry time,default use Relative-token value
T_WORD MMS_Delivery_Time; //Delivery time,default use Relative-token value
T_WORD ContentTypeAndBody_Len; //彩信数据长度
uint8 *ContentTypeAndBody; //彩信数据
}MMIMMS_FS_Send_T;
typedef struct{
uint32 type; //MMIMMS_TYPE
uint32 head_size; //sizeof(STRUCTRUE)
uint32 body_size;
BOOLEAN Delivery_Report; //是否需要传送报告标志
BOOLEAN Read_Reply; //是否需要阅读报告标志
uint8 Message_Class; //消息类型
uint8 MMS_Prioity; //优先级
//uint8 Boundary[2]; //字节对齐 补充位 //先不考虑对齐。
// uint8 flag; //标志已读未读
T_WORD Date; //彩信的发送时间
int8 Transaction_Id[MMIMMS_MAX_TRANSACTIONID_LEN + 1]; //事务id
int8 Message_Id[MMIMMS_MAX_RECEIVE_MSG_ID_LEN + 1]; //消息ID
int8 From[MMIMMS_MAX_ADDRESS_NUM *MMIMMS_MAX_ADDRESS_LEN + 1]; //发送者
int8 To[MMIMMS_MAX_ADDRESS_LEN * MMIMMS_MAX_ADDRESS_NUM + 1]; //接收者
int8 Cc[MMIMMS_MAX_ADDRESS_LEN * MMIMMS_MAX_ADDRESS_NUM + 1]; //抄送者
int8 Subject[MMIMMS_MAX_SUBJECTS_LEN + 1]; //主题
T_WORD Content_Size; //彩信数据大小
uint8 *ContentTypeAndBody; //彩信数据指针
}MMIMMS_FS_Receive_T;
typedef struct{
uint32 type; //MMIMMS_TYPE
uint32 head_size; //sizeof(STRUCTURE)
uint32 body_size;
uint8 Message_Class; //消息类型
uint8 MMS_Expiry_TimeType; //过期时间类型,相对,绝对
T_WORD Message_Size; //彩信大小
T_WORD MMS_Expiry; //过期时间
int8 Transaction_Id[MMIMMS_MAX_TRANSACTIONID_LEN + 1]; //事务ID
int8 From[MMIMMS_MAX_ADDRESS_NUM * MMIMMS_MAX_ADDRESS_LEN + 1]; //发送者
int8 Subject[MMIMMS_MAX_SUBJECTS_LEN + 1]; //主题
int8 Content_Location[MMIMMS_MAX_NOTIFICATION_URL_LEN + 1]; //彩信存放的URL地址
}MMIMMS_FS_Notification_T;
typedef enum
{ //lparam: wparam param_ptr:
MULTIM_IMAGE, //image type image buf len pointer to image buf
MTMMS_FORWARD, //index of MMS 0 0
MOMMS_FORWARD, //index of mms 0 0
MOMMS_REEDIT, //index of mms 0 0
NEW_MMS, //0 0 0
SMS_ANSWER_MMS, //len 0 number buffer
MMS_ANSWER_MMS //index of mms 0 0
}MMS_EDIT_SRC_TYPE;
typedef enum
{
MMIMMS_AUTODOWNLOAD_ON,
MMIMMS_AUTODOWNLOAD_OFF,
MMIMMS_AUTODOWNLOAD_TOTAL
}MMIMMS_SETTING_AUTODOWNLOAD;
typedef enum
{
MMIMMS_PRIORITY_LOW,
MMIMMS_PRIORITY_MIDDLE,
MMIMMS_PRIORITY_HIGH,
MMIMMS_PRIORITY_TOTAL
}MMIMMS_SETTING_PRIORITY;
typedef enum
{
MMIMMS_VALID_PERIOD_1_HOUR,
MMIMMS_VALID_PERIOD_6_HOUR,
MMIMMS_VALID_PERIOD_24_HOUR,
MMIMMS_VALID_PERIOD_72_HOUR,
MMIMMS_VALID_PERIOD_1_WEEK,
MMIMMS_VALID_PERIOD_LONGEST,
MMIMMS_VALID_PERIOD_TOTAL
}MMIMMS_SETTING_VALID_PERIOD;
typedef struct
{
MMI_STRING_T subject; //1.subject string
//max is : MMIMMS_MAX_SUBJECTS_LEN
uint8 *receiver_ptr; //2.receiver string, only ASCII string is allowed. its length is strlen();
//max length is : MMIMMS_MAX_ADDRESS_LEN
MMI_STRING_T content; //3.MMS content. if larger than MMIMMS_MAX_TEXT_LEN, I will cut it
//max length is : MMIMMS_MAX_TEXT_LEN
uint8 *image_ptr; //4.image buffer.
uint16 image_size; //max is : MMIMMS_MAX_ONE_MMS_SIZE
MMIMULTIM_PICTURE_TYPE_E image_type;
}MMIMMS_CAIKE_ITEM_T;
typedef enum
{
MMIMMS_EDIT_PREVIEW_FROM_MMS,
MMIMMS_EDIT_PREVIEW_FROM_CAIKE
}MMIMMS_EDIT_PREVIEW_FROM;
/*设置定时发送结构*/
typedef struct TAG_MMS_SEND_ONTIME
{
uint16 year;
uint8 month;
uint8 day;
uint8 hour;
uint8 minute;
}MMS_SEND_ONTIME_TIME;
//fnh add end
typedef struct
{
uint16 length;
BOOLEAN is_ucs2;
uint8 str_arr[MMIMMS_MAX_ADDRESS_LEN];
}TO_STRING_T;
typedef struct
{
uint32 total_num;
TO_STRING_T *addr;
// uint8 *address[MMIMMS_MAX_ADDRESS_NUM];//content should be malloc.less than MMIMMS_MAX_ADDRESS_LEN
}To_Addr;
typedef struct
{
// T_BOOL Delivery_Report;
// T_BOOL Read_Reply;
// T_BOOL Sender_Visibility;
// T_BYTE *Transaction_Id;
To_Addr to;
To_Addr cc;
To_Addr bcc;
// MMI_STRING_T Cc;
// MMI_STRING_T *Bcc;
MMI_STRING_T subject;
MMI_STRING_T content_text;
// T_WORD MMS_Expiry; /* expiry time,default use Relative-token value */
// T_WORD MMS_Delivery_Time; /*Delivery time,default use Relative-token value */
// T_WORD ContentTypeAndBody_Len;
// T_UBYTE *ContentTypeAndBody;
}MMIMMS_MEM_STORE_T;
typedef enum //give specific number to differ MMIMMS_TYPE and MMIMMS_MAILBOX_TYPE
{
MMIMMS_INBOX = 0, //接收的
MMIMMS_SENTBOX = 1, //发送成功的
MMIMMS_OUTBOX = 2, //发送,但是失败的
MMIMMS_DRAFTBOX = 3, //编辑了,但是没发送的
MMIMMS_NOTIFICATION = 4, //彩信通知
MMIMMS_MAILBOX_TOTAL = 5
}MMIMMS_MAILBOX_TYPE;
//liangl added 2005-10-7 for spread
typedef enum
{
MMS_MSG_STATE_UNRECEIVED = 0, /* unreceive */
MMS_MSG_STATE_UNREAD, /* unread*/
MMS_MSG_STATE_READ, /*read*/
MMS_MSG_STATE_UNSEND, /*unsend*/
MMS_MSG_STATE_SENDFAILED, /*send failed*/
MMS_MSG_STATE_SENDED /*sended*/
}MMIMMS_MSG_STATE;
typedef enum _MMS_FOLDER_STATE
{
MMS_FOLDER_TYPE_NULL,
MMS_FOLDER_TYPE_INBOX,
MMS_FOLDER_TYPE_SENTBOX,
MMS_FOLDER_TYPE_OUTBOX,
MMS_FOLDER_TYPE_DRAFTBOX
}MMIMMS_FOLDER_STATE;
typedef struct tagMessagelist MESSAGELIST;
typedef MESSAGELIST *pMessageList;
struct tagMessagelist
{
uint8 * filename;
uint8 * subject;
uint8 * date;
uint8 * to_address;
uint8 * cc_address;
uint8 * bcc_address;
uint8 * sender;
uint8 * url;
uint8 * msg_id;
uint32 pritority;
uint32 needreadrpt;
uint32 needautodw; //记录时候需要自动下载。0:不自动下载,1:自动下载第一次,2:自动下载第二次
uint32 state;
uint32 size;
uint32 expiry;
pMessageList next;
};
typedef struct tagMessageFolder MESSAGEFOLDER;
typedef MESSAGEFOLDER *pMessageFolder;
struct tagMessageFolder
{
uint32 messagenumber;
uint32 unsettlednumber;
uint32 type;
pMessageList currentmessage;
pMessageList root;
};
/*-----------------------------------------------------------
按照现在展讯对于自动接收的要求,由于重新开机
不需要下载原来处于自动接收的彩信了,对于
这个信息不需要记录保存用于开机,因此为了
尽量不修改原先正常的代码,重新创建一个结构链用于
记录需要自动下载的彩信条目,注意的是释放这个结
构的时候,不能释放内部所在的list,因为这里只是指针
指向,不对于整个结构有影响
liang.liu@palmsource.com
2006-4-27
------------------------------------------------------------*/
typedef struct tagautoDownloadMMSList autoDownloadMMSList;
typedef autoDownloadMMSList * pAutoDownloadMMSList;
struct tagautoDownloadMMSList
{
pMessageList autolist;
pAutoDownloadMMSList next;
};
/* struct define: CmsMMSDocument
* CmsMMSDocument describe a mms pdu
*/
typedef struct _ManagerDocument
{
pMessageFolder currentfolder;
pMessageFolder inboxfolder;
pMessageFolder outboxfolder;
pMessageFolder sentfolder;
pMessageFolder draftfolder;
}ManagerDocument;
typedef ManagerDocument *P_ManagerDocument;
//liangliu added 2005-11-15 for mms setting
typedef enum
{
MMS_MSG_SAVEFILE_FOR_NULL,
MMS_MSG_SAVEFILE_FOR_NOTIFY,
MMS_MSG_SAVEFILE_FOR_INBOX_DELETE,
MMS_MSG_SAVEFILE_FOR_OUTBOX_DELETE,
MMS_MSG_SAVEFILE_FOR_SENTBOX_DELETE,
MMS_MSG_SAVEFILE_FOR_DRAFTBOX_DELETE,
MMS_MSG_SAVEFILE_FOR_SEND,
MMS_MSG_SAVEFILE_FOR_RECV
}MMIMMS_SAVEMANAGERFILE_STATE;
typedef enum
{
MMS_MSG_SAVEMMS_FOR_NULL,
MMS_MSG_SAVEMMS_FOR_RECV,
MMS_MSG_SAVEMMS_FOR_SEND_SUCCESS,
MMS_MSG_SAVEMMS_FOR_SEND_FAILED,
MMS_MSG_SAVEMMS_FOR_DRAFTSAVE
}MMIMMS_SAVEMAMMS_STATE;
typedef enum
{
MMS_MSG_NETUSING_NULL,
MMS_MSG_NETUSING_STEP1,
MMS_MSG_NETUSING_STEP2,
MMS_MSG_NETUSING_STEP3,
MMS_MSG_NETUSING_STEP4
}MMIMMS_NETUSING_STATE;
typedef enum
{
MMS_MSG_INBOX_READ_FOR_NULL,
MMS_MSG_INBOX_READ_FOR_PLAY,
MMS_MSG_INBOX_READ_FOR_FW,
MMS_MSG_INBOX_READ_FOR_SAVEPIC,
MMS_MSG_INBOX_READ_FOR_SAVESOUND,
MMS_MSG_INBOX_READ_FOR_SAVEVIDEO,
MMS_MSG_OUTBOX_READ_FOR_SEND,
MMS_MSG_OUTBOX_READ_FOR_PLAY,
MMS_MSG_OUTBOX_READ_FOR_EDIT,
MMS_MSG_SENTBOX_READ_FOR_PLAY,
MMS_MSG_SENTBOX_READ_FOR_FW,
MMS_MSG_DRAFTBOX_READ_FOR_EDIT
}MMIMMS_READ_STATE_CHANGED;
typedef enum
{
MMS_MSG_READ_SIGN_NULL,
MMS_MSG_READ_SIGN_FOR_SET,
MMS_MSG_READ_SIGN_FOR_EDIT,
MMS_MSG_READ_SIGN_FOR_ANSWER_MMS
}MMIMMS_READ_STATE_SIGN;
typedef enum
{
MMS_MSG_SETTINGS_OFF,
MMS_MSG_SETTINGS_ON,
NUM_MMS_MSG_SETTINGS_ONOFF
}MESSAGES_MMS_MSG_SETTINGS_ONOFF;
typedef enum
{
MMS_MSG_SETTINGS_RETRIEVE_MANUAL,
MMS_MSG_SETTINGS_RETRIEVE_AUTO,
NUM_MMS_MSG_SETTINGS_RETRIEVE
}MESSAGES_MMS_MSG_SETTINGS_RETRIEVE;
typedef enum
{
MMS_MSG_SETTINGS_PRIORITY_HIGH,
MMS_MSG_SETTINGS_PRIORITY_NORMAL,
MMS_MSG_SETTINGS_PRIORITY_LOW,
NUM_MMS_MSG_SETTINGS_PRIORITY
}MESSAGES_MMS_MSG_SETTINGS_PRIORITY;
typedef enum
{
MMS_MSG_VALID_PERIOD_12_HOUR,
MMS_MSG_VALID_PERIOD_1_DAY,
MMS_MSG_VALID_PERIOD_1_WEEK,
MMS_MSG_VALID_PERIOD_LONGEST,
MMS_MSG_VALID_PERIOD_TOTAL
}MESSAGES_MMS_SETTING_VALID_PERIOD;
//add end
typedef enum
{
MMIMMS_IMP_SBJ_ADD_NONE, //对subject不添加其他字符串
MMIMMS_IMP_SBJ_RE, //"Re:" + former subject
MMIMMS_IMP_SBJ_FORWARD //"Fwd:" + former subject
}IMPORT_SUBJECT_TYPE_E;
typedef struct
{
uint32 index; //index should change with value
uint32 value; //sort by value
}Sort_T;
typedef enum
{
MMS_SAVE_INBOX, //保存彩信到收件箱
MMS_SAVE_INBOX_PUSH //保存PUSH到收件箱
}MMS_SAVE_INBOX_STATUS ; //保存彩信到收件箱时的状态
typedef enum
{
SAVE_MMS_TO_INBOX,
SAVE_MMS_TO_OUTBOX,
SAVE_MMS_TO_SENTBOX,
SAVE_MMS_TO_DRAFTBOX,
SAVE_MMS_TO_DEFAULT
}SAVE_MMS_STATUS; //保存彩信到指定的信箱
typedef struct
{
uint16 cur_group;
uint16 total_group_num;
}GSEND_GROUP_NUMBER;
typedef enum
{
MMIMMS_SEND_MMS,
MMIMMS_DOWNLOAD_MMS,
MMIMMS_SEND_NTFRESPONSE,
MMIMMS_SEND_ACK
}MMIMMS_WAP_TRANSACTION_E;
typedef enum
{
SENDING_LEAVE,
SENDING_SENDING,
SENDING_SEND_SUCCESS,
SENDING_SEND_FAILED,
SENDING_SAVE_SENTBOX_SUCESS,
SENDING_SAVE_SENTBOX_FAIL,
SENDING_SAVE_SENTBOX_NOT_ENOUGH_SPACE,
SENDING_SAVE_OUTBOX_SUCCESS,
SENDING_SAVE_OUTBOX_FAIL,
SENDING_SAVE_OUTBOX_NOT_ENOUGH_SPACE,
SENDING_CANCEL,
SENDING_FINISH
}MMIMMS_SENDING_STATUS_E;
typedef enum
{
DOWNLOADING_LEAVE,
DOWNLOADING_RECEIVE_NTF,
DOWNLOADING_SAVENTF_SUCCESS,
DOWNLOADING_SAVENTF_FAIL,
DOWNLOADING_DOWNLOAD,
DOWNLOADING_DOWNLOAD_SUCCESS,
DOWNLOADING_DOWNLOAD_FAIL,
DOWNLOADING_DOWNLOAD_MMS_TOO_BIG,
DOWNLOADING_SEND_NTF_RESPONSE,
DOWNLOADING_SEND_NTF_RESPONSE_RETURN,
DOWNLOADING_SEND_ACK,
DOWNLOADING_SEND_ACK_RETURN,
DOWNLOADING_SAVE_SUCCESS,
DOWNLOADING_SAVE_FAILED,
DOWNLOADING_SAVE_NOT_ENOUGH_SPACE,
DOWNLOADING_CHECK_STATUS, //check whether we have another mms notification
DOWNLOADING_FINISH
}MMIMMS_DOWNLOADING_STATUS_E;
typedef enum
{
SAVEFS_NOT_ENOUGH_SPACE = 0,
SAVEFS_WRITE_FAIL = 1,
SAVEFS_WRITE_SUCCEED = 2,
SAVEFS_WRITE_PANDING = 3,
SAVEFS_WIRTE_INVALID
}SAVEFS_WRITE_RESULT;
typedef enum
{
SAVEFS_READ_SUCCEED = 4,
SAVEFS_READ_FAIL = 5
}SAVEFS_READ_RESULT;
typedef enum
{
SAVEFS_DELETE_SUCCEED = 7,
SAVEFS_DELETE_FAIL = 8
}SAVEFS_DELETE_RESULT;
typedef struct
{
HEFS hefs; //EFS_Close
MMIMMS_NV_ID_T nv_id; //save in nv
MMIMMS_FILE_ID_T file_id; //save in nv
SAVEFS_WRITE_RESULT write_result; //response of EFS task
uint8 *buf_ptr; //to free it
uint32 buf_size; //to save in nv
BOOLEAN is_new_mms; //to to judge new mms or update old mms
}FFS_OVERLAPPED_RESULT_T;
#define MMS_GROUP_NAME_LEN 25
typedef struct tag_MMS_GROUP
{
BOOLEAN is_ucs2; // 字符串的编码类型
uint8 groupname_len; // alpha数组的BYTE个数
uint8 groupname[MMIPB_NAME_MAX_LEN];
uint16 groupcount ;
p_MMS_RECEPIENT cur_group;
}MMS_GROUP;
typedef MMS_GROUP* p_MMS_GROUP;
typedef struct
{
HEFS hefs; //EFS_Close
//MMI_WINDOW_ID_E win_id; //pass to EFS_OVERLAPPED_RESULT_T, to MMK_PostMsg
SAVEFS_READ_RESULT read_result; //response of EFS task
uint32 buf_size; //to save in nv
uint8 *buf_ptr; //to free it
}FFS_READFILE_RESULT_T;
typedef struct
{
HEFS hefs; //EFS_Close
FILE_DEV_E_T dev_type;
//MMI_WINDOW_ID_E win_id; //pass to EFS_OVERLAPPED_RESULT_T, to MMK_PostMsg
SAVEFS_WRITE_RESULT write_result; //response of EFS task
uint32 buf_size; //to save in nv
uint8 *buf_ptr; //to free it
}FFS_SAVEFILE_RESULT_T;
typedef struct
{
uint32 len;
uint8 *buf_ptr;
}UTF8_T;
/**--------------------------------------------------------------------------*
** FUNCTION DEFINITION *
**--------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------
* Function Name: CmsMmsParseRecepient
* Purpose: 将得到的字符串解析生成地址链表
* Input: __head: 地址链表指针
str: 字符串
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void CmsMmsParseRecepient(p_MMS_RECEPIENT __head, char *str);
/* ----------------------------------------------------------------------------
* Function Name: mmicms_replymmsforsms
* Purpose: 电话本和短信回复彩信
* Input: telenum:电话号码
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void mmicms_replymmsforsms(char *telenum);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_WriteNewMMS
* Purpose: 编辑新彩信
* Input: void
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
BOOLEAN MMIMMS_WriteNewMMS(void);
/*****************************************************************************/
// Description : get display string in message box list
// Global resource dependence :
// Author: Bruce.Chi
// Note: for sms
///*****************************************************************************/
void MMIMMS_GetDispContentInList(
uint8 *disp_content_ptr, //in
uint8 length, //in
BOOLEAN is_ucs2, //in
uint8 status, //in, not used now.
MMI_STRING_T *out_string_ptr //out. and the memory is allocated by outer, Length should be larger than MMIMESSAGE_DIAPLAY_LEN(12 now)
);
/*****************************************************************************/
// Description : save caike
// Global resource dependence :
// Author:Bruce.Chi
// Note:
/*****************************************************************************/
BOOLEAN MMIMMS_CaiKeSave(MMIMMS_CAIKE_ITEM_T *caike_item_ptr);
/*****************************************************************************/
// Description : preview caike
// Global resource dependence :
// Author:Bruce.Chi
// Note:
/*****************************************************************************/
BOOLEAN MMIMMS_CaiKePreview(MMIMMS_CAIKE_ITEM_T *caike_item_ptr);
/*****************************************************************************/
// Description : send and save caike
// Global resource dependence :
// Author:Bruce.Chi
// Note: now, it is the save with send
/*****************************************************************************/
BOOLEAN MMIMMS_CaiKeSendAndSave(MMIMMS_CAIKE_ITEM_T *caike_item_ptr);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_OptionSubject
* Purpose: 在subject前添加RE或FW
* Input: mms状态(转发或回复)
* Returns: 空,输出的字符串是从第二个字符开始的
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_OptionSubject(MMSSTATE mmsstate);
/*****************************************************************************/
// Description : 得到一条MMS可以插入Image的最大空间
// Global resource dependence :
// Author: Great.Tian
// Note:
/*****************************************************************************/
uint32 MMIMMS_GetInsertMaxSize(
void
);
/**************************************************************
* FUNCTION: fnMMS_SaveMmsPushMessage
*
* PURPOST: Save push message come from sms,the push message may
* be mms notification or delivery/read report,when receive
* these information,agent must do some thing to indicate it
* to the user.
* PARAMETER
* InPut :
* unsigned char *pData -- push information's data content.
* unsigned int Length -- the length of the notify data .
* OutPut: none
*
* InOut : none
*
* Return Value: if success return 1 ,else return 0.
*
* Reentrant: none
**************************************************************/
T_BOOL fnMMS_SaveMmsPushMessage(unsigned char *pData,unsigned int Length);
void EditboxStringToGlobalVariable(MMI_CTRL_ID_T ctrl_id);
/*****************************************************************************/
// Description : Get mail box message number.
// Global resource dependence : none
// Author: Bruce.Chi
// Input: mms type
// Output: number of specific mms type
// Note:
/*****************************************************************************/
uint16 MMIMMS_GetMailboxMsgNum(MMIMSG_MAILBOX_TYPE_E mms_type);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_get_port
* Purpose: 得到当前的网关和端口号
* Input: curgatway: 当前的网关
curport: 当前的端口号
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_get_port(char **curgatway,unsigned short *curport);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SaveDownloadVideo
* Purpose:保存彩信内容中的视频
* Input: video_data_ptr:视频数据指针
memory_size:视频大小
image_type:视频类型
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_SaveDownloadVideo(
uint8 *video_data_ptr,
uint32 memory_size,
uint32 image_type,
MMIMULTIM_SAVE_FILE_CALLBACK_PFUNC callback_func
);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SaveDownloadmp3
* Purpose:保存彩信内容中的MP3
* Input: mp3_data_ptr:MP3数据指针
memory_size:MP3大小
mp3_type:MP3频类型
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_SaveDownloadmp3(
uint8 *mp3_data_ptr, //in:
uint32 memory_size, //in:
uint32 mp3_type,
MMIMULTIM_SAVE_FILE_CALLBACK_PFUNC callback_func
);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_PlayMMSSound
* Purpose: 播放声音(这里的声音是信息提示音)
* Input: void
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_PlayMMSSound(void);
BOOLEAN MMIMMS_EditMMS (
MMS_EDIT_SRC_TYPE from_type,
uint32 lparam,
uint32 wparam,
void* param_ptr
);
/*****************************************************************************/
// Description : 取得收件人的个数
// Global resource dependence : none
// Author: NIHONGF
// Note:
/*****************************************************************************/
int32 MmsGetReceiverCount(p_MMS_RECEPIENT p_receiver);
/*****************************************************************************/
// Description : judge whether subject exist
// Global resource dependence : g_mms_save_in_mem
// Author: Bruce.Chi
// Note: used in edit and save moduel
///*****************************************************************************/
BOOLEAN Edit_CurSubjectExist(void);
/* ----------------------------------------------------------------------------
* Function Name: Edit_CurContentTextExist
* Purpose: 判断当前内容是否有文本
* Input: pMMS_EDocument,当前编辑文档
* Returns: 布尔型
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
BOOLEAN Edit_CurContentTextExist(pMMS_EDocument p_cur_doc);
/*****************************************************************************/
// Description : 删除收件人列表
// Global resource dependence :
// Author: nihongf
// Note:
///*****************************************************************************/
void MmsDelAllReceiver(p_MMS_RECEPIENT* p_receiver);
/*****************************************************************************/
// Description : get subject string
// Global resource dependence : g_mms_save_in_mem
// Author: Bruce.Chi
// Note: used in edit and save moduel, return pointer pointing to internal memory
///*****************************************************************************/
MMI_STRING_T Edit_GetSubject(void);
/* ----------------------------------------------------------------------------
* Function Name: Edit_GetContentText
* Purpose:取得当前文本内容
* Input: pMMS_EDocument
* Output: 字符串结构.
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
MMI_STRING_T Edit_GetContentText(pMMS_EDocument p_cur_doc);
/* ----------------------------------------------------------------------------
/* Function Name: CmsGetUnicodeLen
* Purpose:取得unicode字符串的长度
* Input: 输入的字符串
* Output: 长度
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint16 CmsGetUnicodeLen(const unsigned char *data);
/* ----------------------------------------------------------------------------
* Function Name: GetSubjectStringLen
* Purpose:得到字符串的具体内容
* Input: 输入的字符串
* Output: 输出的字符传及字符串长度,输出的字符串是从第二个字符开始的
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint16 GetSubjectStringLen(char* srcstr,char** decstr);
/*****************************************************************************/
// Description : delete subject string
// Global resource dependence : g_mms_save_in_mem
// Author: Bruce.Chi
// Note: used in edit and save moduel
///*****************************************************************************/
MMIMMS_RESULT_E Edit_DeleteSubject(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_IsIPAddress
* Purpose:判断用户输入的网关地址是否是IP地址
* Input: curipaddress: 当前的网关地址
* Output: BOOLEAN
TRUE: 是IP地址
FALSE:不是IP地址
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
BOOLEAN MMIMMS_IsIPAddress(char *curipaddress);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetCurSlideImage
* Purpose:得到当前页的图像信息
* Input: T_Composer_Image: 图片结构
pMMS_EDocument: 编辑文档
* Returns:T_WORD
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
T_WORD MMIMMS_GetCurSlideImage(T_Composer_Image*Image,pMMS_EDocument pedoc );
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetCurSlideAudio
* Purpose:得到当前页的音乐信息
* Input: T_Composer_Audio: 音乐结构
pMMS_EDocument: 编辑文档
* Returns:T_WORD
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
T_WORD MMIMMS_GetCurSlideAudio(T_Composer_Audio *audio,pMMS_EDocument pedoc);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetCurSlideVideo
* Purpose:得到当前页的视频信息
* Input: T_Composer_Video: 视频结构
pMMS_EDocument: 编辑文档
* Returns:T_WORD
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
T_WORD MMIMMS_GetCurSlideVideo(T_Composer_Video*Video,pMMS_EDocument p_edoc);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_AddVideo
* Purpose:在当前页添加视频
* Input: T_Composer_Video: 视频结构
pMMS_EDocument: 编辑文档
* Returns:T_WORD
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
T_WORD MMIMMS_AddVideo(T_Composer_Video*Video,pMMS_EDocument p_cur_doc);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_AddImage
* Purpose:在当前页添加图像
* Input: T_Composer_Image: 图片结构
pMMS_EDocument: 编辑文档
* Returns:T_WORD
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
T_WORD MMIMMS_AddImage(T_Composer_Image*Image,pMMS_EDocument p_cur_doc);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_AddAudio
* Purpose:在当前页添加音乐
* Input: T_Composer_Audio: 音乐结构
pMMS_EDocument: 编辑文档
* Returns:T_WORD
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
T_WORD MMIMMS_AddAudio(T_Composer_Audio*Audio,pMMS_EDocument p_cur_doc);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SetCurSlideDuration
* Purpose:设置当前页面的延时
* Input: T_WORD: 延时时间
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
T_WORD MMIMMS_SetCurSlideDuration(T_WORD delay);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DeleteCurImage
* Purpose:从当前页删除图像
* Input: pMMS_EDocument:编辑文档
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
T_WORD MMIMMS_DeleteCurImage(pMMS_EDocument p_cur_doc);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DeleteCurVideo
* Purpose:从当前页删除视频
* Input: pMMS_EDocument:编辑文档
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
T_WORD MMIMMS_DeleteCurVideo(pMMS_EDocument p_cur_doc);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetCurText
* Purpose:得到当前页的文本信息
* Input: pMMS_EDocument:编辑文档
T_Composer_Text:文本结构
* Returns:T_WORD
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
T_WORD MMIMMS_GetCurText(T_Composer_Text*Text,pMMS_EDocument p_cur_doc);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetTotalSize
* Purpose:得到当前编辑彩信的资源大小
* Input: T_VOID
* Returns:T_WORD
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
T_WORD MMIMMS_GetTotalSize(T_VOID);
/*****************************************************************************/
// Description : "add to address"
// Global resource dependence : g_mms_save_in_mem
// Author: Bruce.Chi
// Note: used in edit and save moduel
///*****************************************************************************/
// Array
// |--|
// | 0|-->content0(heap)
// |--|
// | 1|-->content1(heap)
// |--|
// total_num = 2| |
// |..|
BOOLEAN Edit_AddToAddr(uint8 *to_ptr,To_Addr* addr_list);
/*****************************************************************************/
// Description : delete "to address"
// Global resource dependence : g_mms_save_in_mem
// Author: Bruce.Chi
// Note: used in edit and save moduel
///*****************************************************************************/
BOOLEAN Edit_DeleteToAddr(uint32 index,To_Addr* addr_list );
/*****************************************************************************/
// Description : delete all "to address"
// Global resource dependence : g_mms_save_in_mem
// Author: Bruce.Chi
// Note: used in edit and save moduel
///*****************************************************************************/
BOOLEAN Edit_DeleteToAddrAll(To_Addr* addr_list);
/*****************************************************************************/
/*****************************************************************************/
// Description : get "to address" totol number
// Global resource dependence : g_mms_save_in_mem
// Author: Bruce.Chi
// Note: used in edit and save moduel
///*****************************************************************************/
uint32 Edit_GetToAddTotalNumber(void);
/*****************************************************************************/
// Description : Begin to send mms
// Global resource dependence : s_send_request_ptr, s_send_pdu_ptr, s_wap_send_in_param
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
MMIMMS_RESULT_E MMIMMS_BeginToSendMMS(BOOLEAN need_to_init_wap_stack);
/*****************************************************************************/
// Description : Free memory allcoted by MMIMMS_BeginToSendMMS
// Global resource dependence : s_send_request_ptr, s_send_pdu_ptr, s_wap_send_in_param
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
void MMIMMS_FreeBeginToSendMMSMem(void);
/*****************************************************************************/
// Description : create download waiting win
// Global resource dependence :
// Author: Bruce.chi
// Note:
/*****************************************************************************/
BOOLEAN Download_CreateDownloadingWin(MMIMMS_DOWNLOADING_STATUS_E init_stat, MMIMMS_NV_ID_T mms_noti_nv_id);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Download_CreateDownloadingWin
* Purpose:下载彩信时的等待窗口
* Input: void
* Returns:void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Download_CreateDownloadingWin(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SendMMS_CreateSendingWin
* Purpose:发送彩信时的等待窗口
* Input: void
* Returns:void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_SendMMS_CreateSendingWin(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SendReadRpt_CreateWaitingWin
* Purpose:发送阅读报告时的等待窗口
* Input: void
* Returns:void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_SendReadRpt_CreateWaitingWin(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_CreateNormalWaitingWin
* Purpose:删除彩信时的等待窗口
* Input: void
* Returns:void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_CreateNormalWaitingWin(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_CreateReadMMSWaitingWin
* Purpose:读取彩信时的等待窗口
* Input: void
* Returns:void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_CreateReadMMSWaitingWin(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_CreateSaveMMSWaitingWin
* Purpose:保存彩信时的等待窗口
* Input: void
* Returns:void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_CreateSaveMMSWaitingWin(void);
/*****************************************************************************/
// Description : free memory allocated by MMIMMS_BeginToDownloadMMS
// Global resource dependence : s_wap_send_in_param
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
void MMIMMS_FreeBeginToDownloadMMSMem(void);
/*****************************************************************************/
// Description : Begin to download mms
// Global resource dependence : none
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
MMIMMS_RESULT_E MMIMMS_BeginToDownloadMMS(MMIMMS_FS_Notification_T *fs_ntf_ptr, BOOLEAN need_to_init_wap_stack);
/*****************************************************************************/
// Description : check whether input string contains "@'
// Global resource dependence : none
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
BOOLEAN MMIMMS_IsEmailAddr(const uint8 *email_ptr);
/*****************************************************************************/
// Description : check whether input string is digital or '+'
// Global resource dependence : none
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
BOOLEAN MMIMMS_IsNumberAddr(const uint8 *num_ptr);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetPBNameByNumber
* Purpose:通过电话得到电话所属姓名
* Input: uint8 *number_ptr:电话号码指针
MMI_STRING_T *name_pt:姓名结构
* Output: BOOLEAN.
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
BOOLEAN MMIMMS_GetPBNameByNumber(uint8 *number_ptr, MMI_STRING_T *name_ptr);
/*****************************************************************************/
// Description : convert ASC to UCS2
// Global resource dependence :
// Author: Bruce.Chi
// Note: should free the outer pointer
///*****************************************************************************/
uint8 *ASCtoUCS2(uint8 *src_ptr, //in
uint32 src_len, //in
uint32 *ucs2_len_ptr //out
);
/*****************************************************************************/
// Description : Get mail box message size.
// Global resource dependence : none
// Author: Bruce.Chi
// Note:
/*****************************************************************************/
int MMIMMS_GetMailboxMsgSize(MMIMMS_MAILBOX_TYPE mailbox_type);
/*****************************************************************************/
// Description : cat two string
// Global resource dependence :
// Author: Bruce.Chi
// Note: should free the dst_ptr->str_ptr
///*****************************************************************************/
BOOLEAN CatString( MMI_STRING_T *dst_ptr, //out
MMI_STRING_T *src1_ptr, //in
MMI_STRING_T *src2_ptr //in
);
/*****************************************************************************/
// Description : cat two string the first is ID
// Global resource dependence :
// Author: Bruce.Chi
// Note: should free the dst_ptr->str_ptr
///*****************************************************************************/
BOOLEAN CatStringByTextID(
MMI_STRING_T *dst_ptr, //out.
uint32 text_id, //in.
MMI_STRING_T *src2_ptr //in.
);
/*****************************************************************************/
// Description : cat two string
// Global resource dependence :
// Author: Bruce.Chi
// Note: should free the dst_ptr->str_ptr
///*****************************************************************************/
BOOLEAN CatStringByTextID2(
MMI_STRING_T *dst_ptr, //out.
uint32 text_id1, //in.
uint32 text_id2 //in.
);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetMMSC
* Purpose:得到彩信中心的设定值
* Input: void
* Returns: uint8*:彩信中心号码
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint8 *MMIMMS_Setting_GetMMSC(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetGATEWAY
* Purpose:得到网关的设定值
* Input: void
* Returns: uint8*:网关号码
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint8 *MMIMMS_Setting_GetGATEWAY(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetPORT
* Purpose:得到端口号的设定值
* Input: void
* Returns: uint8*:端口号值
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint8 *MMIMMS_Setting_GetPORT(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetUserName
* Purpose:得到用户名的设定值
* Input: void
* Returns: uint8*:用户名
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint8 *MMIMMS_Setting_GetUserName(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_Getpassword
* Purpose:得到密码的设定值
* Input: void
* Returns: uint8*:密码的值
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint8 *MMIMMS_Setting_GetPassword(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetAPN
* Purpose:得到APN的设定值
* Input: void
* Returns: uint8*:APN的设定值
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint8 *MMIMMS_Setting_GetAPN(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetAutoSign
* Purpose:得到自动签名的设定值
* Input: void
* Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetAutoSign(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetPriority
* Purpose:得到优先级的设定值
* Input: void
* Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetPriority(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetPriority
* Purpose:设定优先级的值
* Input: uint16 list_index
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetPriority(uint16 list_index);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetValidPeriod
* Purpose:得到有效期的设定值
* Input: void
* Returns: MESSAGES_MMS_SETTING_VALID_PERIOD
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
MESSAGES_MMS_SETTING_VALID_PERIOD MMIMMS_Setting_GetValidPeriod(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetValidPeriod
* Purpose:设定有效期的值
* Input: uint16 list_index
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetValidPeriod(uint16 list_index);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetAutoDownload
* Purpose:得到自动下载的设定值
* Input: void
* Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetAutoDownload(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetAutoDownload
* Purpose:设定自动下载的值
* Input: uint16 list_index
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetAutoDownload(uint16 list_index);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetAnonymous
* Purpose:得到匿名发送的设定值
* Input: void
* Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetAnonymous(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetAnonymous
* Purpose:设定匿名发送的值
* Input: uint16 list_index
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetAnonymous(uint16 list_index);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetPlaySoundAble
* Purpose:得到是否播放声音的设定值
* Input: void
* Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetPlaySoundAble(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetPlaySound
* Purpose:uint16 list_index
* Input: void
* Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetPlaySound(uint16 list_index);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetAdvertisingallowable
* Purpose:得到是否允许广告的设定值
* Input: void
* Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetAdvertisingallowable(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetAdvertising
* Purpose:设定是否允许广告的值
* Input: uint16 list_index
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetAdvertising(uint16 list_index);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetDeliveryReport
* Purpose:得到送达报告的设定值
* Input: void
* Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetDeliveryReport(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetDeliveryReport
* Purpose:设定送达报告的值
* Input: uint16 list_index
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetDeliveryReport(uint16 list_index);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_GetReadReport
* Purpose:得到阅读报告的设定值
* Input: void
* Returns: MESSAGES_MMS_MSG_SETTINGS_ONOFF
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
MESSAGES_MMS_MSG_SETTINGS_ONOFF MMIMMS_Setting_GetReadReport(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetReadReport
* Purpose:设定阅读报告的值
* Input: uint16 list_index
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetReadReport(uint16 list_index);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetMMSC
* Purpose:设置彩信中心号码
* Input: uint8 *:彩信中心号码字符串
uint16: 字符串长度
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetMMSC(uint8 *mmsc_ptr, uint16 mmsc_len);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetGATEWAY
* Purpose:设置网关地址
* Input: uint8 *:网关地址字符串
uint16: 字符串长度
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetGATEWAY(uint8 *gateway_ptr, uint16 gateway_len);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetPORT
* Purpose:设置端口号
* Input: uint8 *:端口号字符串
uint16: 字符串长度
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetPORT(uint8 *port_ptr, uint16 port_len);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetUserName
* Purpose:设置用户名
* Input: uint8 *:字符串
uint16: 字符串长度
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetUserName(uint8 *username_ptr, uint16 username_len);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetPassword
* Purpose:设置密码
* Input: uint8 *:字符串
uint16: 字符串长度
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetPassword(uint8 *password_ptr, uint16 password_len);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetAPN
* Purpose:设置APN
* Input: uint8 *:字符串
uint16: 字符串长度
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetAPN(uint8 *apn_ptr, uint16 apn_len);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Setting_SetAutoSign
* Purpose:设置自动签名
* Input: uint16:
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Setting_SetAutoSign(uint16 list_index);
/*****************************************************************************/
// Description : write mms setting to nv
// Global resource dependence : s_nv_setting_mirror
// Author: Bruce.Chi
// Note:
/*****************************************************************************/
void Setting_WriteBack(void);
/* ----------------------------------------------------------------------------
* Function Name: MMSMMS_SetCurSlideDuration
* Purpose:设定每祯播放的时间的值
* Input: uint32 duaration
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMSMMS_SetCurSlideDuration(uint32 duaration);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetCurSlideDuration
* Purpose:得到当前祯播放的时间的值
* Input: pMMS_EDocument p_cur_doc
* Returns: uint32
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint32 MMIMMS_GetCurSlideDuration(pMMS_EDocument p_cur_doc);
/*****************************************************************************/
// Description : get delta mms image type string through multim image type
// Global resource dependence :
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
T_BYTE *Edit_GetDeltaMMSImageType2(ANIMATE_IMAGE_TYPE_E multim_img_type);
/*****************************************************************************/
// Description : get mms audio type string through multim audio type
// Global resource dependence :
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
T_BYTE *Edit_GetDeltaMMSAudioType(MMIMULTIM_MUSIC_TYPE_E multim_audio_type);
/*****************************************************************************/
// Description : get audio type through delta mms audio type string
// Global resource dependence :
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
MMIMULTIM_MUSIC_TYPE_E Edit_GetMultimAudioType(char *delta_mms_audio_type_ptr);
/*****************************************************************************/
// Description : get low layer audio type through delta mms audio type string
// Global resource dependence :
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
MMIAUDIO_TYPE_E Edit_GetLowLayerAudioType(char *delta_mms_audio_type_ptr);
/*****************************************************************************/
// Description : get ani type through delta mms type string
// Global resource dependence :
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
ANIMATE_IMAGE_TYPE_E Edit_GetAniType(char *delta_mms_img_type_ptr);
/*****************************************************************************/
// Description : when sending is finished, close the input "To" win
// Global resource dependence :
// Author: Bruce.chi
// Note:
/*****************************************************************************/
BOOLEAN Send_FinishThenReturnMenuWin(void);
/*****************************************************************************/
// Description : when downloading is finished, close waiting win
// Global resource dependence :
// Author: Bruce.chi
// Note:
/*****************************************************************************/
BOOLEAN Download_FinishThenReturnMenuWin(MMIMMS_WAP_TRANSACTION_E type);
/*****************************************************************************/
// Description : create send waiting win
// Global resource dependence :
// Author: Bruce.chi
// Note:
/*****************************************************************************/
BOOLEAN Send_CreateSendingWin(MMIMMS_MMS_OR_CAIKE mms_from);
/*****************************************************************************/
// Description : send message to sending waiting win
// Global resource dependence :
// Author: Bruce.chi
// Note:
/*****************************************************************************/
void Send_PostSendingWinMsg(MMIMMS_SENDING_STATUS_E param);
/*****************************************************************************/
// Description : save mms according to send result
// Global resource dependence : s_send_request_ptr,
// Author: Bruce.Chi
// Note: returned value : is_save_success
///*****************************************************************************/
SAVEFS_WRITE_RESULT SaveMMS_BySendingResult(BOOLEAN is_send_success, MMS_WINDOW_ID_E win_id);
/*****************************************************************************/
// Description : get cur group number
// Global resource dependence : s_cur_group
// Author: Bruce.chi
// Note:
/*****************************************************************************/
uint16 Edit_GetCurGroupNumber(void);
/*****************************************************************************/
// Description : send message to downloading waiting win
// Global resource dependence :
// Author: Bruce.chi
// Note:
/*****************************************************************************/
void Send_PostDownloadingWinMsg(MMIMMS_DOWNLOADING_STATUS_E param);
/*****************************************************************************/
// Description : downloading send ntf response
// Global resource dependence : s_mms_retreive_ptr
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
void Download_SendNtfResponse(void);
/*****************************************************************************/
// Description : downloading send ack
// Global resource dependence : s_mms_retreive_ptr
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
void Download_SendACK(void);
/*****************************************************************************/
// Description : save downloaded mms
// Global resource dependence : s_mms_retreive_ptr
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
SAVEFS_WRITE_RESULT Download_SaveMMS(MMS_WINDOW_ID_E win_id);
/*****************************************************************************/
// Description : alert new mms notification
// Global resource dependence :
// Author: bruce.chi
// Note:
/*****************************************************************************/
void AlertNewMMSNtf(void);
/*****************************************************************************/
// Description : MMIMMS construction fuction
// Global resource dependence : many
// Author: Bruce.Chi
// Note:
/*****************************************************************************/
MMIMMS_RESULT_E MMIMMS_Construction(void);
/*****************************************************************************/
// Description : MMIMMS destruction fuction
// Global resource dependence : many
// Author: Bruce.Chi
// Note:
/*****************************************************************************/
MMIMMS_RESULT_E MMIMMS_Destruction(void);
/*****************************************************************************/
// Description : get MMI_TM_T through seconds since 1970
// Global resource dependence :
// Author: Bruce.Chi
// Note:
///*****************************************************************************/
MMI_TM_T Edit_GetTimeFrom1970(uint32 seconds);
/*****************************************************************************/
// Description : ucs2 -> utf8
// Global resource dependence :
// Author: Bruce.Chi
// Note: should free the return pointer UTF8_T.buf_ptr
///*****************************************************************************/
UTF8_T Edit_UNICODE2UTF(MMI_STRING_T *str_src_ptr);
/*****************************************************************************/
// Description : utf8 -> ucs2
// Global resource dependence :
// Author: Bruce.Chi
// Note: should free the return pointer MMI_STRING_T.str_ptr
///*****************************************************************************/
MMI_STRING_T Edit_UTF2UNICODE(UTF8_T *utf8_str_ptr);
/*****************************************************************************/
// Description : save current downloading mms notification nv_id
// Global resource dependence :
// Author: Bruce.chi
// Note:
/*****************************************************************************/
void Download_SetDownloadNotiID(MMIMMS_NV_ID_T ntf_nv_id);
/******************************************************************************
* 函数定义: MMIMMS_ReadManagerInboxFile
* 函数说明: 读取收件箱的文件
* 参数说明: 空
* 返回值: 空
* 代码编写者: liangliu
* 代码编写日期: 10/17/2005
********************************************************************************/
void MMIMMS_ReadManagerInboxFile(void);
/******************************************************************************
* 函数定义: MMIMMS_ReadManagerOutboxFile
* 函数说明: 读取发件箱的文件
* 参数说明: 空
* 返回值: 空
* 代码编写者: liangliu
* 代码编写日期: 10/17/2005
********************************************************************************/
void MMIMMS_ReadManagerOutboxFile(void);
/******************************************************************************
* 函数定义: MMIMMS_ReadManagerSentboxFile
* 函数说明: 读取已发信箱的文件
* 参数说明: 空
* 返回值: 空
* 代码编写者: liangliu
* 代码编写日期: 10/17/2005
********************************************************************************/
void MMIMMS_ReadManagerSentboxFile(void);
/******************************************************************************
* 函数定义: MMIMMS_ReadManagerDraftboxFile
* 函数说明: 读取草稿箱的文件
* 参数说明: 空
* 返回值: 空
* 代码编写者: liangliu
* 代码编写日期: 10/17/2005
********************************************************************************/
void MMIMMS_ReadManagerDraftboxFile(void);
/******************************************************************************
* 函数定义: MMIMMS_SaveManagerInboxFile
* 函数说明: 保存收件箱内容
* 参数说明: MMS_SAVE_INBOX_STATUS
* 返回值: 空
* 代码编写者: liangliu
* 代码编写日期: 10/17/2005
********************************************************************************/
void MMIMMS_SaveManagerInboxFile(MMS_SAVE_INBOX_STATUS saveinboxfilestate);
/******************************************************************************
* 函数定义: MMIMMS_SaveManagerOutboxFile
* 函数说明: 保存发件箱内容
* 参数说明: 空
* 返回值: 空
* 代码编写者: liangliu
* 代码编写日期: 10/17/2005
********************************************************************************/
void MMIMMS_SaveManagerOutboxFile(void);
/******************************************************************************
* 函数定义: MMIMMS_SaveManagerSentboxFile
* 函数说明: 保存已发信箱内容
* 参数说明: 空
* 返回值: 空
* 代码编写者: liangliu
* 代码编写日期: 10/17/2005
********************************************************************************/
void MMIMMS_SaveManagerSentboxFile(void);
/******************************************************************************
* 函数定义: MMIMMS_SaveManagerDraftboxFile
* 函数说明: 保存草稿箱内容
* 参数说明: 空
* 返回值: 空
* 代码编写者: liangliu
* 代码编写日期: 10/17/2005
********************************************************************************/
void MMIMMS_SaveManagerDraftboxFile(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetManagerDocument
* Purpose:获得当前的彩信管理结构
* Input: void
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_GetManagerDocument(MMIMMS_OPTION_BOX option_box);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_StoreMangerDocument
* Purpose:存储当前的管理结构到虚拟文件中
* Input: void
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_StoreMangerDocument(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_FreeManagerDocument
* Purpose:释放当前的管理结构
* Input: void
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_FreeManagerDocument(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_ReadFolder
* Purpose:读取相应文件配置需要操作的文件夹
* Input: pMessageFolder:当前需要操作的folder
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_ReadFolder(pMessageFolder folder);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_FreeFolder
* Purpose:释放当前的文件夹的内存空间
* Input: pMessageFolder:当前需要操作的folder
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_FreeFolder(pMessageFolder folder);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_FreeFolderForInit
* Purpose:初始化释放管理目录
* Input: pMessageFolder:当前需要操作的folder
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_FreeFolderForInit(pMessageFolder folder);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_ReadMessageHeads
* Purpose:从fp中读取彩信列表的头数据,主要是指列表中指针所指向的域
* Input: pMessageList:需要操作的msg指针
fp:文件句柄
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_ReadMessageHeads(pMessageList mlist,FILE_HANDLE fp);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_ReadTextField
* Purpose:从fp中读取数据并使field指向该数据.
* Input: char **需要操作的指针的地址指针所指向的内容(空间)
fp:文件句柄
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_ReadTextField(CMS_MMS_S8 **field,FILE_HANDLE fp);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_ReadTextField
* Purpose:存储相应文件配置需要操作的文件夹存储方案为原来MANAGER中
* Input: pMessageFolder:当前需要操作的folder
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_StoreFolder(pMessageFolder folder);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_StoreMessageHeads
* Purpose:存储其中的指针所指向的数据
* Input: pMessageList: 需要操作的msg指针
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_StoreMessageHeads(pMessageList mlist, FILE_HANDLE fp);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetListState
* Purpose:得到传入list的状态
* Input: 当前list
* Returns: list所处状态
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint32 MMIMMS_GetListState(pMessageList mlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetManagerTotalNum
* Purpose:得到总共现在所有彩信数目
* Input: void
* Returns: 所有彩信数目
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint32 MMIMMS_GetManagerTotalNum(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_FreeMessage
* Purpose:释放当前的LIST
* Input: pMessageList:需要释放空间的消息list指针
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_FreeMessage(pMessageList mlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DeleteMMS
* Purpose:删除当前floder的当前管理条目以及对应的彩信
* Input: 当前操作的文件夹,currentFloder
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_DeleteMMS(pMessageFolder folder);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DeleteManagerList
* Purpose:删除当前floder的所有管理条目但不涉及其对应的虚拟文件和flash
上资源,主要用于发件箱-->已发信箱
* Input: 当前操作的文件夹,currentFloder
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_DeleteManagerList(pMessageFolder folder);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Receive_MMS
* Purpose:接受彩信
* Input: 接受彩信,从list列表中获取filename和url
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_Receive_MMS(pMessageList tlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Receive_MMS
* Purpose:回调函数,主要用于push消息处理
* Input: status:消息状态
prompt:消息值
status_value:状态值
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
int sms_handle_callback(int status,void *prompt,int status_value);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Receive_MMS
* Purpose:彩信网络回调函数
* Input: status: 网络返回状态
prompt: 返回参数
status_value:当前网络状态
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
int mms_lib_callback(int status,void *prompt,int status_value);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_Receive_MMS
* Purpose:保存彩信
* Input: pMessageList: 当前彩信LIST
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_SaveMMS(pMessageList tlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SaveAutoSign
* Purpose:保存自动签名页到文件系统
* Input: filename:自动签名页的文件名
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_SaveAutoSign(uint8 * filename);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SaveAutoSignMessage
* Purpose:将自动签名页的编辑文档保存到文件中
* Input: pMMS_EDocument:自动签名页的编辑文档
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_SaveAutoSignMessage(pMMS_EDocument p_cur_edit);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_ReadMMS
* Purpose:从flash资源中读取彩信
* Input: pMessageList:彩信LIST
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_ReadMMS(pMessageList tlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_ReadAutosign
* Purpose:从flash资源中读取自动签名页
* Input: void
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_ReadAutosign(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetMMSMessage
* Purpose:从对应的 彩信文档中获取对应的管理信息条目
* Input: 彩信文档
* Returns: 对应的列表信息
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
pMessageList MMIMMS_GetMMSMessage(MMSHANDLE mmsdoc,int state);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_UpdateRecvMMSMessage
* Purpose:接受完彩信后更新对应的管理条目
* Input: 一条管理list
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_UpdateRecvMMSMessage(pMessageList tlist);
/* ----------------------------------------------------------------------------
* Function Name: CMS_MMSSecond2Tm
* Purpose:获得当前的时间
* Input: 1970年标准时间
* Returns: 当地时间结构
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
MMI_TM_T CMS_MMSSecond2Tm(uint32 second);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DeleteFLASHMMS
* Purpose:删除对应的falsh上彩信文件
* Input: 当前消息list列表
* Returns: 当地时间结构
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_DeleteFLASHMMS(pMessageList tlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_ManagerListCopy
* Purpose:拷贝生成另外一条彩信信息,另外申请了内存
* Input: 当前消息list列表
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
pMessageList MMIMMS_ManagerListCopy(pMessageList tlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_AddManagerList
* Purpose:在指定的目录上增加list信息
* Input: folder 当前操作的文件夹,mlist 增加的信息
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_AddManagerList(pMessageFolder folder, pMessageList mlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DeleteAllMMS
* Purpose:删除当前floder的所有管理条目以及对应的彩信
* Input: 当前操作的文件夹,currentFloder
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_DeleteAllMMS(pMessageFolder folder);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DeleteMMSOneOfAll
* Purpose:删除当前floder的一条管理条目以及对应的彩信
* Input: 当前操作的文件夹,currentFloder
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_DeleteMMSOneOfAll(pMessageFolder folder);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_GetListSubject
* Purpose:得到实际的标题内容
* Input: pMessageList:彩信LIST
* Returns:
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
uint8* MMIMMS_GetListSubject(pMessageList tlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SaveVideo
* Purpose: 保存视频文件
* Input: videoname:视频文件名
vidoBuf:视频内容指针
videoBufLen:视频内容大小
* Returns: DOWN_ERROR_TYPE
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
DOWN_ERROR_TYPE MMIMMS_SaveVideo(uint8 * videoname, uint8 *vidoBuf, uint32 vidoBufLen);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SaveMp3
* Purpose: 保存MP3文件
* Input: mp3name:MP3文件名
mp3Buf:MP3内容指针
mp3BufLen:MP3内容大小
* Returns: DOWN_ERROR_TYPE
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
DOWN_ERROR_TYPE MMIMMS_SaveMp3(uint8 * mp3name, uint8* mp3Buf, uint32 mp3BufLen);// [4/6/2006 Hongkui.Kang]
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DeleteManagerListOneOfAll
* Purpose: 删除管理目录
* Input: pMessageFolder:当前folder
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_DeleteManagerListOneOfAll(pMessageFolder folder);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SortManagerFolder
* Purpose: 对于传入的文件列表进行排序,为了更好的节省时间,采取对与传入的LIST先
进行删除,,再进行插入排序
* Input: pMessageFolder:当前folder
pMessageList tlist:当前list
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_SortManagerFolder(pMessageFolder folder,pMessageList tlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_AddManagerListBySort
* Purpose: 将list内容插入管理目录中
* Input: pMessageFolder:当前folder
pMessageList tlist:当前list
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_AddManagerListBySort(pMessageFolder folder, pMessageList tlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_IsMoreSpace
* Purpose: 判断是否还有足够空间用以保存彩信
* Input: void
* Returns: BOOLEAN
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
BOOLEAN MMIMMS_IsMoreSpace(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_SendMMSReadRpt
* Purpose: 发送阅读报告
* Input: pMessageList:list
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_SendMMSReadRpt(pMessageList tlist);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DisplaySendRecvProgress
* Purpose: 显示进度条
* Input: uint32 pos:当前进度
uint32 totalsize:总的大小
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_DisplaySendRecvProgress(uint32 pos,uint32 totalsize);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_UdiskFormat
* Purpose: U盘格式化时删除指定信箱里的MMS
* Input: void
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_UdiskFormat(void); //fnh add 0327 for udisk
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_FreeAutodownList
* Purpose: 释放整个自动签名链表
* Input: void
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_FreeAutodownList(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_DeleteAutodownList
* Purpose: 删除自动签名链表的某一接点
* Input: void
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_DeleteAutodownList(void);
/* ----------------------------------------------------------------------------
* Function Name: SaveMmsMessage
* Purpose: 保存彩信到指定的信箱
* Input: folder_id:信箱ID号,从1到5分别为:收件箱、发件箱、已发信箱、草稿箱、
当前信箱(可能不需要,暂时加上)
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void SaveMmsMessage(SAVE_MMS_STATUS folder_id, char *filename);
/* ----------------------------------------------------------------------------
* Function 发送彩信: CmsSendMessage
* Purpose: 发送彩信
* Input: 发送状态
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void CmsSendMessage(MMIMMS_SEND_MMS_STATUS sendstate);
/* ----------------------------------------------------------------------------
* Function Name: CmsIsSupportType
* Purpose:判断是否是支持的数据类型
* Input: uint16 type:图片文档
* Returns:BOOLEAN
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
BOOLEAN CmsIsSupportType(uint16 type);
/*****************************************************************************/
// Description : EditStringToGlobal
// Global resource dependence : none
// Author: Bruce.Chi
// Input: memory pointer.
// Output:
// Note:
/*****************************************************************************/
void EditStringToGlobal(MMI_CTRL_ID_T contrl_id, To_Addr* addr_list);
/*****************************************************************************/
// Description : to parse the multisend dest address for mms
// Global resource dependence :
// Author:yuhua.shi
// Note:
/*****************************************************************************/
void MMIMMS_ParseDestAddr(TEXTEDIT_STRING_INFO_T* text_info, To_Addr* addr_list);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_ResetConfig
* Purpose: 重新设置成初始值
* Input: void
* Returns: void
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
void MMIMMS_ResetConfig(void);
/* ----------------------------------------------------------------------------
* Function Name: MMIMMS_IsInit
* Purpose: MMS是否初始化完毕
* Input: void
* Returns: BOOLEAN
* Author:nihongf@mobilesoft.com.cn
* ----------------------------------------------------------------------------*/
BOOLEAN MMIMMS_IsInit(void);
/**--------------------------------------------------------------------------*
** Compiler Flag *
**--------------------------------------------------------------------------*/
#ifdef __cplusplus
}
#endif
#endif