aboutsummaryrefslogtreecommitdiff
path: root/backends/fs/posix
diff options
context:
space:
mode:
Diffstat (limited to 'backends/fs/posix')
-rw-r--r--backends/fs/posix/posix-fs-factory.cpp9
-rw-r--r--backends/fs/posix/posix-fs-factory.h12
2 files changed, 4 insertions, 17 deletions
diff --git a/backends/fs/posix/posix-fs-factory.cpp b/backends/fs/posix/posix-fs-factory.cpp
index b302bb31e8..bed3dc5f8f 100644
--- a/backends/fs/posix/posix-fs-factory.cpp
+++ b/backends/fs/posix/posix-fs-factory.cpp
@@ -1,14 +1,7 @@
#include "backends/fs/posix/posix-fs-factory.h"
#include "backends/fs/posix/posix-fs.cpp"
-POSIXFilesystemFactory *POSIXFilesystemFactory::_instance = 0;
-
-POSIXFilesystemFactory *POSIXFilesystemFactory::instance(){
- if(_instance == 0){
- _instance = new POSIXFilesystemFactory();
- }
- return _instance;
-}
+DECLARE_SINGLETON(POSIXFilesystemFactory);
AbstractFilesystemNode *POSIXFilesystemFactory::makeRootFileNode() const {
return new POSIXFilesystemNode();
diff --git a/backends/fs/posix/posix-fs-factory.h b/backends/fs/posix/posix-fs-factory.h
index 5195491b95..93f0ac115b 100644
--- a/backends/fs/posix/posix-fs-factory.h
+++ b/backends/fs/posix/posix-fs-factory.h
@@ -1,6 +1,7 @@
#ifndef POSIX_FILESYSTEM_FACTORY_H
#define POSIX_FILESYSTEM_FACTORY_H
+#include "common/singleton.h"
#include "backends/fs/abstract-fs-factory.h"
/**
@@ -8,16 +9,9 @@
*
* Parts of this class are documented in the base interface class, AbstractFilesystemFactory.
*/
-class POSIXFilesystemFactory : public AbstractFilesystemFactory {
+class POSIXFilesystemFactory : public AbstractFilesystemFactory, public Common::Singleton<POSIXFilesystemFactory> {
public:
typedef Common::String String;
-
- /**
- * Creates an instance of POSIXFilesystemFactory using the Singleton pattern.
- *
- * @return A unique instance of POSIXFilesytemFactory.
- */
- static POSIXFilesystemFactory *instance();
virtual AbstractFilesystemNode *makeRootFileNode() const;
virtual AbstractFilesystemNode *makeCurrentDirectoryFileNode() const;
@@ -27,7 +21,7 @@ protected:
POSIXFilesystemFactory() {};
private:
- static POSIXFilesystemFactory *_instance;
+ friend class Common::Singleton<SingletonBaseType>;
};
#endif /*POSIX_FILESYSTEM_FACTORY_H*/