separate plugin impl and proto files

This commit is contained in:
bergquist
2017-12-07 16:33:36 +01:00
parent 0bc5bf53ce
commit a2d47427ba
12 changed files with 11 additions and 24 deletions
+31
View File
@@ -0,0 +1,31 @@
package shared
import (
"golang.org/x/net/context"
proto "github.com/grafana/grafana/pkg/tsdb/models"
plugin "github.com/hashicorp/go-plugin"
"google.golang.org/grpc"
)
var PluginMap = map[string]plugin.Plugin{
"tsdb_mock": &TsdbPluginImpl{},
}
type TsdbPlugin interface {
Get(ctx context.Context, req *proto.TsdbRequest) (*proto.TsdbResponse, error)
}
type TsdbPluginImpl struct { //LOL IMPL LOL
plugin.NetRPCUnsupportedPlugin
Plugin TsdbPlugin
}
func (p *TsdbPluginImpl) GRPCServer(s *grpc.Server) error {
proto.RegisterTsdbPluginServer(s, &GRPCServer{p.Plugin})
return nil
}
func (p *TsdbPluginImpl) GRPCClient(c *grpc.ClientConn) (interface{}, error) {
return &GRPCClient{proto.NewTsdbPluginClient(c)}, nil
}