package service import "mfd-monitor-agent/internal/config" // InstallOptions carries platform-specific service installation inputs. type InstallOptions struct { // ConfigPath is preserved in the service command line when a config file was supplied. ConfigPath string } // Manager controls operating system service installation and lifecycle commands. type Manager interface { // Install registers the agent executable as an operating system service. Install(executable string, cfg config.Config, opts InstallOptions) error // Uninstall removes the operating system service registration. Uninstall(cfg config.Config) error // Start asks the operating system service manager to start the agent service. Start(cfg config.Config) error // Stop asks the operating system service manager to stop the agent service. Stop(cfg config.Config) error } // NewManager returns the platform-specific service manager. func NewManager() Manager { return newManager() }