aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/chillout/chillout.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:30:36 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:30:36 -0400
commit3565aad630864ecdbe53fdaa501ea708555b3c7c (patch)
treec743e4ad0bad39ebdb2f514c7cc52d34a257ebbe /SQLiteStudio3/coreSQLiteStudio/chillout/chillout.cpp
parent1fdc150116cad39aae5c5da407c3312b47a59e3a (diff)
New upstream version 3.4.4+dfsg.upstream/3.4.4+dfsg
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/chillout/chillout.cpp')
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/chillout/chillout.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/chillout/chillout.cpp b/SQLiteStudio3/coreSQLiteStudio/chillout/chillout.cpp
new file mode 100644
index 0000000..87f8c79
--- /dev/null
+++ b/SQLiteStudio3/coreSQLiteStudio/chillout/chillout.cpp
@@ -0,0 +1,47 @@
+#include "chillout.h"
+
+#ifdef _WIN32
+#include "windows/windowscrashhandler.h"
+#else
+#include "posix/posixcrashhandler.h"
+#endif
+
+namespace Debug {
+ void Chillout::init(const string_t &appName, const string_t &pathToDumpsDir) {
+ if (0 == m_InitCounter.fetch_add(1)) {
+#ifdef _WIN32
+ WindowsCrashHandler &handler = WindowsCrashHandler::getInstance();
+#else
+ PosixCrashHandler &handler = PosixCrashHandler::getInstance();
+#endif
+ handler.setup(appName, pathToDumpsDir);
+ }
+ }
+
+ void Chillout::deinit() {
+#ifdef _WIN32
+ WindowsCrashHandler &handler = WindowsCrashHandler::getInstance();
+#else
+ PosixCrashHandler &handler = PosixCrashHandler::getInstance();
+#endif
+ handler.teardown();
+ }
+
+ void Chillout::setBacktraceCallback(const std::function<void(const char * const)> &callback) {
+#ifdef _WIN32
+ WindowsCrashHandler &handler = WindowsCrashHandler::getInstance();
+#else
+ PosixCrashHandler &handler = PosixCrashHandler::getInstance();
+#endif
+ handler.setBacktraceCallback(callback);
+ }
+
+ void Chillout::setCrashCallback(const std::function<void()> &callback) {
+#ifdef _WIN32
+ WindowsCrashHandler &handler = WindowsCrashHandler::getInstance();
+#else
+ PosixCrashHandler &handler = PosixCrashHandler::getInstance();
+#endif
+ handler.setCrashCallback(callback);
+ }
+}