diff options
author | Caolán McNamara <caolanm@redhat.com> | 2010-10-11 15:19:05 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2010-10-12 15:35:11 +0100 |
commit | 34ebfb2b61686999065015295dab9f623027e94d (patch) | |
tree | 1ba7728b93f9d38750a25cbc3dfb7df9c6fc222d /unotools/source/config/configmgr.cxx | |
parent | 2e9987515e5c83353dbe6151cc309289b38a78f6 (diff) |
#i112786# make ConfigManager a well-behaved singleton
Diffstat (limited to 'unotools/source/config/configmgr.cxx')
-rw-r--r-- | unotools/source/config/configmgr.cxx | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/unotools/source/config/configmgr.cxx b/unotools/source/config/configmgr.cxx index 0df6d49afe59..562df834d7b2 100644 --- a/unotools/source/config/configmgr.cxx +++ b/unotools/source/config/configmgr.cxx @@ -352,28 +352,14 @@ void ConfigManager::StoreConfigItems() } } } -ConfigManager* ConfigManager::pConfigManager = 0; /* -----------------------------07.09.00 11:06-------------------------------- ---------------------------------------------------------------------------*/ -ConfigManager* ConfigManager::GetConfigManager() -{ - if(!pConfigManager) - { - pConfigManager = new ConfigManager(); - } - return pConfigManager; -} -/* -----------------------------07.09.00 11:06-------------------------------- +struct theConfigManager : public rtl::Static<ConfigManager, theConfigManager> {}; - ---------------------------------------------------------------------------*/ -void ConfigManager::RemoveConfigManager() +ConfigManager& ConfigManager::GetConfigManager() { - if(pConfigManager) - { - delete pConfigManager; - pConfigManager = 0; - } + return theConfigManager::get(); } /* -----------------------------08.09.00 13:22-------------------------------- @@ -515,7 +501,7 @@ Any ConfigManager::GetDirectConfigProperty(ConfigProperty eProp) } Sequence< Any > aArgs(1); aArgs[0] <<= sPath; - Reference< XMultiServiceFactory > xCfgProvider = GetConfigManager()->GetConfigurationProvider(); + Reference< XMultiServiceFactory > xCfgProvider = GetConfigManager().GetConfigurationProvider(); if(!xCfgProvider.is()) return aRet; Reference< XInterface > xIFace; |