// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Commands/CommandBase.h" namespace UE::Virtualization { class FRehydrateCommand final : public FCommand { public: FRehydrateCommand(FStringView CommandName); virtual ~FRehydrateCommand() = default; static void PrintCmdLineHelp(); private: virtual bool Initialize(const TCHAR* CmdLine) override; virtual void Serialize(FJsonSerializerBase& Serializer) override; virtual bool ProcessProject(const FProject& Project, TUniquePtr& Output) override; virtual bool ProcessOutput(const TArray>& OutputArray) override; virtual TUniquePtr CreateOutputObject() const override; virtual const TArray& GetPackages() const override; private: FString ClientSpecName; TArray Packages; bool bShouldCheckout = false; }; } // namespace UE::Virtualization