Service: runtime
The runtime service provides the main entry point for the application and a helper structure for services to interact with the Core.
Types
type Runtime
Runtime is the top-level container that holds the Core instance and the Wails application. It serves as the bridge between Wails and the Core framework.
type Runtime struct {
// Core is the central service manager
Core *Core
// app is the Wails application instance
app *application.App
}
type ServiceRuntime[T any]
ServiceRuntime is a generic helper struct designed to be embedded in service implementations. It provides easy access to the Core and service-specific options.
type ServiceRuntime[T any] struct {
core *Core
opts T
}
type ServiceFactory
ServiceFactory is a function type that creates a service instance.
type ServiceFactory func() (any, error)
Functions
func NewRuntime(app *application.App) (*Runtime, error)
NewRuntime creates and wires together all application services using default settings. It is the standard way to initialize the runtime.
func NewWithFactories(app *application.App, factories map[string]ServiceFactory) (*Runtime, error)
NewWithFactories creates a new Runtime instance using a provided map of service factories. This allows for flexible, dynamic service registration.
func NewServiceRuntime[T any](c *Core, opts T) *ServiceRuntime[T]
NewServiceRuntime creates a new ServiceRuntime instance. This is typically used in a service's factory or constructor.
Methods
func (r *Runtime) ServiceName() string
ServiceName returns the name of the service ("Core"). This is used by Wails for service identification.
func (r *Runtime) ServiceStartup(ctx context.Context, options application.ServiceOptions)
ServiceStartup delegates the startup lifecycle event to the underlying Core, which in turn initializes all registered services.
func (r *Runtime) ServiceShutdown(ctx context.Context)
ServiceShutdown delegates the shutdown lifecycle event to the underlying Core.
func (r *ServiceRuntime[T]) Core() *Core
Core returns the central Core instance, giving the service access to other services and features.
func (r *ServiceRuntime[T]) Config() Config
Config returns the registered Config service from the Core. It is a convenience method for accessing configuration.