44 lines
2.2 KiB

#include "src/settings/modules/DebugSettings.h"
#include "src/settings/SettingsManager.h"
#include "src/settings/Option.h"
#include "src/settings/OptionBuilder.h"
#include "src/settings/Argument.h"
#include "src/settings/ArgumentBuilder.h"
namespace storm {
namespace settings {
namespace modules {
const std::string DebugSettings::moduleName = "debug";
const std::string DebugSettings::debugOptionName = "debug";
const std::string DebugSettings::traceOptionName = "trace";
const std::string DebugSettings::logfileOptionName = "logfile";
const std::string DebugSettings::logfileOptionShortName = "l";
DebugSettings::DebugSettings(storm::settings::SettingsManager& settingsManager) : ModuleSettings(settingsManager, moduleName) {
this->addOption(storm::settings::OptionBuilder(moduleName, debugOptionName, false, "Print debug output.").build());
this->addOption(storm::settings::OptionBuilder(moduleName, traceOptionName, false, "Print even more debug output.").build());
this->addOption(storm::settings::OptionBuilder(moduleName, logfileOptionName, false, "If specified, the log output will also be written to this file.").setShortName(logfileOptionShortName)
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename", "The name of the file to write the log.").build()).build());
}
bool DebugSettings::isDebugSet() const {
return this->getOption(debugOptionName).getHasOptionBeenSet();
}
bool DebugSettings::isTraceSet() const {
return this->getOption(traceOptionName).getHasOptionBeenSet();
}
bool DebugSettings::isLogfileSet() const {
return this->getOption(logfileOptionName).getHasOptionBeenSet();
}
std::string DebugSettings::getLogfilename() const {
return this->getOption(traceOptionName).getArgumentByName("filename").getValueAsString();
}
} // namespace modules
} // namespace settings
} // namespace storm