diff options
Diffstat (limited to 'backends/fs/abstract-fs.h')
-rw-r--r-- | backends/fs/abstract-fs.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/backends/fs/abstract-fs.h b/backends/fs/abstract-fs.h index 34a8120caa..24286b649d 100644 --- a/backends/fs/abstract-fs.h +++ b/backends/fs/abstract-fs.h @@ -84,6 +84,20 @@ protected: public: /** + * Construct a FSNode object from an AbstractFSNode object. + * + * This is a helper to create Common::FSNode objects when the backend's + * FileSystemFactory cannot create the given AbstractFSNode object itself. + * All other code is supposed to use Common::FSNode's constructor itself. + * + * @param realNode Pointer to a heap allocated instance. FSNode will take + * ownership of the pointer. + */ + static Common::FSNode makeFSNode(AbstractFSNode *realNode) { + return Common::FSNode(realNode); + } + + /** * Destructor. */ virtual ~AbstractFSNode() {} @@ -177,6 +191,15 @@ public: * @return pointer to the stream object, 0 in case of a failure */ virtual Common::WriteStream *createWriteStream() = 0; + + /** + * Creates a file referred by this node. + * + * @param isDirectory true if created file must be a directory + * + * @return true if file is created successfully + */ + virtual bool create(bool isDirectory) = 0; }; |