Files
UnrealEngine/Engine/Source/Programs/SubmitTool/Private/Logic/IntegrationService.h
2025-05-18 13:04:45 +08:00

41 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Parameters/SubmitToolParameters.h"
#include "Framework/SlateDelegates.h"
#include "Services/Interfaces/ISubmitToolService.h"
class FTasksService;
class FChangelistService;
class FIntegrationOptionBase;
class FTagService;
class FJiraService;
class FSwarmService;
class FSubmitToolServiceProvider;
class FIntegrationService final : public ISubmitToolService
{
public:
FIntegrationService(const FIntegrationParameters& InParameters, TWeakPtr<FSubmitToolServiceProvider> InServiceProvider);
bool OpenIntegrationTool() const;
void RequestIntegration(const FOnBooleanValueChanged OnComplete) const;
const TMap<FString, TSharedPtr<FIntegrationOptionBase>>& GetIntegrationOptions() const
{
return IntegrationOptions;
}
bool ValidateIntegrationOptions(bool bSilent) const;
private:
TMap<FString, TSharedPtr<FIntegrationOptionBase>> IntegrationOptions;
FIntegrationParameters Parameters;
TWeakPtr<FSubmitToolServiceProvider> ServiceProvider;
};
Expose_TNameOf(FIntegrationService);