// Code generated by 'yaegi extract code.vikunja.io/api/pkg/plugins'. DO NOT EDIT.

package yaegi_symbols

import (
	"reflect"

	"code.vikunja.io/api/pkg/plugins"
	"github.com/labstack/echo/v5"
	"src.techknowlogick.com/xormigrate"
)

func init() {
	Symbols["code.vikunja.io/api/pkg/plugins/plugins"] = map[string]reflect.Value{
		// function, constant and variable definitions
		"Initialize":           reflect.ValueOf(plugins.Initialize),
		"ManagerInstance":      reflect.ValueOf(plugins.ManagerInstance),
		"NewRegistry":          reflect.ValueOf(plugins.NewRegistry),
		"RegisterPluginRoutes": reflect.ValueOf(plugins.RegisterPluginRoutes),
		"Shutdown":             reflect.ValueOf(plugins.Shutdown),

		// type definitions
		"AuthenticatedRouterPlugin":   reflect.ValueOf((*plugins.AuthenticatedRouterPlugin)(nil)),
		"Manager":                     reflect.ValueOf((*plugins.Manager)(nil)),
		"MigrationPlugin":             reflect.ValueOf((*plugins.MigrationPlugin)(nil)),
		"Plugin":                      reflect.ValueOf((*plugins.Plugin)(nil)),
		"Registry":                    reflect.ValueOf((*plugins.Registry)(nil)),
		"UnauthenticatedRouterPlugin": reflect.ValueOf((*plugins.UnauthenticatedRouterPlugin)(nil)),

		// interface wrapper definitions
		"_AuthenticatedRouterPlugin":   reflect.ValueOf((*_code_vikunja_io_api_pkg_plugins_AuthenticatedRouterPlugin)(nil)),
		"_MigrationPlugin":             reflect.ValueOf((*_code_vikunja_io_api_pkg_plugins_MigrationPlugin)(nil)),
		"_Plugin":                      reflect.ValueOf((*_code_vikunja_io_api_pkg_plugins_Plugin)(nil)),
		"_UnauthenticatedRouterPlugin": reflect.ValueOf((*_code_vikunja_io_api_pkg_plugins_UnauthenticatedRouterPlugin)(nil)),
	}
}

type _code_vikunja_io_api_pkg_plugins_AuthenticatedRouterPlugin struct {
	IValue                       interface{}
	WInit                        func() error
	WName                        func() string
	WRegisterAuthenticatedRoutes func(g *echo.Group)
	WShutdown                    func() error
	WVersion                     func() string
}

func (W _code_vikunja_io_api_pkg_plugins_AuthenticatedRouterPlugin) Init() error {
	return W.WInit()
}
func (W _code_vikunja_io_api_pkg_plugins_AuthenticatedRouterPlugin) Name() string {
	return W.WName()
}
func (W _code_vikunja_io_api_pkg_plugins_AuthenticatedRouterPlugin) RegisterAuthenticatedRoutes(g *echo.Group) {
	W.WRegisterAuthenticatedRoutes(g)
}
func (W _code_vikunja_io_api_pkg_plugins_AuthenticatedRouterPlugin) Shutdown() error {
	return W.WShutdown()
}
func (W _code_vikunja_io_api_pkg_plugins_AuthenticatedRouterPlugin) Version() string {
	return W.WVersion()
}

type _code_vikunja_io_api_pkg_plugins_MigrationPlugin struct {
	IValue      interface{}
	WInit       func() error
	WMigrations func() []*xormigrate.Migration
	WName       func() string
	WShutdown   func() error
	WVersion    func() string
}

func (W _code_vikunja_io_api_pkg_plugins_MigrationPlugin) Init() error {
	return W.WInit()
}
func (W _code_vikunja_io_api_pkg_plugins_MigrationPlugin) Migrations() []*xormigrate.Migration {
	return W.WMigrations()
}
func (W _code_vikunja_io_api_pkg_plugins_MigrationPlugin) Name() string    { return W.WName() }
func (W _code_vikunja_io_api_pkg_plugins_MigrationPlugin) Shutdown() error { return W.WShutdown() }
func (W _code_vikunja_io_api_pkg_plugins_MigrationPlugin) Version() string { return W.WVersion() }

type _code_vikunja_io_api_pkg_plugins_Plugin struct {
	IValue    interface{}
	WInit     func() error
	WName     func() string
	WShutdown func() error
	WVersion  func() string
}

func (W _code_vikunja_io_api_pkg_plugins_Plugin) Init() error     { return W.WInit() }
func (W _code_vikunja_io_api_pkg_plugins_Plugin) Name() string    { return W.WName() }
func (W _code_vikunja_io_api_pkg_plugins_Plugin) Shutdown() error { return W.WShutdown() }
func (W _code_vikunja_io_api_pkg_plugins_Plugin) Version() string { return W.WVersion() }

type _code_vikunja_io_api_pkg_plugins_UnauthenticatedRouterPlugin struct {
	IValue                         interface{}
	WInit                          func() error
	WName                          func() string
	WRegisterUnauthenticatedRoutes func(g *echo.Group)
	WShutdown                      func() error
	WVersion                       func() string
}

func (W _code_vikunja_io_api_pkg_plugins_UnauthenticatedRouterPlugin) Init() error {
	return W.WInit()
}
func (W _code_vikunja_io_api_pkg_plugins_UnauthenticatedRouterPlugin) Name() string {
	return W.WName()
}
func (W _code_vikunja_io_api_pkg_plugins_UnauthenticatedRouterPlugin) RegisterUnauthenticatedRoutes(g *echo.Group) {
	W.WRegisterUnauthenticatedRoutes(g)
}
func (W _code_vikunja_io_api_pkg_plugins_UnauthenticatedRouterPlugin) Shutdown() error {
	return W.WShutdown()
}
func (W _code_vikunja_io_api_pkg_plugins_UnauthenticatedRouterPlugin) Version() string {
	return W.WVersion()
}
