Files
UnrealEngineUWP/Engine/Source/Developer/IoStoreUtilities/Private/ZenFileSystemManifest.h
CarlMagnus Nordin 52e3f3db01 ZenCook:
Removed several unnecessary files from the file system manifest
Added IoStoreCmdlet utility command for generating the file system manifest
#rnx
#preflight 621772bcdb60b6b59216e62f
#rb per.larsson

[CL 19171203 by CarlMagnus Nordin in ue5-main branch]
2022-02-28 03:11:38 -05:00

53 lines
1.1 KiB
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:
static void GetExtensionDirs(TArray<FString>& OutExtensionDirs, const TCHAR* BaseDir, const TCHAR* SubDir, const TArray<FString>& PlatformDirectoryNames);
const ITargetPlatform& TargetPlatform;
FString CookDirectory;
FString ServerRoot;
TMap<FString, int32> ServerPathToEntry;
TArray<FManifestEntry> Entries;
static const FManifestEntry InvalidEntry;
};