| 592 | } |
| 593 | |
| 594 | std::string ArgsManager::GetHelpMessage() const |
| 595 | { |
| 596 | const bool show_debug = gArgs.GetBoolArg("-help-debug", false); |
| 597 | |
| 598 | std::string usage = ""; |
| 599 | for (const auto& arg_map : m_available_args) { |
| 600 | switch(arg_map.first) { |
| 601 | case OptionsCategory::OPTIONS: |
| 602 | usage += HelpMessageGroup("Options:"); |
| 603 | break; |
| 604 | case OptionsCategory::CONNECTION: |
| 605 | usage += HelpMessageGroup("Connection options:"); |
| 606 | break; |
| 607 | case OptionsCategory::ZMQ: |
| 608 | usage += HelpMessageGroup("ZeroMQ notification options:"); |
| 609 | break; |
| 610 | case OptionsCategory::DEBUG_TEST: |
| 611 | usage += HelpMessageGroup("Debugging/Testing options:"); |
| 612 | break; |
| 613 | case OptionsCategory::NODE_RELAY: |
| 614 | usage += HelpMessageGroup("Node relay options:"); |
| 615 | break; |
| 616 | case OptionsCategory::BLOCK_CREATION: |
| 617 | usage += HelpMessageGroup("Block creation options:"); |
| 618 | break; |
| 619 | case OptionsCategory::RPC: |
| 620 | usage += HelpMessageGroup("RPC server options:"); |
| 621 | break; |
| 622 | case OptionsCategory::WALLET: |
| 623 | usage += HelpMessageGroup("Wallet options:"); |
| 624 | break; |
| 625 | case OptionsCategory::WALLET_DEBUG_TEST: |
| 626 | if (show_debug) usage += HelpMessageGroup("Wallet debugging/testing options:"); |
| 627 | break; |
| 628 | case OptionsCategory::CHAINPARAMS: |
| 629 | usage += HelpMessageGroup("Chain selection options:"); |
| 630 | break; |
| 631 | case OptionsCategory::GUI: |
| 632 | usage += HelpMessageGroup("UI Options:"); |
| 633 | break; |
| 634 | case OptionsCategory::COMMANDS: |
| 635 | usage += HelpMessageGroup("Commands:"); |
| 636 | break; |
| 637 | case OptionsCategory::REGISTER_COMMANDS: |
| 638 | usage += HelpMessageGroup("Register Commands:"); |
| 639 | break; |
| 640 | default: |
| 641 | break; |
| 642 | } |
| 643 | |
| 644 | // When we get to the hidden options, stop |
| 645 | if (arg_map.first == OptionsCategory::HIDDEN) break; |
| 646 | |
| 647 | for (const auto& arg : arg_map.second) { |
| 648 | if (show_debug || !arg.second.m_debug_only) { |
| 649 | std::string name; |
| 650 | if (arg.second.m_help_param.empty()) { |
| 651 | name = arg.first; |
no test coverage detected