plugin

package
v0.0.0-...-d76060a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewGrpcPlugin

func NewGrpcPlugin(name string, address string) *grpcPlugin

NewGrpcPlugin initializes a grpcPlugin

func NewInternalPlugin

func NewInternalPlugin(name string, logger log.Logger) *internalPlugin

NewInternalPlugin returns an initialized internalPlugin

Types

type BasePlugin

type BasePlugin struct {
	// contains filtered or unexported fields
}

BasePlugin describes a basic plugin struct

func (*BasePlugin) GetName

func (p *BasePlugin) GetName() string

GetName returns the plugin name

type EventHandlerPlugin

type EventHandlerPlugin interface {
	GetName() string
	Handle(event *ce.Event) error
}

EventHandlerPlugin defines an event handler plugin

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager is a PluginManager implementation

func NewManager

func NewManager(logger log.Logger, errorHandler emperror.Handler) *Manager

NewManager returns an initialized Manager

func (*Manager) Add

func (m *Manager) Add(plugins ...EventHandlerPlugin)

Add add an initialized plugin

func (*Manager) GetByName

func (m *Manager) GetByName(name string) (EventHandlerPlugin, error)

GetByName returns a plugin by it's name

func (*Manager) GetByNames

func (m *Manager) GetByNames(names ...string) (map[string]EventHandlerPlugin, error)

GetByNames returns a map of plugins by their names

func (*Manager) LoadFromConfig

func (m *Manager) LoadFromConfig(v *viper.Viper) error

LoadFromConfig loads plugins from configuration

type PluginConfig

type PluginConfig struct {
	Name    string `mapstructure:"name"`
	Type    string `mapstructure:"type"`
	Address string `mapstructure:"address"`
}

PluginConfig describes a plugin configuration

func (PluginConfig) Validate

func (c PluginConfig) Validate() error

Validate validates plugin configuration

type PluginConfigs

type PluginConfigs []PluginConfig

type PluginManager

type PluginManager interface {
	Add(plugin ...EventHandlerPlugin)
	GetByNames(names ...string) (map[string]EventHandlerPlugin, error)
	GetByName(name string) (EventHandlerPlugin, error)
}

PluginManager describes what a plugin manager implementation must provide

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL