From d1f56d93f934150f4b579c2e90564e2bf035f113 Mon Sep 17 00:00:00 2001 From: David Corrales Date: Sat, 12 May 2007 20:00:52 +0000 Subject: Use common/singleton.h in the concrete fs factories. svn-id: r26814 --- backends/fs/posix/posix-fs-factory.cpp | 9 +-------- backends/fs/posix/posix-fs-factory.h | 12 +++--------- 2 files changed, 4 insertions(+), 17 deletions(-) (limited to 'backends/fs/posix') 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 { 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; }; #endif /*POSIX_FILESYSTEM_FACTORY_H*/ -- cgit v1.2.3