// Copyright Epic Games, Inc. All Rights Reserved. #include "CookOnTheFly.h" #include "Modules/ModuleManager.h" #include "Misc/CommandLine.h" #include "Misc/DateTime.h" #include "HAL/FileManager.h" namespace UE { namespace Cook { FString FCookOnTheFlyMessageHeader::ToString() const { return FString::Printf(TEXT("Message='%s', Status='%s', CorrelationId='%u'"), LexToString(MessageType), LexToString(MessageStatus), CorrelationId); } FArchive& operator<<(FArchive& Ar, FCookOnTheFlyMessageHeader& Header) { uint32 MessageType = static_cast(Header.MessageType); uint32 MessageStatus = static_cast(Header.MessageStatus); Ar << MessageType; Ar << MessageStatus; Ar << Header.CorrelationId; Ar << Header.Timestamp; if (Ar.IsLoading()) { Header.MessageType = static_cast(MessageType); Header.MessageStatus = static_cast(MessageStatus); } return Ar; } FArchive& operator<<(FArchive& Ar, FCookOnTheFlyMessage& Message) { Ar << Message.Header; Ar << Message.Body; return Ar; } void FCookOnTheFlyMessage::SetBody(TArray InBody) { Body = MoveTemp(InBody); } TUniquePtr FCookOnTheFlyMessage::ReadBody() const { return MakeUnique(Body); } TUniquePtr FCookOnTheFlyMessage::WriteBody() { return MakeUnique(Body); } }} // namesapce UE::Cook