📄 mmimms_internal.h
字号:
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
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -