3 #include "FileHandle.h" 28 std::string m_sFullpath;
30 DWORD m_dwFileAttributes;
31 time_t m_ftCreationTime;
32 time_t m_ftLastAccessTime;
33 time_t m_ftLastWriteTime;
43 static void TrimString(std::string & str);
45 static bool FileExistRaw(
const char* filename);
48 static bool AddDiskSearchPath(
const std::string& sFile,
bool nFront =
false);
51 static bool FileExist(
const char* filename);
56 static bool FileExist2(
const char* filename, std::string * pDiskFile = NULL);
63 static void MakeFileNameFromRelativePath(
char * output,
const char* filename,
const char* relativePath);
71 static bool MoveFile(
const char* src,
const char* dest);
81 static bool CopyFile(
const char* src,
const char* dest,
bool bOverride);
92 static std::string GetParentDirectoryFromPath(
const std::string& sfilename,
int nParentCounts = 0);
97 static bool MakeDirectoryFromFilePath(
const char * filename);
103 static bool SaveBufferToFile(
const std::string& filename,
bool bReplace,
char* buffer, DWORD nBufSize);
106 static bool DeleteFile(
const char* filename);
109 static int DeleteDirectory(
const char* dirname);
117 static int DeleteFiles(
const std::string& sFilePattern,
bool bSecureFolderOnly =
true,
int nSubFolderCount=10);
120 static std::string GetWritableFullPathForFilename(
const std::string& filename);
122 static std::string GetFileName(
const std::string& sFilePath);
128 static FileData GetDataFromFile(
const char* filename);
130 static std::string GetStringFromFile(
const std::string& filename);
133 static bool GetFileInfo(
const char* filename,
CParaFileInfo& fileInfo);
139 static FileData GetResDataFromFile(
const std::string& filename);
142 static bool DoesResFileExist(
const std::string& filename);
149 static void AddEmbeddedResource(
const char* name,
const char* buffer,
size_t nSize);
152 static std::string GetFullPathForFilename(
const std::string &filename);
163 static bool IsAbsolutePath(
const std::string& path);
166 static int GetFileSize(
const char* sFilePath);
169 static FileHandle OpenFile(
const char* sFilePath,
bool bRead =
false,
bool bWrite=
true);
181 static bool SetFilePointer(
FileHandle& fileHandle,
int lDistanceToMove,
int dwMoveMethod);
184 static int GetFilePosition(
FileHandle& fileHandle);
192 static bool SetEndOfFile(
FileHandle& fileHandle);
197 static int WriteBytes(
FileHandle& fileHandle,
const void* src,
int bytes);
202 static int ReadBytes(
FileHandle& fileHandle,
void* dest,
int bytes);
205 static void CloseFile(
FileHandle& fileHandle);
208 static std::string GetInitialDirectory();
214 static const std::string& GetWritablePath();
217 static void SetWritablePath(
const std::string& writable_path);
220 static void FindDiskFiles(
CSearchResult& result,
const std::string& sRootPath,
const std::string& sFilePattern,
int nSubLevel);
223 static std::string s_writepath;
227 struct EmbeddedResource
230 EmbeddedResource():resource_data(0), data_len(0) {}
231 EmbeddedResource(
const char* start,
size_t len) : resource_data(start), data_len(len) {}
233 const char *
const &data()
const {
return resource_data; }
234 const size_t &size()
const {
return data_len; }
236 const char *begin()
const {
return resource_data; }
237 const char *end()
const {
return resource_data + data_len; }
239 std::string toString() {
return std::string(data(), size()); }
242 const char* resource_data;
247 static std::map<std::string, EmbeddedResource> s_all_resources;
a file handle in a Archive
Definition: FileHandle.h:13
file information.
Definition: FileUtils.h:11
different physics engine has different winding order.
Definition: EventBinding.h:32
file platform related API and helper functions
Definition: FileUtils.h:38
it represents the search result.
Definition: FileSearchResult.h:24