Skip to content

UOperatingSystemBaseProgram

#include <OperatingSystemSimulator/Public/Programs/OperatingSystemBaseProgram.h>
class UOperatingSystemBaseProgram

Defined in OperatingSystemBaseProgram.h:58

Inherits: UObject Subclassed by: UOperatingSystemAudioPlayer, UOperatingSystemCCTVProgram, UOperatingSystemDroneProgram, UOperatingSystemStore, UOperatingSystemTerminal, UOperatingSystemVideoPlayer

---
config:
  class:
    hideEmptyMembersBox: true
---
classDiagram
  class UOperatingSystemBaseProgram["UOperatingSystemBaseProgram"]
  class UObject["UObject"]
  UObject <|-- UOperatingSystemBaseProgram
  class UOperatingSystemAudioPlayer["UOperatingSystemAudioPlayer"]
  UOperatingSystemBaseProgram <|-- UOperatingSystemAudioPlayer
  class UOperatingSystemCCTVProgram["UOperatingSystemCCTVProgram"]
  UOperatingSystemBaseProgram <|-- UOperatingSystemCCTVProgram
  class UOperatingSystemDroneProgram["UOperatingSystemDroneProgram"]
  UOperatingSystemBaseProgram <|-- UOperatingSystemDroneProgram
  class UOperatingSystemStore["UOperatingSystemStore"]
  UOperatingSystemBaseProgram <|-- UOperatingSystemStore
  class UOperatingSystemTerminal["UOperatingSystemTerminal"]
  UOperatingSystemBaseProgram <|-- UOperatingSystemTerminal
  class UOperatingSystemVideoPlayer["UOperatingSystemVideoPlayer"]
  UOperatingSystemBaseProgram <|-- UOperatingSystemVideoPlayer
---
config:
  class:
    hideEmptyMembersBox: true
---
classDiagram
  class UOperatingSystemBaseProgram["UOperatingSystemBaseProgram"]
  class FOperatingSystemVersion["FOperatingSystemVersion"]
  UOperatingSystemBaseProgram *-- FOperatingSystemVersion
  class UOperatingSystemProgramIconWidget["UOperatingSystemProgramIconWidget"]
  UOperatingSystemBaseProgram *-- UOperatingSystemProgramIconWidget
  class UOperatingSystemProgramWidget["UOperatingSystemProgramWidget"]
  UOperatingSystemBaseProgram *-- UOperatingSystemProgramWidget
  class EOperatingSystemProgramCloseMethod["EOperatingSystemProgramCloseMethod"]
  UOperatingSystemBaseProgram ..> EOperatingSystemProgramCloseMethod
  class EOperatingSystemProgramSaveMethod["EOperatingSystemProgramSaveMethod"]
  UOperatingSystemBaseProgram ..> EOperatingSystemProgramSaveMethod
  class UOperatingSystemProgramSettings["UOperatingSystemProgramSettings"]
  UOperatingSystemBaseProgram *-- UOperatingSystemProgramSettings
  class UOperatingSystemProgramData["UOperatingSystemProgramData"]
  UOperatingSystemBaseProgram *-- UOperatingSystemProgramData
  class EOperatingSystemWindowStartupState["EOperatingSystemWindowStartupState"]
  UOperatingSystemBaseProgram ..> EOperatingSystemWindowStartupState
  class UDraggableWindow["UDraggableWindow"]
  UOperatingSystemBaseProgram *-- UDraggableWindow
  class UOperatingSystemTaskbarButton["UOperatingSystemTaskbarButton"]
  UOperatingSystemBaseProgram *-- UOperatingSystemTaskbarButton
  class UOperatingSystemPartition["UOperatingSystemPartition"]
  UOperatingSystemBaseProgram *-- UOperatingSystemPartition
  class UOperatingSystemFile["UOperatingSystemFile"]
  UOperatingSystemBaseProgram *-- UOperatingSystemFile
  class UOperatingSystem["UOperatingSystem"]
  UOperatingSystemBaseProgram *-- UOperatingSystem
---
config:
  class:
    hideEmptyMembersBox: true
---
classDiagram
  class UOperatingSystemBaseProgram {
    +OnOperatingSystemProgramViewStateChanged : FOnOperatingSystemProgramViewStateChange
    +UOperatingSystemBaseProgram()
    +StartProgram(FGenericError &OutError) UOperatingSystemBaseProgram() *
    +IsRunning() const bool()
    +CanAddToDesktop() const bool()
    +GetOperatingSystem() const UOperatingSystem() *
    +CreateIconWidget() UOperatingSystemProgramIconWidget() *
    +GetIconWidget() const UOperatingSystemProgramIconWidget() *
    +OpenFile(UOperatingSystemFile *TargetFile, FGenericE void()
    +CloseProgram(const bool bIsFullClose, FGenericError &Out void()
    +BringToFront(FGenericError &OutError) const void()
    +GetParentWindow() const UDraggableWindow() *
    +IsCompatibleWithOS(const TWeakObjectPtr< const UOperatingSyste void()
    +CanSaveSettings() const bool()
    +SetParentPartition(TWeakObjectPtr< UOperatingSystemPartition > void()
    +OnProgramWindowStateChanged(const EOperatingSystemProgramViewState &New void()
    +IsWindowMaximized() const bool()
    +GetSaveSlotName() const FString()
    +GetWindowPosition() const TOptional()< FVector2D() >
    +GetParentPartition() const TWeakObjectPtr()< UOperatingSystemPartit
    +GetIconWidgetClass() const TSoftClassPtr()< UOperatingSystemProgram
    +GetWidgetClass() const TSoftClassPtr()< UOperatingSystemProgram
    +GetSettingsClass() const TSoftClassPtr()< UOperatingSystemProgram
    +GetDataClass() const TSoftClassPtr()< UOperatingSystemProgram
    +GetTaskbarButtonClass() const TSoftClassPtr()< UOperatingSystemTaskbar
    +GetSettings() const TWeakObjectPtr< UOperatingSystemProgramS
    +GetDataObj() const TWeakObjectPtr()< UOperatingSystemProgra
    +GetTaskbarButton() const TWeakObjectPtr()< UOperatingSystemTaskba
    +GetProgramWidget() const UOperatingSystemProgramWidget() *
    +CreateDataObj(FGenericError &OutError) void()
    +GetSettings() const T *
    +GetDataObj() const T() *
    +GetAs() const T() *
    +GetAs() T() *
    +GetProgramName() const FString()
    +GetIdentifier() const FName()
    +IsSingleInstanceProgram() const bool()
    +IsSystemInstalledProgram() const bool()
    +GetProcessID() const uint32()
    +GetSpaceRequiredInMB() const float()
    +ShouldRememberLastWindowPosition() const bool()
    +IsSetToRunOnStartup() const bool()
    +GetCloseMethod() const EOperatingSystemProgramCloseMethod()
    +CreateProgram(TWeakObjectPtr< UOperatingSystem > OwningOS UOperatingSystemBaseProgram() *
    +IsStoreItemFree(const FOperatingSystemStoreProgramData &Pro bool()
    +Name : FText()
    +Author : FText()
    +Description : FText()
    +Identifier : FName()
    +Version : FOperatingSystemVersion()
    +StoreDisplayName : FText()
    +StoreType : FText()
    +StorePrice : float()
    +SupportedOperatingSystems : FGameplayTagContainer()
    +bRequireMinOperatingSystemVersion : uint8()
    +MinOperatingSystemVersion : FOperatingSystemVersion()
    +IconObject : TSoftObjectPtr()< UObject >
    +SpaceRequiredInMB : float()
    +IconWidgetClass : TSoftClassPtr()< UOperatingSystemProgram
    +WidgetClass : TSoftClassPtr()< UOperatingSystemProgram
    +CloseMethod : EOperatingSystemProgramCloseMethod()
    +SaveMethod : EOperatingSystemProgramSaveMethod()
    +SettingsClass : TSoftClassPtr()< UOperatingSystemProgram
    +DataClass : TSoftClassPtr()< UOperatingSystemProgram
    +bRunOnStartup : uint8()
    +bRequiresData : uint8()
    +bAddToDesktop : uint8()
    +bCreateNotification : uint8()
    +bSingleInstanceOnly : uint8()
    +bCanRunOnPortableDevice : uint8()
    +bCreateSettingsBeforeStarting : uint8()
    +bRememberLastWindowPosition : uint8()
    +bAllowDragging : uint8()
    +bAllowResizing : uint8()
    +bOverrideWindowSize : uint8()
    +OverrideWindowSize : FVector2D()
    +MinimumWindowResize : FVector2D()
    +StartWindowState : EOperatingSystemWindowStartupState()
    +OverrideWindowClass : TSoftClassPtr()< UDraggableWindow() >
    +TaskbarButtonClass : TSoftClassPtr()< UOperatingSystemTaskbar
    +ParentPartition : TWeakObjectPtr()< UOperatingSystemPartit
    +OnValidate(FGenericError &OutError) const void()
    +OnStart(FGenericError &OutError) void()
    +OnClose(FGenericError &OutError) void()
    +OnOpenFile(UOperatingSystemFile *TargetFile, FGenericE void()
    +OnThemeChanged(UOperatingSystemSettingModule_Theme *ThemeP void()
    +K2_OnCreate() void()
    +K2_OnInstall() void()
    +K2_OnStart() FGenericError()
    +K2_OnClose() void()
    +K2_OnSettingsLoad(UOperatingSystemProgramSettings *LoadedSett void()
    +K2_OnOpenFile(FGenericError &OutError) void()
    +K2_OnValidate(FGenericError &OutError) const void()
    +K2_GetSaveSlotName() const FString()
    +bIsSystemInstalledProgram : uint8()
    +bHasBlueprintOnCreate : uint8()
    +bHasBlueprintOnInstall : uint8()
    +bHasBlueprintOnStart : uint8()
    +bHasBlueprintOnClose : uint8()
    +bHasBlueprintOnSettingsLoad : uint8()
    +bHasBlueprintOnOpenFile : uint8()
    +bHasBlueprintGetSaveSlotName : uint8()
    +bHasBlueprintOnValidate : uint8()
    +ProgramWidget : TObjectPtr()< UOperatingSystemProgramWid
    +Settings : TObjectPtr()< UOperatingSystemProgramSet
    +DataObj : TObjectPtr()< UOperatingSystemProgramDat
    +ChildFile : TObjectPtr()< UOperatingSystemFile() >
    +ParentOS : TWeakObjectPtr()< UOperatingSystem() >
    +ParentWindow : TObjectPtr()< UDraggableWindow() >
    +TaskbarButton : TObjectPtr()< UOperatingSystemTaskbarBut
    +ProcessID : int32()
    +CachedIconWidget : TObjectPtr()< UOperatingSystemProgramIco
    +Internal_Start(FGenericError &OutError) void()
    +Internal_Validate(FGenericError &OutError) const void()
    +Internal_LoadProgramSettings(FGenericError &OutError) void()
    +Internal_OnThemeChanged(UObject *Payload) void()
  }

Documented call sites inside the plugin (68):

flowchart LR
  UOperatingSystemBaseProgram__GetSettings["UOperatingSystemBaseProgram::GetSettings"]
  UOperatingSystemBaseProgram__BringToFront["UOperatingSystemBaseProgram::BringToFront"]
  UOperatingSystemBaseProgram__BringToFront --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemCCTVProgram__CaptureNow["UOperatingSystemCCTVProgram::CaptureNow"]
  UOperatingSystemCCTVProgram__CaptureNow --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__ChangeCurrentPath["UOperatingSystemTerminal::ChangeCurrentPath"]
  UOperatingSystemTerminal__ChangeCurrentPath --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__ChangeCurrentUser["UOperatingSystemTerminal::ChangeCurrentUser"]
  UOperatingSystemTerminal__ChangeCurrentUser --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__CheckRootPassword["UOperatingSystemTerminal::CheckRootPassword"]
  UOperatingSystemTerminal__CheckRootPassword --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__ClearHistory["UOperatingSystemTerminal::ClearHistory"]
  UOperatingSystemTerminal__ClearHistory --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__CloseProgram["UOperatingSystemBaseProgram::CloseProgram"]
  UOperatingSystemBaseProgram__CloseProgram --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__CreateDataObj["UOperatingSystemBaseProgram::CreateDataObj"]
  UOperatingSystemBaseProgram__CreateDataObj --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__CreateIconWidget["UOperatingSystemBaseProgram::CreateIconWidget"]
  UOperatingSystemBaseProgram__CreateIconWidget --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__CreateProgram["UOperatingSystemBaseProgram::CreateProgram"]
  UOperatingSystemBaseProgram__CreateProgram --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemProgramSettings__CreateSettings["UOperatingSystemProgramSettings::CreateSettings"]
  UOperatingSystemProgramSettings__CreateSettings --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__DestroyActiveCommand["UOperatingSystemTerminal::DestroyActiveCommand"]
  UOperatingSystemTerminal__DestroyActiveCommand --> UOperatingSystemBaseProgram__GetSettings
  FOperatingSystemStoreProgramData__FOperatingSystemStoreProgramData["FOperatingSystemStoreProgramData::FOperatingSystemStoreProgramData"]
  FOperatingSystemStoreProgramData__FOperatingSystemStoreProgramData --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemCCTVProgram__GetAllCCTV_Actors["UOperatingSystemCCTVProgram::GetAllCCTV_Actors"]
  UOperatingSystemCCTVProgram__GetAllCCTV_Actors --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemStore__GetAverageRating["UOperatingSystemStore::GetAverageRating"]
  UOperatingSystemStore__GetAverageRating --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__GetCommand["UOperatingSystemTerminal::GetCommand"]
  UOperatingSystemTerminal__GetCommand --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__GetCurrentDirectoryPath["UOperatingSystemTerminal::GetCurrentDirectoryPath"]
  UOperatingSystemTerminal__GetCurrentDirectoryPath --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemCCTVProgram__GetCurrentLayout["UOperatingSystemCCTVProgram::GetCurrentLayout"]
  UOperatingSystemCCTVProgram__GetCurrentLayout --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemProgramSettings__GetLastWindowPosition["UOperatingSystemProgramSettings::GetLastWindowPosition"]
  UOperatingSystemProgramSettings__GetLastWindowPosition --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__GetNextCommandFromHistory["UOperatingSystemTerminal::GetNextCommandFromHistory"]
  UOperatingSystemTerminal__GetNextCommandFromHistory --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__GetPreviousCommandFromHistory["UOperatingSystemTerminal::GetPreviousCommandFromHistory"]
  UOperatingSystemTerminal__GetPreviousCommandFromHistory --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__GetSaveSlotName["UOperatingSystemBaseProgram::GetSaveSlotName"]
  UOperatingSystemBaseProgram__GetSaveSlotName --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__GetWindowPosition["UOperatingSystemBaseProgram::GetWindowPosition"]
  UOperatingSystemBaseProgram__GetWindowPosition --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminalCommand__HasFlag["UOperatingSystemTerminalCommand::HasFlag"]
  UOperatingSystemTerminalCommand__HasFlag --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__HasRepository["UOperatingSystemTerminal::HasRepository"]
  UOperatingSystemTerminal__HasRepository --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__Internal_FindAdditionalCommands["UOperatingSystemTerminal::Internal_FindAdditionalCommands"]
  UOperatingSystemTerminal__Internal_FindAdditionalCommands --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemStore__Internal_GetCurrentAverageRating["UOperatingSystemStore::Internal_GetCurrentAverageRating"]
  UOperatingSystemStore__Internal_GetCurrentAverageRating --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemStore__Internal_GetSaveFile["UOperatingSystemStore::Internal_GetSaveFile"]
  UOperatingSystemStore__Internal_GetSaveFile --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__Internal_LoadProgramSettings["UOperatingSystemBaseProgram::Internal_LoadProgramSettings"]
  UOperatingSystemBaseProgram__Internal_LoadProgramSettings --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemAudioPlayer__Internal_OnAudioPlaybackChanged["UOperatingSystemAudioPlayer::Internal_OnAudioPlaybackChanged"]
  UOperatingSystemAudioPlayer__Internal_OnAudioPlaybackChanged --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemAudioPlayer__Internal_OnAudioPlayStateChanged["UOperatingSystemAudioPlayer::Internal_OnAudioPlayStateChanged"]
  UOperatingSystemAudioPlayer__Internal_OnAudioPlayStateChanged --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__Internal_OnThemeChanged["UOperatingSystemBaseProgram::Internal_OnThemeChanged"]
  UOperatingSystemBaseProgram__Internal_OnThemeChanged --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__Internal_Start["UOperatingSystemBaseProgram::Internal_Start"]
  UOperatingSystemBaseProgram__Internal_Start --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemStore__Internal_TryCreateSaveFile["UOperatingSystemStore::Internal_TryCreateSaveFile"]
  UOperatingSystemStore__Internal_TryCreateSaveFile --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__Internal_Validate["UOperatingSystemBaseProgram::Internal_Validate"]
  UOperatingSystemBaseProgram__Internal_Validate --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__IsCompatibleWithOS["UOperatingSystemBaseProgram::IsCompatibleWithOS"]
  UOperatingSystemBaseProgram__IsCompatibleWithOS --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__IsRunning["UOperatingSystemBaseProgram::IsRunning"]
  UOperatingSystemBaseProgram__IsRunning --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__IsStoreItemFree["UOperatingSystemBaseProgram::IsStoreItemFree"]
  UOperatingSystemBaseProgram__IsStoreItemFree --> UOperatingSystemBaseProgram__GetSettings
  FOperatingSystemCommandFlag__IsValid["FOperatingSystemCommandFlag::IsValid"]
  FOperatingSystemCommandFlag__IsValid --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__MessageReceivedFromCommand["UOperatingSystemTerminal::MessageReceivedFromCommand"]
  UOperatingSystemTerminal__MessageReceivedFromCommand --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemAudioPlayer__OnOpenFile["UOperatingSystemAudioPlayer::OnOpenFile"]
  UOperatingSystemAudioPlayer__OnOpenFile --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemVideoPlayer__OnOpenFile["UOperatingSystemVideoPlayer::OnOpenFile"]
  UOperatingSystemVideoPlayer__OnOpenFile --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__OnProgramWindowStateChanged["UOperatingSystemBaseProgram::OnProgramWindowStateChanged"]
  UOperatingSystemBaseProgram__OnProgramWindowStateChanged --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemCCTVProgram__OnStart["UOperatingSystemCCTVProgram::OnStart"]
  UOperatingSystemCCTVProgram__OnStart --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__OnStart["UOperatingSystemTerminal::OnStart"]
  UOperatingSystemTerminal__OnStart --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemCCTVProgram__OnValidate["UOperatingSystemCCTVProgram::OnValidate"]
  UOperatingSystemCCTVProgram__OnValidate --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemStore__OnValidate["UOperatingSystemStore::OnValidate"]
  UOperatingSystemStore__OnValidate --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__OnValidate["UOperatingSystemTerminal::OnValidate"]
  UOperatingSystemTerminal__OnValidate --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__OpenFile["UOperatingSystemBaseProgram::OpenFile"]
  UOperatingSystemBaseProgram__OpenFile --> UOperatingSystemBaseProgram__GetSettings
  FOperatingSystemCommandFlag__operator["FOperatingSystemCommandFlag::operator=="]
  FOperatingSystemCommandFlag__operator --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__ProcessCommand["UOperatingSystemTerminal::ProcessCommand"]
  UOperatingSystemTerminal__ProcessCommand --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__PromptRootPassword["UOperatingSystemTerminal::PromptRootPassword"]
  UOperatingSystemTerminal__PromptRootPassword --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__PromptUserContinue["UOperatingSystemTerminal::PromptUserContinue"]
  UOperatingSystemTerminal__PromptUserContinue --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemProgramSettings__SaveSettings["UOperatingSystemProgramSettings::SaveSettings"]
  UOperatingSystemProgramSettings__SaveSettings --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemCCTVProgram__SetCaptureMethod["UOperatingSystemCCTVProgram::SetCaptureMethod"]
  UOperatingSystemCCTVProgram__SetCaptureMethod --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemCCTVProgram__SetCaptureSpeed["UOperatingSystemCCTVProgram::SetCaptureSpeed"]
  UOperatingSystemCCTVProgram__SetCaptureSpeed --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemCCTVProgram__SetLayout["UOperatingSystemCCTVProgram::SetLayout"]
  UOperatingSystemCCTVProgram__SetLayout --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__SetParentPartition["UOperatingSystemBaseProgram::SetParentPartition"]
  UOperatingSystemBaseProgram__SetParentPartition --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemAudioPlayer__SetPaused["UOperatingSystemAudioPlayer::SetPaused"]
  UOperatingSystemAudioPlayer__SetPaused --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemCCTVProgram__SetSelectedCamera["UOperatingSystemCCTVProgram::SetSelectedCamera"]
  UOperatingSystemCCTVProgram__SetSelectedCamera --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemAudioPlayer__SetVolumeMultiplier["UOperatingSystemAudioPlayer::SetVolumeMultiplier"]
  UOperatingSystemAudioPlayer__SetVolumeMultiplier --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemBaseProgram__StartProgram["UOperatingSystemBaseProgram::StartProgram"]
  UOperatingSystemBaseProgram__StartProgram --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemStore__SubmitRating["UOperatingSystemStore::SubmitRating"]
  UOperatingSystemStore__SubmitRating --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemAudioPlayer__UOperatingSystemAudioPlayer["UOperatingSystemAudioPlayer::UOperatingSystemAudioPlayer"]
  UOperatingSystemAudioPlayer__UOperatingSystemAudioPlayer --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemCCTVProgram__UOperatingSystemCCTVProgram["UOperatingSystemCCTVProgram::UOperatingSystemCCTVProgram"]
  UOperatingSystemCCTVProgram__UOperatingSystemCCTVProgram --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemStore__UOperatingSystemStore["UOperatingSystemStore::UOperatingSystemStore"]
  UOperatingSystemStore__UOperatingSystemStore --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemVideoPlayer__UOperatingSystemVideoPlayer["UOperatingSystemVideoPlayer::UOperatingSystemVideoPlayer"]
  UOperatingSystemVideoPlayer__UOperatingSystemVideoPlayer --> UOperatingSystemBaseProgram__GetSettings
  UOperatingSystemTerminal__VerifyUserPrompt["UOperatingSystemTerminal::VerifyUserPrompt"]
  UOperatingSystemTerminal__VerifyUserPrompt --> UOperatingSystemBaseProgram__GetSettings

Documented call sites inside the plugin (8):

flowchart LR
  UOperatingSystemBaseProgram__GetOperatingSystem["UOperatingSystemBaseProgram::GetOperatingSystem"]
  UOperatingSystemTerminal__ChangeCurrentUser["UOperatingSystemTerminal::ChangeCurrentUser"]
  UOperatingSystemTerminal__ChangeCurrentUser --> UOperatingSystemBaseProgram__GetOperatingSystem
  UOperatingSystemTerminal__CheckRootPassword["UOperatingSystemTerminal::CheckRootPassword"]
  UOperatingSystemTerminal__CheckRootPassword --> UOperatingSystemBaseProgram__GetOperatingSystem
  UOperatingSystemTaskbarButton__CreateTaskbarButton["UOperatingSystemTaskbarButton::CreateTaskbarButton"]
  UOperatingSystemTaskbarButton__CreateTaskbarButton --> UOperatingSystemBaseProgram__GetOperatingSystem
  UOperatingSystemTerminal__HasRepository["UOperatingSystemTerminal::HasRepository"]
  UOperatingSystemTerminal__HasRepository --> UOperatingSystemBaseProgram__GetOperatingSystem
  UOperatingSystemVideoPlayer__OnClose["UOperatingSystemVideoPlayer::OnClose"]
  UOperatingSystemVideoPlayer__OnClose --> UOperatingSystemBaseProgram__GetOperatingSystem
  UOperatingSystemAudioPlayer__OnOpenFile["UOperatingSystemAudioPlayer::OnOpenFile"]
  UOperatingSystemAudioPlayer__OnOpenFile --> UOperatingSystemBaseProgram__GetOperatingSystem
  UOperatingSystemTerminal__OnStart["UOperatingSystemTerminal::OnStart"]
  UOperatingSystemTerminal__OnStart --> UOperatingSystemBaseProgram__GetOperatingSystem
  UOperatingSystemStore__SubmitRating["UOperatingSystemStore::SubmitRating"]
  UOperatingSystemStore__SubmitRating --> UOperatingSystemBaseProgram__GetOperatingSystem

Documented call sites inside the plugin (3):

flowchart LR
  UOperatingSystemBaseProgram__GetProgramName["UOperatingSystemBaseProgram::GetProgramName"]
  UOperatingSystemWidget__CreateNewWindow["UOperatingSystemWidget::CreateNewWindow"]
  UOperatingSystemWidget__CreateNewWindow --> UOperatingSystemBaseProgram__GetProgramName
  UOperatingSystemAudioPlayer__OnOpenFile["UOperatingSystemAudioPlayer::OnOpenFile"]
  UOperatingSystemAudioPlayer__OnOpenFile --> UOperatingSystemBaseProgram__GetProgramName
  UOperatingSystemCCTVProgram__OnStart["UOperatingSystemCCTVProgram::OnStart"]
  UOperatingSystemCCTVProgram__OnStart --> UOperatingSystemBaseProgram__GetProgramName

Documented call sites inside the plugin (3):

flowchart LR
  UOperatingSystemBaseProgram__CreateProgram["UOperatingSystemBaseProgram::CreateProgram"]
  UOperatingSystem__Internal_InstallProgram["UOperatingSystem::Internal_InstallProgram"]
  UOperatingSystem__Internal_InstallProgram --> UOperatingSystemBaseProgram__CreateProgram
  UOperatingSystem__Internal_LoadSavedProgram["UOperatingSystem::Internal_LoadSavedProgram"]
  UOperatingSystem__Internal_LoadSavedProgram --> UOperatingSystemBaseProgram__CreateProgram
  UOperatingSystemBaseProgram__StartProgram["UOperatingSystemBaseProgram::StartProgram"]
  UOperatingSystemBaseProgram__StartProgram --> UOperatingSystemBaseProgram__CreateProgram

The base class for all operating system programs.

This class provides properties and functions that are common to all programs, such as the program name, author, description, version, and settings class.

To create a new program, derive from this class and implement the necessary functionality for the specific program.

See also: UOperatingSystemProgramWidget

See also: UOperatingSystemProgramSettings

ReturnNameDescription
FOnOperatingSystemProgramViewStateChangedOnOperatingSystemProgramViewStateChangedA Blueprint assignable delegate that is triggered when the view state of an operating system program changes. This delegate can be used to handle view state changes of an operating system program, such as when a program window is minimized or maximized.

FOnOperatingSystemProgramViewStateChanged OnOperatingSystemProgramViewStateChanged

Defined in OperatingSystemBaseProgram.h:273 A Blueprint assignable delegate that is triggered when the view state of an operating system program changes. This delegate can be used to handle view state changes of an operating system program, such as when a program window is minimized or maximized.

See also: OnOperatingSystemProgramViewStateChanged

See also: UOperatingSystemBaseProgram

ReturnNameDescription
UOperatingSystemBaseProgram
UOperatingSystemBaseProgram *StartProgramStarts a program in the operating system.
boolIsRunning constChecks if the program is running.
boolCanAddToDesktop constCheck if the program can be added to the desktop.
UOperatingSystem *GetOperatingSystem constGet the operating system associated with this program.
UOperatingSystemProgramIconWidget *CreateIconWidgetCreates an icon widget for the operating system program. This function creates an icon widget for the operating system program, if it has not been created before. If a cached icon widget exists, it is returned instead of creating a new one.
UOperatingSystemProgramIconWidget *GetIconWidget constGets the icon widget for the Operating System program.
voidOpenFileOpens a file in the operating system.
voidCloseProgramCloses the program.
voidBringToFront const
UDraggableWindow *GetParentWindow constGet the parent window of the program.
voidIsCompatibleWithOS constChecks if the given operating system is compatible with this program.
boolCanSaveSettings constChecks if the settings of the operating system base program can be saved.
voidSetParentPartitionSets the parent partition of the program to the specified operating system partition.
voidOnProgramWindowStateChanged constCalled when the program window’s state changes.
boolIsWindowMaximized constChecks whether the window of the operating system base program is maximized.
FStringGetSaveSlotName virtual constRetrieves the name of the save slot for the operating system program.
TOptional< FVector2D >GetWindowPosition constRetrieves the position of the window associated with the operating system program.
TWeakObjectPtr< UOperatingSystemPartition >GetParentPartition constGet the parent partition of the current operating system program.
TSoftClassPtr< UOperatingSystemProgramIconWidget >GetIconWidgetClass constRetrieves the class of the icon widget for the operating system program.
TSoftClassPtr< UOperatingSystemProgramWidget >GetWidgetClass constRetrieves the widget class associated with the operating system base program. This method returns the widget class that should be used to create the program widget for the specific program.
TSoftClassPtr< UOperatingSystemProgramSettings >GetSettingsClass constGet the settings class associated with this program. This method returns the class type of the settings object specific to this program.
TSoftClassPtr< UOperatingSystemProgramData >GetDataClass constRetrieves the data class associated with the program.
TSoftClassPtr< UOperatingSystemTaskbarButton >GetTaskbarButtonClass constRetrieves the taskbar button class associated with the program.
TWeakObjectPtr< UOperatingSystemProgramSettings >GetSettings constGet the settings object for the program.
TWeakObjectPtr< UOperatingSystemProgramData >GetDataObj constRetrieves the data object associated with the operating system program.
TWeakObjectPtr< UOperatingSystemTaskbarButton >GetTaskbarButton constRetrieves the taskbar button associated with the program.
UOperatingSystemProgramWidget *GetProgramWidget constReturns the program widget associated with the operating system program.
voidCreateDataObj
T *GetSettings const inlineGet the settings object of type T.
T *GetDataObj const inlineReturns the data object associated with the program.
T *GetAs const inlineReturns const program casted to given type.
T *GetAs inlineReturns program casted to given type.
FStringGetProgramName const inlineReturns the program name as a FString.
FNameGetIdentifier const inlineReturns the identifier of the program. The identifier serves as a unique identification for the program.
boolIsSingleInstanceProgram const inlineReturns a boolean value indicating whether the program is a single instance program. A single instance program is a program that allows only one instance to run at a time.
boolIsSystemInstalledProgram const inlineReturns a boolean value indicating whether the program is installed on the system. If the program is installed, it will return true; otherwise, it will return false.
uint32GetProcessID const inlineRetrieves the process ID of the current program. This method allows you to obtain the unique process ID of the program.
floatGetSpaceRequiredInMB const inlineGet the space required by the program in megabytes. This method returns the space required by the program in megabytes.
boolShouldRememberLastWindowPosition const inlineIndicates whether the program should remember the last window position.
boolIsSetToRunOnStartup const inlineIndicates whether this program should run at system startup.
EOperatingSystemProgramCloseMethodGetCloseMethod const inlineReturns the close method of the operating system program.

UOperatingSystemBaseProgram()

Defined in OperatingSystemBaseProgram.h:275

  • CHECK_IN_BP
  • IMPLEMENTED_IN_BP_LAMBDA

UOperatingSystemBaseProgram * StartProgram(FGenericError & OutError)

Defined in OperatingSystemBaseProgram.h:314 Starts a program in the operating system.

This function is used to start a program in the operating system. It checks if the program is already running. If the program is set to run in a single instance only and is already running, it returns the currently running instance. Otherwise, it creates a new instance of the program and initializes it.

  • OutError The error message in case of any error during program start.

A pointer to the started program, or nullptr if there was an error.


const

bool IsRunning() const

Defined in OperatingSystemBaseProgram.h:322 Checks if the program is running.

True if the program is running. False otherwise.


const

bool CanAddToDesktop() const

Defined in OperatingSystemBaseProgram.h:333 Check if the program can be added to the desktop.

This function is used to determine if the program can be added to the desktop. It checks if the property bAddToDesktop is set to true and if the IconWidgetClass is not null.

True if the program can be added to the desktop, false otherwise.


const

UOperatingSystem * GetOperatingSystem() const

Defined in OperatingSystemBaseProgram.h:341 Get the operating system associated with this program.

A pointer to the operating system.


UOperatingSystemProgramIconWidget * CreateIconWidget()

Defined in OperatingSystemBaseProgram.h:352 Creates an icon widget for the operating system program. This function creates an icon widget for the operating system program, if it has not been created before. If a cached icon widget exists, it is returned instead of creating a new one.

A pointer to the created icon widget.


const

UOperatingSystemProgramIconWidget * GetIconWidget() const

Defined in OperatingSystemBaseProgram.h:359 Gets the icon widget for the Operating System program.

The icon widget associated with this program.


void OpenFile(UOperatingSystemFile * TargetFile, FGenericError & OutError)

Defined in OperatingSystemBaseProgram.h:369 Opens a file in the operating system.

DO NOT call this function directly. Use UOperatingSystemStatics::OpenFile function instead.

  • TargetFile The file to be opened.

  • OutError The error message if the file fails to open.


void CloseProgram(constbool bIsFullClose, FGenericError & OutError)

Defined in OperatingSystemBaseProgram.h:398 Closes the program.

If the program has a blueprint on close, it calls the K2_OnClose() function. Then it calls the OnClose() function and provides an OutError parameter. The ProcessID is set to INVALID_PROCESS_ID. If a ChildFile object is valid, it closes the file, marks it as garbage, and sets it to nullptr.

If the SaveMethod is set to SaveOnExit or the ParentOS is shutting down or restarting and the SaveMethod is set to SaveOnOperatingSystemShutdown, it saves the program settings using the UOperatingSystemProgramSettings::SaveSettings() function.

If ProgramWidget is valid, it destroys the operating system base widget and sets ProgramWidget to nullptr.

If the Settings object is valid and the ParentOS is shutting down or restarting, it marks the Settings object as garbage and sets it to nullptr.

It then closes the ParentWindow and sets ParentWindow to nullptr.

Finally, it broadcasts the OnProgramClosed event with this program object as a parameter.

  • bIsFullClose Determines if this program should be completely closed or not.

  • OutError The reference to an FGenericError object to store any error that occurred during the closing process.


const

void BringToFront(FGenericError & OutError) const

Defined in OperatingSystemBaseProgram.h:400


const

UDraggableWindow * GetParentWindow() const

Defined in OperatingSystemBaseProgram.h:410 Get the parent window of the program.

This function returns the parent window of the program. The parent window is the draggable window that contains the program’s UI elements.

A pointer to the parent window.


const

void IsCompatibleWithOS(constTWeakObjectPtr< constUOperatingSystem > TestOS, FGenericError & OutError) const

Defined in OperatingSystemBaseProgram.h:624 Checks if the given operating system is compatible with this program.

  • TestOS The operating system to test compatibility with.

  • OutError The error message in case of incompatibility.


const

bool CanSaveSettings() const

Defined in OperatingSystemBaseProgram.h:631 Checks if the settings of the operating system base program can be saved.

true if the settings can be saved, false otherwise.


void SetParentPartition(TWeakObjectPtr< UOperatingSystemPartition > OwningPartition)

Defined in OperatingSystemBaseProgram.h:638 Sets the parent partition of the program to the specified operating system partition.

  • OwningPartition A weak object pointer to the operating system partition that owns this program.

const

void OnProgramWindowStateChanged(constEOperatingSystemProgramViewState & NewState) const

Defined in OperatingSystemBaseProgram.h:645 Called when the program window’s state changes.

  • NewState The new state of the program window.

const

bool IsWindowMaximized() const

Defined in OperatingSystemBaseProgram.h:659 Checks whether the window of the operating system base program is maximized.

This method checks if the window of the operating system base program is currently maximized. If the window is maximized, the method returns true; otherwise, it returns false.

True if the window is maximized, false otherwise.

See also: UOperatingSystemBaseProgram

See also: UOperatingSystemBaseProgram::ParentWindow

See also: UOperatingSystemBaseProgram::ParentWindow::IsMaximized


virtual const

virtual FString GetSaveSlotName() const

Defined in OperatingSystemBaseProgram.h:677 Retrieves the name of the save slot for the operating system program.

This method returns the name of the save slot for the operating system program. If the program has a blueprint implementation of K2_GetSaveSlotName, that will be used to retrieve the save slot name. If the blueprint implementation returns a non-empty string, that string will be returned. Otherwise, the save slot name will be generated using the program’s identifier and the unique ID of the parent device.

The name of the save slot for the operating system program.

See also: UOperatingSystemBaseProgram::K2_GetSaveSlotName()

See also: UOperatingSystemBaseProgram::Identifier

See also: UOperatingSystemBaseProgram::ParentOS

See also: UOperatingSystemBaseProgram::ParentDevice

See also: UOperatingSystemBaseProgram::ParentDeviceActor


const

TOptional< FVector2D > GetWindowPosition() const

Defined in OperatingSystemBaseProgram.h:687 Retrieves the position of the window associated with the operating system program.

If the program has a parent window, the method will call the GetWindowPosition() method of the parent window and return the result. If the program does not have a parent window, the method returns an empty optional value.

The position of the window associated with the program, or an empty optional value if the program does not have a parent window.


const

TWeakObjectPtr< UOperatingSystemPartition > GetParentPartition() const

Defined in OperatingSystemBaseProgram.h:700 Get the parent partition of the current operating system program.

This method returns a weak pointer to the parent partition of the program. The parent partition represents the operating system partition to which the program belongs.

To access the properties or call functions of the parent partition, you can use the returned weak pointer.

A weak pointer to the parent partition of the program.

See also: UOperatingSystemPartition


const

TSoftClassPtr< UOperatingSystemProgramIconWidget > GetIconWidgetClass() const

Defined in OperatingSystemBaseProgram.h:710 Retrieves the class of the icon widget for the operating system program.

This method returns the class of the widget that represents the icon of the operating system program. The widget class is a subclass of UOperatingSystemProgramIconWidget.

A soft class pointer to the widget class for the program icon.


const

TSoftClassPtr< UOperatingSystemProgramWidget > GetWidgetClass() const

Defined in OperatingSystemBaseProgram.h:719 Retrieves the widget class associated with the operating system base program. This method returns the widget class that should be used to create the program widget for the specific program.

The widget class that should be used to create the program widget. Returns nullptr if no widget class is defined.

See also: UOperatingSystemProgramWidget


const

TSoftClassPtr< UOperatingSystemProgramSettings > GetSettingsClass() const

Defined in OperatingSystemBaseProgram.h:728 Get the settings class associated with this program. This method returns the class type of the settings object specific to this program.

The class type of the settings object specific to this program.

See also: UOperatingSystemProgramSettings


const

TSoftClassPtr< UOperatingSystemProgramData > GetDataClass() const

Defined in OperatingSystemBaseProgram.h:739 Retrieves the data class associated with the program.

This function returns a TSoftClassPtr<UOperatingSystemProgramData> which represents the data class associated with the program. The data class stores the program’s data and provides functionality for manipulating and accessing the data.

TSoftClassPtr<UOperatingSystemProgramData> - A soft reference to the data class associated with the program.

See also: UOperatingSystemProgramData


const

TSoftClassPtr< UOperatingSystemTaskbarButton > GetTaskbarButtonClass() const

Defined in OperatingSystemBaseProgram.h:750 Retrieves the taskbar button class associated with the program.

This method retrieves the taskbar button class associated with the program. It returns a soft object pointer to the taskbar button class.

A soft object pointer to the taskbar button class. If the program’s taskbar button class is null, the method returns nullptr.

See also: UOperatingSystemTaskbarButton


const

TWeakObjectPtr< UOperatingSystemProgramSettings > GetSettings() const

Defined in OperatingSystemBaseProgram.h:765 Get the settings object for the program.

This method returns the settings object associated with the program. The settings object contains various properties and configurations specific to the program.

A weak pointer to the settings object. Use TWeakObjectPtr<T> to handle the object safely. The returned pointer will be null if no settings object has been assigned.

See also: UOperatingSystemProgramSettings


const

TWeakObjectPtr< UOperatingSystemProgramData > GetDataObj() const

Defined in OperatingSystemBaseProgram.h:779 Retrieves the data object associated with the operating system program.

This function returns the data object associated with the operating system program. The data object stores information specific to the program, such as program settings, state, and other relevant data.

A weak object pointer to the program’s data object.

See also: UOperatingSystemProgramData


const

TWeakObjectPtr< UOperatingSystemTaskbarButton > GetTaskbarButton() const

Defined in OperatingSystemBaseProgram.h:794 Retrieves the taskbar button associated with the program.

This method returns a pointer to the taskbar button associated with the program. If the program does not have a taskbar button, the method returns nullptr.

A pointer to the taskbar button associated with the program. If the program does not have a taskbar button, the method returns nullptr.

See also: UOperatingSystemTaskbarButton


const

UOperatingSystemProgramWidget * GetProgramWidget() const

Defined in OperatingSystemBaseProgram.h:802 Returns the program widget associated with the operating system program.

The program widget instance for the operating system program.

See also: UOperatingSystemProgramWidget


void CreateDataObj(FGenericError & OutError)

Defined in OperatingSystemBaseProgram.h:804


const inline

template<classT> inline T * GetSettings() const

Defined in OperatingSystemBaseProgram.h:821 Get the settings object of type T.

This method returns the settings object of type T associated with the program. It is important that T is derived from UOperatingSystemProgramSettings. If T is not derived from UOperatingSystemProgramSettings, a compilation error will occur.

A pointer to the settings object of type T.

Only use this method if you are certain that the settings object of type T exists. Otherwise, it may result in unexpected behavior.

See also: UOperatingSystemProgramSettings


const inline

template<classT> inline T * GetDataObj() const

Defined in OperatingSystemBaseProgram.h:838 Returns the data object associated with the program.

This method returns a pointer to the data object associated with the program. The data object is of type T, which must be derived from UOperatingSystemProgramData. If T is not derived from UOperatingSystemProgramData, a static_assert will trigger and an error message will be displayed.

A pointer to the data object of type T associated with the program.

See also: UOperatingSystemProgramData


const inline

template<classT> inline T * GetAs() const

Defined in OperatingSystemBaseProgram.h:851 Returns const program casted to given type.

const casted program.


inline

template<classT> inline T * GetAs()

Defined in OperatingSystemBaseProgram.h:864 Returns program casted to given type.

Casted program.


const inline

inline FString GetProgramName() const

Defined in OperatingSystemBaseProgram.h:875 Returns the program name as a FString.

The program name as a FString.


const inline

inline FName GetIdentifier() const

Defined in OperatingSystemBaseProgram.h:883 Returns the identifier of the program. The identifier serves as a unique identification for the program.

The identifier of the program.


const inline

inline bool IsSingleInstanceProgram() const

Defined in OperatingSystemBaseProgram.h:893 Returns a boolean value indicating whether the program is a single instance program. A single instance program is a program that allows only one instance to run at a time.

True if the program is a single instance program, false otherwise.

See also: UOperatingSystemBaseProgram


const inline

inline bool IsSystemInstalledProgram() const

Defined in OperatingSystemBaseProgram.h:900 Returns a boolean value indicating whether the program is installed on the system. If the program is installed, it will return true; otherwise, it will return false.


const inline

inline uint32 GetProcessID() const

Defined in OperatingSystemBaseProgram.h:908 Retrieves the process ID of the current program. This method allows you to obtain the unique process ID of the program.

The process ID of the program.


const inline

inline float GetSpaceRequiredInMB() const

Defined in OperatingSystemBaseProgram.h:916 Get the space required by the program in megabytes. This method returns the space required by the program in megabytes.

The space required by the program in megabytes.


const inline

inline bool ShouldRememberLastWindowPosition() const

Defined in OperatingSystemBaseProgram.h:926 Indicates whether the program should remember the last window position.

This method returns a boolean value indicating whether the program should remember the last window position or not. If the value is true, the program should remember the last window position, otherwise it should not.

true if the program should remember the last window position, false otherwise.


const inline

inline bool IsSetToRunOnStartup() const

Defined in OperatingSystemBaseProgram.h:931 Indicates whether this program should run at system startup.


const inline

inline EOperatingSystemProgramCloseMethod GetCloseMethod() const

Defined in OperatingSystemBaseProgram.h:944 Returns the close method of the operating system program.

This method returns the close method of the operating system program. The close method determines how the program will be closed or terminated. It is an enumerated value of type EOperatingSystemProgramCloseMethod.

The close method of the operating system program.

See also: EOperatingSystemProgramCloseMethod

ReturnNameDescription
UOperatingSystemBaseProgram *CreateProgram staticCreates a program instance.
boolIsStoreItemFree staticChecks if a store item is free.

static

static UOperatingSystemBaseProgram * CreateProgram(TWeakObjectPtr< UOperatingSystem > OwningOS, constTSoftClassPtr< UOperatingSystemBaseProgram > & ProgramClass, FGenericError & OutError, constbool bInstalledWithOS = false)

Defined in OperatingSystemBaseProgram.h:286 Creates a program instance.

  • OwningOS Operating System that will own the program.

  • ProgramClass The class of the program to create.

  • OutError The error that occurred during program creation.

  • bInstalledWithOS Whether the program is installed with the operating system.

The created program instance if successful, nullptr otherwise.

  • Application
  • GetSettings
  • MAKE_ERROR
  • NEW_SOFT_OBJ
  • OS_LOG

static

static bool IsStoreItemFree(constFOperatingSystemStoreProgramData & ProgramData)

Defined in OperatingSystemBaseProgram.h:301 Checks if a store item is free.

This function takes a [FOperatingSystemStoreProgramData](/api-reference/operating-system-simulator/data/foperatingsystemstoreprogramdata/#foperatingsystemstoreprogramdata) object as input and checks if the program associated with it is free. It returns true if the program is free, and false otherwise.

  • ProgramData The store program data to check.

bool True if the program is free, false otherwise.

ReturnNameDescription
FTextNameName of this program.
FTextAuthorThe company or individual who created this program.
FTextDescriptionA simple description for this program. Typically used on store apps.
FNameIdentifierA unique identifier (UID) for this program. Useful for terminal commands.
FOperatingSystemVersionVersionProgram version
FTextStoreDisplayNameOnly for store app. Overrides the name to show on store. If this is unset, Name property is used.
FTextStoreTypeOnly for store app. What category or type is this program? Example: Entertainment, Productivity, Financial, Game, Utilities, Tool etc.
floatStorePriceOnly for store app. What price should be displayed on store. Set to 0 to make this free.
FGameplayTagContainerSupportedOperatingSystemsIf this container is empty, it is assumed all Operating Systems are supported.
uint8bRequireMinOperatingSystemVersion
FOperatingSystemVersionMinOperatingSystemVersionIf enabled, this program will not install/run on an Operating System less than this version.
TSoftObjectPtr< UObject >IconObjectObvious right? C’mon its just an Icon. What you need a tooltip for ¯(ツ)
floatSpaceRequiredInMBHow much space does this program consume once installed.
TSoftClassPtr< UOperatingSystemProgramIconWidget >IconWidgetClassProgram specific icon widget class that will be used instead of the default one set in Project Settings -> Operating System -> Settings category. Typically, you don’t have to override this.
TSoftClassPtr< UOperatingSystemProgramWidget >WidgetClassWidget associated with this program.
EOperatingSystemProgramCloseMethodCloseMethodDetermines how the program should close. For a phone type of device, typically this should be set to Background.
EOperatingSystemProgramSaveMethodSaveMethodDetermines when this program saves.
TSoftClassPtr< UOperatingSystemProgramSettings >SettingsClassAn optional class where you can save custom settings for this program. Example: Customizable options for a browser.
TSoftClassPtr< UOperatingSystemProgramData >DataClass
uint8bRunOnStartupSetting this to true will make the program run automatically when the operating system starts.
uint8bRequiresDataIf true, then this program must have a valid data class set and the data object must return ShouldCreate true (by default it is). If not, program will not create.
uint8bAddToDesktopIf true, add this program to the desktop after install.
uint8bCreateNotificationIf true, add a notification to the Operating System that this program installed.
uint8bSingleInstanceOnlyIf true, only one instance of this program is allowed to run.
uint8bCanRunOnPortableDeviceIf true, this program can run on portable device too.
uint8bCreateSettingsBeforeStartingSome programs might need access to its settings class before they are started. For example, to determine if the program itself should start automatically when os is started. In this case, you need to enable this. @See: K2_OnSettingsLoad
uint8bRememberLastWindowPositionSet to true if the window position should be saved and restored automatically.
uint8bAllowDraggingAllows the user to drag the window of this program.
uint8bAllowResizingAllows the draggable window of this program to be resized by user.
uint8bOverrideWindowSizeDisables auto determining and set the window size as set by Override Window Size variable.
FVector2DOverrideWindowSizeForcefully set a window size instead of auto-determining
FVector2DMinimumWindowResizeIf non zero, window can only resize upto this value. Resizing will not go lower than this.
EOperatingSystemWindowStartupStateStartWindowStateSet the startup window state.
TSoftClassPtr< UDraggableWindow >OverrideWindowClassIf not null, then use this class as draggable window when starting this program. If null, new window class should be set inside UOperatingSystemWidget::K2_CreateNewWindow
TSoftClassPtr< UOperatingSystemTaskbarButton >TaskbarButtonClassProgram specific taskbar button class that will be used instead of the default taskbar button class set in Project Settings -> Operating System -> Settings category. Typically, you don’t have to set this.
TWeakObjectPtr< UOperatingSystemPartition >ParentPartition

FText Name

Defined in OperatingSystemBaseProgram.h:66 Name of this program.


FText Author

Defined in OperatingSystemBaseProgram.h:70 The company or individual who created this program.


FText Description

Defined in OperatingSystemBaseProgram.h:74 A simple description for this program. Typically used on store apps.


FName Identifier

Defined in OperatingSystemBaseProgram.h:78 A unique identifier (UID) for this program. Useful for terminal commands.


FOperatingSystemVersion Version

Defined in OperatingSystemBaseProgram.h:82 Program version


FText StoreDisplayName

Defined in OperatingSystemBaseProgram.h:86 Only for store app. Overrides the name to show on store. If this is unset, Name property is used.


FText StoreType

Defined in OperatingSystemBaseProgram.h:90 Only for store app. What category or type is this program? Example: Entertainment, Productivity, Financial, Game, Utilities, Tool etc.


float StorePrice

Defined in OperatingSystemBaseProgram.h:94 Only for store app. What price should be displayed on store. Set to 0 to make this free.


FGameplayTagContainer SupportedOperatingSystems

Defined in OperatingSystemBaseProgram.h:98 If this container is empty, it is assumed all Operating Systems are supported.


uint8 bRequireMinOperatingSystemVersion

Defined in OperatingSystemBaseProgram.h:101


FOperatingSystemVersion MinOperatingSystemVersion

Defined in OperatingSystemBaseProgram.h:105 If enabled, this program will not install/run on an Operating System less than this version.


TSoftObjectPtr< UObject > IconObject

Defined in OperatingSystemBaseProgram.h:109 Obvious right? C’mon its just an Icon. What you need a tooltip for ¯(ツ)


float SpaceRequiredInMB

Defined in OperatingSystemBaseProgram.h:113 How much space does this program consume once installed.


TSoftClassPtr< UOperatingSystemProgramIconWidget > IconWidgetClass

Defined in OperatingSystemBaseProgram.h:119 Program specific icon widget class that will be used instead of the default one set in Project Settings -> Operating System -> Settings category. Typically, you don’t have to override this.


TSoftClassPtr< UOperatingSystemProgramWidget > WidgetClass

Defined in OperatingSystemBaseProgram.h:123 Widget associated with this program.


EOperatingSystemProgramCloseMethod CloseMethod

Defined in OperatingSystemBaseProgram.h:127 Determines how the program should close. For a phone type of device, typically this should be set to Background.


EOperatingSystemProgramSaveMethod SaveMethod

Defined in OperatingSystemBaseProgram.h:131 Determines when this program saves.


TSoftClassPtr< UOperatingSystemProgramSettings > SettingsClass

Defined in OperatingSystemBaseProgram.h:135 An optional class where you can save custom settings for this program. Example: Customizable options for a browser.


TSoftClassPtr< UOperatingSystemProgramData > DataClass

Defined in OperatingSystemBaseProgram.h:138


uint8 bRunOnStartup

Defined in OperatingSystemBaseProgram.h:142 Setting this to true will make the program run automatically when the operating system starts.


uint8 bRequiresData

Defined in OperatingSystemBaseProgram.h:146 If true, then this program must have a valid data class set and the data object must return ShouldCreate true (by default it is). If not, program will not create.


uint8 bAddToDesktop

Defined in OperatingSystemBaseProgram.h:150 If true, add this program to the desktop after install.


uint8 bCreateNotification

Defined in OperatingSystemBaseProgram.h:154 If true, add a notification to the Operating System that this program installed.


uint8 bSingleInstanceOnly

Defined in OperatingSystemBaseProgram.h:158 If true, only one instance of this program is allowed to run.


uint8 bCanRunOnPortableDevice

Defined in OperatingSystemBaseProgram.h:162 If true, this program can run on portable device too.


uint8 bCreateSettingsBeforeStarting

Defined in OperatingSystemBaseProgram.h:169 Some programs might need access to its settings class before they are started. For example, to determine if the program itself should start automatically when os is started. In this case, you need to enable this. @See: K2_OnSettingsLoad


uint8 bRememberLastWindowPosition

Defined in OperatingSystemBaseProgram.h:173 Set to true if the window position should be saved and restored automatically.


uint8 bAllowDragging

Defined in OperatingSystemBaseProgram.h:177 Allows the user to drag the window of this program.


uint8 bAllowResizing

Defined in OperatingSystemBaseProgram.h:181 Allows the draggable window of this program to be resized by user.


uint8 bOverrideWindowSize

Defined in OperatingSystemBaseProgram.h:185 Disables auto determining and set the window size as set by Override Window Size variable.


FVector2D OverrideWindowSize

Defined in OperatingSystemBaseProgram.h:189 Forcefully set a window size instead of auto-determining


FVector2D MinimumWindowResize

Defined in OperatingSystemBaseProgram.h:193 If non zero, window can only resize upto this value. Resizing will not go lower than this.


EOperatingSystemWindowStartupState StartWindowState

Defined in OperatingSystemBaseProgram.h:197 Set the startup window state.


TSoftClassPtr< UDraggableWindow > OverrideWindowClass

Defined in OperatingSystemBaseProgram.h:201 If not null, then use this class as draggable window when starting this program. If null, new window class should be set inside UOperatingSystemWidget::K2_CreateNewWindow


TSoftClassPtr< UOperatingSystemTaskbarButton > TaskbarButtonClass

Defined in OperatingSystemBaseProgram.h:207 Program specific taskbar button class that will be used instead of the default taskbar button class set in Project Settings -> Operating System -> Settings category. Typically, you don’t have to set this.


TWeakObjectPtr< UOperatingSystemPartition > ParentPartition

Defined in OperatingSystemBaseProgram.h:261

ReturnNameDescription
voidOnValidate virtual const inlineOnValidate method for validating program-specific logic.
voidOnStart virtual inlineCalled when the program starts. It should be overridden in derived classes to provide the necessary functionality for the specific program.
voidOnClose virtual inlineCalled when the program is requested to be closed. It can be overridden by derived classes to perform necessary cleanup operations before the program is closed. The function receives an FGenericError& object as a parameter, which can be used to report any error that occurred during the closing process.
voidOnOpenFile virtual inlineCalled when a file is opened in the operating system program. It provides the target file that was opened, as well as an output error parameter for reporting any errors that occurred during the file opening process.
voidOnThemeChanged virtual inlineVirtual method called when the theme is changed.
voidK2_OnCreateImplementable event called when the program is created.
voidK2_OnInstallUFunction declaration for the blueprint implementable event K2_OnInstall.
FGenericErrorK2_OnStartA function that is called when the operating system program starts.
voidK2_OnCloseBlueprintImplementableEvent for closing the operating system program.
voidK2_OnSettingsLoadBlueprint event called when settings are loaded.
voidK2_OnOpenFileImplementable event triggered when a file is opened. This event is called before calling ProgramWidget->OpenFile.
voidK2_OnValidate constImplementable event triggered when validating this program. If you set the Output Error return value to something valid, this program will not be created at all.
FStringK2_GetSaveSlotName constRetrieves the save slot name.

virtual const inline

virtual inline void OnValidate(FGenericError & OutError) const

Defined in OperatingSystemBaseProgram.h:490 OnValidate method for validating program-specific logic.

This method is a virtual function that can be overridden by derived classes to perform additional validation specific to the program’s requirements. The method takes an FGenericError& parameter, which can be used to report any validation errors encountered during the validation process.

  • OutError The error object used to report any validation errors.

See also: FGenericError


virtual inline

virtual inline void OnStart(FGenericError & OutError)

Defined in OperatingSystemBaseProgram.h:499 Called when the program starts. It should be overridden in derived classes to provide the necessary functionality for the specific program.

  • OutError A reference to the FGenericError object, used to report any errors that occur during startup.

See also: FGenericError


virtual inline

virtual inline void OnClose(FGenericError & OutError)

Defined in OperatingSystemBaseProgram.h:510 Called when the program is requested to be closed. It can be overridden by derived classes to perform necessary cleanup operations before the program is closed. The function receives an FGenericError& object as a parameter, which can be used to report any error that occurred during the closing process.

  • OutError The error object to report any error that occurred during the closing process.

See also: FGenericError


virtual inline

virtual inline void OnOpenFile(UOperatingSystemFile * TargetFile, FGenericError & OutError)

Defined in OperatingSystemBaseProgram.h:524 Called when a file is opened in the operating system program. It provides the target file that was opened, as well as an output error parameter for reporting any errors that occurred during the file opening process.

  • TargetFile The pointer to the UOperatingSystemFile object representing the opened file.

  • OutError The reference to the FGenericError object for reporting any errors occurred during the file opening process.

DO NOT call this function directly. Use UOperatingSystemStatics::OpenFile function instead.

See also: UOperatingSystemFile

See also: FGenericError


virtual inline

virtual inline void OnThemeChanged(UOperatingSystemSettingModule_Theme * ThemePayload)

Defined in OperatingSystemBaseProgram.h:534 Virtual method called when the theme is changed.

This method is called when the theme is changed. It can be overridden by derived classes to handle theme change events.


void K2_OnCreate()

Defined in OperatingSystemBaseProgram.h:540 Implementable event called when the program is created.


void K2_OnInstall()

Defined in OperatingSystemBaseProgram.h:549 UFunction declaration for the blueprint implementable event K2_OnInstall.

This function should be used to handle the installation logic for the operating system program. It is a blueprint implementable event, which means it can be overridden and implemented in blueprint classes.


FGenericError K2_OnStart()

Defined in OperatingSystemBaseProgram.h:563 A function that is called when the operating system program starts.

This function is a blueprint implementable event. It is called when the operating system program is started. It returns an object of type FGenericError.

FGenericError - The result of the function call.


void K2_OnClose()

Defined in OperatingSystemBaseProgram.h:573 BlueprintImplementableEvent for closing the operating system program.

This event is called when the operating system program needs to be closed.

See also: K2_OnClose()


void K2_OnSettingsLoad(UOperatingSystemProgramSettings * LoadedSettings)

Defined in OperatingSystemBaseProgram.h:583 Blueprint event called when settings are loaded.

It is called when settings are loaded for an operating system program.

  • LoadedSettings The loaded settings object.

void K2_OnOpenFile(FGenericError & OutError)

Defined in OperatingSystemBaseProgram.h:592 Implementable event triggered when a file is opened. This event is called before calling ProgramWidget->OpenFile.

This event can be implemented in Blueprint to handle the opening of a file.


const

void K2_OnValidate(FGenericError & OutError) const

Defined in OperatingSystemBaseProgram.h:601 Implementable event triggered when validating this program. If you set the Output Error return value to something valid, this program will not be created at all.

  • OutError Outputs error.

const

FString K2_GetSaveSlotName() const

Defined in OperatingSystemBaseProgram.h:614 Retrieves the save slot name.

This function is a Blueprint implementable event that allows getting the save slot name in Unreal Engine. It returns a FString object representing the name of the save slot.

FString - The save slot name.

See also: K2_GetSaveSlotName

ReturnNameDescription
uint8bIsSystemInstalledProgramTrue if this program was installed by default when installing Operating System.
uint8bHasBlueprintOnCreate
uint8bHasBlueprintOnInstall
uint8bHasBlueprintOnStart
uint8bHasBlueprintOnClose
uint8bHasBlueprintOnSettingsLoad
uint8bHasBlueprintOnOpenFile
uint8bHasBlueprintGetSaveSlotName
uint8bHasBlueprintOnValidate
TObjectPtr< UOperatingSystemProgramWidget >ProgramWidgetThe main widget that represents this program
TObjectPtr< UOperatingSystemProgramSettings >SettingsSettings object associated with this program. Only valid if you have provided a settings class.
TObjectPtr< UOperatingSystemProgramData >DataObjData object associated with this program. Only valid if you have provided a data class.
TObjectPtr< UOperatingSystemFile >ChildFileThe file that was opened by this program (if any).
TWeakObjectPtr< UOperatingSystem >ParentOSOperating System that owns this program.
TObjectPtr< UDraggableWindow >ParentWindowWindow that this program is currently being displayed in.
TObjectPtr< UOperatingSystemTaskbarButton >TaskbarButtonPoints to the taskbar button object. Only valid if the taskbar button class is provided.
int32ProcessID
TObjectPtr< UOperatingSystemProgramIconWidget >CachedIconWidget

uint8 bIsSystemInstalledProgram

Defined in OperatingSystemBaseProgram.h:213 True if this program was installed by default when installing Operating System.


uint8 bHasBlueprintOnCreate

Defined in OperatingSystemBaseProgram.h:215

Section titled “Defined in OperatingSystemBaseProgram.h:215”
uint8 bHasBlueprintOnInstall

Defined in OperatingSystemBaseProgram.h:216

Section titled “Defined in OperatingSystemBaseProgram.h:216”
uint8 bHasBlueprintOnStart

Defined in OperatingSystemBaseProgram.h:217

Section titled “Defined in OperatingSystemBaseProgram.h:217”
uint8 bHasBlueprintOnClose

Defined in OperatingSystemBaseProgram.h:218


uint8 bHasBlueprintOnSettingsLoad

Defined in OperatingSystemBaseProgram.h:219


uint8 bHasBlueprintOnOpenFile

Defined in OperatingSystemBaseProgram.h:220


uint8 bHasBlueprintGetSaveSlotName

Defined in OperatingSystemBaseProgram.h:221


uint8 bHasBlueprintOnValidate

Defined in OperatingSystemBaseProgram.h:222


TObjectPtr< UOperatingSystemProgramWidget > ProgramWidget

Defined in OperatingSystemBaseProgram.h:226 The main widget that represents this program


TObjectPtr< UOperatingSystemProgramSettings > Settings

Defined in OperatingSystemBaseProgram.h:230 Settings object associated with this program. Only valid if you have provided a settings class.


TObjectPtr< UOperatingSystemProgramData > DataObj

Defined in OperatingSystemBaseProgram.h:234 Data object associated with this program. Only valid if you have provided a data class.


TObjectPtr< UOperatingSystemFile > ChildFile

Defined in OperatingSystemBaseProgram.h:238 The file that was opened by this program (if any).


TWeakObjectPtr< UOperatingSystem > ParentOS

Defined in OperatingSystemBaseProgram.h:242 Operating System that owns this program.


TObjectPtr< UDraggableWindow > ParentWindow

Defined in OperatingSystemBaseProgram.h:246 Window that this program is currently being displayed in.


TObjectPtr< UOperatingSystemTaskbarButton > TaskbarButton

Defined in OperatingSystemBaseProgram.h:250 Points to the taskbar button object. Only valid if the taskbar button class is provided.


int32 ProcessID

Defined in OperatingSystemBaseProgram.h:253


TObjectPtr< UOperatingSystemProgramIconWidget > CachedIconWidget

Defined in OperatingSystemBaseProgram.h:256

ReturnNameDescription
voidInternal_StartStarts the operating system program.
voidInternal_Validate constValidates the internal properties of the operating system program.
voidInternal_LoadProgramSettingsLoads the program settings.
voidInternal_OnThemeChangedInternal function called when the theme is changed.

void Internal_Start(FGenericError & OutError)

Defined in OperatingSystemBaseProgram.h:429 Starts the operating system program.

This method is called to start the operating system program. It performs necessary initialization and invokes the OnStart method.

If the operating system program has a settings class and a theme setting module, it listens for theme change events and invokes the Internal_OnThemeChanged method to handle theme change events.

  • OutError A reference to the FGenericError object that will be filled with any error messages encountered during startup.

See also: UOperatingSystemBaseProgram::OnStart

See also: UOperatingSystemBaseProgram::Internal_OnThemeChanged


const

void Internal_Validate(FGenericError & OutError) const

Defined in OperatingSystemBaseProgram.h:441 Validates the internal properties of the operating system program.

This method checks if the name, identifier, version, minimum operating system version, icon, space required, icon widget class, widget class, and data class (if required) are set correctly. If any of the properties is invalid, an appropriate error message is returned in the OutError parameter.

  • OutError The output parameter that stores the error message if any validation fails.

void Internal_LoadProgramSettings(FGenericError & OutError)

Defined in OperatingSystemBaseProgram.h:459 Loads the program settings.

This method loads the saved program settings. If the settings already exist, they are marked as garbage and set to nullptr. The method then attempts to load the settings using the UOperatingSystemProgramSettings::LoadSettings method. If the settings are loaded successfully, a log message is printed and the K2_OnSettingsLoad method is called if bHasBlueprintOnSettingsLoad is true. If the settings cannot be loaded, and the SaveMethod is not EOperatingSystemProgramSaveMethod::DoNotSave, the method attempts to create new settings using the UOperatingSystemProgramSettings::CreateSettings method and the provided SettingsClass. If the creation fails, an OutError parameter is set with the error message.

  • OutError The error object to be populated with an error message in case the settings creation fails.

See also: UOperatingSystemProgramSettings


void Internal_OnThemeChanged(UObject * Payload)

Defined in OperatingSystemBaseProgram.h:475 Internal function called when the theme is changed.

This function is called when the theme is changed and it notifies the program about the theme change. It triggers the OnThemeChanged event and updates the program widget’s theme if it is valid.

  • Payload The payload object containing the theme information.

See also: OnThemeChanged

See also: UOperatingSystemSettingModule_Theme

See also: ProgramWidget

See also: UOperatingSystemProgramWidget::ThemeChanged