summaryrefslogtreecommitdiff
path: root/indra/newview/lllogchat.h
diff options
context:
space:
mode:
authorAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
committerAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
commit1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch)
treeab243607f74f78200787bba5b9b88f07ef1b966f /indra/newview/lllogchat.h
parent6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff)
parente1623bb276f83a43ce7a197e388720c05bdefe61 (diff)
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts: # autobuild.xml # indra/cmake/CMakeLists.txt # indra/cmake/GoogleMock.cmake # indra/llaudio/llaudioengine_fmodstudio.cpp # indra/llaudio/llaudioengine_fmodstudio.h # indra/llaudio/lllistener_fmodstudio.cpp # indra/llaudio/lllistener_fmodstudio.h # indra/llaudio/llstreamingaudio_fmodstudio.cpp # indra/llaudio/llstreamingaudio_fmodstudio.h # indra/llcharacter/llmultigesture.cpp # indra/llcharacter/llmultigesture.h # indra/llimage/llimage.cpp # indra/llimage/llimagepng.cpp # indra/llimage/llimageworker.cpp # indra/llimage/tests/llimageworker_test.cpp # indra/llmessage/tests/llmockhttpclient.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llfontfreetype.cpp # indra/llui/llcombobox.cpp # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.h # indra/llui/lllineeditor.cpp # indra/llui/lllineeditor.h # indra/llui/lltextbase.cpp # indra/llui/lltextbase.h # indra/llui/lltexteditor.cpp # indra/llui/lltextvalidate.cpp # indra/llui/lltextvalidate.h # indra/llui/lluictrl.h # indra/llui/llview.cpp # indra/llwindow/llwindowmacosx.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappearancemgr.cpp # indra/newview/llappearancemgr.h # indra/newview/llavatarpropertiesprocessor.cpp # indra/newview/llavatarpropertiesprocessor.h # indra/newview/llbreadcrumbview.cpp # indra/newview/llbreadcrumbview.h # indra/newview/llbreastmotion.cpp # indra/newview/llbreastmotion.h # indra/newview/llconversationmodel.h # indra/newview/lldensityctrl.cpp # indra/newview/lldensityctrl.h # indra/newview/llface.inl # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llfloateremojipicker.h # indra/newview/llfloaterimsessiontab.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/llfloaterprofiletexture.h # indra/newview/llgesturemgr.cpp # indra/newview/llgesturemgr.h # indra/newview/llimpanel.cpp # indra/newview/llimpanel.h # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryclipboard.cpp # indra/newview/llinventoryclipboard.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorygallery.cpp # indra/newview/lllistbrowser.cpp # indra/newview/lllistbrowser.h # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llpanelprofile.h # indra/newview/llpreviewgesture.cpp # indra/newview/llsavedsettingsglue.cpp # indra/newview/llsavedsettingsglue.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llurllineeditorctrl.cpp # indra/newview/llvectorperfoptions.cpp # indra/newview/llvectorperfoptions.h # indra/newview/llviewerparceloverlay.cpp # indra/newview/llviewertexlayer.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/macmain.h # indra/test/test.cpp
Diffstat (limited to 'indra/newview/lllogchat.h')
-rw-r--r--indra/newview/lllogchat.h229
1 files changed, 115 insertions, 114 deletions
diff --git a/indra/newview/lllogchat.h b/indra/newview/lllogchat.h
index 5dce8ab1d2..dbbd8ae1ba 100644
--- a/indra/newview/lllogchat.h
+++ b/indra/newview/lllogchat.h
@@ -1,25 +1,25 @@
-/**
+/**
* @file lllogchat.h
* @brief LLFloaterChat class definition
*
* $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -33,50 +33,50 @@ class LLChat;
class LLActionThread : public LLThread
{
public:
- LLActionThread(const std::string& name);
- ~LLActionThread();
+ LLActionThread(const std::string& name);
+ ~LLActionThread();
- void waitFinished();
- bool isFinished() { return mFinished; }
+ void waitFinished();
+ bool isFinished() { return mFinished; }
protected:
- void setFinished();
+ void setFinished();
private:
- bool mFinished;
- LLMutex mMutex;
- LLCondition mRunCondition;
+ bool mFinished;
+ LLMutex mMutex;
+ LLCondition mRunCondition;
};
class LLLoadHistoryThread : public LLActionThread
{
private:
- const std::string& mFileName;
- std::list<LLSD>* mMessages;
- LLSD mLoadParams;
- bool mNewLoad;
+ const std::string& mFileName;
+ std::list<LLSD>* mMessages;
+ LLSD mLoadParams;
+ bool mNewLoad;
public:
- LLLoadHistoryThread(const std::string& file_name, std::list<LLSD>* messages, const LLSD& load_params);
- ~LLLoadHistoryThread();
- //void setHistoryParams(const std::string& file_name, const LLSD& load_params);
- virtual void loadHistory(const std::string& file_name, std::list<LLSD>* messages, const LLSD& load_params);
+ LLLoadHistoryThread(const std::string& file_name, std::list<LLSD>* messages, const LLSD& load_params);
+ ~LLLoadHistoryThread();
+ //void setHistoryParams(const std::string& file_name, const LLSD& load_params);
+ virtual void loadHistory(const std::string& file_name, std::list<LLSD>* messages, const LLSD& load_params);
virtual void run();
- typedef boost::signals2::signal<void (std::list<LLSD>* messages,const std::string& file_name)> load_end_signal_t;
- load_end_signal_t * mLoadEndSignal;
- boost::signals2::connection setLoadEndSignal(const load_end_signal_t::slot_type& cb);
- void removeLoadEndSignal(const load_end_signal_t::slot_type& cb);
+ typedef boost::signals2::signal<void (std::list<LLSD>* messages,const std::string& file_name)> load_end_signal_t;
+ load_end_signal_t * mLoadEndSignal;
+ boost::signals2::connection setLoadEndSignal(const load_end_signal_t::slot_type& cb);
+ void removeLoadEndSignal(const load_end_signal_t::slot_type& cb);
};
class LLDeleteHistoryThread : public LLActionThread
{
private:
- std::list<LLSD>* mMessages;
- LLLoadHistoryThread* mLoadThread;
+ std::list<LLSD>* mMessages;
+ LLLoadHistoryThread* mLoadThread;
public:
- LLDeleteHistoryThread(std::list<LLSD>* messages, LLLoadHistoryThread* loadThread);
- ~LLDeleteHistoryThread();
+ LLDeleteHistoryThread(std::list<LLSD>* messages, LLLoadHistoryThread* loadThread);
+ ~LLDeleteHistoryThread();
- virtual void run();
- static void deleteHistory();
+ virtual void run();
+ static void deleteHistory();
};
class LLLogChat : public LLSingleton<LLLogChat>
@@ -84,65 +84,66 @@ class LLLogChat : public LLSingleton<LLLogChat>
LLSINGLETON(LLLogChat);
~LLLogChat();
public:
- // status values for callback function
- enum ELogLineType {
- LOG_EMPTY,
- LOG_LINE,
- LOG_LLSD,
- LOG_END
- };
-
- static std::string timestamp2LogString(U32 timestamp, bool withdate);
- static std::string makeLogFileName(std::string(filename));
- static void renameLogFile(const std::string& old_filename, const std::string& new_filename);
- /**
- *Add functions to get old and non date stamped file names when needed
- */
- static std::string oldLogFileName(std::string(filename));
- static void saveHistory(const std::string& filename,
- const std::string& from,
- const LLUUID& from_id,
- const std::string& line);
- static void findTranscriptFiles(std::string pattern, std::vector<std::string>& list_of_transcriptions);
- static void getListOfTranscriptFiles(std::vector<std::string>& list);
- static void getListOfTranscriptBackupFiles(std::vector<std::string>& list_of_transcriptions);
-
- static void loadChatHistory(const std::string& file_name, std::list<LLSD>& messages, const LLSD& load_params = LLSD(), bool is_group = false);
-
- typedef boost::signals2::signal<void ()> save_history_signal_t;
- boost::signals2::connection setSaveHistorySignal(const save_history_signal_t::slot_type& cb);
-
- static bool moveTranscripts(const std::string currentDirectory,
- const std::string newDirectory,
- std::vector<std::string>& listOfFilesToMove,
- std::vector<std::string>& listOfFilesMoved);
- static bool moveTranscripts(const std::string currentDirectory,
- const std::string newDirectory,
- std::vector<std::string>& listOfFilesToMove);
-
- static void deleteTranscripts();
- static bool isTranscriptExist(const LLUUID& avatar_id, bool is_group=false);
- static bool isNearbyTranscriptExist();
- static bool isAdHocTranscriptExist(std::string file_name);
- static bool isTranscriptFileFound(std::string fullname);
-
- bool historyThreadsFinished(LLUUID session_id);
- LLLoadHistoryThread* getLoadHistoryThread(LLUUID session_id);
- LLDeleteHistoryThread* getDeleteHistoryThread(LLUUID session_id);
- bool addLoadHistoryThread(LLUUID& session_id, LLLoadHistoryThread* lthread);
- bool addDeleteHistoryThread(LLUUID& session_id, LLDeleteHistoryThread* dthread);
- void cleanupHistoryThreads();
+ // status values for callback function
+ enum ELogLineType {
+ LOG_EMPTY,
+ LOG_LINE,
+ LOG_LLSD,
+ LOG_END
+ };
+
+ static std::string timestamp2LogString(U32 timestamp, bool withdate);
+ static std::string makeLogFileName(std::string(filename));
+ static void renameLogFile(const std::string& old_filename, const std::string& new_filename);
+ /**
+ *Add functions to get old and non date stamped file names when needed
+ */
+ static std::string oldLogFileName(std::string(filename));
+ static void saveHistory(const std::string& filename,
+ const std::string& from,
+ const LLUUID& from_id,
+ const std::string& line);
+ static bool transcriptFilesExist();
+ static void findTranscriptFiles(std::string pattern, std::vector<std::string>& list_of_transcriptions);
+ static void getListOfTranscriptFiles(std::vector<std::string>& list);
+ static void getListOfTranscriptBackupFiles(std::vector<std::string>& list_of_transcriptions);
+
+ static void loadChatHistory(const std::string& file_name, std::list<LLSD>& messages, const LLSD& load_params = LLSD(), bool is_group = false);
+
+ typedef boost::signals2::signal<void ()> save_history_signal_t;
+ boost::signals2::connection setSaveHistorySignal(const save_history_signal_t::slot_type& cb);
+
+ static bool moveTranscripts(const std::string currentDirectory,
+ const std::string newDirectory,
+ std::vector<std::string>& listOfFilesToMove,
+ std::vector<std::string>& listOfFilesMoved);
+ static bool moveTranscripts(const std::string currentDirectory,
+ const std::string newDirectory,
+ std::vector<std::string>& listOfFilesToMove);
+
+ static void deleteTranscripts();
+ static bool isTranscriptExist(const LLUUID& avatar_id, bool is_group=false);
+ static bool isNearbyTranscriptExist();
+ static bool isAdHocTranscriptExist(std::string file_name);
+ static bool isTranscriptFileFound(std::string fullname);
+
+ bool historyThreadsFinished(LLUUID session_id);
+ LLLoadHistoryThread* getLoadHistoryThread(LLUUID session_id);
+ LLDeleteHistoryThread* getDeleteHistoryThread(LLUUID session_id);
+ bool addLoadHistoryThread(LLUUID& session_id, LLLoadHistoryThread* lthread);
+ bool addDeleteHistoryThread(LLUUID& session_id, LLDeleteHistoryThread* dthread);
+ void cleanupHistoryThreads();
private:
- static std::string cleanFileName(std::string filename);
+ static std::string cleanFileName(std::string filename);
- LLMutex* historyThreadsMutex();
- void triggerHistorySignal();
+ LLMutex* historyThreadsMutex();
+ void triggerHistorySignal();
- save_history_signal_t * mSaveHistorySignal;
- std::map<LLUUID,LLLoadHistoryThread *> mLoadHistoryThreads;
- std::map<LLUUID,LLDeleteHistoryThread *> mDeleteHistoryThreads;
- LLMutex* mHistoryThreadsMutex;
+ save_history_signal_t * mSaveHistorySignal;
+ std::map<LLUUID,LLLoadHistoryThread *> mLoadHistoryThreads;
+ std::map<LLUUID,LLDeleteHistoryThread *> mDeleteHistoryThreads;
+ LLMutex* mHistoryThreadsMutex;
};
/**
@@ -151,25 +152,25 @@ private:
class LLChatLogFormatter
{
public:
- LLChatLogFormatter(const LLSD& im) : mIM(im) {}
- virtual ~LLChatLogFormatter() {};
+ 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;
- }
+ 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;
+ /**
+ * 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;
+ LLSD mIM;
};
/**
@@ -179,22 +180,22 @@ class LLChatLogParser
{
public:
- /**
- * Parse a line from the plain text chat log file
- * General plain text log format is like: "[timestamp] [name]: [message]"
- * [timestamp] and [name] are optional
- * Examples of plain text chat log lines:
- * "[2009/11/20 2:53] Igor ProductEngine: howdy"
- * "Igor ProductEngine: howdy"
- * "Dserduk ProductEngine is Online"
- *
- * @return false if failed to parse mandatory data - message text
- */
- static bool parse(std::string& raw, LLSD& im, const LLSD& parse_params = LLSD());
+ /**
+ * Parse a line from the plain text chat log file
+ * General plain text log format is like: "[timestamp] [name]: [message]"
+ * [timestamp] and [name] are optional
+ * Examples of plain text chat log lines:
+ * "[2009/11/20 2:53] Igor ProductEngine: howdy"
+ * "Igor ProductEngine: howdy"
+ * "Dserduk ProductEngine is Online"
+ *
+ * @return false if failed to parse mandatory data - message text
+ */
+ static bool parse(std::string& raw, LLSD& im, const LLSD& parse_params = LLSD());
protected:
- LLChatLogParser();
- virtual ~LLChatLogParser() {};
+ LLChatLogParser();
+ virtual ~LLChatLogParser() {};
};
extern const std::string GROUP_CHAT_SUFFIX;