00001
00035 #ifndef LL_LLLOGTEXTMESSAGE_H
00036 #define LL_LLLOGTEXTMESSAGE_H
00037
00038 #include <deque>
00039 #include <string>
00040
00041 #include "lluuid.h"
00042 #include "llhost.h"
00043
00053 class LLLogTextMessage
00054 {
00055 public:
00056 LLLogTextMessage(const LLHost& dataserver) :
00057 mDataserver(dataserver),
00058 mPendingSize(0) {}
00059 ~LLLogTextMessage();
00060
00061 void log(const LLUUID& from, const LLUUID& to, const char* mesg);
00062 void log(const LLUUID& from, F64 global_x, F64 global_y, const char* mesg);
00063 void log(
00064 const LLUUID& from,
00065 const LLUUID& to,
00066 F64 global_x,
00067 F64 global_y,
00068 const char* mesg);
00069 void flush();
00070
00071 protected:
00072 struct LLLogTextMessageData
00073 {
00074 LLLogTextMessageData(
00075 const LLUUID& from,
00076 const LLUUID& to,
00077 const F64& global_x,
00078 const F64& gloabl_y,
00079 const char* message);
00080 LLUUID mFromID;
00081 LLUUID mToID;
00082 F64 mGlobalX;
00083 F64 mGlobalY;
00084 std::string mMessage;
00085 S32 mTime;
00086 };
00087
00088
00089 LLHost mDataserver;
00090
00091
00092 std::deque<LLLogTextMessageData> mQueue;
00093
00094
00095
00096 S32 mPendingSize;
00097 };
00098
00099 #endif // LL_LLLOGTEXTMESSAGE_H