1 #ifndef MYTHCOMMANDLINEPARSER_H
2 #define MYTHCOMMANDLINEPARSER_H
19 class TestCommandLineParser;
25 QString
help, QString longhelp);
32 void AddKeyword(
const QString &keyword) { m_keywords << keyword; }
34 QString
GetName(
void)
const {
return m_name; }
36 int GetKeywordLength(
void)
const;
37 QString GetHelpString(
int off,
const QString& group =
"",
38 bool force =
false)
const;
39 QString GetLongHelpString(QString keyword)
const;
41 bool Set(
const QString& opt);
42 bool Set(
const QString& opt,
const QByteArray& val);
43 void Set(
const QVariant& val) { m_stored = val;
67 CommandLineArg* SetRemoved(QString remstr =
"", QString remver =
"");
69 static void AllowOneOf(
const QList<CommandLineArg*>&
args);
71 void PrintVerbose(
void)
const;
76 QString GetKeywordString(
void)
const;
85 QString GetPreferredKeyword(
void)
const;
86 bool TestLinks(
void)
const;
87 void CleanupLinks(
void);
89 void PrintRemovedWarning(QString &keyword)
const;
90 void PrintDeprecatedWarning(QString &keyword)
const;
93 bool m_converted {
false};
99 QMetaType::Type m_type {QMetaType::UnknownType};
132 static QStringList MythSplitCommandString(
const QString &line);
138 static void PrintVersion(
void) ;
139 void PrintHelp(
void)
const;
140 QString GetHelpString(
void)
const;
143 static const char* NamedOptType(Result
type);
144 virtual bool Parse(
int argc,
const char *
const * argv);
148 CommandLineArg* add(
const QString& arg,
const QString& name,
bool def,
149 QString
help, QString longhelp);
151 CommandLineArg* add(
const QString& arg,
const QString& name,
int def,
152 QString
help, QString longhelp);
155 QString
help, QString longhelp);
157 CommandLineArg* add(
const QString& arg,
const QString& name,
long long def,
158 QString
help, QString longhelp);
160 CommandLineArg* add(
const QString& arg,
const QString& name,
double def,
161 QString
help, QString longhelp);
163 CommandLineArg* add(
const QString& arg,
const QString& name,
const char *def,
164 QString
help, QString longhelp);
166 CommandLineArg* add(
const QString& arg,
const QString& name,
const QString& def,
167 QString
help, QString longhelp);
169 CommandLineArg* add(
const QString& arg,
const QString& name, QSize def,
170 QString
help, QString longhelp);
172 CommandLineArg* add(
const QString& arg,
const QString& name,
const QDateTime& def,
173 QString
help, QString longhelp);
176 QString
help, QString longhelp);
179 QVariant def, QString
help, QString longhelp);
183 CommandLineArg* add(QStringList arglist,
const QString& name,
bool def,
184 QString
help, QString longhelp);
186 CommandLineArg* add(QStringList arglist,
const QString& name,
int def,
187 QString
help, QString longhelp);
190 QString
help, QString longhelp);
192 CommandLineArg* add(QStringList arglist,
const QString& name,
long long def,
193 QString
help, QString longhelp);
195 CommandLineArg* add(QStringList arglist,
const QString& name,
double def,
196 QString
help, QString longhelp);
198 CommandLineArg* add(QStringList arglist,
const QString& name,
const char *def,
199 QString
help, QString longhelp);
201 CommandLineArg* add(QStringList arglist,
const QString& name,
const QString& def,
202 QString
help, QString longhelp);
204 CommandLineArg* add(QStringList arglist,
const QString& name, QSize def,
205 QString
help, QString longhelp);
207 CommandLineArg* add(QStringList arglist,
const QString& name,
const QDateTime& def,
208 QString
help, QString longhelp);
211 QString
help, QString longhelp);
214 QVariant def, QString
help, QString longhelp);
216 QVariant operator[](
const QString &name);
217 QStringList GetArgs(
void)
const;
218 QMap<QString,QString> GetExtra(
void)
const;
219 QString GetPassthrough(
void)
const;
220 QMap<QString,QString> GetSettingsOverride(
void);
221 QString GetLogFilePath(
void);
222 int GetSyslogFacility(
void)
const;
223 LogLevel_t GetLogLevel(
void)
const;
226 bool toBool(
const QString& key)
const;
227 int toInt(
const QString& key)
const;
228 uint toUInt(
const QString& key)
const;
229 long long toLongLong(
const QString& key)
const;
230 double toDouble(
const QString& key)
const;
231 QSize toSize(
const QString& key)
const;
232 QString
toString(
const QString& key)
const;
233 QStringList toStringList(
const QString& key,
const QString& sep =
"")
const;
234 QMap<QString,QString> toMap(
const QString& key)
const;
235 QDateTime toDateTime(
const QString& key)
const;
237 bool SetValue(
const QString &key,
const QVariant& value);
238 int ConfigureLogging(
const QString& mask =
"general",
240 void ApplySettingsOverride(
void);
241 int Daemonize(
void)
const;
244 void allowArgs(
bool allow=
true);
245 void allowExtras(
bool allow=
true);
246 void allowPassthrough(
bool allow=
true);
249 void addVersion(
void);
250 void addWindowed(
void);
252 void addDaemon(
void);
253 void addSettingsOverride(
void);
254 void addRecording(
void);
255 void addGeometry(
void);
256 void addDisplay(
void);
259 void addLogging(
const QString &defaultVerbosity =
"general",
260 LogLevel_t defaultLogLevel = LOG_INFO);
261 void addPIDFile(
void);
263 void addInFile(
bool addOutFile =
false);
264 void addPlatform(
void);
267 Result getOpt(
int argc,
const char *
const * argv,
int &argpos,
268 QString &opt, QByteArray &val);
269 bool ReconcileLinks(
void);
274 bool m_passthroughActive {
false};
275 bool m_overridesImported {
false};
276 bool m_verbose {
false};