From 4adb13c9435baade511d3ac78fb142dc73bd2e1f Mon Sep 17 00:00:00 2001 From: Eran Mizrahi Date: Fri, 8 Dec 2017 18:24:06 +0200 Subject: generate dumps using new diagnostics settings --- src/usvfsconnector.cpp | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) (limited to 'src/usvfsconnector.cpp') diff --git a/src/usvfsconnector.cpp b/src/usvfsconnector.cpp index 0420ddc2..b90784d9 100644 --- a/src/usvfsconnector.cpp +++ b/src/usvfsconnector.cpp @@ -19,6 +19,8 @@ along with Mod Organizer. If not, see . #include "usvfsconnector.h" #include "settings.h" +#include "organizercore.h" +#include "shared/util.h" #include #include #include @@ -27,6 +29,7 @@ along with Mod Organizer. If not, see . #include #include #include +#include static const char SHMID[] = "mod_organizer_instance"; @@ -101,14 +104,33 @@ LogLevel logLevel(int level) } } +CrashDumpsType crashDumpsType(int type) +{ + switch (type) { + case CrashDumpsType::Mini: + return CrashDumpsType::Mini; + case CrashDumpsType::Data: + return CrashDumpsType::Data; + case CrashDumpsType::Full: + return CrashDumpsType::Full; + default: + return CrashDumpsType::None; + } +} + UsvfsConnector::UsvfsConnector() { USVFSParameters params; LogLevel level = logLevel(Settings::instance().logLevel()); - USVFSInitParameters(¶ms, SHMID, false, level); + CrashDumpsType dumpType = crashDumpsType(Settings::instance().crashDumpsType()); + + std::string dumpPath = MOShared::ToString(OrganizerCore::crashDumpsPath(), true); + USVFSInitParameters(¶ms, SHMID, false, level, dumpType, dumpPath.c_str()); InitLogging(false); + + qDebug("Initializing VFS <%s, %d, %d, %s>", params.instanceName, params.logLevel, params.crashDumpsType, params.crashDumpsPath); + CreateVFS(¶ms); - SetLogLevel(level); BlacklistExecutable(L"TSVNCache.exe"); @@ -165,12 +187,6 @@ void UsvfsConnector::updateMapping(const MappingType &mapping) */ } -void UsvfsConnector::setLogLevel(int logLevel) { - switch (logLevel) { - case LogLevel::Debug: SetLogLevel(LogLevel::Debug); break; - case LogLevel::Info: SetLogLevel(LogLevel::Info); break; - case LogLevel::Warning: SetLogLevel(LogLevel::Warning); break; - case LogLevel::Error: SetLogLevel(LogLevel::Error); break; - default: SetLogLevel(LogLevel::Debug); break; - } +void UsvfsConnector::updateParams(int logLevel, int crashDumpsType) { + USVFSUpdateParams(::logLevel(logLevel), ::crashDumpsType(crashDumpsType)); } -- cgit v1.3.1