host

package
v0.3.0-beta.5 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PluginHost

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

PluginHost manages the lifecycle and communication with plugins

func NewPluginHost

func NewPluginHost(pluginDir, dataDir string) *PluginHost

NewPluginHost creates a new plugin host

func (*PluginHost) DisablePlugin

func (h *PluginHost) DisablePlugin(name string) error

DisablePlugin disables a plugin

func (*PluginHost) EnablePlugin

func (h *PluginHost) EnablePlugin(name string) error

EnablePlugin enables a plugin

func (*PluginHost) ExecuteCommand

func (h *PluginHost) ExecuteCommand(pluginName, command string, args []string) error

ExecuteCommand executes a plugin command

func (*PluginHost) GetMessageChannel

func (h *PluginHost) GetMessageChannel() <-chan sdk.Message

GetMessageChannel returns the channel for receiving messages from plugins

func (*PluginHost) GetPlugin

func (h *PluginHost) GetPlugin(name string) *PluginInstance

GetPlugin returns a plugin instance

func (*PluginHost) ListPlugins

func (h *PluginHost) ListPlugins() map[string]*PluginInstance

ListPlugins returns all loaded plugins

func (*PluginHost) LoadPlugin

func (h *PluginHost) LoadPlugin(name string) error

LoadPlugin loads a plugin from the plugin directory

func (*PluginHost) SendMessage

func (h *PluginHost) SendMessage(msg sdk.Message)

SendMessage sends a message to all enabled plugins

func (*PluginHost) StartPlugin

func (h *PluginHost) StartPlugin(name string) error

StartPlugin starts a plugin subprocess

func (*PluginHost) StopPlugin

func (h *PluginHost) StopPlugin(name string) error

StopPlugin stops a plugin subprocess

func (*PluginHost) UpdateUserList

func (h *PluginHost) UpdateUserList(users []string)

UpdateUserList updates the list of online users

type PluginInstance

type PluginInstance struct {
	Name     string
	Manifest *sdk.PluginManifest
	Process  *exec.Cmd
	Stdin    io.WriteCloser
	Stdout   io.ReadCloser
	Stderr   io.ReadCloser
	Config   sdk.Config
	Enabled  bool
	// contains filtered or unexported fields
}

PluginInstance represents a running plugin

Jump to

Keyboard shortcuts

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