00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _TMWSERV_MESSAGEOUT_H_
00023 #define _TMWSERV_MESSAGEOUT_H_
00024
00025 #include <iosfwd>
00026
00030 class MessageOut
00031 {
00032 public:
00036 MessageOut();
00037
00041 MessageOut(int id);
00042
00046 ~MessageOut();
00047
00051 void clear();
00052
00053 void writeByte(int value);
00055 void writeShort(int value);
00057 void writeLong(int value);
00062 void writeCoordinates(int x, int y);
00063
00068 void
00069 writeString(const std::string &string, int length = -1);
00070
00074 char*
00075 getData() const { return mData; }
00076
00080 unsigned int
00081 getLength() const { return mPos; }
00082
00083 private:
00088 void
00089 expand(size_t size);
00090
00091 char *mData;
00092 unsigned int mPos;
00093 unsigned int mDataSize;
00098 friend std::ostream& operator <<(std::ostream &os,
00099 const MessageOut &msg);
00100 };
00101
00102 #endif //_TMWSERV_MESSAGEOUT_H_