Documentation
¶
Index ¶
- type Engine
- func (e *Engine) BatchProcess(ctx context.Context, parentDir string, opts ProcessOptions) ([]*ProcessResult, error)
- func (e *Engine) CheckLibraryUpdates(ctx context.Context, parentDir string) ([]LibraryUpdateStatus, error)
- func (e *Engine) GetPatchNote(ctx context.Context, targetPath string, itemIndex int) (*steam.NewsItem, string, error)
- func (e *Engine) InspectStatus(ctx context.Context, targetPath string) (*GameStatus, error)
- func (e *Engine) InspectStatusEx(ctx context.Context, targetPath string, newsCount int) (*GameStatus, error)
- func (e *Engine) ProcessGame(ctx context.Context, opts ProcessOptions) (*ProcessResult, error)
- func (e *Engine) Rollback(ctx context.Context, targetPath string, dryRun bool) error
- type GameStatus
- type LibraryUpdateStatus
- type ProcessOptions
- type ProcessResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Engine ¶
Engine is the core domain service orchestrating game scanning, patching, and launcher integrations.
func (*Engine) BatchProcess ¶
func (e *Engine) BatchProcess(ctx context.Context, parentDir string, opts ProcessOptions) ([]*ProcessResult, error)
BatchProcess scans a parent directory containing multiple game folders and processes each discovered game.
func (*Engine) CheckLibraryUpdates ¶ added in v1.0.107
func (e *Engine) CheckLibraryUpdates(ctx context.Context, parentDir string) ([]LibraryUpdateStatus, error)
CheckLibraryUpdates scans a directory containing game folders and checks for available Steam updates.
func (*Engine) GetPatchNote ¶ added in v1.0.107
func (e *Engine) GetPatchNote(ctx context.Context, targetPath string, itemIndex int) (*steam.NewsItem, string, error)
GetPatchNote fetches and retrieves a single patch note at itemIndex (1-indexed) for a game path or AppID.
func (*Engine) InspectStatus ¶
InspectStatus inspects a game directory to determine its patch and configuration state.
func (*Engine) InspectStatusEx ¶ added in v1.0.107
func (e *Engine) InspectStatusEx(ctx context.Context, targetPath string, newsCount int) (*GameStatus, error)
InspectStatusEx extends InspectStatus with customizable news history depth.
func (*Engine) ProcessGame ¶
func (e *Engine) ProcessGame(ctx context.Context, opts ProcessOptions) (*ProcessResult, error)
ProcessGame processes a game directory according to the supplied options.
type GameStatus ¶
type GameStatus struct {
Name string
AppID string
GameDir string
Platform string
ExePath string
State string // "Original", "Loader-Configured", "Portable-Patched"
OriginalBackups []string
SettingsDirExists bool
SteamAppIDTxtFound bool
ManifestID string
BuildID string
DiskSizeBytes int64
FileCount int
DLCCount int
AchievementCount int
LutrisRegistered bool
RecentPatchNote string
NewsItems []steam.NewsItem
}
GameStatus describes the current patch & integration state of a game.
type LibraryUpdateStatus ¶ added in v1.0.107
type LibraryUpdateStatus struct {
GameTitle string
AppID string
GameDir string
LocalManifestID string
HasUpdate bool
}
LibraryUpdateStatus represents update availability status for a game in the library.
type ProcessOptions ¶
type ProcessOptions struct {
Path string
AddLutris bool
Portable bool
Promote bool
DryRun bool
AutoYes bool
NoSteamless bool
FetchAchievements bool
WinePrefix string
Runner string
}
ProcessOptions holds configuration flags for processing a game directory.
type ProcessResult ¶
type ProcessResult struct {
Info *detector.GameInfo
LutrisAdded bool
Patched bool
SteamlessUnpacked bool
ManifestsMoved bool
Errors []string
}
ProcessResult summarizes the outcome of processing a game.
func ProcessGame ¶
func ProcessGame(ctx context.Context, cfg *config.Config, opts ProcessOptions) (*ProcessResult, error)
ProcessGame executes the end-to-end post-download setup for a single game directory.