Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrCandidateDisappeared = goerrors.New("candidate disappeared from disk!")
Functions ¶
func Launch ¶
func Launch(rc *butlerd.RequestContext, params butlerd.LaunchParams) (*butlerd.LaunchResult, error)
func RegisterLauncher ¶
func RegisterLauncher(strategy LaunchStrategy, launcher Launcher)
Types ¶
type LaunchStrategy ¶
type LaunchStrategy string
const ( LaunchStrategyUnknown LaunchStrategy = "" LaunchStrategyNative LaunchStrategy = "native" LaunchStrategyHTML LaunchStrategy = "html" LaunchStrategyURL LaunchStrategy = "url" LaunchStrategyShell LaunchStrategy = "shell" )
type Launcher ¶
type Launcher interface {
Do(params LauncherParams) error
}
type LauncherParams ¶
type LauncherParams struct {
RequestContext *butlerd.RequestContext
Ctx context.Context
// If relative, it's relative to the WorkingDirectory
FullTargetPath string
// May be nil
PeInfo *pelican.PeInfo
// May be nil
Candidate *dash.Candidate
// May be nil
AppManifest *butlerd.Manifest
// May be nil
Action *butlerd.Action
// If true, enable sandbox
Sandbox bool
// Additional command-line arguments
Args []string
// Additional environment variables
Env map[string]string
PrereqsDir string
ForcePrereqs bool
Access *operate.GameAccess
InstallFolder string
Runtime *ox.Runtime
SessionStarted func()
// contains filtered or unexported fields
}
func (*LauncherParams) GetInstallContainer ¶
func (lp *LauncherParams) GetInstallContainer() (*tlc.Container, error)
type StrategyResult ¶
type StrategyResult struct {
Strategy LaunchStrategy
FullTargetPath string
Candidate *dash.Candidate
}
func DetermineCandidateStrategy ¶
func DetermineCandidateStrategy(basePath string, candidate *dash.Candidate) (*StrategyResult, error)
func DetermineStrategy ¶
func (*StrategyResult) String ¶
func (sr *StrategyResult) String() string
Click to show internal directories.
Click to hide internal directories.