5#include "Containers/Array.h"
16#ifndef PLATFORM_FILE_READER_BUFFER_SIZE
17 #define PLATFORM_FILE_READER_BUFFER_SIZE 1024
20#ifndef PLATFORM_FILE_WRITER_BUFFER_SIZE
21 #define PLATFORM_FILE_WRITER_BUFFER_SIZE 4096
24#ifndef PLATFORM_DEBUG_FILE_WRITER_BUFFER_SIZE
25 #define PLATFORM_DEBUG_FILE_WRITER_BUFFER_SIZE 4096
349 UE_DEPRECATED(5.6,
"Pass in LastError from FPlatformMisc::GetLastError")
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PLATFORM_DEBUG_FILE_WRITER_BUFFER_SIZE
Definition FileManagerGeneric.h:25
#define PLATFORM_FILE_WRITER_BUFFER_SIZE
Definition FileManagerGeneric.h:21
#define PLATFORM_FILE_READER_BUFFER_SIZE
Definition FileManagerGeneric.h:17
EFileWrite
Definition FileManager.h:15
@ FILEWRITE_None
Definition FileManager.h:16
@ FILEWRITE_Silent
Definition FileManager.h:22
EFileRead
Definition FileManager.h:27
@ FILEREAD_None
Definition FileManager.h:28
@ FILEREAD_Silent
Definition FileManager.h:30
Definition FileManagerGeneric.h:227
friend class FArchiveFileReaderGenericTest
Definition FileManagerGeneric.h:295
uint32 Flags
Definition FileManagerGeneric.h:287
int64 BufferBase
Definition FileManagerGeneric.h:279
CORE_API ~FArchiveFileReaderGeneric()
Definition FileManagerGeneric.cpp:710
TUniquePtr< IFileHandle > Handle
Definition FileManagerGeneric.h:280
CORE_API bool InternalPrecache(int64 PrecacheOffset, int64 PrecacheSize)
Definition FileManagerGeneric.cpp:756
virtual CORE_API bool Close() override final
Definition FileManagerGeneric.cpp:737
virtual FString GetArchiveName() const override
Definition FileManagerGeneric.h:243
virtual CORE_API void CloseLowLevel()
Definition FileManagerGeneric.cpp:732
int64 Size
Definition FileManagerGeneric.h:277
int64 Pos
Definition FileManagerGeneric.h:278
virtual CORE_API void FlushCache() override final
Definition FileManagerGeneric.cpp:918
virtual int64 Tell() override final
Definition FileManagerGeneric.h:233
TArray64< uint8 > BufferArray
Definition FileManagerGeneric.h:285
int64 BufferSize
Definition FileManagerGeneric.h:286
virtual CORE_API bool Precache(int64 PrecacheOffset, int64 PrecacheSize) override
Definition FileManagerGeneric.cpp:743
FString Filename
Definition FileManagerGeneric.h:276
bool bFirstReadAfterSeek
Definition FileManagerGeneric.h:288
bool IsSilent() const
Definition FileManagerGeneric.h:270
@ bPrecacheAsSoonAsPossible
Definition FileManagerGeneric.h:292
virtual CORE_API bool SeekLowLevel(int64 InPos)
Definition FileManagerGeneric.cpp:727
virtual int64 TotalSize() override final
Definition FileManagerGeneric.h:237
virtual CORE_API void ReadLowLevel(uint8 *Dest, int64 CountToRead, int64 &OutBytesRead)
Definition FileManagerGeneric.cpp:715
Definition FileManagerGeneric.h:304
virtual CORE_API bool WriteLowLevel(const uint8 *Src, int64 CountToWrite)
Definition FileManagerGeneric.cpp:968
bool IsSilent() const
Definition FileManagerGeneric.h:361
bool bLoggingError
Definition FileManagerGeneric.h:373
virtual FString GetArchiveName() const override
Definition FileManagerGeneric.h:318
FString Filename
Definition FileManagerGeneric.h:367
CORE_API void LogWriteError(const TCHAR *Message)
Definition FileManagerGeneric.cpp:1052
virtual int64 Tell() override final
Definition FileManagerGeneric.h:310
int64 BufferSize
Definition FileManagerGeneric.h:372
virtual CORE_API bool SeekLowLevel(int64 InPos)
Definition FileManagerGeneric.cpp:956
TUniquePtr< IFileHandle > Handle
Definition FileManagerGeneric.h:370
int64 Pos
Definition FileManagerGeneric.h:369
CORE_API ~FArchiveFileWriterGeneric()
Definition FileManagerGeneric.cpp:945
virtual CORE_API void Flush() override final
Definition FileManagerGeneric.cpp:1027
virtual CORE_API bool Close() override final
Definition FileManagerGeneric.cpp:985
virtual CORE_API int64 TotalSize() override
Definition FileManagerGeneric.cpp:961
TArray64< uint8 > BufferArray
Definition FileManagerGeneric.h:371
virtual CORE_API bool CloseLowLevel()
Definition FileManagerGeneric.cpp:950
CORE_API bool FlushBuffer()
Definition FileManagerGeneric.cpp:1035
uint32 Flags
Definition FileManagerGeneric.h:368
Definition Archive.h:1208
Definition FileManagerGeneric.h:37
FFileManagerGeneric()
Definition FileManagerGeneric.h:49
CORE_API double GetFileAgeSeconds(const TCHAR *Filename) override
Definition FileManagerGeneric.cpp:542
CORE_API int64 FileSize(const TCHAR *Filename) override
Definition FileManagerGeneric.cpp:131
virtual CORE_API bool MakeDirectory(const TCHAR *Path, bool Tree=0) override
Definition FileManagerGeneric.cpp:369
virtual CORE_API FFileStatData GetStatData(const TCHAR *FilenameOrDirectory) override
Definition FileManagerGeneric.cpp:405
static CORE_API FString DefaultConvertToRelativePath(const TCHAR *Filename)
Definition FileManagerGeneric.cpp:588
CORE_API FString ConvertToAbsolutePathForExternalAppForWrite(const TCHAR *Filename) override
Definition FileManagerGeneric.cpp:640
virtual ~FFileManagerGeneric()
Definition FileManagerGeneric.h:54
virtual CORE_API FString GetFilenameOnDisk(const TCHAR *Filename) override
Definition FileManagerGeneric.cpp:583
CORE_API FDateTime GetTimeStamp(const TCHAR *Filename) override
Definition FileManagerGeneric.cpp:554
FArchive * CreateFileReader(const TCHAR *Filename, uint32 ReadFlags=0) override
Definition FileManagerGeneric.h:72
CORE_API bool IsReadOnly(const TCHAR *Filename) override
Definition FileManagerGeneric.cpp:294
CORE_API void GetTimeStampPair(const TCHAR *PathA, const TCHAR *PathB, FDateTime &OutTimeStampA, FDateTime &OutTimeStampB)
Definition FileManagerGeneric.cpp:560
CORE_API bool IterateDirectoryStatRecursively(const TCHAR *Directory, IPlatformFile::FDirectoryStatVisitor &Visitor) override
Definition FileManagerGeneric.cpp:532
virtual CORE_API bool DeleteDirectory(const TCHAR *Path, bool RequireExists=0, bool Tree=0) override
Definition FileManagerGeneric.cpp:381
CORE_API bool IterateDirectory(const TCHAR *Directory, IPlatformFile::FDirectoryVisitor &Visitor) override
Definition FileManagerGeneric.cpp:502
virtual void SetSandboxEnabled(bool bInEnabled) override
Definition FileManagerGeneric.h:62
CORE_API bool DirectoryExists(const TCHAR *InDirectory) override
Definition FileManagerGeneric.cpp:364
CORE_API bool IterateDirectoryRecursively(const TCHAR *Directory, IPlatformFile::FDirectoryVisitor &Visitor) override
Definition FileManagerGeneric.cpp:512
CORE_API bool FileExists(const TCHAR *Filename) override
Definition FileManagerGeneric.cpp:359
virtual CORE_API void ProcessCommandLineOptions() override
Definition FileManagerGeneric.cpp:32
CORE_API bool IterateDirectoryStat(const TCHAR *Directory, IPlatformFile::FDirectoryStatVisitor &Visitor) override
Definition FileManagerGeneric.cpp:522
virtual bool IsSandboxEnabled() const override
Definition FileManagerGeneric.h:67
CORE_API void FindFilesRecursive(TArray< FString > &FileNames, const TCHAR *StartDirectory, const TCHAR *Filename, bool Files, bool Directories, bool bClearFileNames=true) override
Definition FileManagerGeneric.cpp:645
virtual bool SendMessageToServer(const TCHAR *Message, IPlatformFile::IFileServerMessageHandler *Handler) override
Definition FileManagerGeneric.h:204
CORE_API void FindFiles(TArray< FString > &Result, const TCHAR *Filename, bool Files, bool Directories) override
Definition FileManagerGeneric.cpp:455
CORE_API bool Move(const TCHAR *Dest, const TCHAR *Src, bool Replace=1, bool EvenIfReadOnly=0, bool Attributes=0, bool bDoNotRetryOrError=0) override
Definition FileManagerGeneric.cpp:299
CORE_API bool SetTimeStamp(const TCHAR *Filename, FDateTime Timestamp) override
Definition FileManagerGeneric.cpp:565
CORE_API FString ConvertToRelativePath(const TCHAR *Filename) override
Definition FileManagerGeneric.cpp:630
CORE_API FDateTime GetAccessTimeStamp(const TCHAR *Filename) override
Definition FileManagerGeneric.cpp:577
FArchive * CreateFileWriter(const TCHAR *Filename, uint32 WriteFlags=0) override
Definition FileManagerGeneric.h:77
CORE_API FString ConvertToAbsolutePathForExternalAppForRead(const TCHAR *Filename) override
Definition FileManagerGeneric.cpp:635
Definition GenericPlatformFile.h:117
Definition FileManager.h:57
Definition UniquePtr.h:107
Definition FileManager.h:44
Definition GenericPlatformFile.h:195