diff --git a/plugin/inner/interface.go b/plugin/inner/interface.go new file mode 100644 index 00000000..ddaafec4 --- /dev/null +++ b/plugin/inner/interface.go @@ -0,0 +1,14 @@ +package pluginInternal + +// FuncCaller is the interface that we're exposing as a plugin. +type FuncCaller interface { + GetNames() ([]string, error) // get all plugin function names list + Call(funcName string, args ...interface{}) (interface{}, error) // call plugin function +} + +type IPlugin interface { + Init(path string) error // init plugin + Has(funcName string) bool // check if plugin has function + Call(funcName string, args ...interface{}) (interface{}, error) // call function + Quit() error // quit plugin +} diff --git a/plugin/inner/host.go b/plugin/inner/rpc.go similarity index 78% rename from plugin/inner/host.go rename to plugin/inner/rpc.go index a8422a38..804bc5a3 100644 --- a/plugin/inner/host.go +++ b/plugin/inner/rpc.go @@ -18,12 +18,6 @@ type funcData struct { Args []interface{} // function arguments } -// FuncCaller is the interface that we're exposing as a plugin. -type FuncCaller interface { - GetNames() ([]string, error) // get all plugin function names list - Call(funcName string, args ...interface{}) (interface{}, error) // call plugin function -} - // functionRPC runs on the host side. type functionRPC struct { client *rpc.Client @@ -101,10 +95,3 @@ func (p *HRPPlugin) Server(*plugin.MuxBroker) (interface{}, error) { func (HRPPlugin) Client(b *plugin.MuxBroker, c *rpc.Client) (interface{}, error) { return &functionRPC{client: c}, nil } - -type IPlugin interface { - Init(path string) error // init plugin - Has(funcName string) bool // check if plugin has function - Call(funcName string, args ...interface{}) (interface{}, error) // call function - Quit() error // quit plugin -}