plugin

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NormalizeName

func NormalizeName(name string) string

NormalizeName trims .so suffix and lowercases.

Types

type Manager

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

Manager implements the plugin.Manager interface for internal use.

func NewManager

func NewManager(commands *command.Registry, bus *eventbus.Bus) *Manager

NewManager creates a new plugin manager.

func (*Manager) Commands

func (m *Manager) Commands() plugin.RegistryProvider

Commands returns the registry provider.

func (*Manager) Emit

func (m *Manager) Emit(ctx context.Context, eventType string, data any) error

Emit emits an event on the bus.

func (*Manager) GetAllInfo

func (m *Manager) GetAllInfo() []plugin.PluginInfo

GetAllInfo returns info for all plugins.

func (*Manager) GetInfo

func (m *Manager) GetInfo(name string) (plugin.PluginInfo, bool)

GetInfo returns plugin info.

func (*Manager) GetPlugin

func (m *Manager) GetPlugin(name string) (plugin.Plugin, bool)

GetPlugin returns a plugin by name.

func (*Manager) Host added in v0.1.1

func (m *Manager) Host() plugin.Host

Host returns long-lived runtime services for plugins.

func (*Manager) InitAll

func (m *Manager) InitAll(ctx context.Context) error

InitAll initializes all registered plugins.

func (*Manager) InitPlugin

func (m *Manager) InitPlugin(ctx context.Context, name string) error

InitPlugin initializes a single registered plugin.

func (*Manager) ListPlugins

func (m *Manager) ListPlugins() []string

ListPlugins returns all plugin names.

func (*Manager) RegisterCommand

func (m *Manager) RegisterCommand(cmd *plugin.Command) error

RegisterCommand registers a command via the command registry.

func (*Manager) RegisterPlugin

func (m *Manager) RegisterPlugin(p plugin.Plugin) error

RegisterPlugin registers a plugin with the manager.

func (*Manager) StartAll

func (m *Manager) StartAll(ctx context.Context) error

StartAll starts all registered plugins.

func (*Manager) StartPlugin

func (m *Manager) StartPlugin(ctx context.Context, name string) error

StartPlugin starts a single plugin.

func (*Manager) StopAll

func (m *Manager) StopAll(ctx context.Context) error

StopAll stops all registered plugins.

func (*Manager) StopPlugin

func (m *Manager) StopPlugin(ctx context.Context, name string) error

StopPlugin stops a single plugin.

func (*Manager) UnregisterCommand

func (m *Manager) UnregisterCommand(name string)

UnregisterCommand removes a command.

func (*Manager) UnregisterPlugin

func (m *Manager) UnregisterPlugin(name string)

UnregisterPlugin removes a plugin and its commands.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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