Files
UnrealEngineUWP/Engine/Source/Developer/IoStoreUtilities/Private/ZenFileSystemManifest.h
Per Larsson 6450577448 Iterative cooking support when using Zen loader/storage server
Zen: af7ff3f1c6

#rb CarlMagnus.Nordin, Stefan.Boberg
#jira none
#rnx

[CL 16755977 by Per Larsson in ue5-main branch]
2021-06-23 09:00:52 -04:00

51 lines
992 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "IO/IoDispatcher.h"
class ITargetPlatform;
class FArchive;
class FZenFileSystemManifest
{
public:
struct FManifestEntry
{
FString ServerPath;
FString ClientPath;
FIoChunkId FileChunkId;
};
FZenFileSystemManifest(const ITargetPlatform& InTargetPlatform, FString InCookDirectory);
int32 Generate();
const FManifestEntry& CreateManifestEntry(const FString& Filename);
const FManifestEntry& AddManifestEntry(const FIoChunkId& FileChunkId, FString ServerPath, FString ClientPath);
TArrayView<const FManifestEntry> ManifestEntries() const
{
return Entries;
}
bool Save(const TCHAR* Filename);
int32 NumEntries() const
{
return Entries.Num();
}
private:
const ITargetPlatform& TargetPlatform;
FString CookDirectory;
FString ServerRoot;
TMap<FString, int32> ServerPathToEntry;
TArray<FManifestEntry> Entries;
static const FManifestEntry InvalidEntry;
};