lllogtextmessage.h

Go to the documentation of this file.
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         // The destination of the messages
00089         LLHost mDataserver;
00090 
00091         // Keep the messages queued in order of arrival.
00092         std::deque<LLLogTextMessageData> mQueue;
00093 
00094         // Tracks the outgoing message size in bytes of the pending queued
00095         // text logs.
00096         S32 mPendingSize;
00097 };
00098 
00099 #endif // LL_LLLOGTEXTMESSAGE_H

Generated on Thu Jul 1 06:08:49 2010 for Second Life Viewer by  doxygen 1.4.7