62 lines
1.6 KiB
C++
62 lines
1.6 KiB
C++
|
|
|
|
#pragma once
|
|
|
|
#include "ltscommandlineparser_export.h"
|
|
|
|
#include <QCommandLineParser>
|
|
|
|
class QUrl;
|
|
|
|
namespace LtsCommandLineParser
|
|
{
|
|
class LTSCOMMANDLINEPARSER_EXPORT LtsCommandLineParser : public QCommandLineParser
|
|
{
|
|
public:
|
|
enum ProvideCommandLineParameterOptions
|
|
{
|
|
None = 0x0000,
|
|
CreateDomainIdFromIp = 0x0001,
|
|
DomainId = 0x0002,
|
|
ExerciseId = 0x0004,
|
|
CustomConfigFile = 0x0008,
|
|
TcpConnectionUrl = 0x0010,
|
|
NoVersion = 0x0020
|
|
};
|
|
|
|
explicit LtsCommandLineParser(ProvideCommandLineParameterOptions opts = ProvideCommandLineParameterOptions(CreateDomainIdFromIp | DomainId | ExerciseId |
|
|
CustomConfigFile));
|
|
virtual ~LtsCommandLineParser() = default;
|
|
int domainId() const;
|
|
void setDomainId(int id);
|
|
|
|
int exerciseId() const { return m_exerciseId; }
|
|
|
|
QString iniFile() const { return m_iniFile; }
|
|
|
|
bool iniFileSet() const;
|
|
bool useTcpConnection() const;
|
|
QUrl tcpConnectionUrl() const;
|
|
virtual bool init(bool bParseHelp = true);
|
|
|
|
void showHelp(int exitCode = 0);
|
|
bool domainIdProvided() const;
|
|
bool exerciseIdProvided() const;
|
|
|
|
void setUnitModuleTestMode(bool onOff) { m_unitModuleTestMode = onOff; }
|
|
|
|
protected:
|
|
QString m_additionalHelpStr;
|
|
|
|
private:
|
|
QFlags<ProvideCommandLineParameterOptions> m_enabledOptions;
|
|
int m_exerciseId{0};
|
|
int m_domainId{0};
|
|
int m_generatedDomainId{0};
|
|
bool m_domainIdSetByFunction{false};
|
|
bool m_unitModuleTestMode{false};
|
|
QString m_iniFile;
|
|
};
|
|
|
|
} // namespace LtsCommandLineParser
|