栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

EOS 源代码解读 (2)插件-插件模板

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

EOS 源代码解读 (2)插件-插件模板

eos/plugins/template_plugin定义了eos项目中所有插件的模板

class template_plugin : public appbase::plugin {
public:
   template_plugin();
   virtual ~template_plugin();
 
   APPbase_PLUGIN_REQUIRES()
   virtual void set_program_options(options_description&, options_description& cfg) override;
 
   void plugin_initialize(const variables_map& options);
   void plugin_startup();
   void plugin_shutdown();

private:
   std::unique_ptr my;
};

 static appbase::abstract_plugin& _template_plugin = app().register_plugin();

class template_plugin_impl {
   public:
};

template_plugin::template_plugin():my(new template_plugin_impl()){}
template_plugin::~template_plugin(){}

void template_plugin::set_program_options(options_description&, options_description& cfg) {
   cfg.add_options()
         ("option-name", bpo::value()->default_value("default value"),
          "Option Description")
         ;
}

void template_plugin::plugin_initialize(const variables_map& options) {
   try {
      if( options.count( "option-name" )) {
         // Handle the option
      }
   }
   FC_LOG_AND_RETHROW()
}

void template_plugin::plugin_startup() {
   // Make the magic happen
}

void template_plugin::plugin_shutdown() {
   // OK, that's enough magic
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/736473.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号