Files
soft_quay/app-modern/platform/windows/platform.go
T

32 lines
877 B
Go
Raw Normal View History

package windows
2026-07-19 21:10:59 +08:00
import (
"errors"
"softbox.local/core/application/launch"
)
// Edition identifies the application build channel shown by the UI.
type Edition string
const EditionModern Edition = "Modern"
2026-07-19 21:10:59 +08:00
// ErrUnsupported reports that a Windows-only capability is unavailable on the
// current host. Callers must treat it as an unknown state, never as a stopped
// process or a compatible system.
var ErrUnsupported = errors.New("windows platform capability is unsupported on this host")
// Platform is the minimal boundary for target-specific capabilities.
type Platform interface {
OS() string
Edition() Edition
2026-07-19 21:10:59 +08:00
IsCompatible(minOS string) (bool, error)
IsRunning(appID, entrypoint string) (bool, error)
Start(command launch.Command) (int, error)
}
// New returns the platform implementation selected by build tags.
func New() Platform {
return newPlatform()
}