66 lines
2.3 KiB

#pragma once
#include "storm/settings/modules/ModuleSettings.h"
namespace storm {
namespace settings {
namespace modules {
class ConversionOutputSettings : public ModuleSettings {
public:
ConversionOutputSettings();
/*!
* Retrieves whether the output should be printed to stdout
*/
bool isStdOutOutputEnabled() const;
/*!
* Retrieves whether the output should be in the Jani format
*/
bool isJaniOutputSet() const;
/*!
* Retrieves whether an output filename for the jani file was specified
*/
bool isJaniOutputFilenameSet() const;
/*!
* Retrieves the name of the jani output (if specified)
*/
std::string getJaniOutputFilename() const;
/*!
* Retrieves whether the output should be in the Prism format
*/
bool isPrismOutputSet() const;
/*!
* Retrieves whether an output filename for the prism file was specified
*/
bool isPrismOutputFilenameSet() const;
/*!
* Retrieves the name of the prism output (if specified)
*/
std::string getPrismOutputFilename() const;
bool check() const override;
void finalize() override;
// The name of the module.
static const std::string moduleName;
// name of the option that enables output to stdout. It needs to be public because we have to check this option very early
static const std::string stdoutOptionName;
private:
// Define the string names of the options as constants.
static const std::string janiOutputOptionName;
// Define the string names of the options as constants.
static const std::string prismOutputOptionName;
};
}
}
}