EOS 源代码解读 (2)插件-set_program_options
class application_impl {public:application_impl():_app_options("Application Options"){}options_description _app_options;//存储命令行和config.ini文件的参数options_description _cfg_options;//存储config.ini文件的参数
}void application::set_program_options()
{for(auto& plug : plugins) {boost::program_options::options_description plugin_cli_opts("Command Line Options for " + plug.second->name());boost::program_options::options_description plugin_cfg_opts("Config Options for " + plug.second->name());plug.second->set_program_options(plugin_cli_opts, plugin_cfg_opts);if(plugin_cfg_opts.options().size()) {my->_app_options.add(plugin_cfg_opts);my->_cfg_options.add(plugin_cfg_opts);}if(plugin_cli_opts.options().size())my->_app_options.add(plugin_cli_opts);}options_description app_cfg_opts( "Application Config Options" );options_description app_cli_opts( "Application Command Line Options" );app_cfg_opts.add_options()("plugin", bpo::value< vector<string> >()->composing(), "Plugin(s) to enable, may be specified multiple times");app_cli_opts.add_options()("help,h", "Print this help message and exit.")("version,v", "Print version information.")("full-version", "Print full version information.")("print-default-config", "Print default configuration template")("data-dir,d", bpo::value<std::string>(), "Directory containing program runtime data")("config-dir", bpo::value<std::string>(), "Directory containing configuration files such as config.ini")("config,c", bpo::value<std::string>()->default_value( "config.ini" ), "Configuration file name relative to config-dir")("logconf,l", bpo::value<std::string>()->default_value( "logging.json" ), "Logging configuration file name/path for library users");my->_cfg_options.add(app_cfg_opts);my->_app_options.add(app_cfg_opts);my->_app_options.add(app_cli_opts);
}
- help:直接输出_app_options配置项的全部内容。
- version:输出 application实例的类成员_version的值。
- print-default-config: 与_app_options无关,重新到每个plugin中找配置,然后基于_cfg_options生成一份默认的config 配置,并打印到终端界面。
- data-dir:设置data目录的命令,保存在application的类成员_data_dir 中。
- config-dir:设置config路径,保存在类成员_config_dir 中。
- logconf:默认是 logging.json,放置在config目录下面,可自定义设置,保存在类成员_logging_conf中。
- config:指定配置文件的名字,默认是config.ini。如果发现在config目录下找到config.ini文件,则按照该文件的配置载入。
EOS 源代码解读 (2)插件-set_program_options相关推荐
- EOS 源代码解读 (2)插件-插件模板
eos/plugins/template_plugin定义了eos项目中所有插件的模板 /*** This is a template plugin, intended to serve as a s ...
- EOS 源代码解读 (2)插件-流程
application启动插件的流程: step1. 调用各个插件的initialize() step2. 调用各个插件的initialize_logging(); step3. 调用各个插件的sta ...
- EOS 源代码解读 (4)交易数据结构
struct transaction_receipt_header {enum status_enum {executed = 0, //transaction成功执行,没有错误发生soft_fail ...
- EOS 智能合约源代码解读 (1)总体说明
1. 基本定义 在eos私有节点操作中,我们通常是一个合约对应一个合约账户,并且一个账户中只能部署一个智能合约.如果在同一个账户部署多个合约,那么最后部署的合约会覆盖掉之前的合约.每个帐户都至少链接到 ...
- eos 源代码学习笔记一
文章目录 eos 源代码学习笔记 1.eos 中的常见合约类型 2.语言环境局部( locale )变量的使用简介(目的是通过 gettext 软件包 来实现软件的全球化) 3.eos 源代码的一些优 ...
- jqfactor_analyzer源代码解读02
jqfactor_analyzer单因子分析02 首先jqfactor_analyzer源代码解读01中已经得到了self._clean_factor_data(注意binning_by_group参 ...
- ML:LGBMClassifier、XGBClassifier和CatBoostClassifier的feature_importances_计算方法源代码解读之详细攻略
ML:LGBMClassifier.XGBClassifier和CatBoostClassifier的feature_importances_计算方法源代码解读之详细攻略 目录 LGBMClassif ...
- 一个不错的源代码语法高亮插件dp.SyntaxHighlighter
dp.SyntaxHighlighter是一个不错的源代码语法高亮插件,用于你的页面中通过js来动态实现语法高亮显示你的源代码. 使用js脚本来动态进行代码着色的一个明显的好处在于:不会对原始的代码进 ...
- linux内核奇遇记之md源代码解读之八阵列同步二
linux内核奇遇记之md源代码解读之八阵列同步二 转载请注明出处:http://blog.csdn.net/liumangxiong 在上一小节里讲到启动同步线程: 7824 mddev->s ...
最新文章
- javabean属性的类型选择包装类还是基本数据类型
- 【洛谷3648】[APIO2014] 序列分割(斜率优化DP)
- 【牛客网】安置路灯 C++
- 苹果电脑删除软件_易我Mac数据恢复软件,解决苹果电脑T2芯片数据恢复难题!
- wdcp mysql日志文_mysql的日志简单总结
- 中电海康建车联网透明路 探索新型智慧城市商机
- Android程序对不同手机屏幕分辨率自适应的总结
- NullReferenceException
- *******clob问题***********
- iPad当Linux电脑显示器,效率App:让iPad变成你电脑的第二显示屏,相当实用!
- 使用 HTTPS 加密 Ingress 流量
- Android调查问卷的创建与提交
- xampp 403 禁止访问 问题解决
- vue-cli3的项目 CDN链接报错解决 Uncaught TypeError: Cannot read property 'prototype' of undefined at Object.
- [GBase 8s 教程]GBase 8s UNION 操作符
- win10设备管理器闪退
- 阵列相机-光场相机-AI双目测温相机-红外AI识别相机
- Python 经纬度,偏航角,距离计算
- 小程序的gridview布局
- cbrt c语音_sqrt - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
热门文章
- Unity从Assets Store 倒入出错 error refreshing assets
- 登陆企业邮箱后怎么设置自动回复?
- 第三章 软件构造过程与配置管理
- python 定时播放音乐_python – 如何在第一首歌曲结束后安排音频文件在pygame中自动播放?...
- ngzorro中表格colspan合并
- JavaScript简餐——原型式继承
- 针对IRIS数据的特征选择与提取方法研究(模式识别第四次作业)
- 奇特的“对自杀说不”许可证
- 吃鸡账号显示连接不了服务器,吃鸡购买账号为什么无法连接服务器quest; | 手游网游页游攻略大全...
- 判断回文数的三种方法