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

📄 plxmmsmessage.h

📁 mtk wap和mms代码。。适应mtk 25。26平台
💻 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 + -