Files
2025-05-18 13:04:45 +08:00

32 lines
921 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CloudTitleFileInterface.h"
class FLocalTitleFile : public ICloudTitleFile
{
public:
FLocalTitleFile(const FString& InRootDirectory);
// ICloudTitleFile interface
virtual bool GetFileContents(const FString& DLName, TArray<uint8>& FileContents) override;
virtual bool ClearFiles() override;
virtual bool ClearFile(const FString& DLName) override;
virtual void DeleteCachedFiles(bool bSkipEnumerated) override;
virtual bool EnumerateFiles(const FCloudPagedQuery& Page = FCloudPagedQuery()) override;
virtual void GetFileList(TArray<FCloudHeader>& InFileHeaders) override;
virtual bool ReadFile(const FString& DLName) override;
protected:
FString GetFileNameFromDLName(const FString& DLName) const;
private:
FString RootDirectory;
TArray<FCloudHeader> FileHeaders;
TMap< FString, TArray<uint8> > DLNameToFileContents;
};