|
|
|
@ -195,13 +195,20 @@ inline bool IsSwitchChar(char c)
|
|
|
|
|
class ArgsManager
|
|
|
|
|
{
|
|
|
|
|
protected:
|
|
|
|
|
CCriticalSection cs_args;
|
|
|
|
|
mutable CCriticalSection cs_args;
|
|
|
|
|
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:
|
|
|
|
|
void ParseParameters(int argc, const char*const argv[]);
|
|
|
|
|
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
|
|
|
|
@ -209,7 +216,7 @@ public:
|
|
|
|
|
* @param strArg Argument to get (e.g. "-foo")
|
|
|
|
|
* @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
|
|
|
|
@ -218,7 +225,7 @@ public:
|
|
|
|
|
* @param strDefault (e.g. "1")
|
|
|
|
|
* @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
|
|
|
|
@ -227,7 +234,7 @@ public:
|
|
|
|
|
* @param nDefault (e.g. 1)
|
|
|
|
|
* @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
|
|
|
|
@ -236,7 +243,7 @@ public:
|
|
|
|
|
* @param fDefault (true or false)
|
|
|
|
|
* @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
|
|
|
|
|