mirror of
https://github.com/Qv2ray/Qv2ray.git
synced 2025-05-20 10:50:23 +08:00
54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
#ifndef QVCOMMANDLINEARGS_HPP
|
|
#define QVCOMMANDLINEARGS_HPP
|
|
|
|
#include "Qv2rayBase.hpp"
|
|
|
|
namespace Qv2ray
|
|
{
|
|
namespace CommandArgOperations
|
|
{
|
|
struct QvStartupOptions {
|
|
/// No API subsystem
|
|
bool noAPI;
|
|
/// Explicitly run as root user.
|
|
bool forceRunAsRootUser;
|
|
/// Enable Debug Log.
|
|
bool debugLog;
|
|
/// Enable Network toolbar plugin.
|
|
bool enableToolbarPlguin;
|
|
};
|
|
enum CommandLineParseResult {
|
|
CommandLineOk,
|
|
CommandLineError,
|
|
CommandLineVersionRequested,
|
|
CommandLineHelpRequested
|
|
};
|
|
//
|
|
extern QvStartupOptions StartupOption;
|
|
|
|
class QvCommandArgParser : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
QvCommandArgParser();
|
|
CommandLineParseResult ParseCommandLine(QString *errorMessage);
|
|
const QCommandLineParser *Parser()
|
|
{
|
|
return &parser;
|
|
}
|
|
|
|
private:
|
|
QCommandLineParser parser;
|
|
QCommandLineOption noAPIOption;
|
|
QCommandLineOption runAsRootOption;
|
|
QCommandLineOption debugOption;
|
|
QCommandLineOption withToolbarOption;
|
|
QCommandLineOption helpOption;
|
|
QCommandLineOption versionOption;
|
|
};
|
|
}
|
|
}
|
|
|
|
using namespace Qv2ray::CommandArgOperations;
|
|
#endif
|