aboutsummaryrefslogtreecommitdiff
path: root/backends/factories/posix/posix-fs-factory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/factories/posix/posix-fs-factory.cpp')
-rw-r--r--backends/factories/posix/posix-fs-factory.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/backends/factories/posix/posix-fs-factory.cpp b/backends/factories/posix/posix-fs-factory.cpp
new file mode 100644
index 0000000000..9b77e31557
--- /dev/null
+++ b/backends/factories/posix/posix-fs-factory.cpp
@@ -0,0 +1,24 @@
+#include "backends/factories/posix/posix-fs-factory.h"
+#include "backends/fs/posix/posix-fs.cpp"
+#include "backends/file/posix/posix-file.cpp"
+//#include "backends/file/base-file.cpp"
+
+DECLARE_SINGLETON(POSIXFilesystemFactory);
+
+AbstractFilesystemNode *POSIXFilesystemFactory::makeRootFileNode() const {
+ return new POSIXFilesystemNode();
+}
+
+AbstractFilesystemNode *POSIXFilesystemFactory::makeCurrentDirectoryFileNode() const {
+ char buf[MAXPATHLEN];
+ getcwd(buf, MAXPATHLEN);
+ return new POSIXFilesystemNode(buf, true);
+}
+
+AbstractFilesystemNode *POSIXFilesystemFactory::makeFileNodePath(const String &path) const {
+ return new POSIXFilesystemNode(path, true);
+}
+
+BaseFile *POSIXFilesystemFactory::makeBaseFile() const {
+ return new POSIXFile();
+}