Documentation
¶
Index ¶
- Constants
- Variables
- type App
- func (a *App) AcquireProfileLaunchLock(profileID uuid.UUID) (*ProfileLaunchLock, error)
- func (a *App) ClearModCache() error
- func (a *App) DetectGamePath() (string, error)
- func (a *App) DetectLauncherType(path string) aumgr.LauncherType
- func (a *App) ExecuteLaunch(gamePath string, dllDir string, joinInfo *LaunchJoinInfo, ...) error
- func (a *App) ExportProfile(prof profile.Profile) (string, error)
- func (a *App) ExportProfileArchive(prof profile.Profile, iconPNG []byte) ([]byte, error)
- func (a *App) GetInstallationStatus(gamePath string, checkUpdates bool) *InstallationInfo
- func (a *App) GetLobbyInfoByPID(pid int) (*IPCLobbyInfo, error)
- func (a *App) HandleSharedProfile(uri string) (*profile.SharedProfile, error)
- func (a *App) HandleSharedProfileArchive(reader io.ReaderAt, size int64) (*profile.SharedProfile, []byte, error)
- func (a *App) HandleSharedProfileArchiveFile(path string) (*profile.SharedProfile, []byte, error)
- func (a *App) IsLobbyInfoAvailable() bool
- func (a *App) LoadRunningProfilesFromLocks() ([]RunningProfileInfo, error)
- func (a *App) ParseJoinGameURI(uri string) (*JoinGameLink, error)
- func (a *App) PrepareLaunch(gamePath string, profileID uuid.UUID) (string, func() error, error)
- func (a *App) ResolveDependencies(initialMods []modmgr.ModVersion) ([]modmgr.ModVersion, error)
- func (a *App) ResolveProfileDependencies(profileID uuid.UUID) ([]modmgr.ModVersion, error)
- func (a *App) SendLobbyJoinByPID(pid int, joinInfo LaunchJoinInfo) error
- func (a *App) StartLobbyInfoPolling(pid int, interval time.Duration, onInfo func(*IPCLobbyInfo), ...) func()
- func (a *App) SyncProfile(profileID uuid.UUID, binaryType aumgr.BinaryType, gameVersion string, ...) error
- func (a *App) UninstallMod(gamePath string, progressListener progress.Progress) error
- type IPCLobbyInfo
- type InstallStatus
- type InstallationInfo
- type JoinGameLink
- type LaunchJoinInfo
- type OutdatedMod
- type ProfileLaunchLock
- type RunningProfileInfo
Constants ¶
View Source
const (
ProfileVersion = "v1"
)
Variables ¶
View Source
var ErrProfileLaunchBusy = errors.New("profile launch is already running")
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct {
Version string
ConfigDir string
Rest rest.Client
ProfileManager *profile.Manager
EpicSessionManager *aumgr.EpicSessionManager
EpicApi *aumgr.EpicApi
}
func (*App) AcquireProfileLaunchLock ¶ added in v1.5.3
func (a *App) AcquireProfileLaunchLock(profileID uuid.UUID) (*ProfileLaunchLock, error)
func (*App) ClearModCache ¶
func (*App) DetectGamePath ¶
func (*App) DetectLauncherType ¶
func (a *App) DetectLauncherType(path string) aumgr.LauncherType
func (*App) ExecuteLaunch ¶
func (a *App) ExecuteLaunch(gamePath string, dllDir string, joinInfo *LaunchJoinInfo, onStarted func(pid int) error) error
ExecuteLaunch launches the game and blocks until it exits.
func (*App) ExportProfileArchive ¶ added in v1.5.0
func (*App) GetInstallationStatus ¶
func (a *App) GetInstallationStatus(gamePath string, checkUpdates bool) *InstallationInfo
func (*App) GetLobbyInfoByPID ¶ added in v1.6.0
func (a *App) GetLobbyInfoByPID(pid int) (*IPCLobbyInfo, error)
func (*App) HandleSharedProfile ¶
func (a *App) HandleSharedProfile(uri string) (*profile.SharedProfile, error)
func (*App) HandleSharedProfileArchive ¶ added in v1.5.0
func (*App) HandleSharedProfileArchiveFile ¶ added in v1.5.0
func (*App) IsLobbyInfoAvailable ¶ added in v1.6.0
func (*App) LoadRunningProfilesFromLocks ¶ added in v1.6.2
func (a *App) LoadRunningProfilesFromLocks() ([]RunningProfileInfo, error)
LoadRunningProfilesFromLocks scans the profile lock directory and returns information about profiles that are currently running (have valid lock files with active processes).
func (*App) ParseJoinGameURI ¶ added in v1.6.0
func (a *App) ParseJoinGameURI(uri string) (*JoinGameLink, error)
func (*App) PrepareLaunch ¶
PrepareLaunch prepares the game for launch by preparing the profile directory.
func (*App) ResolveDependencies ¶
func (a *App) ResolveDependencies(initialMods []modmgr.ModVersion) ([]modmgr.ModVersion, error)
func (*App) ResolveProfileDependencies ¶
ResolveProfileDependencies resolves all required dependencies for the given profile.
func (*App) SendLobbyJoinByPID ¶ added in v1.6.0
func (a *App) SendLobbyJoinByPID(pid int, joinInfo LaunchJoinInfo) error
func (*App) StartLobbyInfoPolling ¶ added in v1.6.0
type IPCLobbyInfo ¶ added in v1.6.0
type IPCLobbyInfo struct {
HasClient bool `json:"HasClient"`
IsConnected bool `json:"IsConnected"`
GameState string `json:"GameState"`
LobbyCode string `json:"LobbyCode"`
ServerIP string `json:"ServerIp"`
ServerPort int `json:"ServerPort"`
IsHost *bool `json:"IsHost"`
IsInGame *bool `json:"IsInGame"`
}
type InstallStatus ¶
type InstallStatus int
const ( StatusNotInstalled InstallStatus = iota StatusInstalled StatusBroken StatusIncompatible )
type InstallationInfo ¶
type InstallationInfo struct {
Status InstallStatus
GameVersion string
InstalledGameVersion string
InstalledMods []modmgr.InstalledVersionInfo
OutdatedMods []OutdatedMod
Error error
}
type JoinGameLink ¶ added in v1.6.0
type LaunchJoinInfo ¶ added in v1.6.0
type OutdatedMod ¶
type ProfileLaunchLock ¶ added in v1.5.3
type ProfileLaunchLock struct {
// contains filtered or unexported fields
}
func (*ProfileLaunchLock) Release ¶ added in v1.5.3
func (l *ProfileLaunchLock) Release() error
func (*ProfileLaunchLock) SetGamePID ¶ added in v1.5.3
Click to show internal directories.
Click to hide internal directories.