📄 plxmmse.h
字号:
}MMSECONTENTINFO, *PMMSECONTENTINFO;
typedef struct tagMMSEMETA
{
struct tagMMSEMETA * pNext;
char * name;
char * content;
}MMSEMETA, *PMMSEMETA;
typedef struct tagMMSEROOTLAYOUT
{
int width;
int height;
char * bk_color;
}MMSEROOTLAYOUT, *PMMSEROOTLAYOUT;
typedef struct tagMMSEREGION
{
int left;
int top;
int width;
int height;
}MMSEREGION, *PMMSEREGION;
typedef struct tagMMSESLIDEINFO
{
PMMSEREGION pTextRegion;
PMMSEREGION pImageRegion;
PMMSEREGION pVideoRegion;
PMMSECONTENT pTextContent;
PMMSECONTENT pImageContent;
PMMSECONTENT pAudioContent;
PMMSECONTENT pVideoContent;
}MMSESLIDEINFO, *PMMSESLIDEINFO;
// Delivery Report
typedef struct tagMMDELIVERYREPORT
{
char to[MMSE_MAX_TO];
MMSETIME date;
int status;
int bRead;
long ReportID;
} MMDELIVERYREPORT, *PMMDELIVERYREPORT;
// MMSE Init Parameter
typedef struct tagMMSEINITINFO
{
const char* pMmsePath; // the path to save message file
unsigned long SpaceLimit; // low space limit
const char* pUsrAgent; // user agent
const char* pUAProf;
int (* OnFormat)(const char* pMmsePath);
}MMSEINITINFO, *PMMSEINITINFO;
/**************************************************************
* MMSE 提供的公开函数声明
**************************************************************/
int MMSE_Init(PMMSEINITINFO pInitInfo);
void* MMSE_Open(int nMode);
void MMSE_Close(void* pMmse);
void MMSE_SetNotify(void* pMmse, void* hWnd, unsigned int uMsg);
int MMSE_ChangeMode(void* pMmse, int nMode);
int MMSE_GetLastError(void* pMmse);
int MMSE_ListFolder(void* pMmse, int nIndex, PMMFOLDERINFO pBuf, int nCount);
int MMSE_GetFolderInfo(void* pMmse, const char* pName,
PMMFOLDERINFO pFolderInfo);
int MMSE_CreateFolder(void* pMmse, const char* pName, int nType);
int MMSE_RenameFolder(void* pMmse, const char* pOldName, const char* pNewName);
int MMSE_RemoveFolder(void* pMmse, const char* pName, int nForce);
int MMSE_ClearFolder(void* pMmse, const char* pName);
int MMSE_SelectFolder(void* pMmse, const char* pName);
int MMSE_ListMessage(void* pMmse, int nIndex, void* pBuf, int BufLen);
long MMSE_MoveMessage(void* pMmse, long nMsgId, const char* pFolder);
long MMSE_CopyMessage(void* pMmse, long nMsgId, const char* pFolder);
int MMSE_DeleteMessage(void* pMmse, long nMsgId);
int MMSE_GetMessageStatus(void* pMmse, long nMsgId);
int MMSE_GetMessageInfo(void* pMmse, long nMsgId, void* pBuf, int BufLen);
#ifdef _QTOPIA
int MMSE_OnAccept( void* pMmse, const char* pData, long length, int bFlag );
#endif
int MMSE_SendMessage(void* pMmse, long nMsgId, int nMode, int nFlag);
int MMSE_ReceiveMessage(void* pMmse, long nMsgId);
int MMSE_Cancel(void* pMmse);
int MMSE_GetState(void* pMmse);
void* MMSE_CreateMessage(void* pMmse, long nMsgId);
void* MMSE_OpenMessage(void* pMmse, long nMsgId);
int MMSE_GetSlideCount( void* pMmse, void* pMessage );
int MMSE_SetCurSlide( void* pMmse, void* pMessage, int nCurSlide );
int MMSE_GetCurSlide( void* pMmse, void* pMessage );
int MMSE_AddSMILMeta( void* pMmse, void* pMessage, PMMSEMETA pMeta );
PMMSEMETA MMSE_GetSMILMeta( void* pMmse, void* pMessage );
int MMSE_SetSMILRootLayout( void* pMmse, void* pMessage, PMMSEROOTLAYOUT pRootLayout );
const PMMSEROOTLAYOUT MMSE_GetSMILRootLayout( void* pMmse, void* pMessage );
int MMSE_SetSlideDuration(void* pMmse, void* pMessage, long duration);
int MMSE_GetSlideDuration(void* pMmse, void* pMessage);
int MMSE_AddSlide( void* pMmse, void* pMessage );
int MMSE_DeleteSlide( void* pMmse, void* pMessage );
int MMSE_AddSlideContent( void* pMmse, void* pMessage, PMMSECONTENTINFO pContentInfo );
int MMSE_DeleteSlideContent( void* pMmse, void* pMessage, int nContentType );
int MMSE_GetSlideInfo( void* pMmse, void* pMessage, PMMSESLIDEINFO pSlideInfo );
int MMSE_GetInfo( void* pMmse, void* pMessage, PMMSEMSGINFO pInfo );
int MMSE_Flush(void* pMmse, void* pMessage);
long MMSE_Save(void* pMmse, void* pMessage, int bTemplate);
int MMSE_CloseMessage(void* pMmse, void* pMessage);
const PMMSECONTENT MMSE_GetContent(void* pMmse, void* pMessage, int nIndex);
const PMMSECONTENT MMSE_GetContentByID(void* pMmse, void* pMessage, const char* id);
int MMSE_AddContent(void* pMmse, void* pMessage, PMMSECONTENT pMMContent);
int MMSE_DeleteContent(void* pMmse, void* pMessage, int nIndex);
int MMSE_DeleteContentByID(void* pMmse, void* pMessage, const char* id);
const char* MMSE_GetHeaderField(void* pMmse, void* pMessage, const char* pField);
int MMSE_SetHeaderField(void* pMmse, void* pMessage, const char* pField,
const char* value);
// X-Mms-Status value Meaning in delivery report
// The MM in question reached the recipient MMS Proxy-Relay but the
// recipient MMS Client did not retrieve it before expiration.
#define X_MMS_STATUS_EXPIRED 0
// The MM in question was successfully retrieved by the recipient MMS
// Client.
#define X_MMS_STATUS_RETRIEVED 1
// The MM in question reached the recipient MMS Proxy-Relay but the
// recipient MMS Client rejected it.
#define X_MMS_STATUS_REJECTED 2
// The MM in question reached the recipient MMS Proxy-Relay but the
// recipient MMS Client decided to retrieve it at a later time.
#define X_MMS_STATUS_DEFERRED 3
// It is not possible to determine if the MM in question reached its
// destination.
#define X_MMS_STATUS_INDETERMINATE 4
// The MM in question reached the recipient MMS Proxy-Relay but the
// recipient MMS Client forwarded it without retrieving it first.
#define X_MMS_STATUS_FORWARDED 5
// The recipient MMS Client is not reachable due to MMS Proxy-Relay
// interworking, routing failure or some other condition that prevents
// the MM to reach it’s final destination.
#define X_MMS_STATUS_UNREACHABLE 6
int MMSE_ListDeliveryReport(void* pMmse, int nIndex, PMMDELIVERYREPORT pBuf,
int BufLen, int nCount);
int MMSE_ReadDeliveryReport(void* pMmse, long nReportID ,PMMDELIVERYREPORT pBuf);
// id == -1, delete all delivery reports
int MMSE_DeleteDeliveryReport(void* pMmse, long nReportID);
// MMSE option mask
#define MMOM_ALL 0xFFFF
#define MMOM_MMSC 0x0001
#define MMOM_GATEWAY 0x0002
#define MMOM_PORT 0x0004
#define MMOM_EXPIRE 0x0008
#define MMOM_SENDFLAG 0x0010
#define MMOM_RECEIVEFLAG 0x0020
#define MMOM_MAXNUM 0x0040
#define MMOM_MAXSIZE 0x0080
#define MMOM_DIALID 0x0100
#define MMOM_SLIDEDURATION 0x0200
#define MMOM_MAXSENDSIZE 0x0400
// 发送选项
#define MMSF_DELIVERYREPORT 0x0001 // 是否要求发送报告:否
#define MMSF_READREPORT 0x0002 // 是否要求与读报告:否
#define MMSF_NORMALPRIORITY 0x0004 // 普通优先级
#define MMSF_LOWPRIORITY 0x0008 // 低优先级
#define MMSF_HIGHPRIORITY 0x0010 // 高优先级
// 接收选项
#define MMRF_RECEIVE 0x0001 // 允许接收:是
#define MMRF_AUTORETRIEVE 0x0002 // 立即提取:是
#define MMRF_DELIVERYNOTIFICATION 0x0004 // 允许发送报告:否
#define MMRF_READNOTIFICATION 0x0008 // 允许发送阅读发送报告:否
#define MMRF_RECEIVEADVERT 0x0010 // 接收广告
#define MMRF_RECEIVEANONYMOUS 0x0020 // 接收匿名信息
#define MMSE_MAX_MMSC 128
#define MMSE_MAX_IP 16
typedef struct tagMMSEOPTION
{
unsigned short mask;
// 连接设置
char mmsc[MMSE_MAX_MMSC];
char gateway[MMSE_MAX_IP];
unsigned short port;
// 发送参数
unsigned short expire; // 有效期,以小时为单位
unsigned short SendFlag; // 发送选项
// 接收参数
unsigned short ReceiveFlag; // 接收选项
unsigned short MaxSize; // 接收彩信大小,以k为单位
unsigned short MaxSendSize; // 发送彩信大小,以k为单位
// 限制参数,=0表示没有限制
unsigned short MaxNum; // 彩信的最大数目
// slide duration in ms
unsigned long SlideDuration;
// 拨号ID
int DialID;
} MMSEOPTION, *PMMSEOPTION;
int MMSE_GetOption(void* pMmse ,PMMSEOPTION pOption);
int MMSE_SetOption(void* pMmse ,const PMMSEOPTION pOption);
int MMSE_AddFilterAddress(void* pMmse ,const char* pAddr);
//pAddr = NULL ,全部删除.其余,删除匹配地址
int MMSE_DeleteFilterAddress(void* pMmse ,const char* pAddr);
//pBuf = NULL,返回所需缓冲区大小。
//filter address以 ; 分隔 。pBuf结束没有0,函数返回pBuf中有效字节个数
int MMSE_GetFilterAddress(void* pMmse ,char* pBuf ,int nBufLen);
#ifdef __cplusplus
}
#endif
#endif //HMMMSE_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -