packet.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __BARRY_PACKET_H__
00025 #define __BARRY_PACKET_H__
00026
00027 #include <stdint.h>
00028
00029 namespace Barry { class Data; }
00030
00031 namespace Barry {
00032
00033
00034 class Parser;
00035 class Builder;
00036 class SocketZero;
00037 class Socket;
00038 class IConverter;
00039 namespace Mode {
00040 class Desktop;
00041 }
00042
00043 class Packet
00044 {
00045 friend class SocketZero;
00046 friend class Socket;
00047
00048 protected:
00049 Data &m_send, &m_receive;
00050
00051 Data& GetSend() { return m_send; }
00052 Data& GetReceive() { return m_receive; }
00053
00054 public:
00055 Packet(Data &send, Data &receive)
00056 : m_send(send), m_receive(receive)
00057 {}
00058 virtual ~Packet() {}
00059
00060
00061
00062
00063 unsigned int Command() const;
00064 };
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076 class ZeroPacket : public Packet
00077 {
00078 friend class Socket;
00079
00080 public:
00081 ZeroPacket(Data &send, Data &receive);
00082 ~ZeroPacket();
00083
00084
00085
00086
00087
00088
00089
00090 void GetAttribute(unsigned int object, unsigned int attribute);
00091
00092
00093
00094
00095
00096 unsigned int ObjectID() const;
00097 unsigned int AttributeID() const;
00098 uint32_t ChallengeSeed() const;
00099 unsigned int RemainingTries() const;
00100 unsigned int SocketResponse() const;
00101 unsigned char SocketSequence() const;
00102 };
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119 class DBPacket : public Packet
00120 {
00121 friend class Socket;
00122
00123 private:
00124 Mode::Desktop &m_con;
00125 unsigned int m_last_dbop;
00126
00127 protected:
00128
00129 public:
00130 DBPacket(Mode::Desktop &con, Data &send, Data &receive);
00131 ~DBPacket();
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141 void ClearDatabase(unsigned int dbId);
00142 void GetDBDB();
00143 void GetRecordStateTable(unsigned int dbId);
00144 void SetRecordFlags(unsigned int dbId, unsigned int stateTableIndex, uint8_t flag1);
00145 void DeleteRecordByIndex(unsigned int dbId, unsigned int stateTableIndex);
00146 void GetRecordByIndex(unsigned int dbId, unsigned int stateTableIndex);
00147 bool SetRecordByIndex(unsigned int dbId, unsigned int stateTableIndex, Builder &build, const IConverter *ic);
00148 void GetRecords(unsigned int dbId);
00149 bool SetRecord(unsigned int dbId, Builder &build, const IConverter *ic);
00150
00151
00152
00153
00154
00155
00156 unsigned int ReturnCode() const;
00157 unsigned int DBOperation() const;
00158
00159 bool Parse(Parser &parser, const IConverter *ic);
00160
00161
00162 };
00163
00164 }
00165
00166 #endif
00167