16 #ifndef ZORBA_FILE_API_H
17 #define ZORBA_FILE_API_H
21 #include <zorba/config.h>
36 virtual bool next(std::string& aPathStr)
const = 0;
39 virtual void reset() = 0;
53 static File_t createFile(
const std::string& path);
55 static const char* getDirectorySeparator();
57 static const char* getPathSeparator();
62 typedef __int64 FileSize_t;
70 virtual const std::string getFilePath()
const = 0;
71 virtual const std::string getFileUri()
const = 0;
73 virtual bool isDirectory(
bool follow_symlinks =
true )
const = 0;
74 virtual bool isFile(
bool follow_symlinks =
true )
const = 0;
75 virtual bool isLink()
const = 0;
76 virtual bool isVolume(
bool follow_symlinks =
true )
const = 0;
77 virtual bool isInvalid()
const = 0;
78 virtual bool exists(
bool follow_symlinks =
true )
const = 0;
80 virtual void remove() = 0;
81 virtual bool create() = 0;
82 virtual bool rename(std::string
const& newpath) = 0;
86 virtual void mkdir(
bool recursive) = 0;
90 virtual void openInputStream(std::ifstream& aInStream,
bool binary,
bool trimByteOrderMark)
const = 0;
91 virtual void openOutputStream(std::ofstream& aOutStream,
bool binary,
bool append)
const = 0;
93 virtual time_t lastModified()
const = 0;