00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef MESSAGEOUT_H
00023 #define MESSAGEOUT_H
00024
00025 #include <iosfwd>
00026 #include <SDL_types.h>
00027
00028 #ifdef EATHENA_SUPPORT
00029 class Network;
00030 #endif
00031
00040 class MessageOut
00041 {
00042 public:
00046 MessageOut(short id);
00047
00048 #ifdef TMWSERV_SUPPORT
00049
00052 ~MessageOut();
00053 #endif
00054
00055 void writeInt8(Sint8 value);
00056 void writeInt16(Sint16 value);
00057 void writeInt32(Sint32 value);
00063 void writeString(const std::string &string, int length = -1);
00064
00068 char *getData() const;
00069
00073 unsigned int getDataSize() const;
00074
00075 private:
00076 #ifdef TMWSERV_SUPPORT
00077
00084 void expand(size_t size);
00085 #else
00086 Network *mNetwork;
00087 #endif
00088
00089 char *mData;
00090 unsigned int mDataSize;
00091 unsigned int mPos;
00092 };
00093
00094 #endif