UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UnixPlatformFile.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================================
4 UnixPlatformFile.h: Unix platform File functions
5==============================================================================================*/
6
7#pragma once
8
10#include "CoreTypes.h"
11#include "GenericPlatform/GenericPlatformFile.h" // IWYU pragma: export
12#include "Misc/DateTime.h"
13
15template <typename FuncType> class TFunctionRef;
16
21{
22protected:
23 CORE_API virtual FString NormalizeFilename(const TCHAR* Filename, bool bIsForWriting);
24 CORE_API virtual FString NormalizeDirectory(const TCHAR* Directory, bool bIsForWriting);
25public:
26 //~ For visibility of overloads we don't override
29
30 AUTORTFM_OPEN CORE_API virtual bool FileExists(const TCHAR* Filename) override;
31 CORE_API virtual int64 FileSize(const TCHAR* Filename) override;
32 CORE_API virtual bool DeleteFile(const TCHAR* Filename) override;
33 CORE_API virtual bool IsReadOnly(const TCHAR* Filename) override;
34 CORE_API virtual bool MoveFile(const TCHAR* To, const TCHAR* From) override;
35 CORE_API virtual bool SetReadOnly(const TCHAR* Filename, bool bNewReadOnlyValue) override;
36
37
38 CORE_API virtual FDateTime GetTimeStamp(const TCHAR* Filename) override;
39
40 CORE_API virtual void SetTimeStamp(const TCHAR* Filename, const FDateTime DateTime) override;
41
42 CORE_API virtual FDateTime GetAccessTimeStamp(const TCHAR* Filename) override;
43 CORE_API virtual FString GetFilenameOnDisk(const TCHAR* Filename) override;
44
45 CORE_API virtual ESymlinkResult IsSymlink(const TCHAR* Filename) override;
46
47 CORE_API virtual IFileHandle* OpenRead(const TCHAR* Filename, bool bAllowWrite = false) override;
48 CORE_API virtual IFileHandle* OpenWrite(const TCHAR* Filename, bool bAppend = false, bool bAllowRead = false) override;
49 CORE_API virtual FOpenMappedResult OpenMappedEx(const TCHAR* Filename, EOpenReadFlags OpenOptions = EOpenReadFlags::None, int64 MaximumSize = 0) override;
50
51 CORE_API virtual bool DirectoryExists(const TCHAR* Directory) override;
52 CORE_API virtual bool CreateDirectory(const TCHAR* Directory) override;
53 CORE_API virtual bool DeleteDirectory(const TCHAR* Directory) override;
54
56
58
59 CORE_API virtual bool IterateDirectory(const TCHAR* Directory, FDirectoryVisitor& Visitor) override;
60 CORE_API virtual bool IterateDirectoryStat(const TCHAR* Directory, FDirectoryStatVisitor& Visitor) override;
61
63
64protected:
65 CORE_API bool IterateDirectoryCommon(const TCHAR* Directory, const TFunctionRef<bool(struct dirent*)>& Visitor);
66
68 bool bLoggingError = false;
69};
#define AUTORTFM_OPEN
Definition AutoRTFMDefines.h:122
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ESymlinkResult
Definition GenericPlatformFile.h:90
EPlatformFileRead
Definition GenericPlatformFile.h:59
EPlatformFileWrite
Definition GenericPlatformFile.h:70
Definition UnixPlatformFile.h:21
virtual CORE_API IFileHandle * OpenWrite(const TCHAR *Filename, bool bAppend=false, bool bAllowRead=false) override
Definition UnixPlatformFile.cpp:1180
CORE_API bool CreateDirectoriesFromPath(const TCHAR *Path)
Definition UnixPlatformFile.cpp:1454
virtual CORE_API FString NormalizeDirectory(const TCHAR *Directory, bool bIsForWriting)
Definition UnixPlatformFile.cpp:914
virtual CORE_API int64 FileSize(const TCHAR *Filename) override
Definition UnixPlatformFile.cpp:942
virtual CORE_API FOpenMappedResult OpenMappedEx(const TCHAR *Filename, EOpenReadFlags OpenOptions=EOpenReadFlags::None, int64 MaximumSize=0) override
Definition UnixPlatformFile.cpp:1254
virtual CORE_API bool SetReadOnly(const TCHAR *Filename, bool bNewReadOnlyValue) override
Definition UnixPlatformFile.cpp:1040
virtual CORE_API bool DirectoryExists(const TCHAR *Directory) override
Definition UnixPlatformFile.cpp:1284
virtual CORE_API FFileStatData GetStatData(const TCHAR *FilenameOrDirectory) override
Definition UnixPlatformFile.cpp:1345
virtual CORE_API FString GetFilenameOnDisk(const TCHAR *Filename) override
Definition UnixPlatformFile.cpp:1138
virtual CORE_API bool CopyFile(const TCHAR *To, const TCHAR *From, EPlatformFileRead ReadFlags=EPlatformFileRead::None, EPlatformFileWrite WriteFlags=EPlatformFileWrite::None) override
Definition UnixPlatformFile.cpp:1439
bool bLoggingError
Definition UnixPlatformFile.h:68
virtual CORE_API bool IterateDirectoryStat(const TCHAR *Directory, FDirectoryStatVisitor &Visitor) override
Definition UnixPlatformFile.cpp:1397
virtual CORE_API void SetTimeStamp(const TCHAR *Filename, const FDateTime DateTime) override
Definition UnixPlatformFile.cpp:1094
virtual CORE_API FString NormalizeFilename(const TCHAR *Filename, bool bIsForWriting)
Definition UnixPlatformFile.cpp:900
virtual CORE_API FDateTime GetAccessTimeStamp(const TCHAR *Filename) override
Definition UnixPlatformFile.cpp:1117
virtual CORE_API bool MoveFile(const TCHAR *To, const TCHAR *From) override
Definition UnixPlatformFile.cpp:1011
virtual CORE_API bool IsReadOnly(const TCHAR *Filename) override
Definition UnixPlatformFile.cpp:993
virtual CORE_API bool DeleteDirectory(const TCHAR *Directory) override
Definition UnixPlatformFile.cpp:1317
virtual CORE_API bool DeleteFile(const TCHAR *Filename) override
Definition UnixPlatformFile.cpp:969
virtual CORE_API IFileHandle * OpenRead(const TCHAR *Filename, bool bAllowWrite=false) override
Definition UnixPlatformFile.cpp:1174
virtual CORE_API ESymlinkResult IsSymlink(const TCHAR *Filename) override
Definition UnixPlatformFile.cpp:1152
virtual CORE_API bool IterateDirectory(const TCHAR *Directory, FDirectoryVisitor &Visitor) override
Definition UnixPlatformFile.cpp:1363
AUTORTFM_OPEN virtual CORE_API bool FileExists(const TCHAR *Filename) override
Definition UnixPlatformFile.cpp:920
CORE_API bool IterateDirectoryCommon(const TCHAR *Directory, const TFunctionRef< bool(struct dirent *)> &Visitor)
Definition UnixPlatformFile.cpp:1417
virtual CORE_API bool CreateDirectory(const TCHAR *Directory) override
Definition UnixPlatformFile.cpp:1306
virtual CORE_API FDateTime GetTimeStamp(const TCHAR *Filename) override
Definition UnixPlatformFile.cpp:1065
Definition GenericPlatformFile.h:117
Definition MappedFileHandle.h:115
Definition GenericPlatformFile.h:995
Definition GenericPlatformFile.h:623
Definition GenericPlatformFile.h:576
virtual bool IterateDirectoryStat(const TCHAR *Directory, FDirectoryStatVisitor &Visitor)=0
virtual bool IterateDirectory(const TCHAR *Directory, FDirectoryVisitor &Visitor)=0
EOpenReadFlags
Definition GenericPlatformFile.h:496
Definition AssetRegistryState.h:50
Definition ValueOrError.h:58
Definition DateTime.h:76
Definition GenericPlatformFile.h:195