diff options
Diffstat (limited to 'backends/fs/amigaos4')
-rw-r--r-- | backends/fs/amigaos4/amigaos4-fs-factory.cpp | 9 | ||||
-rw-r--r-- | backends/fs/amigaos4/amigaos4-fs-factory.h | 11 |
2 files changed, 3 insertions, 17 deletions
diff --git a/backends/fs/amigaos4/amigaos4-fs-factory.cpp b/backends/fs/amigaos4/amigaos4-fs-factory.cpp index abb0790c18..becbd49003 100644 --- a/backends/fs/amigaos4/amigaos4-fs-factory.cpp +++ b/backends/fs/amigaos4/amigaos4-fs-factory.cpp @@ -1,14 +1,7 @@ #include "backends/fs/amigaos4/amigaos4-fs-factory.h" #include "backends/fs/amigaos4/amigaos4-fs.cpp" -AmigaOSFilesystemFactory *AmigaOSFilesystemFactory::_instance = 0; - -AmigaOSFilesystemFactory *AmigaOSFilesystemFactory::instance(){ - if(_instance == 0){ - _instance = new AmigaOSFilesystemFactory(); - } - return _instance; -} +DECLARE_SINGLETON(AmigaOSFilesystemFactory); AbstractFilesystemNode *AmigaOSFilesystemFactory::makeRootFileNode() const { return new AmigaOSFilesystemNode(); diff --git a/backends/fs/amigaos4/amigaos4-fs-factory.h b/backends/fs/amigaos4/amigaos4-fs-factory.h index 4b34cc1954..861f28b794 100644 --- a/backends/fs/amigaos4/amigaos4-fs-factory.h +++ b/backends/fs/amigaos4/amigaos4-fs-factory.h @@ -8,16 +8,9 @@ * * Parts of this class are documented in the base interface class, AbstractFilesystemFactory. */ -class AmigaOSFilesystemFactory : public AbstractFilesystemFactory { +class AmigaOSFilesystemFactory : public AbstractFilesystemFactory, public Common::Singleton<AmigaOSFilesystemFactory> { public: typedef Common::String String; - - /** - * Creates an instance of AmigaOSFilesystemFactory using the Singleton pattern. - * - * @return A unique instance of AmigaOSFilesytemFactory. - */ - static AmigaOSFilesystemFactory *instance(); virtual AbstractFilesystemNode *makeRootFileNode() const; virtual AbstractFilesystemNode *makeCurrentDirectoryFileNode() const; @@ -27,7 +20,7 @@ protected: AmigaOSFilesystemFactory() {}; private: - static AmigaOSFilesystemFactory *_instance; + friend class Common::Singleton<SingletonBaseType>; }; #endif /*AMIGAOS_FILESYSTEM_FACTORY_H*/ |