首页 > 其他 > 详细

Ice插件开发

时间:2014-03-25 16:05:42      阅读:489      评论:0      收藏:0      [点我收藏+]

ICE插件开发都要从Ice::Plugin继承,实现initialize()和destroy()两个接口,如ICEloggerPlugin的实现:

Class  ICE_API  LoggerPlugin : public Ice::Plugin

{

Public:

LoggerPlugin(constCommunicatorPtr& communicator, const LoggerPtr&);

    Virtual void initialize();

    Virtual void destroy();

};

 

除了继承Ice::Plugin继承外,还需提供程序加载插件的入口函数,函数类型定义

Typedef  ::Ice::Plugin* (func)( const Ice::CommunicatorPtr&communicator, const string& s, const Ice::StringSeq& seq)

返回值必须是继承::Ice::Plugin的实现,入参1是application创建的communicator,入参2是插件的名称,入参3是插件的参数列表。

如:

extern ”C”

{

ICE_DECLSPEC_EXPORT::Ice::Plugin*

    CreateLogger(const Ice::CommunicatiorPtr&communicator, const string& s, const Ice::StringSeq& seq)

{

                   return newIce::LoggerPlugin(communicator, new Ice::LoggerI(appname(), seq[0]));

}

}

 

修改配置文件加载插件,是通过Ice.Plugin.{PluginName}加载插件的

bubuko.com,布布扣

参考源码${ICE_SOURCE}/cpp/demo/Ice/plugin

Ice插件开发,布布扣,bubuko.com

Ice插件开发

原文:http://blog.csdn.net/fhxpp_27/article/details/22042941

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!