Documentation
¶
Index ¶
- type PluginHost
- func (h *PluginHost) DisablePlugin(name string) error
- func (h *PluginHost) EnablePlugin(name string) error
- func (h *PluginHost) ExecuteCommand(pluginName, command string, args []string) error
- func (h *PluginHost) GetMessageChannel() <-chan sdk.Message
- func (h *PluginHost) GetPlugin(name string) *PluginInstance
- func (h *PluginHost) ListPlugins() map[string]*PluginInstance
- func (h *PluginHost) LoadPlugin(name string) error
- func (h *PluginHost) SendMessage(msg sdk.Message)
- func (h *PluginHost) StartPlugin(name string) error
- func (h *PluginHost) StopPlugin(name string) error
- func (h *PluginHost) UpdateUserList(users []string)
- type PluginInstance
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
Click to show internal directories.
Click to hide internal directories.