summaryrefslogtreecommitdiff
path: root/indra/newview/lllogchat.h
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2010-06-02 15:21:46 -0700
committerJames Cook <james@lindenlab.com>2010-06-02 15:21:46 -0700
commitb34eee98d1cd542777a9fc28b1e1d2e3a0de24e5 (patch)
treecdb7fb124ce9867b6cd54a2d57a1380cb45e6841 /indra/newview/lllogchat.h
parenta282ffedf444462b71f5abc7aeac47768e7344e7 (diff)
DEV-50451 Fix names in local chat history loading, again
Switch to new serialization format, change filename so old viewers don't get confused if the user switches back. Reviewed with Richard
Diffstat (limited to 'indra/newview/lllogchat.h')
-rw-r--r--indra/newview/lllogchat.h47
1 files changed, 14 insertions, 33 deletions
diff --git a/indra/newview/lllogchat.h b/indra/newview/lllogchat.h
index a67b58e55b..674f27407e 100644
--- a/indra/newview/lllogchat.h
+++ b/indra/newview/lllogchat.h
@@ -30,10 +30,11 @@
* $/LicenseInfo$
*/
-
#ifndef LL_LLLOGCHAT_H
#define LL_LLLOGCHAT_H
+class LLChat;
+
class LLLogChat
{
public:
@@ -46,49 +47,22 @@ public:
};
static std::string timestamp(bool withdate = false);
static std::string makeLogFileName(std::string(filename));
+
+ // Log a single line item to the appropriate chat file
+ static void saveHistory(const std::string& filename, const LLChat& chat);
+
+ // Prefer the above version - it saves more metadata about the item
static void saveHistory(const std::string& filename,
const std::string& from,
const LLUUID& from_id,
const std::string& line);
- /** @deprecated @see loadAllHistory() */
- static void loadHistory(const std::string& filename,
- void (*callback)(ELogLineType, const LLSD&, void*),
- void* userdata);
-
static void loadAllHistory(const std::string& file_name, std::list<LLSD>& messages);
private:
static std::string cleanFileName(std::string filename);
};
/**
- * Formatter for the plain text chat log files
- */
-class LLChatLogFormatter
-{
-public:
- LLChatLogFormatter(const LLSD& im) : mIM(im) {}
- virtual ~LLChatLogFormatter() {};
-
- friend std::ostream& operator<<(std::ostream& str, const LLChatLogFormatter& formatter)
- {
- formatter.format(formatter.mIM, str);
- return str;
- }
-
-protected:
-
- /**
- * Format an instant message to a stream
- * Timestamps and sender names are required
- * New lines of multilined messages are prepended with a space
- */
- void format(const LLSD& im, std::ostream& ostr) const;
-
- LLSD mIM;
-};
-
-/**
* Parser for the plain text chat log files
*/
class LLChatLogParser
@@ -113,4 +87,11 @@ protected:
virtual ~LLChatLogParser() {};
};
+// LLSD map lookup constants
+extern const std::string IM_TIME; //("time");
+extern const std::string IM_TEXT; //("message");
+extern const std::string IM_FROM; //("from");
+extern const std::string IM_FROM_ID; //("from_id");
+extern const std::string IM_SOURCE_TYPE; //("source_type");
+
#endif