aboutsummaryrefslogtreecommitdiff
path: root/backends/fs/posix
diff options
context:
space:
mode:
authorDavid Corrales2007-05-12 20:00:52 +0000
committerDavid Corrales2007-05-12 20:00:52 +0000
commitd1f56d93f934150f4b579c2e90564e2bf035f113 (patch)
tree09aae1d4077c8e1c933fdca88d34d890a46f8a6a /backends/fs/posix
parent86324f00bc561c03b281170125ef2fde14cae132 (diff)
downloadscummvm-rg350-d1f56d93f934150f4b579c2e90564e2bf035f113.tar.gz
scummvm-rg350-d1f56d93f934150f4b579c2e90564e2bf035f113.tar.bz2
scummvm-rg350-d1f56d93f934150f4b579c2e90564e2bf035f113.zip
Use common/singleton.h in the concrete fs factories.
svn-id: r26814
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*/