modules

package
v0.0.0-...-65546df Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Provider = wire.NewSet(
	system.Provider,
	wire.Struct(new(Modules), "*"),
)

Provider is provider for all modules

Functions

This section is empty.

Types

type Module

type Module interface {
	// Name return module name
	Name() string
	// Init should do something initial.
	Init(injector types.Injector) error
	// Close should release and clean up the module resource
	Close() error
}

Module defines a minimum set of methods that custom module need to implement

type ModuleManager

type ModuleManager struct {
	Modules *Modules
	Mods    []Module
	// contains filtered or unexported fields
}

ModuleManager manager app modules, it is not thread safe.

func NewModuleManager

func NewModuleManager(modules *Modules) *ModuleManager

func (*ModuleManager) AllMods

func (m *ModuleManager) AllMods() ([]Module, error)

AllMods return all app modules

func (*ModuleManager) Close

func (m *ModuleManager) Close() error

Close closes all modules

func (*ModuleManager) Init

func (m *ModuleManager) Init(injector types.Injector) error

Init init all modules

type Modules

type Modules struct {
	System system.Module
}

Modules holds all app modules

Directories

Path Synopsis
api

Jump to

Keyboard shortcuts

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