18 #ifndef ADBLOCK_PLUS_IFILE_SYSTEM_H
19 #define ADBLOCK_PLUS_IFILE_SYSTEM_H
67 typedef std::function<void(const std::string&)>
Callback;
83 virtual void Read(
const std::string& fileName,
84 const ReadCallback& doneCallback,
85 const Callback& errorCallback)
const = 0;
93 virtual void Write(
const std::string& fileName,
95 const Callback& callback) = 0;
103 virtual void Move(
const std::string& fromFileName,
const std::string& toFileName,
104 const Callback& callback) = 0;
111 virtual void Remove(
const std::string& fileName,
const Callback& callback) = 0;
118 typedef std::function<void(const StatResult&, const std::string&)>
StatCallback;
125 virtual void Stat(
const std::string& fileName,
126 const StatCallback& callback)
const = 0;
bool exists
File exists.
Definition: IFileSystem.h:50
std::function< void(const std::string &)> Callback
Default callback type for asynchronous filesystem calls.
Definition: IFileSystem.h:67
std::function< void(const StatResult &, const std::string &)> StatCallback
Callback type for the asynchronous Stat call.
Definition: IFileSystem.h:118
virtual void Move(const std::string &fromFileName, const std::string &toFileName, const Callback &callback)=0
Moves a file (i.e. renames it).
int64_t lastModified
POSIX time of the last modification.
Definition: IFileSystem.h:55
File system interface.
Definition: IFileSystem.h:33
Main namespace of libadblockplus.
Definition: ActiveObject.h:23
virtual void Remove(const std::string &fileName, const Callback &callback)=0
Removes a file.
virtual void Stat(const std::string &fileName, const StatCallback &callback) const =0
Retrieves information about a file.
Result of a stat operation, i.e. information about a file.
Definition: IFileSystem.h:39
std::unique_ptr< IFileSystem > FileSystemPtr
Unique smart pointer to to a IFileSystem instance.
Definition: IFileSystem.h:132
virtual void Read(const std::string &fileName, const ReadCallback &doneCallback, const Callback &errorCallback) const =0
Reads from a file.
std::vector< uint8_t > IOBuffer
Type for the buffer used for IO.
Definition: IFileSystem.h:61
std::function< void(IOBuffer &&)> ReadCallback
Callback type for the asynchronous Read call.
Definition: IFileSystem.h:73
virtual void Write(const std::string &fileName, const IOBuffer &data, const Callback &callback)=0
Writes to a file.