為NEO-GUI 新增外掛系統

NEOxizai發表於2019-01-19

作為一個NEO區塊鏈技術愛好者,經常要擺弄NEOGUI,而NEOGUI在眾多開發者手中有了眾多的分支實現,我也有自己的分支改版。這是一件很麻煩的事情。

雖然NEO-GUI定位為一個演示客戶端與開發工具,不過使用他的開發者還是很多的,大家都要對NEO-GUI進行各式各樣的修改。

那麼為什麼不增加一個外掛機制呢,說幹就幹。

先貼地址,此分支版本的原始碼在

https://github.com/lightszero…

為neo neovm neogui 三合一,隨時和NEO倉庫保持同步。

先增加一個外掛模組,裡面有兩個介面,一個IAPI,提供客戶端暴露給外掛使用的介面

NEOGUI 繼承此介面。另一個是IPLUGIN,外掛實現此介面。

圖片描述

然後在NEO-GUI啟動時,動態尋找外掛的dll,用反射方法找出其中的外掛型別,並建立例項。

最後在NEO-GUI動態增加選單,按下選單時呼叫對應的外掛。

這個外掛機制就完成了。

我們先來看一下效果

圖片描述

剛加上外掛機制,和普通客戶端並無不同,那個good請無視掉,本來應該安置一個外掛管理器什麼的。

在執行程式的目錄圖片描述

建立一個資料夾圖片描述

把外掛copy進去,重啟gui即可生效。

我們先copy 一個 sample_plugin

圖片描述

效果如下,為這個外掛增加了一個選單項

圖片描述

功能是簡單的彈出了一個對話方塊

這個外掛的原始碼非常簡潔

圖片描述

我們再安裝另一個外掛,他有一個實際的功能,

可以查詢storage儲存區裡面的內容

圖片描述

圖片描述

對neogui原始碼的侵入性也很小

圖片描述

目前只修改了這麼多NeoGUI的原始碼。

作者:李劍英

原文連結:http://www.cnblogs.com/crazyl…

相關文章