Files
UnrealEngineUWP/Engine/Source/Programs/SubmitTool/Private/CommandLine/CmdLineParameter.h
juan legaz bb83ca4562 Moving Submit Tool to Source/Programs
#jira UES-7210
#rb benoit.chauvin
#rn [Experimental] Publishing Submit Tool code

[CL 36977217 by juan legaz in 5.5 branch]
2024-10-09 10:04:40 -04:00

47 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
class FCmdLineParameter
{
public:
FCmdLineParameter() = delete;
FCmdLineParameter(FString InKey, bool InIsRequired, FString InDescription, TFunction<bool(const FString& InValue)> InValidator = nullptr, TFunction<void(FString& InValue)> InParseInPlace = nullptr) :
Key(InKey),
bIsRequired(InIsRequired),
Description(InDescription),
Validator(InValidator),
Parser(InParseInPlace)
{}
FString ParameterKey() const { return this->Key; }
FString ParameterDescription() const { return this->Description; }
bool IsRequired() const { return this->bIsRequired; }
bool IsValid(const FString& value) const
{
if(Validator != nullptr)
{
return Validator(value);
}
return true;
}
void CustomParse(FString& InOutValue) const
{
if(Parser != nullptr)
{
Parser(InOutValue);
}
}
private:
FString Key;
bool bIsRequired;
FString Description;
TFunction<bool(const FString& InParam)> Validator;
TFunction<void(FString& InParam)> Parser;
};