1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
#ifndef _PROTO_DEF
#define _PROTO_DEF
namespace netcode {
class ProtocolDef
{
public:
static ProtocolDef* instance();
void AddType(const unsigned char id, const int MsgLength);
bool HasFixedLength(const unsigned char id) const;
bool IsAllowed(const unsigned char id) const;
int GetLength(unsigned char id) const;
unsigned IsComplete(const unsigned char* const buf, const unsigned bufLength) const;
private:
ProtocolDef();
ProtocolDef( const ProtocolDef& );
struct MsgType
{
int Length;
};
MsgType msg[256];
static ProtocolDef* instance_ptr;
};
}
#endif
|