mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-27 01:11:59 +02:00
Add Flags enum to ArgsManager
This commit is contained in:
parent
e0d187dfeb
commit
265c1b58d8
@ -549,7 +549,7 @@ void ArgsManager::AddArg(const std::string& name, const std::string& help, const
|
|||||||
|
|
||||||
LOCK(cs_args);
|
LOCK(cs_args);
|
||||||
std::map<std::string, Arg>& arg_map = m_available_args[cat];
|
std::map<std::string, Arg>& arg_map = m_available_args[cat];
|
||||||
auto ret = arg_map.emplace(name.substr(0, eq_index), Arg(name.substr(eq_index, name.size() - eq_index), help, debug_only));
|
auto ret = arg_map.emplace(name.substr(0, eq_index), Arg{name.substr(eq_index, name.size() - eq_index), help, ArgsManager::NONE, debug_only});
|
||||||
assert(ret.second); // Make sure an insertion actually happened
|
assert(ret.second); // Make sure an insertion actually happened
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,6 +127,23 @@ struct SectionInfo
|
|||||||
|
|
||||||
class ArgsManager
|
class ArgsManager
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
enum Flags {
|
||||||
|
NONE = 0x00,
|
||||||
|
// Boolean options can accept negation syntax -noOPTION or -noOPTION=1
|
||||||
|
ALLOW_BOOL = 0x01,
|
||||||
|
ALLOW_INT = 0x02,
|
||||||
|
ALLOW_STRING = 0x04,
|
||||||
|
ALLOW_ANY = ALLOW_BOOL | ALLOW_INT | ALLOW_STRING,
|
||||||
|
DEBUG_ONLY = 0x100,
|
||||||
|
/* Some options would cause cross-contamination if values for
|
||||||
|
* mainnet were used while running on regtest/testnet (or vice-versa).
|
||||||
|
* Setting them as NETWORK_ONLY ensures that sharing a config file
|
||||||
|
* between mainnet and regtest/testnet won't cause problems due to these
|
||||||
|
* parameters by accident. */
|
||||||
|
NETWORK_ONLY = 0x200,
|
||||||
|
};
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
friend class ArgsManagerHelper;
|
friend class ArgsManagerHelper;
|
||||||
|
|
||||||
@ -134,9 +151,8 @@ protected:
|
|||||||
{
|
{
|
||||||
std::string m_help_param;
|
std::string m_help_param;
|
||||||
std::string m_help_text;
|
std::string m_help_text;
|
||||||
|
unsigned int m_flags;
|
||||||
bool m_debug_only;
|
bool m_debug_only;
|
||||||
|
|
||||||
Arg(const std::string& help_param, const std::string& help_text, bool debug_only) : m_help_param(help_param), m_help_text(help_text), m_debug_only(debug_only) {};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mutable CCriticalSection cs_args;
|
mutable CCriticalSection cs_args;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user