#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