MCPcopy Create free account
hub / github.com/bitcoin/bitcoin / GetHelpMessage

Method GetHelpMessage

src/common/args.cpp:722–812  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

720}
721
722std::string ArgsManager::GetHelpMessage() const
723{
724 const bool show_debug = GetBoolArg("-help-debug", false);
725
726 std::string usage;
727 LOCK(cs_args);
728
729 const auto command_options = m_available_args.find(OptionsCategory::COMMAND_OPTIONS);
730 const auto for_matching_cmd_opts = [&](const std::set<std::string>& select, auto&& fn) EXCLUSIVE_LOCKS_REQUIRED(cs_args) {
731 if (select.empty()) return;
732 if (command_options == m_available_args.end()) return;
733 for (const auto& [name, info] : command_options->second) {
734 if (!show_debug && (info.m_flags & ArgsManager::DEBUG_ONLY)) continue;
735 if (!select.contains(name)) continue;
736 fn(name, info);
737 }
738 };
739
740 for (const auto& [category, category_args] : m_available_args) {
741 switch(category) {
742 case OptionsCategory::OPTIONS:
743 usage += HelpMessageGroup("Options:");
744 break;
745 case OptionsCategory::CONNECTION:
746 usage += HelpMessageGroup("Connection options:");
747 break;
748 case OptionsCategory::ZMQ:
749 usage += HelpMessageGroup("ZeroMQ notification options:");
750 break;
751 case OptionsCategory::DEBUG_TEST:
752 usage += HelpMessageGroup("Debugging/Testing options:");
753 break;
754 case OptionsCategory::NODE_RELAY:
755 usage += HelpMessageGroup("Node relay options:");
756 break;
757 case OptionsCategory::BLOCK_CREATION:
758 usage += HelpMessageGroup("Block creation options:");
759 break;
760 case OptionsCategory::RPC:
761 usage += HelpMessageGroup("RPC server options:");
762 break;
763 case OptionsCategory::IPC:
764 usage += HelpMessageGroup("IPC interprocess connection options:");
765 break;
766 case OptionsCategory::WALLET:
767 usage += HelpMessageGroup("Wallet options:");
768 break;
769 case OptionsCategory::WALLET_DEBUG_TEST:
770 if (show_debug) usage += HelpMessageGroup("Wallet debugging/testing options:");
771 break;
772 case OptionsCategory::CHAINPARAMS:
773 usage += HelpMessageGroup("Chain selection options:");
774 break;
775 case OptionsCategory::GUI:
776 usage += HelpMessageGroup("UI Options:");
777 break;
778 case OptionsCategory::COMMANDS:
779 usage += HelpMessageGroup("Commands:");

Callers 9

AppInitRawTxFunction · 0.80
AppInitRPCFunction · 0.80
AppInitUtilFunction · 0.80
ProcessInitCommandsFunction · 0.80
WalletAppInitFunction · 0.80
BOOST_AUTO_TEST_CASEFunction · 0.80
system.cppFile · 0.80
HelpMessageDialogMethod · 0.80
mainFunction · 0.80

Calls 8

fnFunction · 0.85
HelpMessageGroupFunction · 0.85
HelpMessageOptFunction · 0.85
findMethod · 0.80
EXCLUSIVE_LOCKS_REQUIREDFunction · 0.50
emptyMethod · 0.45
endMethod · 0.45
containsMethod · 0.45

Tested by 1

BOOST_AUTO_TEST_CASEFunction · 0.64