package plugins import ( "errors" "reflect" "github.com/traefik/yaegi/interp" ) // PluginHost manages the plugins. type PluginHost struct { // Plugins contains a list of the plugins. Plugins []*plugin // PluginTypes is a list of plugins types that plugins have to use at least one of. PluginTypes map[string]reflect.Type // Symbols is the map of symbols generated by yaegi extract. Symbols interp.Exports } var ( // ErrInvalidType is returned when the plugin type specified by the plugin is invalid. ErrInvalidType = errors.New("invalid plugin type") // ErrValidatingPlugin is returned when the plugin fails to fully implement the interface of the plugin type. ErrValidatingPlugin = errors.New("plugin does not implement type") )