为NEO-GUI 添加插件系统

做者:李剑英html

原文连接:http://www.cnblogs.com/crazylights/p/7923148.htmlgit

 

做为一个NEO区块链技术爱好者,常常要摆弄NEOGUI,而NEOGUI在众多开发者手中有了众多的分支实现,我也有本身的分支改版。这是一件很麻烦的事情。github

虽然NEO-GUI定位为一个演示客户端与开发工具,不过使用他的开发者仍是不少的,你们都要对NEO-GUI进行各式各样的修改。工具

那么为何不增长一个插件机制呢,说干就干。区块链

 

先贴地址,此分支版本的源码在开发工具

https://github.com/lightszero/neo-gui.gitui

为neo neovm neogui 三合一,随时和NEO仓库保持同步。插件

 

先增长一个插件模块,里面有两个接口,一个IAPI,提供客户端暴露给插件使用的接口htm

NEOGUI 继承此接口。另外一个是IPLUGIN,插件实现此接口。blog

 

而后在NEO-GUI启动时,动态寻找插件的dll,用反射方法找出其中的插件类型,并建立实例。

最后在NEO-GUI动态增长菜单,按下菜单时呼叫对应的插件。

 

这个插件机制就完成了。

咱们先来看一下效果

 

刚加上插件机制,和普通客户端并没有不一样,那个good请无视掉,原本应该安置一个插件管理器什么的。

在运行程序的目录

建立一个文件夹

把插件copy进去,重启gui便可生效。

咱们先copy 一个 sample_plugin

效果以下,为这个插件增长了一个菜单项

功能是简单的弹出了一个对话框

 

这个插件的源码很是简洁

 

咱们再安装另外一个插件,他有一个实际的功能,能够查询storage存储区里面的内容

 

对neogui源码的侵入性也很小

目前只修改了这么多NeoGUI的源码。

相关文章
相关标签/搜索