Files
UnrealEngineUWP/Engine/Source/Programs/UGSCore/DetectProjectSettingsTask.h
fredric echols 0dbf56cf07 Re-modularized UGSCore (UGSShared) so UGSCmd can be added as its own executable.
#jira none
#rb none
#preflight none

[CL 21361062 by fredric echols in ue5-main branch]
2022-08-12 15:13:26 -04:00

42 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "ModalTask.h"
#include "Perforce.h"
#include "OutputAdapters.h"
namespace UGSCore
{
class FDetectProjectSettingsTask : public IModalTask
{
public:
const FString NewSelectedFileName;
TSharedRef<FPerforceConnection> Perforce;
TSharedPtr<FPerforceConnection> PerforceClient;
FString NewSelectedProjectIdentifier;
FString NewProjectEditorTarget;
FString BranchClientPath;
FString BranchDirectoryName;
FString NewSelectedClientFileName;
FString StreamName;
// public Image ProjectLogo;
FTimespan ServerTimeZone;
// TextWriter Log;
FDetectProjectSettingsTask(TSharedRef<FPerforceConnection> InPerforce, const FString& InNewSelectedFileName, TSharedRef<FLineBasedTextWriter> InLog);
~FDetectProjectSettingsTask();
virtual TSharedRef<FModalTaskResult> Run(FEvent* AbortEvent) override;
private:
TSharedRef<FLineBasedTextWriter> Log;
TSharedRef<FModalTaskResult> RunInternal(FEvent* AbortEvent);
static bool TryGetStreamPrefix(TSharedRef<FPerforceConnection> Perforce, const FString& StreamName, FEvent* AbortEvent, FLineBasedTextWriter& Log, FString& OutStreamPrefix);
};
} // namespace UGSCore