Skip to content

UOperatingSystem

#include <OperatingSystemSimulator/Public/Core/OperatingSystem.h>
class UOperatingSystem

Defined in OperatingSystem.h:90

Inherits: UObject Subclassed by: UOperatingSystemNonUnix, UOperatingSystemUnix

---
config:
  class:
    hideEmptyMembersBox: true
---
classDiagram
  class UOperatingSystem["UOperatingSystem"]
  class UObject["UObject"]
  UObject <|-- UOperatingSystem
  class UOperatingSystemNonUnix["UOperatingSystemNonUnix"]
  UOperatingSystem <|-- UOperatingSystemNonUnix
  class UOperatingSystemUnix["UOperatingSystemUnix"]
  UOperatingSystem <|-- UOperatingSystemUnix
---
config:
  class:
    hideEmptyMembersBox: true
---
classDiagram
  class UOperatingSystem["UOperatingSystem"]
  class FOperatingSystemVersion["FOperatingSystemVersion"]
  UOperatingSystem *-- FOperatingSystemVersion
  class UOperatingSystemProgramsCollection["UOperatingSystemProgramsCollection"]
  UOperatingSystem *-- UOperatingSystemProgramsCollection
  class UOperatingSystemDirectoriesCollection["UOperatingSystemDirectoriesCollection"]
  UOperatingSystem *-- UOperatingSystemDirectoriesCollection
  class UOperatingSystemSettingsData["UOperatingSystemSettingsData"]
  UOperatingSystem *-- UOperatingSystemSettingsData
  class UOperatingSystemWidget["UOperatingSystemWidget"]
  UOperatingSystem *-- UOperatingSystemWidget
  class UOperatingSystemBsodWidget["UOperatingSystemBsodWidget"]
  UOperatingSystem *-- UOperatingSystemBsodWidget
  class FOperatingSystemNotificationSettings["FOperatingSystemNotificationSettings"]
  UOperatingSystem *-- FOperatingSystemNotificationSettings
  class FOperatingSystemRangeTime["FOperatingSystemRangeTime"]
  UOperatingSystem *-- FOperatingSystemRangeTime
  class UOperatingSystemBaseDevice["UOperatingSystemBaseDevice"]
  UOperatingSystem *-- UOperatingSystemBaseDevice
  class UOperatingSystemBaseProgram["UOperatingSystemBaseProgram"]
  UOperatingSystem *-- UOperatingSystemBaseProgram
  class UOperatingSystemProgramData["UOperatingSystemProgramData"]
  UOperatingSystem o-- UOperatingSystemProgramData
  class FOperatingSystemUser["FOperatingSystemUser"]
  UOperatingSystem *-- FOperatingSystemUser
  class UOperatingSystemTaskbarButton["UOperatingSystemTaskbarButton"]
  UOperatingSystem *-- UOperatingSystemTaskbarButton
  class FOperatingSystemUniqueId["FOperatingSystemUniqueId"]
  UOperatingSystem *-- FOperatingSystemUniqueId
  class UDraggableWindow["UDraggableWindow"]
  UOperatingSystem *-- UDraggableWindow
  class FOperatingSystemProgramDelegate["FOperatingSystemProgramDelegate"]
  UOperatingSystem *-- FOperatingSystemProgramDelegate
---
config:
  class:
    hideEmptyMembersBox: true
---
classDiagram
  class UOperatingSystem {
    +OnOperatingSystemWindowBroughtToFront : FOnOperatingSystemWindowBroughtToFront()
    +OnProgramStarted : FOperatingSystemProgramDelegate()
    +OnProgramClosed : FOperatingSystemProgramDelegate()
    +OnProgramInstalled : FOperatingSystemProgramDelegate()
    +OnProgramUninstalled : FOperatingSystemProgramDelegate()
    +GetAs() const T() *
    +GetAsConst() const const()T() *
    +AddNotification(const FOperatingSystemNotification &NewNoti bool()
    +AddNotification(const FGenericError &GenericError, const EO bool()
    +StartOperatingSystem(const TWeakObjectPtr< const UOperatingSyste void()
    +PostLoadOperatingSystem() void()
    +OnShowDesktop() void()
    +FinishInstallation() void()
    +InstallStartupPrograms() void()
    +ShutdownOS() void()
    +RestartOS() void()
    +DestroyOS() void()
    +AddRunningProgram(UOperatingSystemBaseProgram *NewProgram, FG int32()
    +ProgramStarted(UOperatingSystemBaseProgram *StartedProgram void()
    +IsProgramRunning(const TWeakObjectPtr< const UOperatingSyste bool()
    +IsProgramRunning(const TSubclassOf< UOperatingSystemBaseProg bool()
    +CreateNewWindow(TWeakObjectPtr< UOperatingSystemBaseProgram UDraggableWindow() *
    +BringWindowToFront(UDraggableWindow *TargetWindow) void()
    +CreateDirectoryInPath(const FString &TargetPath, const FString &D UOperatingSystemDirectory() *
    +CreateProgramsFromRepository(const TSoftObjectPtr< UOperatingSystemProgr bool()
    +SetToInstallStartupPrograms(const bool bInstall) void()
    +ShouldInstallStartupPrograms() const bool()
    +SetDeviceName(const FText &NewName) void()
    +GetDeviceName() const FText()
    +SetAutoLogin(const bool bEnableAutoLogin) void()
    +CanAutoLogin() const bool()
    +GetInstallationTime() const float()
    +GetLoadingTime() const float()
    +GetInitialLoadingTime() const float()
    +GetNotifications() const const()TArray()< FOperatingSystemNotific
    +ClearAllNotifications() void()
    +ConsumeSpaceInMB(const float &NewSizeInMB, UOperatingSystemP void()
    +ConsumeSpaceInGB(const float &NewSizeInGB, UOperatingSystemP void()
    +GetSizeAsText(const EOperatingSystemSizeMethod SizeMethod FText()
    +GetStoragePercentage(const UOperatingSystemPartition *Partition, float()
    +GetHardDiskSize(FGenericError &OutError, const EOperatingSy double()
    +UninstallProgram(const FName &ProgramIdentifier, FGenericErr void()
    +UninstallProgramByClass(const TSoftClassPtr< UOperatingSystemBasePr void()
    +InstallProgramFromPackage(const FName &ProgramIdentifier, FGenericErr UOperatingSystemBaseProgram() *
    +InstallProgramFromClass(FGenericError &OutErrorIfAny, const TSoftCl UOperatingSystemBaseProgram() *
    +SetProgramAtStartup(UOperatingSystemBaseProgram *TargetProgram, bool()
    +BeginInstallation(UOperatingSystemPartition *TargetPartition, void()
    +AllocatePartition(const double SizeInBytes, FGenericError &Ou UOperatingSystemPartition() *
    +RemovePartition(UOperatingSystemPartition *PartitionToDelet void()
    +RefreshPartitions() void()
    +InstallationCompleted(const bool bSwitchToDesktop=true) void()
    +CreateNewUser(const FOperatingSystemUser &NewUser, const  bool()
    +LoginUser(const FText &Username, const FText &Passwor bool()
    +UpdateCurrentUserDetails(const FOperatingSystemUser &UpdatedDetails) bool()
    +HasEnoughSpace(const double &TestSizeInBytes, const UOpera bool()
    +GetDiskPartitions() const TArray()< UOperatingSystemPartition() * 
    +GetOperatingSystemPartition() const UOperatingSystemPartition() *
    +CloseProgram(UOperatingSystemBaseProgram *TargetProgram, void()
    +BringBackgroundProgramToFront(UOperatingSystemBaseProgram *TargetProgram) bool()
    +IsProgramInBackground(UOperatingSystemBaseProgram *TestProgram) c bool()
    +MinimizeProgram(UOperatingSystemBaseProgram *TargetProgram) void()
    +CloseAllRunningPrograms() void()
    +RestoreMinimizedProgram(const UOperatingSystemBaseProgram *TargetPr void()
    +GetDirectoryIconObject(const FGameplayTag &TestTag) const UObject *
    +IsUnix() const bool()
    +GetBsodOnScreenTime() const float()
    +GetToastNotificationDisplayTime() const float()
    +GetInstalledPrograms() const TArray()< UOperatingSystemBaseProgram() 
    +GetInstalledProgramsMap(TMap< FName, UOperatingSystemBaseProgram *  void()
    +GetStartupPrograms(TMap< FName, UOperatingSystemBaseProgram *  void()
    +FindProgramData(const UOperatingSystemBaseProgram *TargetPr UOperatingSystemProgramData() *
    +AddProgramData(const UOperatingSystemBaseProgram *TargetPr void()
    +GetInstalledProgram(const TSoftClassPtr< UOperatingSystemBasePr UOperatingSystemBaseProgram() *
    +IsProgramInstalled(const TSoftClassPtr< UOperatingSystemBasePr bool()
    +GetRunningProgram(const TSoftClassPtr< UOperatingSystemBasePr UOperatingSystemBaseProgram() *
    +IsPreInstalledOperatingSystem() const bool()
    +GetSettings() const UOperatingSystemSettingsData() *
    +IsRunningOnPortableDevice() const bool()
    +FindPartitionFromLetter(const FName &TargetDiskLetter) const UOperatingSystemPartition() *
    +GetRootCommand() const TOptional()< FText() >
    +GetRootUser() const TOptional()< FOperatingSystemUser() >
    +HasValidRootCommandAndUser() const bool()
    +IsShuttingDown() const bool()
    +IsRestarting() const bool()
    +GetAllUsers() const TArray()< FOperatingSystemUser() >
    +GetOperatingSystemProgramRestoredEventName() FName()
    +CreateOperatingSystem(UOperatingSystemBaseDevice *OwningDevice, F UOperatingSystem() *
    +GetOperatingSystemUniqueID(const UOperatingSystem *TestOperatingSystem FString()
    +TimerHandle_OperatingSystemInstallation : FTimerHandle()
    +TimerHandle_LoadingTime : FTimerHandle()
    +Name : FText()
    +CompanyName : FText()
    +Version : FOperatingSystemVersion()
    +Icon : TSoftObjectPtr()< UObject >
    +DirectoryIcons : TMap()< FGameplayTag(), TSoftObjectPtr()
    +InstallationSpace : float()
    +SupportedDevices : FGameplayTagContainer()
    +MustHavePrograms : TSoftObjectPtr()< UOperatingSystemProgra
    +PostInstallStartupPrograms : TSoftObjectPtr()< UOperatingSystemProgra
    +DefaultDirectories : TSoftObjectPtr()< UOperatingSystemDirect
    +SettingsDataClass : TSoftClassPtr()< UOperatingSystemSetting
    +WidgetClass : TSoftClassPtr()< UOperatingSystemWidget(
    +BsodWidgetClass : TSoftClassPtr()< UOperatingSystemBsodWid
    +NotificationSettings : FOperatingSystemNotificationSettings()
    +InstallationTime : FOperatingSystemRangeTime()
    +LoadingTime : FOperatingSystemRangeTime()
    +LoadingTimeInitial : FOperatingSystemRangeTime()
    +LogonToDesktopTime : FOperatingSystemRangeTime()
    +BsodOnScreenTime : FOperatingSystemRangeTime()
    +OperatingSystemTag : FGameplayTag()
    +ParentDevice : TWeakObjectPtr()< UOperatingSystemBaseDe
    +OperatingSystemSettingsData : TObjectPtr()< UOperatingSystemSettingsDa
    +OperatingSystemWidget : TObjectPtr()< UOperatingSystemWidget() >
    +RunningPrograms : TMap()< int32(), TObjectPtr()< UOperatin
    +BackgroundRunningPrograms : TMap()< int32(), TObjectPtr()< UOperatin
    +InstalledPrograms : TMap()< FName(), UOperatingSystemBasePro
    +ProgramDataObjs : TMap()< FName(), UOperatingSystemProgram
    +CurrentUser : FOperatingSystemUser()
    +bIsStartingForTheFirstTime : uint8()
    +TotalNotifications : int32()
    +TotalErrorNotifications : int32()
    +TotalWarningNotifications : int32()
    +BSODWidget : TObjectPtr()< UOperatingSystemBsodWidget
    +TaskbarButtons : TMap()< int32(), TWeakObjectPtr()< UOper
    +PreviousFocusedTaskbarButton : TWeakObjectPtr()< UOperatingSystemTaskba
    +LastFocusedTaskbarButton : TWeakObjectPtr()< UOperatingSystemTaskba
    +StartupPrograms : TMap()< FName(), TWeakObjectPtr()< UOper
    +PendingStartupPrograms : TArray()< TWeakObjectPtr()< UOperatingSy
    +TargetPartitionID : FOperatingSystemUniqueId()
    +LastBroughtToFrontWindow : TWeakObjectPtr()< UDraggableWindow() >
    +bAutoLogin : uint8()
    +bInstallStartupPrograms : uint8()
    +DeviceName : FText()
    +OnShowNotification(const FOperatingSystemNotification &NewNoti void()
    +OnAllOnNotificationsCleared() void()
    +OnValidate(FGenericError &OutError) const void()
    +FinalizePreInstallation(FGenericError &OutError) void()
    +PrepareOperatingSystemInstallImpl(FGenericError &OutError) void()
    +StartOperatingSystemImpl(FGenericError &OutError) bool()
    +PostLoadOperatingSystemImpl(FGenericError &OutError) void()
    +FinishInstallationImpl() void()
    +InstallStartupProgramsImpl() void()
    +OnPartitionLoaded(UOperatingSystemPartition &LoadedPartition, void()
    +FindProgramFromPackage(const FName &ProgramIdentifier) TSoftClassPtr()< UOperatingSystemBasePro
    +K2_CanStartOperatingSystem(FGenericError &ReturnError) bool()
    +Internal_CreateDefaultDirectories(FGenericError &OutError) void()
    +Internal_PrepareInstall(FGenericError &OutError) void()
    +Internal_FinalizePreInstallation(FGenericError &OutError) void()
    +Internal_Validate(FGenericError &OutError) const void()
    +Internal_CreateNotificationManager() void()
    +Internal_LoadSettings(const TWeakObjectPtr< const UOperatingSyste const()FOperatingSystemDeviceSaveLoad() 
    +Internal_RunPendingStartupProgram() void()
    +Internal_InstallProgram(const TSoftClassPtr< UOperatingSystemBasePr UOperatingSystemBaseProgram() *
    +Internal_LoadSavedProgram(const TSoftClassPtr< UOperatingSystemBasePr void()
    +Internal_SetTaskbarButtonStateToUnfocused() void()
    +Internal_BringWindowToFront(UDraggableWindow *TargetWindow) void()
  }

Documented call sites inside the plugin (92):

flowchart LR
  UOperatingSystem__GetSettings["UOperatingSystem::GetSettings"]
  UOperatingSystem__AddNotification["UOperatingSystem::AddNotification"]
  UOperatingSystem__AddNotification --> UOperatingSystem__GetSettings
  UOperatingSystem__AddNotification --> UOperatingSystem__GetSettings
  UOperatingSystem__AddProgramData["UOperatingSystem::AddProgramData"]
  UOperatingSystem__AddProgramData --> UOperatingSystem__GetSettings
  UOperatingSystem__AddRunningProgram["UOperatingSystem::AddRunningProgram"]
  UOperatingSystem__AddRunningProgram --> UOperatingSystem__GetSettings
  UOperatingSystem__AllocatePartition["UOperatingSystem::AllocatePartition"]
  UOperatingSystem__AllocatePartition --> UOperatingSystem__GetSettings
  UOperatingSystem__BeginInstallation["UOperatingSystem::BeginInstallation"]
  UOperatingSystem__BeginInstallation --> UOperatingSystem__GetSettings
  UOperatingSystem__BringBackgroundProgramToFront["UOperatingSystem::BringBackgroundProgramToFront"]
  UOperatingSystem__BringBackgroundProgramToFront --> UOperatingSystem__GetSettings
  UOperatingSystem__BringWindowToFront["UOperatingSystem::BringWindowToFront"]
  UOperatingSystem__BringWindowToFront --> UOperatingSystem__GetSettings
  UOperatingSystem__ClearAllNotifications["UOperatingSystem::ClearAllNotifications"]
  UOperatingSystem__ClearAllNotifications --> UOperatingSystem__GetSettings
  UOperatingSystem__CloseAllRunningPrograms["UOperatingSystem::CloseAllRunningPrograms"]
  UOperatingSystem__CloseAllRunningPrograms --> UOperatingSystem__GetSettings
  UOperatingSystem__CloseProgram["UOperatingSystem::CloseProgram"]
  UOperatingSystem__CloseProgram --> UOperatingSystem__GetSettings
  UOperatingSystem__ConsumeSpaceInGB["UOperatingSystem::ConsumeSpaceInGB"]
  UOperatingSystem__ConsumeSpaceInGB --> UOperatingSystem__GetSettings
  UOperatingSystem__ConsumeSpaceInMB["UOperatingSystem::ConsumeSpaceInMB"]
  UOperatingSystem__ConsumeSpaceInMB --> UOperatingSystem__GetSettings
  UOperatingSystem__CreateDirectoryInPath["UOperatingSystem::CreateDirectoryInPath"]
  UOperatingSystem__CreateDirectoryInPath --> UOperatingSystem__GetSettings
  UOperatingSystemNonUnix__CreateDirectoryInPath["UOperatingSystemNonUnix::CreateDirectoryInPath"]
  UOperatingSystemNonUnix__CreateDirectoryInPath --> UOperatingSystem__GetSettings
  UOperatingSystemUnix__CreateDirectoryInPath["UOperatingSystemUnix::CreateDirectoryInPath"]
  UOperatingSystemUnix__CreateDirectoryInPath --> UOperatingSystem__GetSettings
  UOperatingSystem__CreateNewUser["UOperatingSystem::CreateNewUser"]
  UOperatingSystem__CreateNewUser --> UOperatingSystem__GetSettings
  UOperatingSystem__CreateNewWindow["UOperatingSystem::CreateNewWindow"]
  UOperatingSystem__CreateNewWindow --> UOperatingSystem__GetSettings
  UOperatingSystem__CreateOperatingSystem["UOperatingSystem::CreateOperatingSystem"]
  UOperatingSystem__CreateOperatingSystem --> UOperatingSystem__GetSettings
  UOperatingSystem__CreateProgramsFromRepository["UOperatingSystem::CreateProgramsFromRepository"]
  UOperatingSystem__CreateProgramsFromRepository --> UOperatingSystem__GetSettings
  UOperatingSystemUnix__CreateRootDirectory["UOperatingSystemUnix::CreateRootDirectory"]
  UOperatingSystemUnix__CreateRootDirectory --> UOperatingSystem__GetSettings
  UOperatingSystem__DestroyOS["UOperatingSystem::DestroyOS"]
  UOperatingSystem__DestroyOS --> UOperatingSystem__GetSettings
  UOperatingSystemNonUnix__FinalizePreInstallation["UOperatingSystemNonUnix::FinalizePreInstallation"]
  UOperatingSystemNonUnix__FinalizePreInstallation --> UOperatingSystem__GetSettings
  UOperatingSystemUnix__FinalizePreInstallation["UOperatingSystemUnix::FinalizePreInstallation"]
  UOperatingSystemUnix__FinalizePreInstallation --> UOperatingSystem__GetSettings
  UOperatingSystemNonUnix__FindDiskLetterAtIndex["UOperatingSystemNonUnix::FindDiskLetterAtIndex"]
  UOperatingSystemNonUnix__FindDiskLetterAtIndex --> UOperatingSystem__GetSettings
  UOperatingSystemNonUnix__FindPartitionFromLetter["UOperatingSystemNonUnix::FindPartitionFromLetter"]
  UOperatingSystemNonUnix__FindPartitionFromLetter --> UOperatingSystem__GetSettings
  UOperatingSystem__FindProgramData["UOperatingSystem::FindProgramData"]
  UOperatingSystem__FindProgramData --> UOperatingSystem__GetSettings
  UOperatingSystemUnix__FindProgramFromPackage["UOperatingSystemUnix::FindProgramFromPackage"]
  UOperatingSystemUnix__FindProgramFromPackage --> UOperatingSystem__GetSettings
  UOperatingSystem__FinishInstallation["UOperatingSystem::FinishInstallation"]
  UOperatingSystem__FinishInstallation --> UOperatingSystem__GetSettings
  UOperatingSystem__GetDirectoryIconObject["UOperatingSystem::GetDirectoryIconObject"]
  UOperatingSystem__GetDirectoryIconObject --> UOperatingSystem__GetSettings
  UOperatingSystem__GetDiskPartitions["UOperatingSystem::GetDiskPartitions"]
  UOperatingSystem__GetDiskPartitions --> UOperatingSystem__GetSettings
  UOperatingSystem__GetHardDiskSize["UOperatingSystem::GetHardDiskSize"]
  UOperatingSystem__GetHardDiskSize --> UOperatingSystem__GetSettings
  UOperatingSystem__GetInitialLoadingTime["UOperatingSystem::GetInitialLoadingTime"]
  UOperatingSystem__GetInitialLoadingTime --> UOperatingSystem__GetSettings
  UOperatingSystem__GetInstallationTime["UOperatingSystem::GetInstallationTime"]
  UOperatingSystem__GetInstallationTime --> UOperatingSystem__GetSettings
  UOperatingSystem__GetInstalledProgram["UOperatingSystem::GetInstalledProgram"]
  UOperatingSystem__GetInstalledProgram --> UOperatingSystem__GetSettings
  UOperatingSystem__GetInstalledPrograms["UOperatingSystem::GetInstalledPrograms"]
  UOperatingSystem__GetInstalledPrograms --> UOperatingSystem__GetSettings
  UOperatingSystem__GetInstalledProgramsMap["UOperatingSystem::GetInstalledProgramsMap"]
  UOperatingSystem__GetInstalledProgramsMap --> UOperatingSystem__GetSettings
  UOperatingSystem__GetLoadingTime["UOperatingSystem::GetLoadingTime"]
  UOperatingSystem__GetLoadingTime --> UOperatingSystem__GetSettings
  UOperatingSystem__GetOperatingSystemPartition["UOperatingSystem::GetOperatingSystemPartition"]
  UOperatingSystem__GetOperatingSystemPartition --> UOperatingSystem__GetSettings
  UOperatingSystem__GetOperatingSystemUniqueID["UOperatingSystem::GetOperatingSystemUniqueID"]
  UOperatingSystem__GetOperatingSystemUniqueID --> UOperatingSystem__GetSettings
  UOperatingSystemUnix__GetRootCommand["UOperatingSystemUnix::GetRootCommand"]
  UOperatingSystemUnix__GetRootCommand --> UOperatingSystem__GetSettings
  UOperatingSystem__GetRunningProgram["UOperatingSystem::GetRunningProgram"]
  UOperatingSystem__GetRunningProgram --> UOperatingSystem__GetSettings
  UOperatingSystem__GetSizeAsText["UOperatingSystem::GetSizeAsText"]
  UOperatingSystem__GetSizeAsText --> UOperatingSystem__GetSettings
  UOperatingSystem__GetStartupPrograms["UOperatingSystem::GetStartupPrograms"]
  UOperatingSystem__GetStartupPrograms --> UOperatingSystem__GetSettings
  UOperatingSystem__GetStoragePercentage["UOperatingSystem::GetStoragePercentage"]
  UOperatingSystem__GetStoragePercentage --> UOperatingSystem__GetSettings
  UOperatingSystem__HasEnoughSpace["UOperatingSystem::HasEnoughSpace"]
  UOperatingSystem__HasEnoughSpace --> UOperatingSystem__GetSettings
  UOperatingSystem__InstallationCompleted["UOperatingSystem::InstallationCompleted"]
  UOperatingSystem__InstallationCompleted --> UOperatingSystem__GetSettings
  UOperatingSystem__InstallProgramFromClass["UOperatingSystem::InstallProgramFromClass"]
  UOperatingSystem__InstallProgramFromClass --> UOperatingSystem__GetSettings
  UOperatingSystem__InstallProgramFromPackage["UOperatingSystem::InstallProgramFromPackage"]
  UOperatingSystem__InstallProgramFromPackage --> UOperatingSystem__GetSettings
  UOperatingSystem__Internal_BringWindowToFront["UOperatingSystem::Internal_BringWindowToFront"]
  UOperatingSystem__Internal_BringWindowToFront --> UOperatingSystem__GetSettings
  UOperatingSystem__Internal_CreateDefaultDirectories["UOperatingSystem::Internal_CreateDefaultDirectories"]
  UOperatingSystem__Internal_CreateDefaultDirectories --> UOperatingSystem__GetSettings
  UOperatingSystem__Internal_CreateNotificationManager["UOperatingSystem::Internal_CreateNotificationManager"]
  UOperatingSystem__Internal_CreateNotificationManager --> UOperatingSystem__GetSettings
  UOperatingSystem__Internal_FinalizePreInstallation["UOperatingSystem::Internal_FinalizePreInstallation"]
  UOperatingSystem__Internal_FinalizePreInstallation --> UOperatingSystem__GetSettings
  UOperatingSystem__Internal_InstallProgram["UOperatingSystem::Internal_InstallProgram"]
  UOperatingSystem__Internal_InstallProgram --> UOperatingSystem__GetSettings
  UOperatingSystem__Internal_LoadSavedProgram["UOperatingSystem::Internal_LoadSavedProgram"]
  UOperatingSystem__Internal_LoadSavedProgram --> UOperatingSystem__GetSettings
  UOperatingSystem__Internal_LoadSettings["UOperatingSystem::Internal_LoadSettings"]
  UOperatingSystem__Internal_LoadSettings --> UOperatingSystem__GetSettings
  UOperatingSystem__Internal_PrepareInstall["UOperatingSystem::Internal_PrepareInstall"]
  UOperatingSystem__Internal_PrepareInstall --> UOperatingSystem__GetSettings
  UOperatingSystem__Internal_RunPendingStartupProgram["UOperatingSystem::Internal_RunPendingStartupProgram"]
  UOperatingSystem__Internal_RunPendingStartupProgram --> UOperatingSystem__GetSettings
  UOperatingSystem__Internal_SetTaskbarButtonStateToUnfocused["UOperatingSystem::Internal_SetTaskbarButtonStateToUnfocused"]
  UOperatingSystem__Internal_SetTaskbarButtonStateToUnfocused --> UOperatingSystem__GetSettings
  UOperatingSystem__Internal_Validate["UOperatingSystem::Internal_Validate"]
  UOperatingSystem__Internal_Validate --> UOperatingSystem__GetSettings
  UOperatingSystem__IsProgramInBackground["UOperatingSystem::IsProgramInBackground"]
  UOperatingSystem__IsProgramInBackground --> UOperatingSystem__GetSettings
  UOperatingSystem__IsProgramInstalled["UOperatingSystem::IsProgramInstalled"]
  UOperatingSystem__IsProgramInstalled --> UOperatingSystem__GetSettings
  UOperatingSystem__IsProgramRunning["UOperatingSystem::IsProgramRunning"]
  UOperatingSystem__IsProgramRunning --> UOperatingSystem__GetSettings
  UOperatingSystem__IsProgramRunning --> UOperatingSystem__GetSettings
  UOperatingSystem__LoginUser["UOperatingSystem::LoginUser"]
  UOperatingSystem__LoginUser --> UOperatingSystem__GetSettings
  UOperatingSystem__MinimizeProgram["UOperatingSystem::MinimizeProgram"]
  UOperatingSystem__MinimizeProgram --> UOperatingSystem__GetSettings
  UOperatingSystemNonUnix__OnPartitionLoaded["UOperatingSystemNonUnix::OnPartitionLoaded"]
  UOperatingSystemNonUnix__OnPartitionLoaded --> UOperatingSystem__GetSettings
  UOperatingSystem__OnShowDesktop["UOperatingSystem::OnShowDesktop"]
  UOperatingSystem__OnShowDesktop --> UOperatingSystem__GetSettings
  UOperatingSystem__OnShowNotification["UOperatingSystem::OnShowNotification"]
  UOperatingSystem__OnShowNotification --> UOperatingSystem__GetSettings
  UOperatingSystemUnix__OnValidate["UOperatingSystemUnix::OnValidate"]
  UOperatingSystemUnix__OnValidate --> UOperatingSystem__GetSettings
  UOperatingSystem__PostLoadOperatingSystem["UOperatingSystem::PostLoadOperatingSystem"]
  UOperatingSystem__PostLoadOperatingSystem --> UOperatingSystem__GetSettings
  UOperatingSystemNonUnix__PostLoadOperatingSystemImpl["UOperatingSystemNonUnix::PostLoadOperatingSystemImpl"]
  UOperatingSystemNonUnix__PostLoadOperatingSystemImpl --> UOperatingSystem__GetSettings
  UOperatingSystemUnix__PostLoadOperatingSystemImpl["UOperatingSystemUnix::PostLoadOperatingSystemImpl"]
  UOperatingSystemUnix__PostLoadOperatingSystemImpl --> UOperatingSystem__GetSettings
  UOperatingSystem__ProgramStarted["UOperatingSystem::ProgramStarted"]
  UOperatingSystem__ProgramStarted --> UOperatingSystem__GetSettings
  UOperatingSystem__RefreshPartitions["UOperatingSystem::RefreshPartitions"]
  UOperatingSystem__RefreshPartitions --> UOperatingSystem__GetSettings
  UOperatingSystem__RemovePartition["UOperatingSystem::RemovePartition"]
  UOperatingSystem__RemovePartition --> UOperatingSystem__GetSettings
  UOperatingSystem__RestartOS["UOperatingSystem::RestartOS"]
  UOperatingSystem__RestartOS --> UOperatingSystem__GetSettings
  UOperatingSystem__RestoreMinimizedProgram["UOperatingSystem::RestoreMinimizedProgram"]
  UOperatingSystem__RestoreMinimizedProgram --> UOperatingSystem__GetSettings
  UOperatingSystemSettingModule_Wallpaper__SaveBundledWallpaper["UOperatingSystemSettingModule_Wallpaper::SaveBundledWallpaper"]
  UOperatingSystemSettingModule_Wallpaper__SaveBundledWallpaper --> UOperatingSystem__GetSettings
  UOperatingSystemSettingModule_Wallpaper__SaveCustomWallpaper["UOperatingSystemSettingModule_Wallpaper::SaveCustomWallpaper"]
  UOperatingSystemSettingModule_Wallpaper__SaveCustomWallpaper --> UOperatingSystem__GetSettings
  UOperatingSystem__SetAutoLogin["UOperatingSystem::SetAutoLogin"]
  UOperatingSystem__SetAutoLogin --> UOperatingSystem__GetSettings
  UOperatingSystem__SetDeviceName["UOperatingSystem::SetDeviceName"]
  UOperatingSystem__SetDeviceName --> UOperatingSystem__GetSettings
  UOperatingSystem__SetProgramAtStartup["UOperatingSystem::SetProgramAtStartup"]
  UOperatingSystem__SetProgramAtStartup --> UOperatingSystem__GetSettings
  UOperatingSystem__SetToInstallStartupPrograms["UOperatingSystem::SetToInstallStartupPrograms"]
  UOperatingSystem__SetToInstallStartupPrograms --> UOperatingSystem__GetSettings
  UOperatingSystem__ShutdownOS["UOperatingSystem::ShutdownOS"]
  UOperatingSystem__ShutdownOS --> UOperatingSystem__GetSettings
  UOperatingSystem__StartOperatingSystem["UOperatingSystem::StartOperatingSystem"]
  UOperatingSystem__StartOperatingSystem --> UOperatingSystem__GetSettings
  UOperatingSystemNonUnix__StartOperatingSystemImpl["UOperatingSystemNonUnix::StartOperatingSystemImpl"]
  UOperatingSystemNonUnix__StartOperatingSystemImpl --> UOperatingSystem__GetSettings
  UOperatingSystemUnix__StartOperatingSystemImpl["UOperatingSystemUnix::StartOperatingSystemImpl"]
  UOperatingSystemUnix__StartOperatingSystemImpl --> UOperatingSystem__GetSettings
  UOperatingSystem__UninstallProgram["UOperatingSystem::UninstallProgram"]
  UOperatingSystem__UninstallProgram --> UOperatingSystem__GetSettings
  UOperatingSystem__UninstallProgramByClass["UOperatingSystem::UninstallProgramByClass"]
  UOperatingSystem__UninstallProgramByClass --> UOperatingSystem__GetSettings
  UOperatingSystemUnixPhone__UOperatingSystemUnixPhone["UOperatingSystemUnixPhone::UOperatingSystemUnixPhone"]
  UOperatingSystemUnixPhone__UOperatingSystemUnixPhone --> UOperatingSystem__GetSettings
  UOperatingSystem__UpdateCurrentUserDetails["UOperatingSystem::UpdateCurrentUserDetails"]
  UOperatingSystem__UpdateCurrentUserDetails --> UOperatingSystem__GetSettings

Documented call sites inside the plugin (17):

flowchart LR
  UOperatingSystem__AddNotification["UOperatingSystem::AddNotification"]
  UOperatingSystemStatics__AddNotification["UOperatingSystemStatics::AddNotification"]
  UOperatingSystemStatics__AddNotification --> UOperatingSystem__AddNotification
  UOperatingSystemStatics__AddNotificationFromError["UOperatingSystemStatics::AddNotificationFromError"]
  UOperatingSystemStatics__AddNotificationFromError --> UOperatingSystem__AddNotification
  UOperatingSystem__AddRunningProgram["UOperatingSystem::AddRunningProgram"]
  UOperatingSystem__AddRunningProgram --> UOperatingSystem__AddNotification
  UOperatingSystem__CloseProgram["UOperatingSystem::CloseProgram"]
  UOperatingSystem__CloseProgram --> UOperatingSystem__AddNotification
  UOperatingSystem__ConsumeSpaceInGB["UOperatingSystem::ConsumeSpaceInGB"]
  UOperatingSystem__ConsumeSpaceInGB --> UOperatingSystem__AddNotification
  UOperatingSystem__ConsumeSpaceInMB["UOperatingSystem::ConsumeSpaceInMB"]
  UOperatingSystem__ConsumeSpaceInMB --> UOperatingSystem__AddNotification
  UOperatingSystemUserManager__CreateNewUser["UOperatingSystemUserManager::CreateNewUser"]
  UOperatingSystemUserManager__CreateNewUser --> UOperatingSystem__AddNotification
  UOperatingSystem__CreateProgramsFromRepository["UOperatingSystem::CreateProgramsFromRepository"]
  UOperatingSystem__CreateProgramsFromRepository --> UOperatingSystem__AddNotification
  UOperatingSystem__FinishInstallation["UOperatingSystem::FinishInstallation"]
  UOperatingSystem__FinishInstallation --> UOperatingSystem__AddNotification
  UOperatingSystem__InstallProgramFromClass["UOperatingSystem::InstallProgramFromClass"]
  UOperatingSystem__InstallProgramFromClass --> UOperatingSystem__AddNotification
  UOperatingSystem__InstallProgramFromPackage["UOperatingSystem::InstallProgramFromPackage"]
  UOperatingSystem__InstallProgramFromPackage --> UOperatingSystem__AddNotification
  UOperatingSystem__Internal_InstallProgram["UOperatingSystem::Internal_InstallProgram"]
  UOperatingSystem__Internal_InstallProgram --> UOperatingSystem__AddNotification
  UOperatingSystemNonUnix__PrepareOperatingSystemInstallImpl["UOperatingSystemNonUnix::PrepareOperatingSystemInstallImpl"]
  UOperatingSystemNonUnix__PrepareOperatingSystemInstallImpl --> UOperatingSystem__AddNotification
  UOperatingSystemUnix__PrepareOperatingSystemInstallImpl["UOperatingSystemUnix::PrepareOperatingSystemInstallImpl"]
  UOperatingSystemUnix__PrepareOperatingSystemInstallImpl --> UOperatingSystem__AddNotification
  UOperatingSystem__StartOperatingSystem["UOperatingSystem::StartOperatingSystem"]
  UOperatingSystem__StartOperatingSystem --> UOperatingSystem__AddNotification
  UOperatingSystemStore__SubmitRating["UOperatingSystemStore::SubmitRating"]
  UOperatingSystemStore__SubmitRating --> UOperatingSystem__AddNotification
  UOperatingSystem__UninstallProgram["UOperatingSystem::UninstallProgram"]
  UOperatingSystem__UninstallProgram --> UOperatingSystem__AddNotification

Caller impact — GetOperatingSystemPartition

Section titled “Caller impact — GetOperatingSystemPartition”

Documented call sites inside the plugin (5):

flowchart LR
  UOperatingSystem__GetOperatingSystemPartition["UOperatingSystem::GetOperatingSystemPartition"]
  UOperatingSystem__CreateProgramsFromRepository["UOperatingSystem::CreateProgramsFromRepository"]
  UOperatingSystem__CreateProgramsFromRepository --> UOperatingSystem__GetOperatingSystemPartition
  UOperatingSystemUnix__CreateRootDirectory["UOperatingSystemUnix::CreateRootDirectory"]
  UOperatingSystemUnix__CreateRootDirectory --> UOperatingSystem__GetOperatingSystemPartition
  UOperatingSystem__InstallProgramFromClass["UOperatingSystem::InstallProgramFromClass"]
  UOperatingSystem__InstallProgramFromClass --> UOperatingSystem__GetOperatingSystemPartition
  UOperatingSystem__Internal_CreateDefaultDirectories["UOperatingSystem::Internal_CreateDefaultDirectories"]
  UOperatingSystem__Internal_CreateDefaultDirectories --> UOperatingSystem__GetOperatingSystemPartition
  UOperatingSystemTerminal__OnStart["UOperatingSystemTerminal::OnStart"]
  UOperatingSystemTerminal__OnStart --> UOperatingSystem__GetOperatingSystemPartition

Documented call sites inside the plugin (2):

flowchart LR
  UOperatingSystem__IsProgramRunning["UOperatingSystem::IsProgramRunning"]
  UOperatingSystem__AddRunningProgram["UOperatingSystem::AddRunningProgram"]
  UOperatingSystem__AddRunningProgram --> UOperatingSystem__IsProgramRunning
  UOperatingSystem__UninstallProgram["UOperatingSystem::UninstallProgram"]
  UOperatingSystem__UninstallProgram --> UOperatingSystem__IsProgramRunning

Documented call sites inside the plugin (3):

flowchart LR
  UOperatingSystem__GetDiskPartitions["UOperatingSystem::GetDiskPartitions"]
  UOperatingSystemNonUnix__FindPartitionFromLetter["UOperatingSystemNonUnix::FindPartitionFromLetter"]
  UOperatingSystemNonUnix__FindPartitionFromLetter --> UOperatingSystem__GetDiskPartitions
  UOperatingSystemNonUnix__StartOperatingSystemImpl["UOperatingSystemNonUnix::StartOperatingSystemImpl"]
  UOperatingSystemNonUnix__StartOperatingSystemImpl --> UOperatingSystem__GetDiskPartitions
  UOperatingSystemUnix__StartOperatingSystemImpl["UOperatingSystemUnix::StartOperatingSystemImpl"]
  UOperatingSystemUnix__StartOperatingSystemImpl --> UOperatingSystem__GetDiskPartitions

Caller impact — GetOperatingSystemUniqueID

Section titled “Caller impact — GetOperatingSystemUniqueID”

Documented call sites inside the plugin (3):

flowchart LR
  UOperatingSystem__GetOperatingSystemUniqueID["UOperatingSystem::GetOperatingSystemUniqueID"]
  UOperatingSystemUserManager__GetUserKey["UOperatingSystemUserManager::GetUserKey"]
  UOperatingSystemUserManager__GetUserKey --> UOperatingSystem__GetOperatingSystemUniqueID
  UOperatingSystemSaveGame__SaveGame["UOperatingSystemSaveGame::SaveGame"]
  UOperatingSystemSaveGame__SaveGame --> UOperatingSystem__GetOperatingSystemUniqueID
  UOperatingSystemBaseDevice__StartOperatingSystem["UOperatingSystemBaseDevice::StartOperatingSystem"]
  UOperatingSystemBaseDevice__StartOperatingSystem --> UOperatingSystem__GetOperatingSystemUniqueID

Represents an operating system in the simulation.

UOperatingSystem is a subclass of UObject and it contains various properties and methods related to an operating system, such as its name, version, supported devices, installed programs, etc. DO NOT inherit from this class directly. @See UOperatingSystemUnix @See UOperatingSystemNonUnix

ReturnNameDescription
FOnOperatingSystemWindowBroughtToFrontOnOperatingSystemWindowBroughtToFront
FOperatingSystemProgramDelegateOnProgramStartedDelegate representing the event when a program starts in the operating system.
FOperatingSystemProgramDelegateOnProgramClosedDelegate for handling the program closed event.
FOperatingSystemProgramDelegateOnProgramInstalledDelegate representing the event when a program is installed in the operating system.
FOperatingSystemProgramDelegateOnProgramUninstalled

FOnOperatingSystemWindowBroughtToFront OnOperatingSystemWindowBroughtToFront

Defined in OperatingSystem.h:302


FOperatingSystemProgramDelegate OnProgramStarted

Defined in OperatingSystem.h:327 Delegate representing the event when a program starts in the operating system.

This delegate is used to handle the event when a program starts in the operating system. It can be bound to functions or methods that need to be executed when a program is started.

Usage example:

UFUNCTION()
void HandleProgramStarted(UOperatingSystemBaseProgram* Program)
{
// Code to handle program started event.
}
// Bind the delegate to the handler function.
OnProgramStarted.AddDynamic(this, &ThisClass::HandleProgramStarted);

See also: FOperatingSystemProgramDelegate

See also: UOperatingSystemBaseProgram


FOperatingSystemProgramDelegate OnProgramClosed

Defined in OperatingSystem.h:354 Delegate for handling the program closed event.

This delegate can be assigned a blueprint callable function to handle the event when the program is closed.

Example usage:

UFUNCTION()
void HandleProgramClosed(UOperatingSystemBaseProgram* Program)
{
// Code to handle program closed event
}
void SomeFunction()
{
// Assigning the blueprint callable function to the delegate
OnProgramClosed.AddDynamic(this, &ThisClass::HandleProgramClosed);
}

See also: FOperatingSystemProgramDelegate

See also: UOperatingSystemBaseProgram


FOperatingSystemProgramDelegate OnProgramInstalled

Defined in OperatingSystem.h:381 Delegate representing the event when a program is installed in the operating system.

This delegate is used to handle the event when a program is installed in the operating system. It can be assigned a function or method with the appropriate signature to handle the event.

Example usage:

UFUNCTION()
void HandleProgramInstalled(UOperatingSystemBaseProgram* Program)
{
// Code to handle program closed event
}
void SomeFunction()
{
// Assigning the blueprint callable function to the delegate
OnProgramInstalled.AddDynamic(this, &ThisClass::HandleProgramInstalled);
}

See also: FOperatingSystemProgramDelegate

See also: UOperatingSystemBaseProgram


FOperatingSystemProgramDelegate OnProgramUninstalled

Defined in OperatingSystem.h:408

ReturnNameDescription
T *GetAs const inlineGet a pointer to the object casted as type T.
constT *GetAsConst const inlineGet a pointer to the object casted as type T.
boolAddNotificationAdds a notification to the operating system.
boolAddNotificationAdds a notification to the operating system. This method allows adding a notification to the operating system with the specified error, category, and verbosity.
voidStartOperatingSystemStart the operating system. This method starts the operating system. It performs the necessary initialization and loads the settings and programs.
voidPostLoadOperatingSystemCalls the PostLoadOperatingSystemImpl method and handles any error that occurs.
voidOnShowDesktopCalled from the widget after switching to the desktop view.
voidFinishInstallationFinish the installation of the operating system.
voidInstallStartupProgramsInstall the startup programs for the operating system.
voidShutdownOSShuts down the operating system.
voidRestartOSRestarts the operating system.
voidDestroyOSDestroys the operating system instance.
int32AddRunningProgramAdds a running program to the operating system.
voidProgramStartedNotifies the operating system that a program has started.
boolIsProgramRunning constCheck if a program is running.
boolIsProgramRunning constChecks if a program of the specified class is currently running.
UDraggableWindow *CreateNewWindow constCreates a new window for the target program.
voidBringWindowToFrontBring the specified window to the front.
UOperatingSystemDirectory *CreateDirectoryInPath virtualCreates a directory in the given target path.
boolCreateProgramsFromRepositoryCreate programs from a given repository.
voidSetToInstallStartupProgramsSets whether to install startup programs.
boolShouldInstallStartupPrograms constDetermines whether the startup programs should be installed.
voidSetDeviceNameSets the name of the device.
FTextGetDeviceName constReturns the device name.
voidSetAutoLoginSets the auto login flag for the operating system.
boolCanAutoLogin constChecks if auto-login is enabled.
floatGetInstallationTime constRetrieves the installation time of the operating system.
floatGetLoadingTime constGet the loading time.
floatGetInitialLoadingTime constGets the initial loading time.
constTArray< FOperatingSystemNotification > &GetNotifications const inlineRetrieves the notifications.
voidClearAllNotificationsClears all notifications on the operating system.
voidConsumeSpaceInMBConsume the given amount of space in megabytes (MB) from a specific operating system partition.
voidConsumeSpaceInGBConsume space on the operating system partition in gigabytes.
FTextGetSizeAsText constReturns the size of the given partition.
floatGetStoragePercentage constReturns the percentage of storage available. For example: 75%, 40% etc.
doubleGetHardDiskSize constReturns the Hard Disk total size in given method.
voidUninstallProgramUninstalls the given program identifier from this Operating System.
voidUninstallProgramByClassUninstalls the given program class from this Operating System.
UOperatingSystemBaseProgram *InstallProgramFromPackageInstalls a program from a package.
UOperatingSystemBaseProgram *InstallProgramFromClassInstalls the given program class. If target partition is null, system partition is automatically used.
boolSetProgramAtStartupConfigures the application to run at system startup.
voidBeginInstallationBegin installation of this Operating System. This is a simple timer which will call UOperatingSystem::FinishInstallation after the time returned by UOperatingSystem::GetInstallationTime()
UOperatingSystemPartition *AllocatePartitionAllocatePartition is a method used to allocate a new partition on a specific device.
voidRemovePartitionRemoves a partition from the operating system.
voidRefreshPartitionsRefreshes the partitions of the operating system.
voidInstallationCompletedMarks the completion of the installation process.
boolCreateNewUserCreates a new user in the operating system.
boolLoginUserLogs the user in with the given username and password.
boolUpdateCurrentUserDetailsUpdates the details for the current user. If you don’t want specific settings to change simply leave them empty or null.
boolHasEnoughSpace constCheck if a given partition has enough space for a given size.
TArray< UOperatingSystemPartition * >GetDiskPartitions constRetrieves the disk partitions associated with the operating system.
UOperatingSystemPartition *GetOperatingSystemPartition constRetrieves the operating system partition.
voidCloseProgramCloses the given program.
boolBringBackgroundProgramToFrontBrings a background program to the foreground and activates it. The program must be currently running in the background, otherwise an error will be returned.
boolIsProgramInBackground constDetermines if the specified program is currently running in the background or not.
voidMinimizeProgramMinimizes the specified program.
voidCloseAllRunningProgramsCloses all running programs in the operating system.
voidRestoreMinimizedProgramRestores a minimized program to the foreground on the operating system’s taskbar.
UObject *GetDirectoryIconObject constRetrieves the directory icon object associated with the specified tag.
boolIsUnix const inlineChecks if the operating system is Unix.
floatGetBsodOnScreenTime const inlineReturns the duration, in seconds, that the blue screen of death has been visible on the screen.
floatGetToastNotificationDisplayTime const inlineRetrieves the display time for toast notifications.
TArray< UOperatingSystemBaseProgram * >GetInstalledPrograms const[DEPRECATED] Get the list of installed programs.
voidGetInstalledProgramsMap constGets the TMap of installed programs.
voidGetStartupProgramsGets the TMap of currently set startup programs.
UOperatingSystemProgramData *FindProgramData const
voidAddProgramData
UOperatingSystemBaseProgram *GetInstalledProgram constRetrieves the installed program of the specified class.
boolIsProgramInstalled constChecks if a program is installed. This method checks if a program, represented by the provided UOperatingSystemBaseProgram subclass, is installed on the system.
UOperatingSystemBaseProgram *GetRunningProgram constRetrieves the running program that matches the given class.
boolIsPreInstalledOperatingSystem constCheck if the operating system is pre-installed on the parent device.
UOperatingSystemSettingsData *GetSettings constRetrieves the settings data object for this Operating System.
boolIsRunningOnPortableDevice constChecks to see if this Operating System is running on a portable device actor.
UOperatingSystemPartition *FindPartitionFromLetter virtual const inlineFind a partition in the operating system from a given disk letter.
TOptional< FText >GetRootCommand virtual const inlineRetrieves the root command associated with the operating system.
TOptional< FOperatingSystemUser >GetRootUser virtual const inlineReturns the root user of the operating system. This method retrieves the root user of the operating system and returns it as an optional object. If the root user cannot be determined or is not available, an empty optional object is returned.
boolHasValidRootCommandAndUser const inlineDetermines whether the root command and user are valid.
boolIsShuttingDown constCheck if the operating system is in the process of shutting down.
boolIsRestarting constChecks if the operating system is currently restarting.
TArray< FOperatingSystemUser >GetAllUsers constReturns an array of all users registered in the operating system. This function retrieves information about all users registered in the operating system.

const inline

template<classT> inline T * GetAs() const

Defined in OperatingSystem.h:417 Get a pointer to the object casted as type T.

A pointer to the object casted as type T.

method assumes that T is derived from UOperatingSystem. If not, a static_assert will be triggered.


const inline

template<classT> inline constT * GetAsConst() const

Defined in OperatingSystem.h:427 Get a pointer to the object casted as type T.

A pointer to the object casted as type T.

method assumes that T is derived from UOperatingSystem. If not, a static_assert will be triggered. This returns a const object.


bool AddNotification(constFOperatingSystemNotification & NewNotification)

Defined in OperatingSystem.h:481 Adds a notification to the operating system.

This method adds a notification to the operating system. It checks if notifications are enabled in the notification settings before adding the notification. If notifications are not enabled, this method returns false. If notifications are enabled, it creates a notification manager and logs the new notification.

If the new notification is an error, it increments the total error notifications count and plays an error notification sound if enabled. If the new notification is a warning, it increments the total warning notifications count and plays a warning notification sound if enabled. If the new notification is neither an error nor a warning, it plays the default notification sound if enabled.

  • NewNotification The notification to be added to the operating system.

Returns true if the notification is successfully added, false otherwise.


bool AddNotification(constFGenericError & GenericError, constEOperatingSystemNotificationCategory & Category, constEOperatingSystemNotificationType Verbosity = EOperatingSystemNotificationType::Error)

Defined in OperatingSystem.h:491 Adds a notification to the operating system. This method allows adding a notification to the operating system with the specified error, category, and verbosity.

  • GenericError The error information for the notification.

  • Category The category of the notification.

  • Verbosity Verbosity level.


void StartOperatingSystem(constTWeakObjectPtr< constUOperatingSystemSaveGame > LoadGameInstance, FGenericError & OutError)

Defined in OperatingSystem.h:502 Start the operating system. This method starts the operating system. It performs the necessary initialization and loads the settings and programs.

  • LoadGameInstance A weak pointer to an instance of UOperatingSystemSaveGame containing the saved game data to load. This parameter is optional and can be nullptr if no saved game is available.

  • OutError A reference to an FGenericError object that will store any error that occurs during the startup process. Any error message will be stored in the OutError object.


void PostLoadOperatingSystem()

Defined in OperatingSystem.h:515 Calls the PostLoadOperatingSystemImpl method and handles any error that occurs.

This method is responsible for initializing the operating system after it has been loaded. It calls the PostLoadOperatingSystemImpl method to perform the necessary initialization steps. If an error occurs during the initialization process, it sets the error in the BSODWidget and shows the Blue Screen of Death (BSOD) on the ParentDevice.

See also: PostLoadOperatingSystemImpl


void OnShowDesktop()

Defined in OperatingSystem.h:520 Called from the widget after switching to the desktop view.


void FinishInstallation()

Defined in OperatingSystem.h:536 Finish the installation of the operating system.

This method is responsible for completing the installation process of the operating system. It performs several tasks such as creating default directories, installing startup programs, finishing the installation implementation, and notifying the user about the completion. After installation, it checks if this is the first start of the operating system and starts it if required.

See also: UOperatingSystem::Internal_CreateDefaultDirectories()

See also: UOperatingSystem::InstallStartupPrograms()

See also: UOperatingSystem::FinishInstallationImpl()


void InstallStartupPrograms()

Defined in OperatingSystem.h:547 Install the startup programs for the operating system.

This method checks if the startup programs should be installed and then calls the InstallStartupProgramsImpl() method to perform the actual installation.

See also: ShouldInstallStartupPrograms()

See also: InstallStartupProgramsImpl()


void ShutdownOS()

Defined in OperatingSystem.h:555 Shuts down the operating system.

This method initiates the shutdown process for the operating system. It closes all running programs and triggers the shutdown procedure handled by the operating system widget.


void RestartOS()

Defined in OperatingSystem.h:564 Restarts the operating system.

This method is used to restart the operating system. It first closes all the running programs and then initiates the restart process.

See also: CloseAllRunningPrograms(), OperatingSystemWidget


void DestroyOS()

Defined in OperatingSystem.h:578 Destroys the operating system instance.

This method is responsible for completely destroying the operating system instance and freeing up any resources it may have used. It performs the following actions:

  • Resets the shared pointer to the notification manager.

  • Resets the weak pointer to the last brought to front window.

  • Removes the BSOD widget from its parent.

  • Clears the list of installed programs.

  • Clears the list of running programs.

  • Removes the operating system widget from its parent.

  • Resets the weak pointer to the parent device.


int32 AddRunningProgram(UOperatingSystemBaseProgram * NewProgram, FGenericError & OutError)

Defined in OperatingSystem.h:590 Adds a running program to the operating system.

This method adds a running program to the operating system. The program must be installed and the operating system must be in a running state. If the program is a single instance program, it checks if it is already running.

  • NewProgram The program to add to the operating system.

  • OutError The error message if the program cannot be added.

The process ID of the added program, or INVALID_PROCESS_ID if the program cannot be added.


void ProgramStarted(UOperatingSystemBaseProgram * StartedProgram, constbool bIsRestored)

Defined in OperatingSystem.h:607 Notifies the operating system that a program has started.

This method is used to inform the operating system that a program has started. It takes a pointer to the UOperatingSystemBaseProgram object representing the started program, and a boolean indicating whether the program is being restored from a minimized state.

If the started program has a valid taskbar button, this method adds it to the list of taskbar buttons. The taskbar button is identified by the process ID of the started program.

If the program is not being restored, the “OnProgramStarted” event is broadcasted, indicating that the program has started.

  • StartedProgram Pointer to the UOperatingSystemBaseProgram object representing the started program.

  • bIsRestored Boolean indicating whether the program is being restored from a minimized state.


const

bool IsProgramRunning(constTWeakObjectPtr< constUOperatingSystemBaseProgram > TestProgram) const

Defined in OperatingSystem.h:618 Check if a program is running.

This method checks if a program is currently running based on the provided TestProgram.

A boolean value indicating whether the program is running or not. Returns true if the TestProgram is valid and running, false otherwise.


const

bool IsProgramRunning(constTSubclassOf< UOperatingSystemBaseProgram > TestProgramClass) const

Defined in OperatingSystem.h:626 Checks if a program of the specified class is currently running.

  • TestProgramClass The class of the program to check.

True if a program of the specified class is running, false otherwise.


const

UDraggableWindow * CreateNewWindow(TWeakObjectPtr< UOperatingSystemBaseProgram > TargetProgram) const

Defined in OperatingSystem.h:636 Creates a new window for the target program.

This method creates a new window for the target program specified.

  • TargetProgram The target program for which the new window is to be created.

The newly created window object.


void BringWindowToFront(UDraggableWindow * TargetWindow)

Defined in OperatingSystem.h:647 Bring the specified window to the front.

This method is used to bring a draggable window to the front of all other windows in the operating system.

  • TargetWindow The window to bring to the front. Must be a valid draggable window.

virtual

virtual UOperatingSystemDirectory * CreateDirectoryInPath(constFString & TargetPath, constFString & DirectoryName, TSoftClassPtr< UOperatingSystemDirectory > DirectoryClass, UOperatingSystemPartition * TargetPartition, constbool bIsFromSaveGame, FGenericError & OutError)

Defined in OperatingSystem.h:661 Creates a directory in the given target path.

  • TargetPath The target path where the directory will be created.

  • DirectoryName The name of the directory to be created.

  • DirectoryClass The class of the directory to be created.

  • TargetPartition The target partition where the directory will be created.

  • bIsFromSaveGame Specifies whether the directory is created from a save game.

  • OutError A reference to a FGenericError structure that will hold any error information.

A pointer to the created directory, or nullptr if the directory could not be created.


bool CreateProgramsFromRepository(constTSoftObjectPtr< UOperatingSystemProgramsCollection > & TargetRepository, constbool bIsInstalledWithOS)

Defined in OperatingSystem.h:841 Create programs from a given repository.

  • TargetRepository The repository from which to create the programs. Must not be null.

  • bIsInstalledWithOS Determines whether the programs are installed with the operating system.

True if the program creation is successful, false otherwise.


void SetToInstallStartupPrograms(constbool bInstall)

Defined in OperatingSystem.h:852 Sets whether to install startup programs.

This method allows you to specify whether the operating system should install startup programs.

  • bInstall A boolean value indicating whether startup programs should be installed. Set to true if startup programs should be installed, false otherwise.

const

bool ShouldInstallStartupPrograms() const

Defined in OperatingSystem.h:866 Determines whether the startup programs should be installed.

  • true if the startup programs should be installed.

  • false otherwise.

This method checks if the PostInstallStartupPrograms is null or empty. It also checks if the flag bInstallStartupPrograms is set to true. If both conditions are satisfied, the method returns true; otherwise, it returns false.


void SetDeviceName(constFText & NewName)

Defined in OperatingSystem.h:875 Sets the name of the device.

This method allows the user to set the name of the device.

  • NewName The new name of the device.

const

FText GetDeviceName() const

Defined in OperatingSystem.h:883 Returns the device name.

The device name as a FText object.


void SetAutoLogin(constbool bEnableAutoLogin)

Defined in OperatingSystem.h:894 Sets the auto login flag for the operating system.

This method allows the user to enable or disable auto login for the operating system.

  • bEnableAutoLogin - The value indicating whether auto login should be enabled or disabled.

  • true: Auto login is enabled.

  • false: Auto login is disabled.


const

bool CanAutoLogin() const

Defined in OperatingSystem.h:904 Checks if auto-login is enabled.

This method returns a boolean value indicating whether the auto-login feature is enabled or not.

true if auto-login is enabled, false otherwise.

See also: SetAutoLoginEnabled()


const

float GetInstallationTime() const

Defined in OperatingSystem.h:915 Retrieves the installation time of the operating system.

The installation time of the operating system in seconds.


const

float GetLoadingTime() const

Defined in OperatingSystem.h:927 Get the loading time.

This method returns the loading time. If the loading time has not been previously set, it will calculate the loading time and store it in a cached variable for future retrieval. The loading time is obtained from the LoadingTime object.

The loading time in seconds.


const

float GetInitialLoadingTime() const

Defined in OperatingSystem.h:938 Gets the initial loading time.

This method returns the initial loading time of the operating system. If the initial loading time has not been cached yet, it will retrieve the value from the LoadingTimeInitial object and cache it for future requests.

The initial loading time in seconds.


const inline

inline constTArray< FOperatingSystemNotification > & GetNotifications() const

Defined in OperatingSystem.h:946 Retrieves the notifications.

The array of operating system notifications.


void ClearAllNotifications()

Defined in OperatingSystem.h:952 Clears all notifications on the operating system.


void ConsumeSpaceInMB(constfloat & NewSizeInMB, UOperatingSystemPartition * Partition, FGenericError & OutError)

Defined in OperatingSystem.h:969 Consume the given amount of space in megabytes (MB) from a specific operating system partition.

This method consumes space from the specified partition of the operating system by delegating the task to the associated hard disk object. If the hard disk is not valid, an error is thrown and returned through the OutError parameter. If consuming space from the partition fails, an error notification is added.

  • NewSizeInMB The amount of space to consume in megabytes (MB).

  • Partition The operating system partition from which to consume the space.

  • OutError An FGenericError object used to return any errors that occur during the operation.

See also: UOperatingSystemHDD

See also: FGenericError

See also: AddNotification


void ConsumeSpaceInGB(constfloat & NewSizeInGB, UOperatingSystemPartition * Partition, FGenericError & OutError)

Defined in OperatingSystem.h:983 Consume space on the operating system partition in gigabytes.

  • NewSizeInGB The amount of space to consume in gigabytes.

  • Partition The operating system partition on which to consume the space.

  • OutError (out) The error message if the operation fails.


const

FText GetSizeAsText(constEOperatingSystemSizeMethod SizeMethod, constUOperatingSystemPartition * Partition, FGenericError & OutError) const

Defined in OperatingSystem.h:994 Returns the size of the given partition.

  • SizeMethod Your preferred method. Bytes, Megabytes or Gigabytes.

  • Partition Target partition to check size.

  • OutError Outputs error (if any).

[FText] Return text in the format {Size} {SizeString}. For example: 256 GB.


const

float GetStoragePercentage(constUOperatingSystemPartition * Partition, FGenericError & OutError) const

Defined in OperatingSystem.h:1002 Returns the percentage of storage available. For example: 75%, 40% etc.

[float] Percentage of storage remaining in 0 - 100 range.


const

double GetHardDiskSize(FGenericError & OutError, constEOperatingSystemSizeMethod SizeMethod = EOperatingSystemSizeMethod::GB) const

Defined in OperatingSystem.h:1012 Returns the Hard Disk total size in given method.

  • OutError [FGenericError&] If any error this will be valid.

  • SizeMethod [const EOperatingSystemSizeMethod] How you want to represent the return size to be.

[double] Size in given method.


void UninstallProgram(constFName & ProgramIdentifier, FGenericError & OutErrorIfAny)

Defined in OperatingSystem.h:1021 Uninstalls the given program identifier from this Operating System.

  • ProgramIdentifier Identifier of the program to uninstall.

  • OutErrorIfAny Outputs uninstall error (if any).


void UninstallProgramByClass(constTSoftClassPtr< UOperatingSystemBaseProgram > ProgramClass, FGenericError & OutErrorIfAny)

Defined in OperatingSystem.h:1030 Uninstalls the given program class from this Operating System.

  • ProgramClass Target program class to uninstall.

  • OutErrorIfAny Outputs uninstall error (if any).


UOperatingSystemBaseProgram * InstallProgramFromPackage(constFName & ProgramIdentifier, FGenericError & OutErrorIfAny)

Defined in OperatingSystem.h:1045 Installs a program from a package.

This method installs a program from a package specified by the ProgramIdentifier parameter. If the program is found in the package repository, it will be installed and a pointer to the installed program will be returned. If the program is not found, an error message will be assigned to the OutErrorIfAny parameter and a nullptr will be returned.

  • ProgramIdentifier The identifier of the program to install.

  • OutErrorIfAny [out] The error message if program installation fails.

A pointer to the installed program, or nullptr if program installation fails.


UOperatingSystemBaseProgram * InstallProgramFromClass(FGenericError & OutErrorIfAny, constTSoftClassPtr< UOperatingSystemBaseProgram > ProgramClass, UOperatingSystemPartition * TargetPartition = nullptr)

Defined in OperatingSystem.h:1056 Installs the given program class. If target partition is null, system partition is automatically used.

  • OutErrorIfAny Outputs any error. Use the IsValid from this struct to check if there are any errors.

  • ProgramClass Target program class to install

  • TargetPartition Target partition to install. If null, then system partition is automatically used.

Valid program if installed. Null otherwise.


bool SetProgramAtStartup(UOperatingSystemBaseProgram * TargetProgram, constbool bRunAtStartup)

Defined in OperatingSystem.h:1071 Configures the application to run at system startup.

This function enables or disables the ability for the program to automatically start when the operating system boots.

  • TargetProgram A pointer to the UOperatingSystemBaseProgram object representing the program to configure.

  • bRunAtStartup A boolean indicating whether to enable (true) or disable (false) the application’s startup at system boot.

A boolean indicating the success of the operation. Returns true if the operation succeeds, false otherwise.


void BeginInstallation(UOperatingSystemPartition * TargetPartition, FGenericError & OutError)

Defined in OperatingSystem.h:1081 Begin installation of this Operating System. This is a simple timer which will call UOperatingSystem::FinishInstallation after the time returned by UOperatingSystem::GetInstallationTime()

  • TargetPartition Which partition to install to? Must not be null.

  • OutError [FGenericError&] Outputs error (if any). Use the IsValid in this struct to check if there was any error.


UOperatingSystemPartition * AllocatePartition(constdouble SizeInBytes, FGenericError & OutError)

Defined in OperatingSystem.h:1091 AllocatePartition is a method used to allocate a new partition on a specific device.

  • SizeInBytes - The size of the partition to allocate in bytes.

  • OutError - Reference to an FGenericError object that will hold any error that occurs during partition allocation.

A pointer to the allocated UOperatingSystemPartition object, or nullptr if an error occurred during allocation.


void RemovePartition(UOperatingSystemPartition * PartitionToDelete, FGenericError & OutError)

Defined in OperatingSystem.h:1100 Removes a partition from the operating system.

  • PartitionToDelete The partition to be removed.

  • OutError The error message if any error occurs.


void RefreshPartitions()

Defined in OperatingSystem.h:1109 Refreshes the partitions of the operating system.

This method updates the partitions of the operating system based on the current state of the underlying hardware device.


void InstallationCompleted(constbool bSwitchToDesktop = true)

Defined in OperatingSystem.h:1122 Marks the completion of the installation process.

This method sets the ‘bIsStartingForTheTime’ flag to false in order to indicate that the operating system has finished its initial setup. It also triggers the ‘OnFinishSettingUpOperatingSystemPostInstallation’ event on the parent device.

Optionally, this method switches the current tab of the operating system widget to the desktop tab.

  • bSwitchToDesktop Whether to switch the current tab to the desktop tab (default: true)

bool CreateNewUser(constFOperatingSystemUser & NewUser, constbool bSetAsActive = false)

Defined in OperatingSystem.h:1132 Creates a new user in the operating system.

  • NewUser The information of the new user to be created.

  • bSetAsActive Determines if the new user should be set as the active user.

True if the new user was successfully created, false otherwise.


bool LoginUser(constFText & Username, constFText & Password)

Defined in OperatingSystem.h:1142 Logs the user in with the given username and password.

  • Username The username of the user.

  • Password The password of the user.

True if the user was successfully logged in, false otherwise.


bool UpdateCurrentUserDetails(constFOperatingSystemUser & UpdatedDetails)

Defined in OperatingSystem.h:1151 Updates the details for the current user. If you don’t want specific settings to change simply leave them empty or null.

  • UpdatedDetails Settings to update. If a setting is left null or empty, that is not updated.

True if the details were updated. False otherwise.


const

bool HasEnoughSpace(constdouble & TestSizeInBytes, constUOperatingSystemPartition * InPartition) const

Defined in OperatingSystem.h:1161 Check if a given partition has enough space for a given size.

  • TestSizeInBytes The size to test in bytes.

  • InPartition The partition to check the space on.

True if the partition has enough space, false otherwise.


const

TArray< UOperatingSystemPartition * > GetDiskPartitions() const

Defined in OperatingSystem.h:1169 Retrieves the disk partitions associated with the operating system.

An array of UOperatingSystemPartition pointers representing the disk partitions.


const

UOperatingSystemPartition * GetOperatingSystemPartition() const

Defined in OperatingSystem.h:1178 Retrieves the operating system partition.

A pointer to the operating system partition.


void CloseProgram(UOperatingSystemBaseProgram * TargetProgram, FGenericError & OutError)

Defined in OperatingSystem.h:1187 Closes the given program.

  • TargetProgram The program to close.

  • OutError The error encountered during the process.


bool BringBackgroundProgramToFront(UOperatingSystemBaseProgram * TargetProgram)

Defined in OperatingSystem.h:1198 Brings a background program to the foreground and activates it. The program must be currently running in the background, otherwise an error will be returned.

  • TargetProgram The program to bring to the front.

True if the program was successfully brought to the front, false otherwise. If false is returned, the specific error will be logged.


const

bool IsProgramInBackground(UOperatingSystemBaseProgram * TestProgram) const

Defined in OperatingSystem.h:1207 Determines if the specified program is currently running in the background or not.

true if the program is running in the background, false otherwise.


void MinimizeProgram(UOperatingSystemBaseProgram * TargetProgram)

Defined in OperatingSystem.h:1215 Minimizes the specified program.

  • TargetProgram The program to minimize.

void CloseAllRunningPrograms()

Defined in OperatingSystem.h:1225 Closes all running programs in the operating system.

This method iterates over all the running programs in the operating system and calls the CloseProgram method to close each program. If an error occurs while closing a program, an error is generated and stored in OutError.


void RestoreMinimizedProgram(constUOperatingSystemBaseProgram * TargetProgram)

Defined in OperatingSystem.h:1241 Restores a minimized program to the foreground on the operating system’s taskbar.

This method attempts to restore the specified program identified by the given TargetProgram. If the program is currently minimized, it will be brought back to the foreground on the taskbar.

See also: UOperatingSystemBaseProgram, ChangeTaskbarState()


const

UObject * GetDirectoryIconObject(constFGameplayTag & TestTag) const

Defined in OperatingSystem.h:1259 Retrieves the directory icon object associated with the specified tag.

  • TestTag The tag used to determine the directory icon object.

The directory icon object.


const inline

inline bool IsUnix() const

Defined in OperatingSystem.h:1267 Checks if the operating system is Unix.

True if the operating system is Unix, false otherwise.


const inline

inline float GetBsodOnScreenTime() const

Defined in OperatingSystem.h:1275 Returns the duration, in seconds, that the blue screen of death has been visible on the screen.

The time, in seconds, that the blue screen of death has been on screen.


const inline

inline float GetToastNotificationDisplayTime() const

Defined in OperatingSystem.h:1283 Retrieves the display time for toast notifications.

The display time for toast notifications in seconds.


const

TArray< UOperatingSystemBaseProgram * > GetInstalledPrograms() const

Defined in OperatingSystem.h:1292 [DEPRECATED] Get the list of installed programs.

An array of UOperatingSystemBaseProgram objects representing the installed programs.


const

void GetInstalledProgramsMap(TMap< FName, UOperatingSystemBaseProgram * > & OutInstalledPrograms) const

Defined in OperatingSystem.h:1300 Gets the TMap of installed programs.

  • OutInstalledPrograms TMap of all installed programs with key set to their identifier.

void GetStartupPrograms(TMap< FName, UOperatingSystemBaseProgram * > & OutStartupPrograms)

Defined in OperatingSystem.h:1306 Gets the TMap of currently set startup programs.


const

UOperatingSystemProgramData * FindProgramData(constUOperatingSystemBaseProgram * TargetProgram) const

Defined in OperatingSystem.h:1308


void AddProgramData(constUOperatingSystemBaseProgram * TargetProgram, UOperatingSystemProgramData * DataToAdd)

Defined in OperatingSystem.h:1309


const

UOperatingSystemBaseProgram * GetInstalledProgram(constTSoftClassPtr< UOperatingSystemBaseProgram > TestClass) const

Defined in OperatingSystem.h:1322 Retrieves the installed program of the specified class.

This method searches for an installed program in the list of installed programs that matches the specified class. If a matching program is found, it is returned; otherwise nullptr is returned.

  • TestClass The pointer to the class of the program to retrieve.

The installed program of the specified class, or nullptr if not found.


const

bool IsProgramInstalled(constTSoftClassPtr< UOperatingSystemBaseProgram > TestClass) const

Defined in OperatingSystem.h:1332 Checks if a program is installed. This method checks if a program, represented by the provided UOperatingSystemBaseProgram subclass, is installed on the system.

  • TestClass The TSoftClassPtr<UOperatingSystemBaseProgram> representing the program to be checked.

true if the program is installed, false otherwise.


const

UOperatingSystemBaseProgram * GetRunningProgram(constTSoftClassPtr< UOperatingSystemBaseProgram > TestClass) const

Defined in OperatingSystem.h:1341 Retrieves the running program that matches the given class.

  • TestClass A soft class pointer to the program class.

A pointer to the running program that matches the given class, or nullptr if not found or TestClass is null.


const

bool IsPreInstalledOperatingSystem() const

Defined in OperatingSystem.h:1350 Check if the operating system is pre-installed on the parent device.

True if the operating system is pre-installed, false otherwise.


const

UOperatingSystemSettingsData * GetSettings() const

Defined in OperatingSystem.h:1358 Retrieves the settings data object for this Operating System.

Settings data if one was created.


const

bool IsRunningOnPortableDevice() const

Defined in OperatingSystem.h:1366 Checks to see if this Operating System is running on a portable device actor.

True if this Operating System is running on a portable device actor.


virtual const inline

virtual inline UOperatingSystemPartition * FindPartitionFromLetter(constFName & TargetDiskLetter) const

Defined in OperatingSystem.h:1378 Find a partition in the operating system from a given disk letter.

This method searches for an operating system partition that corresponds to the provided disk letter.

  • TargetDiskLetter The disk letter to search for. It should be of type FName.

A pointer to the found operating system partition. If no partition is found, nullptr is returned.


virtual const inline

virtual inline TOptional< FText > GetRootCommand() const

Defined in OperatingSystem.h:1388 Retrieves the root command associated with the operating system.

The root command as an optional text. If no root command is set, an empty optional is returned.

See also: UOperatingSystemUnix::GetRootCommand


virtual const inline

virtual inline TOptional< FOperatingSystemUser > GetRootUser() const

Defined in OperatingSystem.h:1404 Returns the root user of the operating system. This method retrieves the root user of the operating system and returns it as an optional object. If the root user cannot be determined or is not available, an empty optional object is returned.

An optional object of type FOperatingSystemUser that represents the root user of the operating system. An empty optional object is returned if the root user cannot be determined.

See also: UOperatingSystemUnix::GetRootUser.


const inline

inline bool HasValidRootCommandAndUser() const

Defined in OperatingSystem.h:1416 Determines whether the root command and user are valid.

This method checks if the root command and user are both set, indicating that a valid root command and user have been provided.

True if both the root command and user are set, otherwise false.


const

bool IsShuttingDown() const

Defined in OperatingSystem.h:1442 Check if the operating system is in the process of shutting down.

This method determines whether the operating system is currently in the process of shutting down. It does this by calling the IsShuttingDown() method of the ParentDevice object.

True if the operating system is in the process of shutting down, false otherwise.


const

bool IsRestarting() const

Defined in OperatingSystem.h:1449 Checks if the operating system is currently restarting.

True if the operating system is restarting, false otherwise.


const

TArray< FOperatingSystemUser > GetAllUsers() const

Defined in OperatingSystem.h:1459 Returns an array of all users registered in the operating system. This function retrieves information about all users registered in the operating system.

An array of FOperatingSystemUser objects representing the registered users.

See also: FOperatingSystemUser, UOperatingSystemStatics::GetUserManager()

ReturnNameDescription
FNameGetOperatingSystemProgramRestoredEventName static inlineHelper function that returns the name of the event that is triggered when a program is restored in the Operating System.
UOperatingSystem *CreateOperatingSystem staticCreates a new instance of the operating system associated with the specified device.
FStringGetOperatingSystemUniqueID staticGets the unique ID of the operating system. This method retrieves the unique ID of the operating system represented by the given TestOperatingSystem object.

GetOperatingSystemProgramRestoredEventName

Section titled “GetOperatingSystemProgramRestoredEventName”

static inline

static inline FName GetOperatingSystemProgramRestoredEventName()

Defined in OperatingSystem.h:443 Helper function that returns the name of the event that is triggered when a program is restored in the Operating System.

The event name for program restored event.


static

static UOperatingSystem * CreateOperatingSystem(UOperatingSystemBaseDevice * OwningDevice, FGenericError & OutError)

Defined in OperatingSystem.h:456 Creates a new instance of the operating system associated with the specified device.

This method creates a new instance of the operating system associated with the specified device. If the operating system class is null, an error will be returned indicating that the operating system is missing. Otherwise, a new instance of the operating system will be created and initialized.

  • OwningDevice The device that the operating system belongs to.

  • OutError The error object that will be populated if an error occurs during the creation process.

A pointer to the newly created operating system instance, or nullptr if an error occurred.


static

static FString GetOperatingSystemUniqueID(constUOperatingSystem * TestOperatingSystem)

Defined in OperatingSystem.h:465 Gets the unique ID of the operating system. This method retrieves the unique ID of the operating system represented by the given TestOperatingSystem object.

  • TestOperatingSystem The operating system object to get the unique ID from.

A string representing the unique ID of the operating system.

ReturnNameDescription
FTimerHandleTimerHandle_OperatingSystemInstallationTimer handle for operating system installation.
FTimerHandleTimerHandle_LoadingTimeTimer handle for loading time.
FTextNameName of this operating system. Think of this as just Windows or MacOS or Ubuntu etc.
FTextCompanyNameCompany that made this operating system. Think of this as just Microsoft or Apple or Canonical etc.
FOperatingSystemVersionVersionCurrent version of this Operating System.
TSoftObjectPtr< UObject >IconAn icon (either texture or user interface material) for this Operating System.
TMap< FGameplayTag, TSoftObjectPtr< UObject > >DirectoryIconsIcons for each type of directory.
floatInstallationSpaceSpace required by this OS for installation. Remember, this is all simulated so don’t worry about anything related to your PC.
FGameplayTagContainerSupportedDevicesList of devices this Operating System supports. If empty, it is assumed all devices are supported.
TSoftObjectPtr< UOperatingSystemProgramsCollection >MustHaveProgramsThese are programs that must be installed with Operating System. For example: File explorer, terminal, web browser etc.
TSoftObjectPtr< UOperatingSystemProgramsCollection >PostInstallStartupProgramsList of programs that can be optionally installed after installing the Operating System.
TSoftObjectPtr< UOperatingSystemDirectoriesCollection >DefaultDirectoriesDefault directories to automatically create when installing this Operating System.
TSoftClassPtr< UOperatingSystemSettingsData >SettingsDataClassA data class that holds all settings (like theme, wallpapers etc) for this Operating System.
TSoftClassPtr< UOperatingSystemWidget >WidgetClassOperating System Widget class.
TSoftClassPtr< UOperatingSystemBsodWidget >BsodWidgetClassOperating System Widget class.
FOperatingSystemNotificationSettingsNotificationSettingsNotification settings.
FOperatingSystemRangeTimeInstallationTimeInstallation time for installing this Operating System.
FOperatingSystemRangeTimeLoadingTimeTime it takes for the Operating System to show loading screen and then change to logon screen.
FOperatingSystemRangeTimeLoadingTimeInitialTime it takes for the Operating System to load for the first time after installation. Typically this will be set higher than Loading Time.
FOperatingSystemRangeTimeLogonToDesktopTimeTime it takes to transition from Logon screen to Desktop.
FOperatingSystemRangeTimeBsodOnScreenTimeTime it takes for BSOD to stay on screen
FGameplayTagOperatingSystemTagTag to identify this Operating System.
TWeakObjectPtr< UOperatingSystemBaseDevice >ParentDeviceThe device this Operating System is running on.
TObjectPtr< UOperatingSystemSettingsData >OperatingSystemSettingsDataSettings data for this operating system.
TObjectPtr< UOperatingSystemWidget >OperatingSystemWidgetReference to the Operating System widget.
TMap< int32, TObjectPtr< UOperatingSystemBaseProgram > >RunningProgramsAll running programs in this Operating System. The key is the Process ID and value is the program.
TMap< int32, TObjectPtr< UOperatingSystemBaseProgram > >BackgroundRunningProgramsAll running programs in background. The key is the Process ID and value is the program.
TMap< FName, UOperatingSystemBaseProgram * >InstalledProgramsAll the programs that are currently installed.
TMap< FName, UOperatingSystemProgramData * >ProgramDataObjs
FOperatingSystemUserCurrentUserActive user.
uint8bIsStartingForTheFirstTimeTrue if the Operating System is starting for the first time after installation.
int32TotalNotificationsTotal notifications received.
int32TotalErrorNotificationsTotal error notifications received.
int32TotalWarningNotificationsTotal warning notifications received.
TObjectPtr< UOperatingSystemBsodWidget >BSODWidgetCurrent BSOD widget.
TMap< int32, TWeakObjectPtr< UOperatingSystemTaskbarButton > >TaskbarButtonsTransient variable representing the taskbar buttons. It is a TMap that associates integer keys with weak object pointers to UOperatingSystemTaskbarButton objects. Key will be the process ID. Value will be the program.
TWeakObjectPtr< UOperatingSystemTaskbarButton >PreviousFocusedTaskbarButton
TWeakObjectPtr< UOperatingSystemTaskbarButton >LastFocusedTaskbarButton
TMap< FName, TWeakObjectPtr< UOperatingSystemBaseProgram > >StartupProgramsPrograms that are set to automatically run when Operating System starts.
TArray< TWeakObjectPtr< UOperatingSystemBaseProgram > >PendingStartupPrograms
FOperatingSystemUniqueIdTargetPartitionIDStructure representing a unique identifier for a target partition in the operating system.
TWeakObjectPtr< UDraggableWindow >LastBroughtToFrontWindowTransient variable representing the last draggable window brought to the front.
uint8bAutoLoginSpecifies whether the application should automatically login the user.
uint8bInstallStartupProgramsSpecifies whether to install startup programs on the operating system.
FTextDeviceNameCan be computer name also like JohnDoes-PC.

FTimerHandle TimerHandle_OperatingSystemInstallation

Defined in OperatingSystem.h:96 Timer handle for operating system installation.


FTimerHandle TimerHandle_LoadingTime

Defined in OperatingSystem.h:99 Timer handle for loading time.


FText Name

Defined in OperatingSystem.h:103 Name of this operating system. Think of this as just Windows or MacOS or Ubuntu etc.


FText CompanyName

Defined in OperatingSystem.h:107 Company that made this operating system. Think of this as just Microsoft or Apple or Canonical etc.


FOperatingSystemVersion Version

Defined in OperatingSystem.h:111 Current version of this Operating System.


TSoftObjectPtr< UObject > Icon

Defined in OperatingSystem.h:115 An icon (either texture or user interface material) for this Operating System.


TMap< FGameplayTag, TSoftObjectPtr< UObject > > DirectoryIcons

Defined in OperatingSystem.h:119 Icons for each type of directory.


float InstallationSpace

Defined in OperatingSystem.h:123 Space required by this OS for installation. Remember, this is all simulated so don’t worry about anything related to your PC.


FGameplayTagContainer SupportedDevices

Defined in OperatingSystem.h:127 List of devices this Operating System supports. If empty, it is assumed all devices are supported.


TSoftObjectPtr< UOperatingSystemProgramsCollection > MustHavePrograms

Defined in OperatingSystem.h:131 These are programs that must be installed with Operating System. For example: File explorer, terminal, web browser etc.


TSoftObjectPtr< UOperatingSystemProgramsCollection > PostInstallStartupPrograms

Defined in OperatingSystem.h:135 List of programs that can be optionally installed after installing the Operating System.


TSoftObjectPtr< UOperatingSystemDirectoriesCollection > DefaultDirectories

Defined in OperatingSystem.h:139 Default directories to automatically create when installing this Operating System.


TSoftClassPtr< UOperatingSystemSettingsData > SettingsDataClass

Defined in OperatingSystem.h:143 A data class that holds all settings (like theme, wallpapers etc) for this Operating System.


TSoftClassPtr< UOperatingSystemWidget > WidgetClass

Defined in OperatingSystem.h:147 Operating System Widget class.


TSoftClassPtr< UOperatingSystemBsodWidget > BsodWidgetClass

Defined in OperatingSystem.h:151 Operating System Widget class.


FOperatingSystemNotificationSettings NotificationSettings

Defined in OperatingSystem.h:155 Notification settings.


FOperatingSystemRangeTime InstallationTime

Defined in OperatingSystem.h:159 Installation time for installing this Operating System.


FOperatingSystemRangeTime LoadingTime

Defined in OperatingSystem.h:163 Time it takes for the Operating System to show loading screen and then change to logon screen.


FOperatingSystemRangeTime LoadingTimeInitial

Defined in OperatingSystem.h:167 Time it takes for the Operating System to load for the first time after installation. Typically this will be set higher than Loading Time.


FOperatingSystemRangeTime LogonToDesktopTime

Defined in OperatingSystem.h:171 Time it takes to transition from Logon screen to Desktop.


FOperatingSystemRangeTime BsodOnScreenTime

Defined in OperatingSystem.h:175 Time it takes for BSOD to stay on screen


FGameplayTag OperatingSystemTag

Defined in OperatingSystem.h:179 Tag to identify this Operating System.


TWeakObjectPtr< UOperatingSystemBaseDevice > ParentDevice

Defined in OperatingSystem.h:183 The device this Operating System is running on.


TObjectPtr< UOperatingSystemSettingsData > OperatingSystemSettingsData

Defined in OperatingSystem.h:187 Settings data for this operating system.


TObjectPtr< UOperatingSystemWidget > OperatingSystemWidget

Defined in OperatingSystem.h:191 Reference to the Operating System widget.


TMap< int32, TObjectPtr< UOperatingSystemBaseProgram > > RunningPrograms

Defined in OperatingSystem.h:195 All running programs in this Operating System. The key is the Process ID and value is the program.


TMap< int32, TObjectPtr< UOperatingSystemBaseProgram > > BackgroundRunningPrograms

Defined in OperatingSystem.h:199 All running programs in background. The key is the Process ID and value is the program.


TMap< FName, UOperatingSystemBaseProgram * > InstalledPrograms

Defined in OperatingSystem.h:203 All the programs that are currently installed.


TMap< FName, UOperatingSystemProgramData * > ProgramDataObjs

Defined in OperatingSystem.h:206


FOperatingSystemUser CurrentUser

Defined in OperatingSystem.h:210 Active user.


uint8 bIsStartingForTheFirstTime

Defined in OperatingSystem.h:214 True if the Operating System is starting for the first time after installation.


int32 TotalNotifications

Defined in OperatingSystem.h:218 Total notifications received.


int32 TotalErrorNotifications

Defined in OperatingSystem.h:222 Total error notifications received.


int32 TotalWarningNotifications

Defined in OperatingSystem.h:226 Total warning notifications received.


TObjectPtr< UOperatingSystemBsodWidget > BSODWidget

Defined in OperatingSystem.h:230 Current BSOD widget.


TMap< int32, TWeakObjectPtr< UOperatingSystemTaskbarButton > > TaskbarButtons

Defined in OperatingSystem.h:239 Transient variable representing the taskbar buttons. It is a TMap that associates integer keys with weak object pointers to UOperatingSystemTaskbarButton objects. Key will be the process ID. Value will be the program.


TWeakObjectPtr< UOperatingSystemTaskbarButton > PreviousFocusedTaskbarButton

Defined in OperatingSystem.h:242


TWeakObjectPtr< UOperatingSystemTaskbarButton > LastFocusedTaskbarButton

Defined in OperatingSystem.h:245


TMap< FName, TWeakObjectPtr< UOperatingSystemBaseProgram > > StartupPrograms

Defined in OperatingSystem.h:249 Programs that are set to automatically run when Operating System starts.


TArray< TWeakObjectPtr< UOperatingSystemBaseProgram > > PendingStartupPrograms

Defined in OperatingSystem.h:252


FOperatingSystemUniqueId TargetPartitionID

Defined in OperatingSystem.h:260 Structure representing a unique identifier for a target partition in the operating system.

This identifier is transient, meaning it is not meant to be stored or persisted. It is used for temporary identification purposes only.


TWeakObjectPtr< UDraggableWindow > LastBroughtToFrontWindow

Defined in OperatingSystem.h:271 Transient variable representing the last draggable window brought to the front.

It is a weak pointer to an instance of UDraggableWindow class. This variable is transient, meaning that it is not serialized and doesn’t persist across sessions.

See also: UDraggableWindow


uint8 bAutoLogin

Defined in OperatingSystem.h:275 Specifies whether the application should automatically login the user.


uint8 bInstallStartupPrograms

Defined in OperatingSystem.h:283 Specifies whether to install startup programs on the operating system.

See also: SetToInstallStartupPrograms

See also: ShouldInstallStartupPrograms


FText DeviceName

Defined in OperatingSystem.h:298 Can be computer name also like JohnDoes-PC.

ReturnNameDescription
voidOnShowNotification virtualThis method is called when a new notification should be shown on the operating system.
voidOnAllOnNotificationsCleared virtualCallback triggered when all notifications are cleared.
voidOnValidate virtual const inlineThis method is called to validate the object’s state. This method should be overridden by derived classes to provide specific validation logic for the object. The validation result should be stored in the OutError parameter. If there are any validation errors, they should be added to the OutError object using its MAKE_ERROR macro.
voidFinalizePreInstallation virtual inlineFinalizes the pre-installation process.
voidPrepareOperatingSystemInstallImpl virtual inlinePrepares the operating system for installation.
boolStartOperatingSystemImpl virtual inlineStarts the implementation of the operating system.
voidPostLoadOperatingSystemImpl virtual inlineThis method is responsible for performing additional actions after the operating system is loaded.
voidFinishInstallationImpl virtual inlinePerforms the finishing steps of the installation process.
voidInstallStartupProgramsImpl virtual inlineAllows the derived classes to implement their own logic for installing startup programs. This method should be overridden in derived classes to define the actual logic for installing startup programs.
voidOnPartitionLoaded virtual inlineCallback method called when a partition is loaded.
TSoftClassPtr< UOperatingSystemBaseProgram >FindProgramFromPackage virtual inlineFinds the program corresponding to the given package identifier. This method searches for a program based on the provided package identifier.
boolK2_CanStartOperatingSystemDetermines if the operating system can start.

virtual

virtual void OnShowNotification(constFOperatingSystemNotification & NewNotification)

Defined in OperatingSystem.h:683 This method is called when a new notification should be shown on the operating system.

  • NewNotification The new notification to be shown.

virtual

virtual void OnAllOnNotificationsCleared()

Defined in OperatingSystem.h:692 Callback triggered when all notifications are cleared.

This function is called when all notifications are cleared in the operating system. It resets the total number of notifications, error notifications, and warning notifications. Then it calls the AllNotificationsCleared() function of the OperatingSystemWidget.


virtual const inline

virtual inline void OnValidate(FGenericError & OutError) const

Defined in OperatingSystem.h:705 This method is called to validate the object’s state. This method should be overridden by derived classes to provide specific validation logic for the object. The validation result should be stored in the OutError parameter. If there are any validation errors, they should be added to the OutError object using its MAKE_ERROR macro.

  • OutError Reference to an FGenericError object that will be populated with any validation errors.

See also: FGenericError


virtual inline

virtual inline void FinalizePreInstallation(FGenericError & OutError)

Defined in OperatingSystem.h:719 Finalizes the pre-installation process.

This method is used to perform any necessary finalization steps before installation. It is called during the pre-installation phase.

  • OutError Reference to a FGenericError object that will be used to store any error information that occurs during the finalization process.

See also: FGenericError


virtual inline

virtual inline void PrepareOperatingSystemInstallImpl(FGenericError & OutError)

Defined in OperatingSystem.h:731 Prepares the operating system for installation.

This method is virtual and can be overridden in derived classes to implement the specific logic for preparing the operating system for installation. The implementation should set the error message in the provided FGenericError object if any error occurs during the preparation process.

  • OutError A reference to the FGenericError object to store any error message generated during the preparation process.

See also: FGenericError


virtual inline

virtual inline bool StartOperatingSystemImpl(FGenericError & OutError)

Defined in OperatingSystem.h:745 Starts the implementation of the operating system.

This method starts the implementation of the operating system. It performs the necessary steps to initiate the operating system functionality.

  • OutError Reference to a FGenericError object that will store any errors that occur during the operation.

False by default.

See also: FGenericError


virtual inline

virtual inline void PostLoadOperatingSystemImpl(FGenericError & OutError)

Defined in OperatingSystem.h:753 This method is responsible for performing additional actions after the operating system is loaded.

  • OutError A reference to the FGenericError object that can be used to report any errors that occur during the post-load process.

See also: FGenericError


virtual inline

virtual inline void FinishInstallationImpl()

Defined in OperatingSystem.h:763 Performs the finishing steps of the installation process.

This method should be implemented by derived classes to perform any necessary operations to finalize the installation process. It is called after all the installation steps have been completed.


virtual inline

virtual inline void InstallStartupProgramsImpl()

Defined in OperatingSystem.h:771 Allows the derived classes to implement their own logic for installing startup programs. This method should be overridden in derived classes to define the actual logic for installing startup programs.


virtual inline

virtual inline void OnPartitionLoaded(UOperatingSystemPartition & LoadedPartition, constFOperatingSystemPartitionSaveLoad & SaveLoadData)

Defined in OperatingSystem.h:781 Callback method called when a partition is loaded.

  • LoadedPartition The reference to the loaded partition.

  • SaveLoadData The save/load data for the partition.


virtual inline

virtual inline TSoftClassPtr< UOperatingSystemBaseProgram > FindProgramFromPackage(constFName & ProgramIdentifier)

Defined in OperatingSystem.h:792 Finds the program corresponding to the given package identifier. This method searches for a program based on the provided package identifier.

  • ProgramIdentifier The package identifier of the program to be found.

A pointer to the soft class representing the found program. Returns nullptr if no program is found.


bool K2_CanStartOperatingSystem(FGenericError & ReturnError)

Defined in OperatingSystem.h:1431 Determines if the operating system can start.

This method checks if the operating system can start successfully. It is a BlueprintImplementableEvent, which means that it can be implemented in Blueprint classes.

  • ReturnError [out] A reference to a FGenericError structure that will hold the error message if the operating system cannot start.

True if the operating system can start, false otherwise.

ReturnNameDescription
voidInternal_CreateDefaultDirectories
voidInternal_PrepareInstall
voidInternal_FinalizePreInstallation
voidInternal_Validate constPerform internal validation of the operating system. This method performs internal validation of the operating system. It checks various criteria to ensure that the operating system is valid.
voidInternal_CreateNotificationManagerInternal method called to create the notification manager for the operating system.
constFOperatingSystemDeviceSaveLoad *Internal_LoadSettingsInternal method to load the settings for the operating system.
voidInternal_RunPendingStartupProgram
UOperatingSystemBaseProgram *Internal_InstallProgramInstalls a program in the operating system.
voidInternal_LoadSavedProgramLoads a saved program into the operating system.
voidInternal_SetTaskbarButtonStateToUnfocused
voidInternal_BringWindowToFront

void Internal_CreateDefaultDirectories(FGenericError & OutError)

Defined in OperatingSystem.h:669


void Internal_PrepareInstall(FGenericError & OutError)

Defined in OperatingSystem.h:670


void Internal_FinalizePreInstallation(FGenericError & OutError)

Defined in OperatingSystem.h:672


const

void Internal_Validate(FGenericError & OutError) const

Defined in OperatingSystem.h:802 Perform internal validation of the operating system. This method performs internal validation of the operating system. It checks various criteria to ensure that the operating system is valid.

  • OutError The reference to FGenericError object that will be populated with error information if any validation errors occur.

void Internal_CreateNotificationManager()

Defined in OperatingSystem.h:814 Internal method called to create the notification manager for the operating system.

This method creates an instance of the notification manager only if it doesn’t already exist. The notification manager is responsible for handling the display and management of operating system notifications.

The notification manager is created using the current world and the toast notification time defined in the notification settings. The OnShowNotification event is bound to the OnShowNotification method of the class, and the OnClearAllNotifications event is bound to the OnAllNotificationsCleared method of the class.


constFOperatingSystemDeviceSaveLoad * Internal_LoadSettings(constTWeakObjectPtr< constUOperatingSystemSaveGame > LoadGameInstance, FGenericError & OutError)

Defined in OperatingSystem.h:831 Internal method to load the settings for the operating system.

This method is used to load the settings for the operating system. It is an internal method and is not intended to be called directly from outside the class. This method loads the settings from the provided save game instance and applies them to the operating system. It also checks if the necessary modules and partitions are present and handles the error accordingly.

  • LoadGameInstance The instance of the save game to load the settings from.

  • OutError The error to be filled in case of any failure.


void Internal_RunPendingStartupProgram()

Defined in OperatingSystem.h:1473


UOperatingSystemBaseProgram * Internal_InstallProgram(constTSoftClassPtr< UOperatingSystemBaseProgram > & TargetProgram, UOperatingSystemPartition * TargetPartition, FGenericError & OutError, constbool bIsSystemInstalled = false)

Defined in OperatingSystem.h:1485 Installs a program in the operating system.

  • TargetProgram The program to be installed.

  • TargetPartition The partition where the program will be installed.

  • OutError The error that occurred during installation, if any.

  • bIsSystemInstalled Flag indicating whether the program is a system program.

A pointer to the installed program, or nullptr if installation failed.


void Internal_LoadSavedProgram(constTSoftClassPtr< UOperatingSystemBaseProgram > & TargetProgram, UOperatingSystemPartition * TargetPartition)

Defined in OperatingSystem.h:1508 Loads a saved program into the operating system.

This method loads a saved program into the operating system and adds it to the list of installed programs. The program is associated with the specified target partition.

  • TargetProgram The reference to the soft class pointer of the target program to be loaded.

  • TargetPartition The pointer to the target partition where the program will be associated with.

  • The TargetProgram must not be null.

  • The TargetPartition must be a valid pointer.

  • The program is loaded into the operating system.

  • The program is added to the list of installed programs.

  • The program is associated with the specified target partition.

See also: UOperatingSystemBaseProgram::CreateProgram

See also: InstalledPrograms

See also: UOperatingSystemBaseProgram::SetParentPartition


void Internal_SetTaskbarButtonStateToUnfocused()

Defined in OperatingSystem.h:1510


void Internal_BringWindowToFront(UDraggableWindow * TargetWindow)

Defined in OperatingSystem.h:1511