zoukankan      html  css  js  c++  java
  • 为NEO-GUI 添加插件系统

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

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

    那么为什么不增加一个插件机制呢,说干就干。

     

    先贴地址,此分支版本的源码在

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

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

     

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

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

     

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

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

     

    这个插件机制就完成了。

    我们先来看一下效果

     

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

    在运行程序的目录

    创建一个文件夹

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

    我们先copy 一个 sample_plugin

    效果如下,为这个插件增加了一个菜单项

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

     

    这个插件的源码非常简洁

     

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

     

    对neogui源码的侵入性也很小

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

  • 相关阅读:
    C++中的private/protected/public
    volatile关键字和mutable关键字
    vector容器使用和assert断言关键字
    静态变量static和extern外引用
    VS开发入门常识
    电子钱包的消费——java card开发第五篇
    电子钱包的圈存——java card开发第四篇
    PPT2010制作图片玻璃磨砂效果
    Word2010制作个人名片
    Word2010制作自动目录
  • 原文地址:https://www.cnblogs.com/crazylights/p/7923148.html
Copyright © 2011-2022 走看看