Documentation
¶
Index ¶
- type CommandRegistrar
- type EventRegistrar
- type Plugin
- type PluginManager
- func (m *PluginManager) Add(p Plugin) error
- func (m *PluginManager) BootAll(c *container.Container)
- func (m *PluginManager) Plugins() []Plugin
- func (m *PluginManager) RegisterAll(c *container.Container)
- func (m *PluginManager) RegisterCommands(root *cobra.Command)
- func (m *PluginManager) RegisterEvents(d *events.Dispatcher)
- func (m *PluginManager) RegisterRoutes(r *router.Router)
- type RouteRegistrar
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommandRegistrar ¶
CommandRegistrar is implemented by plugins that add CLI commands.
type EventRegistrar ¶
type EventRegistrar interface {
RegisterEvents(d *events.Dispatcher)
}
EventRegistrar is implemented by plugins that listen to framework events.
type Plugin ¶
type Plugin interface {
container.Provider
// Name returns a unique identifier for the plugin (e.g., "notifications").
Name() string
}
Plugin is a self-contained module that integrates with the RapidGo framework. It embeds container.Provider for service registration (Register + Boot).
type PluginManager ¶
type PluginManager struct {
// contains filtered or unexported fields
}
PluginManager coordinates plugin registration and subsystem wiring.
func (*PluginManager) Add ¶
func (m *PluginManager) Add(p Plugin) error
Add registers a plugin. Returns an error if a plugin with the same Name() is already registered.
func (*PluginManager) BootAll ¶
func (m *PluginManager) BootAll(c *container.Container)
BootAll calls Boot(c) on each plugin in registration order.
func (*PluginManager) Plugins ¶
func (m *PluginManager) Plugins() []Plugin
Plugins returns all registered plugins.
func (*PluginManager) RegisterAll ¶
func (m *PluginManager) RegisterAll(c *container.Container)
RegisterAll calls Register(c) on each plugin in registration order.
func (*PluginManager) RegisterCommands ¶
func (m *PluginManager) RegisterCommands(root *cobra.Command)
RegisterCommands calls Commands() on each plugin that implements CommandRegistrar and adds the returned commands to the root Cobra command.
func (*PluginManager) RegisterEvents ¶
func (m *PluginManager) RegisterEvents(d *events.Dispatcher)
RegisterEvents calls RegisterEvents(d) on each plugin that implements EventRegistrar.
func (*PluginManager) RegisterRoutes ¶
func (m *PluginManager) RegisterRoutes(r *router.Router)
RegisterRoutes calls RegisterRoutes(r) on each plugin that implements RouteRegistrar.
type RouteRegistrar ¶
RouteRegistrar is implemented by plugins that register HTTP routes.