|
|
@ -195,13 +195,20 @@ inline bool IsSwitchChar(char c) |
|
|
|
class ArgsManager |
|
|
|
class ArgsManager |
|
|
|
{ |
|
|
|
{ |
|
|
|
protected: |
|
|
|
protected: |
|
|
|
CCriticalSection cs_args; |
|
|
|
mutable CCriticalSection cs_args; |
|
|
|
std::map<std::string, std::string> mapArgs; |
|
|
|
std::map<std::string, std::string> mapArgs; |
|
|
|
std::map<std::string, std::vector<std::string> > mapMultiArgs; |
|
|
|
std::map<std::string, std::vector<std::string>> mapMultiArgs; |
|
|
|
public: |
|
|
|
public: |
|
|
|
void ParseParameters(int argc, const char*const argv[]); |
|
|
|
void ParseParameters(int argc, const char*const argv[]); |
|
|
|
void ReadConfigFile(const std::string& confPath); |
|
|
|
void ReadConfigFile(const std::string& confPath); |
|
|
|
std::vector<std::string> GetArgs(const std::string& strArg); |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Return a vector of strings of the given argument |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param strArg Argument to get (e.g. "-foo") |
|
|
|
|
|
|
|
* @return command-line arguments |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
std::vector<std::string> GetArgs(const std::string& strArg) const; |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Return true if the given argument has been manually set |
|
|
|
* Return true if the given argument has been manually set |
|
|
@ -209,7 +216,7 @@ public: |
|
|
|
* @param strArg Argument to get (e.g. "-foo") |
|
|
|
* @param strArg Argument to get (e.g. "-foo") |
|
|
|
* @return true if the argument has been set |
|
|
|
* @return true if the argument has been set |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
bool IsArgSet(const std::string& strArg); |
|
|
|
bool IsArgSet(const std::string& strArg) const; |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Return string argument or default value |
|
|
|
* Return string argument or default value |
|
|
@ -218,7 +225,7 @@ public: |
|
|
|
* @param strDefault (e.g. "1") |
|
|
|
* @param strDefault (e.g. "1") |
|
|
|
* @return command-line argument or default value |
|
|
|
* @return command-line argument or default value |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
std::string GetArg(const std::string& strArg, const std::string& strDefault); |
|
|
|
std::string GetArg(const std::string& strArg, const std::string& strDefault) const; |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Return integer argument or default value |
|
|
|
* Return integer argument or default value |
|
|
@ -227,7 +234,7 @@ public: |
|
|
|
* @param nDefault (e.g. 1) |
|
|
|
* @param nDefault (e.g. 1) |
|
|
|
* @return command-line argument (0 if invalid number) or default value |
|
|
|
* @return command-line argument (0 if invalid number) or default value |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
int64_t GetArg(const std::string& strArg, int64_t nDefault); |
|
|
|
int64_t GetArg(const std::string& strArg, int64_t nDefault) const; |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Return boolean argument or default value |
|
|
|
* Return boolean argument or default value |
|
|
@ -236,7 +243,7 @@ public: |
|
|
|
* @param fDefault (true or false) |
|
|
|
* @param fDefault (true or false) |
|
|
|
* @return command-line argument or default value |
|
|
|
* @return command-line argument or default value |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
bool GetBoolArg(const std::string& strArg, bool fDefault); |
|
|
|
bool GetBoolArg(const std::string& strArg, bool fDefault) const; |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Set an argument if it doesn't already have a value |
|
|
|
* Set an argument if it doesn't already have a value |
|
|
|