89 lines
1.9 KiB
C
89 lines
1.9 KiB
C
|
|
#ifndef _MAIL_DATA_H_
|
|||
|
|
#define _MAIL_DATA_H_
|
|||
|
|
|
|||
|
|
#include "common.h"
|
|||
|
|
|
|||
|
|
enum MailAwardType
|
|||
|
|
{
|
|||
|
|
MailAwardType_Currency,
|
|||
|
|
MailAwardType_Item,
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
enum MailReadStatusType
|
|||
|
|
{
|
|||
|
|
MailReadStatusType_NotRead,
|
|||
|
|
MailReadStatusType_HaveRead,
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
enum MailAwardStatusType
|
|||
|
|
{
|
|||
|
|
MailAwardStatusType_NoAward = -1, //<2F><EFBFBD><DEB8><EFBFBD>
|
|||
|
|
MailAwardStatusType_CanAward = 0, //<2F><><EFBFBD><EFBFBD>ȡ
|
|||
|
|
MailAwardStatusType_HaveAward = 1, //<2F><><EFBFBD><EFBFBD>ȡ
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#pragma pack (push, 4)
|
|||
|
|
union MailSeries
|
|||
|
|
{
|
|||
|
|
int64_t llId;
|
|||
|
|
|
|||
|
|
struct
|
|||
|
|
{
|
|||
|
|
unsigned int time_; //31-0λ<30><CEBB>ʾ<EFBFBD><CABE>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>ʱ<EFBFBD>䣬ֵΪ<D6B5><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
|
uint16_t series_; //47-32λ<32><CEBB>ʾ<EFBFBD><CABE>һ<EFBFBD><D2BB><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>У<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ+1<><31>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|||
|
|
uint16_t sid_; //55-48λ<38><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
|||
|
|
} t;
|
|||
|
|
public:
|
|||
|
|
//inline operator int64_t () const { return llId; }
|
|||
|
|
//inline bool operator == (const ItemSeries& series) const { return llId == series.llId; }
|
|||
|
|
//inline bool operator != (const ItemSeries& series) const { return llId != series.llId; }
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct MailAwardData
|
|||
|
|
{
|
|||
|
|
int type; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int id; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒid<69><64><EFBFBD>ǻ<EFBFBD><C7BB>ҵĻ<D2B5><C4BB><EFBFBD>û<EFBFBD><C3BB>
|
|||
|
|
int count; //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
MailAwardData() :type(0), id(0), count(0) {}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct MailAwardList
|
|||
|
|
{
|
|||
|
|
int awardCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
MailAwardData awardList[10]; //<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct MailData
|
|||
|
|
{
|
|||
|
|
static const int HEAD_SIZE = 128;
|
|||
|
|
static const int CONTEXT_SIZE = 1024;
|
|||
|
|
|
|||
|
|
int uid; //<2F>ʼ<EFBFBD>Ψһϵ<D2BB>к<EFBFBD> MailSeries
|
|||
|
|
int readStatus; //<2F><>ȡ״̬
|
|||
|
|
int awardStatus; //<2F>콱״̬
|
|||
|
|
int sendtime; //<2F><><EFBFBD>͵<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
char head[128]; //<2F>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
char context[1024]; //<2F>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
MailAwardList award_data; // <20><EFBFBD><F3B2BFB7><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><D4BA>٣<EFBFBD><D9A3><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>Ż<EFBFBD>
|
|||
|
|
|
|||
|
|
MailData()
|
|||
|
|
{
|
|||
|
|
memset(this, 0, sizeof(MailData));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
//<2F><EFBFBD>useritem ע<><D7A2><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD> writeToPack, writeDbPack, writeCrcPack
|
|||
|
|
//<2F><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><CDB8>ͻ<EFBFBD><CDBB>˵İ<CBB5>
|
|||
|
|
void writeData(DataPacket& pack) {
|
|||
|
|
pack.writeBuf(this, sizeof(MailData));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void readData(DataPacketReader& pack) {
|
|||
|
|
pack.readBuf(this, sizeof(MailData));
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#pragma pack(pop)
|
|||
|
|
|
|||
|
|
#endif
|