📄 plxmmsmessage.h
字号:
/***************************************************************************
*
* Pollex Mobile Platform
*
* Copyright (c) 2004 by Pollex Mobile Software Co., Ltd.
* All Rights Reserved
*
* Module :
*
* Purpose :
*
\**************************************************************************/
#ifndef _PLXMMSMESSAGE_H
#define _PLXMMSMESSAGE_H
#include "PlxMmsRes.h"
#include "../main/plxDefs.h"
#include "../main/plxPort.h"
#include "PlxMms_Util.h"
#include "PlxMms_Def.h"
#include "plxmmse.h"
//macro
//#define MAX_RECEIVER_LEN 256
//#define MAX_SUB_LEN 40
#define SAVE_ERR_OK 0
#define SAVE_ERR_NONUM -1
#define SAVE_ERR_EMPTY -2
#define SAVE_ERR_FAILED -3
#define SAVE_ERR_NOSPACE -4
#define SAVE_ERR_TOOBIG -5
#define SAVE_ERR_INVALIDSUB -6
#define INIT_ERR_OK 0
#define INIT_ERR_MAXMSGNUM -1
#define INIT_ERR_MSGTOOBIG -2
#define INIT_ERR_FAILED -3
#define MMS_MSG_ERR_SUCCESS 0
#define MMS_MSG_ERR_FAILURE -1
#define MMS_MSG_ERR_INS_OBJTOOBIG -2
enum EditMode{
EditCreateNew = -1,
EditTemp = 0,
EditTrans,
EditReply,
EditReplyAll,
EditNew,
EditOld,
EditTempNew,
EditTempEdit,
EditPubCall
};
enum SaveType{
SendSave = 0,
PreviewSave,
DraftSave,
TempSave
};
//struct
typedef struct tagMmsAddListNode
{
void* content;
struct tagMmsAddListNode* next;
struct tagMmsAddListNode* prev;
}MmsAddListNode;
typedef struct tagMmsAddList
{
MmsAddListNode* head;
int count;
}MmsAddList;
typedef struct tagMmsMessage
{
void* mmse;
void* msg;
long id;
char* folder;
enum EditMode mode;
long size;
MmsAddList add_list;
int nCurSlide;
MMSESLIDEINFO cur_slide_info;
char to[MAX_TO_LEN];
char cc[MAX_TO_LEN];
char bcc[MAX_TO_LEN];
//char sub[MAX_SUB_LEN];
char* sub;
int sub_len;
BOOL text_modified;
BOOL image_modified;
BOOL sound_modified;
BOOL message_modified;
BOOL sub_modified;
int last_err;
}MmsMessage;
//global
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*
* public functions for MmsMessage *
*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
//constructor
MmsMessage* mmsmsg_CreateMmsMessage(void);
//destructor
MmsMessage* mmsmsg_ReleaseMmsMessage(MmsMessage* msg);
//for init
BOOL mmsmsg_Init(MmsMessage* mmsmsg, void* mmse, long id);
int mmsmsg_InitWithMode(MmsMessage* msg,
void* mmse,
long id,
enum EditMode mode,
const char* folder);
//for content process
BOOL mmsmsg_AddContent(MmsMessage* msg, char* name, int nType, const char* type,
long length, void MMS_HUGE* data, void* param,
int left, int top, int width, int height, BOOL bAtt);
PMMSECONTENT mmsmsg_ReleaseContent(MmsMessage* msg, PMMSECONTENT content);
int mmsmsg_GetAttCount(MmsMessage* msg);
//delete object
BOOL mmsmsg_DelText(MmsMessage* msg);
BOOL mmsmsg_DelImage(MmsMessage* msg);
BOOL mmsmsg_DelSound(MmsMessage* msg);
//get object data
unsigned char MMS_HUGE* mmsmsg_GetContentData(MmsMessage* msg, int type, long* data_len);
long mmsmsg_GetContentLength(MmsMessage* msg, int type);
unsigned char MMS_HUGE* mmsmsg_GetGivenContentData(MmsMessage* msg, PMMSECONTENT content, long* data_len);
//has object of specified type?
BOOL mmsmsg_HasText(MmsMessage* msg);
BOOL mmsmsg_HasImage(MmsMessage* msg);
BOOL mmsmsg_HasSound(MmsMessage* msg);
//slide
BOOL mmsmsg_AddSlide(MmsMessage* msg, int type, int dur);
BOOL mmsmsg_DelSlide(MmsMessage* msg);
//MMSESlide* mmsmsg_GetSlide(MmsMessage* msg, int index);
//MMSESlide* mmsmsg_GetCurSlide(MmsMessage* msg);
int mmsmsg_GetSlideCount(MmsMessage* msg);
int mmsmsg_GetCurSlideIndex(MmsMessage* msg);
int mmsmsg_SetCurSlide(MmsMessage* msg, int index);
int mmsmsg_NextSlide(MmsMessage* msg);
int mmsmsg_PrevSlide(MmsMessage* msg);
//arrangement
void mmsmsg_SetImageFirst(MmsMessage* msg);
void mmsmsg_SetTextFirst(MmsMessage* msg);
BOOL mmsmsg_IsImageFirst(MmsMessage* msg);
BOOL mmsmsg_IsTextFirst(MmsMessage* msg);
//for message size
long mmsmsg_GetMessageSize(MmsMessage* msg);
long mmsmsg_GetMaxMessageSize(MmsMessage* msg);
long mmsmsg_GetLeftMessageSize(MmsMessage* msg);
BOOL mmsmsg_IsEmptyMessage(MmsMessage* msg);
BOOL mmsmsg_IsTooBig(MmsMessage* msg, long size);
BOOL mmsmsg_IsContentEmpty(MmsMessage* msg);
//for message modifiaction
BOOL mmsmsg_IsMessageModified(MmsMessage* msg);
BOOL mmsmsg_IsImageModified(MmsMessage* msg);
BOOL mmsmsg_IsSoundModified(MmsMessage* msg);
BOOL mmsmsg_IsTextModified(MmsMessage* msg);
void mmsmsg_SetMessageModified(MmsMessage* msg, BOOL modified);
void mmsmsg_SetImageModified(MmsMessage* msg, BOOL modified);
void mmsmsg_SetSoundModified(MmsMessage* msg, BOOL modified);
void mmsmsg_SetTextModified(MmsMessage* msg, BOOL modified);
//phone number
void mmsmsg_SetPhoneNum(MmsMessage* msg, const char* phonenums,
int len, int type);
char* mmsmsg_GetPhoneNum(MmsMessage* msg, int type);
//for subject
char* mmsmsg_GetSub(MmsMessage* msg);
void mmsmsg_SetSub(MmsMessage* msg, char* sub, int len);
//save
int mmsmsg_SaveMmsMessage(MmsMessage* msg, enum SaveType save_type);
//
void* mmsmsg_GetMmse(MmsMessage* msg);
void* mmsmsg_GetMsg(MmsMessage* msg);
long mmsmsg_GetMsgId(MmsMessage* msg);
enum EditMode mmsmsg_GetMode(MmsMessage* msg);
//for timer
int mmsmsg_GetDuration(MmsMessage* msg);
void mmsmsg_SetDuration(MmsMessage* msg, int dur);
int mmsmsg_GetLastError(MmsMessage* msg);
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*
* public functions for MmsList *
*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*al_ stands for "add list"*/
//constructor
MmsAddList* al_CreateMmsList(void);
//destructor
MmsAddList* al_ReleaseMmsList(MmsAddList* list);
//add node
BOOL al_AddNodeByNode(MmsAddList* list, MmsAddListNode* pNode);
BOOL al_AddNode(MmsAddList* list, void* p);
//delete node
BOOL al_DelNodeByNode(MmsAddList* list, MmsAddListNode* pNode);
BOOL al_DelNode(MmsAddList* list, void* p);
//set node
BOOL al_SetContent(MmsAddList* list, void* p, void* pContent);
//get node
MmsAddListNode* al_GetNode(MmsAddList* list, void* p);
MmsAddListNode* al_GetHeadNode(MmsAddList* list);
//
int al_GetNodeCount(MmsAddList* list);
//clean up list
BOOL al_RemoveAll(MmsAddList* list);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -