diff options
Diffstat (limited to 'indra/llcommon/llchat.h')
-rw-r--r-- | indra/llcommon/llchat.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/indra/llcommon/llchat.h b/indra/llcommon/llchat.h new file mode 100644 index 0000000000..88867b2081 --- /dev/null +++ b/indra/llcommon/llchat.h @@ -0,0 +1,69 @@ +/** + * @file llchat.h + * @author James Cook + * @brief Chat constants and data structures. + * + * Copyright (c) 2006-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#ifndef LL_LLCHAT_H +#define LL_LLCHAT_H + +#include "llstring.h" +#include "lluuid.h" +#include "v3math.h" + +// enumerations used by the chat system +typedef enum e_chat_source_type +{ + CHAT_SOURCE_SYSTEM = 0, + CHAT_SOURCE_AGENT = 1, + CHAT_SOURCE_OBJECT = 2 +} EChatSourceType; + +typedef enum e_chat_type +{ + CHAT_TYPE_WHISPER = 0, + CHAT_TYPE_NORMAL = 1, + CHAT_TYPE_SHOUT = 2, + CHAT_TYPE_START = 4, + CHAT_TYPE_STOP = 5, + CHAT_TYPE_DEBUG_MSG = 6 +} EChatType; + +typedef enum e_chat_audible_level +{ + CHAT_AUDIBLE_NOT = -1, + CHAT_AUDIBLE_BARELY = 0, + CHAT_AUDIBLE_FULLY = 1 +} EChatAudible; + +// A piece of chat +class LLChat +{ +public: + LLChat(const LLString& text = LLString::null) + : mText(text), + mFromName(), + mFromID(), + mSourceType(CHAT_SOURCE_AGENT), + mChatType(CHAT_TYPE_NORMAL), + mAudible(CHAT_AUDIBLE_FULLY), + mMuted(FALSE), + mTime(0.0), + mPosAgent() + { } + + LLString mText; // UTF-8 line of text + LLString mFromName; // agent or object name + LLUUID mFromID; // agent id or object id + EChatSourceType mSourceType; + EChatType mChatType; + EChatAudible mAudible; + BOOL mMuted; // pass muted chat to maintain list of chatters + F64 mTime; // viewer only, seconds from viewer start + LLVector3 mPosAgent; +}; + +#endif |