Files
james singer af3dc341fd Linux: Fix IsVanilla check by implementing EnumerateLauncherEngineInstallations for Linux
- Also add -BuildId flag to allow released builds to be registered as "launcher" builds.
- This gets us telemetry and the ability to open projects made on the Mac and Windows builds without being prompted to open a copy

#jira UE-187968
#rb zack.neyland, ryan.hummer

[CL 27716361 by james singer in ue5-main branch]
2023-09-08 12:55:33 -04:00

47 lines
2.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "DesktopPlatformBase.h"
class FDesktopPlatformLinux : public FDesktopPlatformBase
{
public:
// IDesktopPlatform Implementation
virtual bool OpenFileDialog(const void* ParentWindowHandle, const FString& DialogTitle, const FString& DefaultPath, const FString& DefaultFile, const FString& FileTypes, uint32 Flags, TArray<FString>& OutFilenames) override;
virtual bool OpenFileDialog(const void* ParentWindowHandle, const FString& DialogTitle, const FString& DefaultPath, const FString& DefaultFile, const FString& FileTypes, uint32 Flags, TArray<FString>& OutFilenames, int32& OutFilterIndex) override;
virtual bool SaveFileDialog(const void* ParentWindowHandle, const FString& DialogTitle, const FString& DefaultPath, const FString& DefaultFile, const FString& FileTypes, uint32 Flags, TArray<FString>& OutFilenames) override;
virtual bool OpenDirectoryDialog(const void* ParentWindowHandle, const FString& DialogTitle, const FString& DefaultPath, FString& OutFolderName) override;
virtual bool OpenFontDialog(const void* ParentWindowHandle, FString& OutFontName, float& OutHeight, EFontImportFlags& OutFlags) override;
virtual bool RegisterEngineInstallation(const FString &RootDir, FString &OutIdentifier) override;
virtual void EnumerateEngineInstallations(TMap<FString, FString> &OutInstallations) override;
virtual void EnumerateLauncherEngineInstallations(TMap<FString, FString> &OutInstallations) override;
virtual bool IsSourceDistribution(const FString &RootDir) override;
virtual bool VerifyFileAssociations() override;
virtual bool UpdateFileAssociations() override;
virtual bool OpenProject(const FString &ProjectFileName) override;
using FDesktopPlatformBase::RunUnrealBuildTool;
virtual bool RunUnrealBuildTool(const FText& Description, const FString& RootDir, const FString& Arguments, FFeedbackContext* Warn, int32& OutExitCode) override;
virtual FFeedbackContext* GetNativeFeedbackContext() override;
virtual FString GetUserTempPath() override;
FDesktopPlatformLinux();
virtual ~FDesktopPlatformLinux();
protected:
virtual FString GetOidcTokenExecutableFilename(const FString& RootDir) const override;
private:
bool FileDialogShared(bool bSave, const void* ParentWindowHandle, const FString& DialogTitle, const FString& DefaultPath, const FString& DefaultFile, const FString& FileTypes, uint32 Flags, TArray<FString>& OutFilenames, int32& OutFilterIndex);
};
typedef FDesktopPlatformLinux FDesktopPlatform;