?? cmpp_base.h
字號:
// CmppBase.h: interface for the CCmppBase20 class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CMPPBASE20_H__5E9BD189_C9CC_4963_A1B6_B8D60604460D__INCLUDED_)
#define AFX_CMPPBASE20_H__5E9BD189_C9CC_4963_A1B6_B8D60604460D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class cdatabuf;
typedef int (* ISendToUser )(char* data,int size);
/////////////////////CMPP Version 2.0///////////////////////////////
struct __declspec(dllexport) Query_Res //網(wǎng)關查詢
{
unsigned long mt_total_msg; //從ICP接收的信息總數(shù)
//unsigned long mt_total_user; //從ICP接收的用戶總數(shù)
unsigned long mt_succ; //成功轉發(fā)數(shù)量
unsigned long mt_wait; //待轉發(fā)數(shù)量
unsigned long mt_fail; //轉發(fā)失敗數(shù)量
unsigned long mo_succ; //向ICP成功送達數(shù)量
unsigned long mo_wait; //向ICP待送達數(shù)量
unsigned long mo_fail; //向ICP送達失敗數(shù)量
};
class __declspec(dllexport) CMPP_HEAD
{
public:
CMPP_HEAD();
virtual ~CMPP_HEAD();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
int GetCommand();
int GetSize();
int GetSequenceId();
int GetHeaderLen();
public:
int nTotalLength;
int nCommandId;
int nSequenceId;
};
class __declspec(dllexport) CMPP_CONNECT : public CMPP_HEAD
{
public:
CMPP_CONNECT();
virtual ~CMPP_CONNECT();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char sSourceAddr[6];
unsigned char sAuthSource[16];
unsigned char cVersion;
int nTimeStamp;
};
class __declspec(dllexport) CMPP_CONNECT_RESP : public CMPP_HEAD
{
public:
CMPP_CONNECT_RESP();
virtual ~CMPP_CONNECT_RESP();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char cStatus;
unsigned char sAuthIsmg[16];
unsigned char cVersion;
};
class __declspec(dllexport) CMPP_SUBMIT : public CMPP_HEAD
{
public:
CMPP_SUBMIT();
virtual ~CMPP_SUBMIT();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char nMsgId[8];
unsigned char cPkTotal;
unsigned char cPkNumber;
unsigned char cRegisteredDelivery;
unsigned char cMsgLevel;
unsigned char sServiceId[10];
unsigned char cFeeUserType;
unsigned char nFeeTerminaleId[21];
unsigned char cTpPid;
unsigned char cTpUdhi;
unsigned char cMsgFmt;
unsigned char sMsgSrc[6];
unsigned char sFeeType[2];
unsigned char sFeeCode[6];
unsigned char sValidTime[17];
unsigned char sAtTime[17];
unsigned char sSrcId[21];
unsigned char cDestUsrTl;
unsigned char sDestTerminalId[21];
unsigned char cMsgLen;
unsigned char sMsgContent[140];
unsigned char sReserve[8];
};
class __declspec(dllexport) CMPP_SUBMIT_RESP : public CMPP_HEAD
{
public:
CMPP_SUBMIT_RESP();
virtual ~CMPP_SUBMIT_RESP();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char nMsgId[8];
unsigned char cResult;
};
class __declspec(dllexport) CMPP_QUERY : public CMPP_HEAD
{
public:
CMPP_QUERY();
virtual ~CMPP_QUERY();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char sTime[8];
unsigned char cQueryType;
unsigned char sQueryCode[10];
unsigned char sReserve[8];
};
class __declspec(dllexport) CMPP_QUERY_RESP : public CMPP_HEAD
{
public:
CMPP_QUERY_RESP();
virtual ~CMPP_QUERY_RESP();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char sTime[8];
unsigned char cQueryType;
unsigned char sQueryCode[10];
int nMTTLMsg;
int nMTTlusr;
int nMTScs;
int nMTWT;
int nMTFL;
int nMOScs;
int nMOWT;
int nMOFL;
};
class __declspec(dllexport) CMPP_CANCEL : public CMPP_HEAD
{
public:
CMPP_CANCEL();
virtual ~CMPP_CANCEL();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char nMsgId[8];
};
class __declspec(dllexport) CMPP_CANCEL_RESP : public CMPP_HEAD
{
public:
CMPP_CANCEL_RESP();
virtual ~CMPP_CANCEL_RESP();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char cSuccessId;
};
class __declspec(dllexport) CMPP_DELIVER : public CMPP_HEAD
{
public:
CMPP_DELIVER();
virtual ~CMPP_DELIVER();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char nMsgId[8];
unsigned char sDestId[21];
unsigned char sServiceId[10];
unsigned char cTpPid;
unsigned char cTpUdhi;
unsigned char cMsgFmt;
unsigned char sSrcTermId[21];
unsigned char cRegisteredDelivery;
unsigned char cMsgLen;
unsigned char sMsgContent[256];
unsigned char sReserve[8];
};
class __declspec(dllexport) CMPP_DELIVER_RESP : public CMPP_HEAD
{
public:
CMPP_DELIVER_RESP();
virtual ~CMPP_DELIVER_RESP();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char nMsgId[8];
unsigned char cResult;
};
class __declspec(dllexport) CMPP_ACTIVE_RESP : public CMPP_HEAD
{
public:
CMPP_ACTIVE_RESP();
virtual ~CMPP_ACTIVE_RESP();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char cReserved;
};
////////////////////////CMPP Version 3.0//////////////////////////////////////
class __declspec(dllexport) CMPP30_HEAD
{
public:
CMPP30_HEAD();
virtual ~CMPP30_HEAD();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
int GetCommand();
int GetSize();
int GetSequenceId();
int GetHeaderLen();
public:
int nTotalLength;
int nCommandId;
int nSequenceId;
};
class __declspec(dllexport) CMPP30_CONNECT : public CMPP30_HEAD
{
public:
CMPP30_CONNECT();
virtual ~CMPP30_CONNECT();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char sSourceAddr[6];
unsigned char sAuthSource[16];
unsigned char cVersion;
int nTimeStamp;
};
class __declspec(dllexport) CMPP30_CONNECT_RESP : public CMPP30_HEAD
{
public:
CMPP30_CONNECT_RESP();
virtual ~CMPP30_CONNECT_RESP();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
int nStatus;
unsigned char sAuthIsmg[16];
unsigned char cVersion;
};
class __declspec(dllexport) CMPP30_SUBMIT : public CMPP30_HEAD
{
public:
CMPP30_SUBMIT();
virtual ~CMPP30_SUBMIT();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char nMsgId[8];
unsigned char cPkTotal;
unsigned char cPkNumber;
unsigned char cRegisteredDelivery;
unsigned char cMsgLevel;
unsigned char sServiceId[10];
unsigned char cFeeUserType;
unsigned char nFeeTerminaleId[32];
unsigned char cSrcttype;
unsigned char cTpPid;
unsigned char cTpUdhi;
unsigned char cMsgFmt;
unsigned char sMsgSrc[6];
unsigned char sFeeType[2];
unsigned char sFeeCode[6];
unsigned char sValidTime[17];
unsigned char sAtTime[17];
unsigned char sSrcId[21];
unsigned char cDestUsrTl;
unsigned char sDestTerminalId[21];
unsigned char cDesttype;
unsigned char cMsgLen;
unsigned char sMsgContent[160];
unsigned char sReserve[20];
};
class __declspec(dllexport) CMPP30_SUBMIT_RESP : public CMPP30_HEAD
{
public:
CMPP30_SUBMIT_RESP();
virtual ~CMPP30_SUBMIT_RESP();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char nMsgId[8];
int nResult;
};
class __declspec(dllexport) CMPP30_QUERY : public CMPP30_HEAD
{
public:
CMPP30_QUERY();
virtual ~CMPP30_QUERY();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char sTime[8];
unsigned char cQueryType;
unsigned char sQueryCode[10];
unsigned char sReserve[8];
};
class __declspec(dllexport) CMPP30_QUERY_RESP : public CMPP30_HEAD
{
public:
CMPP30_QUERY_RESP();
virtual ~CMPP30_QUERY_RESP();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char sTime[8];
unsigned char cQueryType;
unsigned char sQueryCode[10];
unsigned char nMTTLMsg;
unsigned char nMTTlusr;
unsigned char nMTScs;
unsigned char nMTWT;
unsigned char nMTFL;
unsigned char nMOScs;
unsigned char nMOWT;
unsigned char nMOFL;
};
class __declspec(dllexport) CMPP30_CANCEL : public CMPP30_HEAD
{
public:
CMPP30_CANCEL();
virtual ~CMPP30_CANCEL();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char nMsgId[8];
};
class __declspec(dllexport) CMPP30_CANCEL_RESP : public CMPP30_HEAD
{
public:
CMPP30_CANCEL_RESP();
virtual ~CMPP30_CANCEL_RESP();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char cSuccessId;
};
class __declspec(dllexport) CMPP30_DELIVER : public CMPP30_HEAD
{
public:
CMPP30_DELIVER();
virtual ~CMPP30_DELIVER();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char nMsgId[8];
unsigned char sDestId[21];
unsigned char sServiceId[10];
unsigned char cTpPid;
unsigned char cTpUdhi;
unsigned char cMsgFmt;
unsigned char sSrcTermId[32];
unsigned char cSrctype;
unsigned char cRegisteredDelivery;
unsigned char cMsgLen;
unsigned char sMsgContent[200];
unsigned char sLinkID[20] ;
};
class __declspec(dllexport) CMPP30_ACTIVE_RESP : public CMPP30_HEAD
{
public:
CMPP30_ACTIVE_RESP();
virtual ~CMPP30_ACTIVE_RESP();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char cReserved;
};
class __declspec(dllexport) CMPP_REPORT {
public:
CMPP_REPORT();
virtual ~CMPP_REPORT();
public:
virtual int Encode(cdatabuf **pdata);
virtual void Decode(cdatabuf *pdata);
public:
unsigned char nMsgId[8];
unsigned char sStat[7];
unsigned char sSubmitTime[10];
unsigned char sDoneTime[10];
unsigned char sDestTermId[21];
int nSMSCSeq;
};
//////////////////////////////////////////////////////////////////////////////
class __declspec(dllexport) CMSGResult
{
public:
CMSGResult();
virtual ~CMSGResult();
int getErrFromMsgid(unsigned char* msgid); // 獲得消息ID的狀態(tài)
int getNextErrMsgid(unsigned char* msgid); // 獲得下一個錯誤消息ID,及返回當前編號
// int getSerialArray(int *serial); // 獲得所有錯誤消息ID的編號數(shù)組
int getErrSerialArray(int *serial); // 獲得所有錯誤消息ID的編號數(shù)組
int getMsgidString(char** msgid); // 獲得所有消息ID字符串,并返回個數(shù)。
int getErrMsgidString(char** msgid); // 獲得所有出錯消息ID字符串,并返回個數(shù)。
void moveFirst(); // 移動游標到最前位置
void moveLast(); // 移動游標到最后位置
int getCount(); //
int create(int n);
void release();
void setMsg(int index,CMPP_REPORT* report);
void setMsg(int index,char* msgcon,int len);
void setMsg(int index,unsigned char* msgid,unsigned char ret);
void getMsg(int index,char* stat);
void getMsg(int index,char* msgcon,int* len);
void getMsg(int index,unsigned char* msgid,unsigned char* ret);
public:
void restort_submit();
void restort_deliver();
private:
typedef struct {
int seq;
CMPP_SUBMIT_RESP resp;
CMPP_REPORT report; //
char *msgcon;
int len;
}MSG;
public:
CStringList* getErrSeqidArray();
MSG *msg;
int UNGETRESP; // 沒有得到SUBMIT_RESP
int SENDERR; // 提交錯誤個數(shù)
int UNGETDLV; // 沒有得到狀態(tài)報告 DELIVER
/*Message State Final Message States Description
DELIVERED DELIVRD Message is delivered to destination
EXPIRED EXPIRED Message validity period has
expired
DELETED DELETED Message has been deleted.
UNDELIVERABLE UNDELIV Message is undeliverable
ACCEPTED ACCEPTD Message is in accepted state(i.e. has been manually read on behalf of the subscriber by customer service)
UNKNOWN UNKNOWN Message is in invalid state
REJECTED REJECTD Message is in a rejected state
*/
int DELIVRD; //
int EXPIRED; //
int DELETED;
int ACCEPTD;
int UNKNOWN;
int REJECTD;
int UNDELIV;
// 流水號
private:
int cur_i; // 當前游標位置
int all; // 總個數(shù)
};
class __declspec(dllexport) CHmMap
{
public:
CHmMap();
virtual ~CHmMap();
int create(int n);
int getCount();
void release();
CMSGResult* getItem(int index);
private:
CMSGResult* pRet;
int num;
};
#endif // !defined(AFX_CMPPBASE20_H__5E9BD189_C9CC_4963_A1B6_B8D60604460D__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -