aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llcrashlogger/llcrashlogger.h
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/llcrashlogger/llcrashlogger.h')
-rwxr-xr-xlinden/indra/llcrashlogger/llcrashlogger.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/linden/indra/llcrashlogger/llcrashlogger.h b/linden/indra/llcrashlogger/llcrashlogger.h
new file mode 100755
index 0000000..f797a2f
--- /dev/null
+++ b/linden/indra/llcrashlogger/llcrashlogger.h
@@ -0,0 +1,85 @@
1/**
2* @file llcrashlogger.h
3* @brief Crash Logger Definition
4*
5* $LicenseInfo:firstyear=2003&license=viewergpl$
6*
7* Copyright (c) 2003-2007, Linden Research, Inc.
8*
9* Second Life Viewer Source Code
10* The source code in this file ("Source Code") is provided by Linden Lab
11* to you under the terms of the GNU General Public License, version 2.0
12* ("GPL"), unless you have obtained a separate licensing agreement
13* ("Other License"), formally executed by you and Linden Lab. Terms of
14* the GPL can be found in doc/GPL-license.txt in this distribution, or
15* online at http://secondlife.com/developers/opensource/gplv2
16*
17* There are special exceptions to the terms and conditions of the GPL as
18* it is applied to this Source Code. View the full text of the exception
19* in the file doc/FLOSS-exception.txt in this software distribution, or
20* online at http://secondlife.com/developers/opensource/flossexception
21*
22* By copying, modifying or distributing this software, you acknowledge
23* that you have read and understood your obligations described above,
24* and agree to abide by those obligations.
25*
26* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28* COMPLETENESS OR PERFORMANCE.
29* $/LicenseInfo$
30*/
31#ifndef LLCRASHLOGGER_H
32#define LLCRASHLOGGER_H
33
34#include <vector>
35
36#include "linden_common.h"
37
38#include "llapp.h"
39#include "llsd.h"
40#include "llcontrol.h"
41
42class LLCrashLogger : public LLApp
43{
44public:
45 LLCrashLogger();
46 virtual ~LLCrashLogger();
47 S32 loadCrashBehaviorSetting();
48 void gatherFiles();
49 virtual void gatherPlatformSpecificFiles() {}
50 bool saveCrashBehaviorSetting(S32 crash_behavior);
51 bool sendCrashLogs();
52 LLSD constructPostData();
53 virtual void updateApplication(LLString message = "");
54 virtual bool init();
55 virtual bool mainLoop() = 0;
56 virtual bool cleanup() { return true; }
57 void setUserText(LLString& text) { mCrashInfo["UserNotes"] = text; }
58 S32 getCrashBehavior() { return mCrashBehavior; }
59protected:
60 S32 mCrashBehavior;
61 BOOL mCrashInPreviousExec;
62 std::map<LLString, LLString> mFileMap;
63 static const int mMaxSendSize = 200000;
64 LLString mGridName;
65 LLControlGroup mCrashSettings;
66 LLString mProductName;
67 LLSD mCrashInfo;
68 LLString mCrashHost;
69 LLString mAltCrashHost;
70 LLSD mDebugLog;
71 bool mSentCrashLogs;
72};
73
74class LLCrashLoggerText : public LLCrashLogger
75{
76public:
77 LLCrashLoggerText(void) {}
78 ~LLCrashLoggerText(void) {}
79
80 virtual bool mainLoop();
81 virtual void updateApplication(LLString message = "");
82};
83
84
85#endif //LLCRASHLOGGER_H