@brief 构造函数:RootCmd @details 构造 RootCmd 类的实例 @param[in] parent 指向父类 SimCmd 的指针 @param[in] factory 指向 ISimClientFactory 的智能指针
| 78 | //! @param[in] factory 指向 ISimClientFactory 的智能指针 |
| 79 | //! |
| 80 | RootCmd::RootCmd(SimCmd* parent, std::shared_ptr<ISimClientFactory> factory) : SimCmd(parent, factory) { |
| 81 | cmd_ = std::make_shared<CLI::App>(kRootCmdDesc, kRootCmdName); |
| 82 | cmd_->require_subcommand(); |
| 83 | cmd_->set_help_flag(JoinOptName(kHelpOptAlias, kHelpOptName), kRootCmdHelpOptDesc); |
| 84 | |
| 85 | auto opt = std::make_shared<Opt>(); |
| 86 | opt->endpoint = tx_sim::utils::GetLocalServiceBindAddress(); |
| 87 | |
| 88 | cmd_->callback([opt]() {}); |
| 89 | |
| 90 | CLI::Option* option = |
| 91 | cmd_->add_option(JoinOptName(kEndpointOptAlias, kEndpointOptName), opt->endpoint, kEndpointOptDesc); |
| 92 | option->capture_default_str(); |
| 93 | |
| 94 | sub_cmds_.emplace_back(new ConfCmd(this, sim_cli_factory_)); |
| 95 | } |
| 96 | |
| 97 | //! |
| 98 | //! @brief 函数名:ExecuteCmd |
nothing calls this directly
no test coverage detected