diff options
author | Andrew Chow <achow101-github@achow101.com> | 2018-04-28 16:54:58 -0400 |
---|---|---|
committer | Andrew Chow <achow101-github@achow101.com> | 2018-05-09 12:21:05 -0400 |
commit | 4d4185a4f0e40c033a587871839a47cb3f89ee93 (patch) | |
tree | de7d02bcfe19bafb3faf0f220a35b303fbfc3ba8 /src/util.h | |
parent | 08c1caf863656e8c4302f0ff392772f0055760e5 (diff) |
Make gArgs aware of the arguments
gArgs knows what the available arguments are and their help. Getting
the help message is moved to gArgs and HelpMessage() is removed
Diffstat (limited to 'src/util.h')
-rw-r--r-- | src/util.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/util.h b/src/util.h index 186245c94a..17dd5c0683 100644 --- a/src/util.h +++ b/src/util.h @@ -118,6 +118,23 @@ inline bool IsSwitchChar(char c) #endif } +enum class OptionsCategory +{ + OPTIONS, + CONNECTION, + WALLET, + WALLET_DEBUG_TEST, + ZMQ, + DEBUG_TEST, + CHAINPARAMS, + NODE_RELAY, + BLOCK_CREATION, + RPC, + GUI, + COMMANDS, + REGISTER_COMMANDS +}; + class ArgsManager { protected: @@ -128,6 +145,7 @@ protected: std::map<std::string, std::vector<std::string>> m_config_args; std::string m_network; std::set<std::string> m_network_only_args; + std::map<std::pair<OptionsCategory, std::string>, std::pair<std::string, bool>> m_available_args; void ReadConfigStream(std::istream& stream); @@ -229,6 +247,16 @@ public: * @return CBaseChainParams::MAIN by default; raises runtime error if an invalid combination is given. */ std::string GetChainName() const; + + /** + * Add argument + */ + void AddArg(const std::string& name, const std::string& help, const bool debug_only, const OptionsCategory& cat); + + /** + * Get the help string + */ + std::string GetHelpMessage(); }; extern ArgsManager gArgs; |