plugins

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2026 License: BSD-2-Clause Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BasePlugin

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

BasePlugin 基础插件实现

func NewBasePlugin

func NewBasePlugin(name, version, description string) *BasePlugin

NewBasePlugin 创建基础插件

func (*BasePlugin) Description

func (p *BasePlugin) Description() string

Description 获取插件描述

func (*BasePlugin) Init

func (p *BasePlugin) Init() error

Init 初始化插件

func (*BasePlugin) IsRunning

func (p *BasePlugin) IsRunning() bool

IsRunning 检查插件是否运行中

func (*BasePlugin) Name

func (p *BasePlugin) Name() string

Name 获取插件名称

func (*BasePlugin) Start

func (p *BasePlugin) Start() error

Start 启动插件

func (*BasePlugin) Stop

func (p *BasePlugin) Stop() error

Stop 停止插件

func (*BasePlugin) Version

func (p *BasePlugin) Version() string

Version 获取插件版本

type DefaultPluginManager

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

DefaultPluginManager 默认插件管理器

func (*DefaultPluginManager) GetPlugin

func (pm *DefaultPluginManager) GetPlugin(name string) (Plugin, error)

GetPlugin 获取插件

func (*DefaultPluginManager) ListPlugins

func (pm *DefaultPluginManager) ListPlugins() []Plugin

ListPlugins 列出所有插件

func (*DefaultPluginManager) Load

func (pm *DefaultPluginManager) Load(path string) (Plugin, error)

Load 加载插件

func (*DefaultPluginManager) StartAll

func (pm *DefaultPluginManager) StartAll() error

StartAll 启动所有插件

func (*DefaultPluginManager) StopAll

func (pm *DefaultPluginManager) StopAll() error

StopAll 停止所有插件

func (*DefaultPluginManager) Unload

func (pm *DefaultPluginManager) Unload(name string) error

Unload 卸载插件

type Plugin

type Plugin interface {
	// Name 获取插件名称
	Name() string

	// Version 获取插件版本
	Version() string

	// Description 获取插件描述
	Description() string

	// Init 初始化插件
	Init() error

	// Start 启动插件
	Start() error

	// Stop 停止插件
	Stop() error

	// IsRunning 检查插件是否运行中
	IsRunning() bool
}

Plugin 插件接口

type PluginConfig

type PluginConfig struct {
	Enabled bool     `json:"enabled"`
	Dir     string   `json:"dir"`
	Plugins []string `json:"plugins"`
}

PluginConfig 插件配置

type PluginManager

type PluginManager interface {
	// Load 加载插件
	Load(path string) (Plugin, error)

	// Unload 卸载插件
	Unload(name string) error

	// GetPlugin 获取插件
	GetPlugin(name string) (Plugin, error)

	// ListPlugins 列出所有插件
	ListPlugins() []Plugin

	// StartAll 启动所有插件
	StartAll() error

	// StopAll 停止所有插件
	StopAll() error
}

PluginManager 插件管理器接口

func NewPluginManager

func NewPluginManager(config PluginConfig) PluginManager

NewPluginManager 创建插件管理器

Jump to

Keyboard shortcuts

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