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

📄 mmimms_internal.h

📁 费了好大劲找着的MMS彩信代码
💻 H
📖 第 1 页 / 共 5 页
字号:
	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 + -