mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-12 10:13:51 +01:00
enh: #3890: Get rid of SingletonHolder
This commit is contained in:
parent
33638df51e
commit
d5a5ebc2d7
@ -11,7 +11,6 @@
|
||||
#include "ApacheApplication.h"
|
||||
#include "ApacheChannel.h"
|
||||
#include "Poco/Logger.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include <vector>
|
||||
|
||||
|
||||
@ -48,6 +47,6 @@ void ApacheApplication::setup()
|
||||
|
||||
ApacheApplication& ApacheApplication::instance()
|
||||
{
|
||||
static Poco::SingletonHolder<ApacheApplication> sh;
|
||||
return *sh.get();
|
||||
static ApacheApplication aa;
|
||||
return aa;
|
||||
}
|
||||
|
@ -20,7 +20,6 @@
|
||||
#include "Poco/Crypto/RSACipherImpl.h"
|
||||
#include "Poco/Crypto/EVPCipherImpl.h"
|
||||
#include "Poco/Exception.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/err.h>
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
@ -46,15 +45,10 @@ CipherFactory::~CipherFactory()
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static Poco::SingletonHolder<CipherFactory> holder;
|
||||
}
|
||||
|
||||
|
||||
CipherFactory& CipherFactory::defaultFactory()
|
||||
{
|
||||
return *holder.get();
|
||||
static CipherFactory cf;
|
||||
return cf;
|
||||
}
|
||||
|
||||
|
||||
|
@ -14,7 +14,6 @@
|
||||
|
||||
#include "Poco/Data/MySQL/SessionHandle.h"
|
||||
#include "Poco/Data/DataException.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#ifdef POCO_OS_FAMILY_UNIX
|
||||
#include <pthread.h>
|
||||
#endif
|
||||
@ -51,7 +50,8 @@ public:
|
||||
|
||||
static ThreadCleanupHelper& instance()
|
||||
{
|
||||
return *_sh.get();
|
||||
static ThreadCleanupHelper tch;
|
||||
return tch;
|
||||
}
|
||||
|
||||
static void cleanup(void* data)
|
||||
@ -61,11 +61,9 @@ public:
|
||||
|
||||
private:
|
||||
pthread_key_t _key;
|
||||
static Poco::SingletonHolder<ThreadCleanupHelper> _sh;
|
||||
};
|
||||
|
||||
|
||||
Poco::SingletonHolder<ThreadCleanupHelper> ThreadCleanupHelper::_sh;
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -352,14 +352,9 @@ private:
|
||||
};
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static ActiveThreadPoolSingletonHolder sh;
|
||||
}
|
||||
|
||||
|
||||
ActiveThreadPool& ActiveThreadPool::defaultPool()
|
||||
{
|
||||
static ActiveThreadPoolSingletonHolder sh;
|
||||
return *sh.pool();
|
||||
}
|
||||
|
||||
|
@ -13,7 +13,6 @@
|
||||
|
||||
|
||||
#include "Poco/ErrorHandler.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
@ -103,11 +102,8 @@ ErrorHandler* ErrorHandler::set(ErrorHandler* pHandler)
|
||||
|
||||
ErrorHandler* ErrorHandler::defaultHandler()
|
||||
{
|
||||
// NOTE: Since this is called to initialize the static _pHandler
|
||||
// variable, sh has to be a local static, otherwise we run
|
||||
// into static initialization order issues.
|
||||
static SingletonHolder<ErrorHandler> sh;
|
||||
return sh.get();
|
||||
static ErrorHandler eh;
|
||||
return &eh;
|
||||
}
|
||||
|
||||
|
||||
|
@ -13,7 +13,6 @@
|
||||
|
||||
|
||||
#include "Poco/LoggingFactory.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include "Poco/AsyncChannel.h"
|
||||
#include "Poco/ConsoleChannel.h"
|
||||
#include "Poco/FileChannel.h"
|
||||
@ -73,15 +72,10 @@ Formatter::Ptr LoggingFactory::createFormatter(const std::string& className) con
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static SingletonHolder<LoggingFactory> sh;
|
||||
}
|
||||
|
||||
|
||||
LoggingFactory& LoggingFactory::defaultFactory()
|
||||
{
|
||||
return *sh.get();
|
||||
static LoggingFactory lf;
|
||||
return lf;
|
||||
}
|
||||
|
||||
|
||||
|
@ -13,7 +13,6 @@
|
||||
|
||||
|
||||
#include "Poco/LoggingRegistry.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
@ -102,15 +101,10 @@ void LoggingRegistry::clear()
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static SingletonHolder<LoggingRegistry> sh;
|
||||
}
|
||||
|
||||
|
||||
LoggingRegistry& LoggingRegistry::defaultRegistry()
|
||||
{
|
||||
return *sh.get();
|
||||
static LoggingRegistry lr;
|
||||
return lr;
|
||||
}
|
||||
|
||||
|
||||
|
@ -13,7 +13,6 @@
|
||||
|
||||
|
||||
#include "Poco/NestedDiagnosticContext.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include "Poco/ThreadLocal.h"
|
||||
|
||||
|
||||
@ -114,15 +113,10 @@ void NestedDiagnosticContext::clear()
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static ThreadLocal<NestedDiagnosticContext> ndc;
|
||||
}
|
||||
|
||||
|
||||
NestedDiagnosticContext& NestedDiagnosticContext::current()
|
||||
{
|
||||
return ndc.get();
|
||||
static NestedDiagnosticContext ndc;
|
||||
return ndc;
|
||||
}
|
||||
|
||||
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "Poco/Notification.h"
|
||||
#include "Poco/Observer.h"
|
||||
#include "Poco/AutoPtr.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
@ -106,15 +105,10 @@ std::size_t NotificationCenter::countObservers() const
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static SingletonHolder<NotificationCenter> sh;
|
||||
}
|
||||
|
||||
|
||||
NotificationCenter& NotificationCenter::defaultCenter()
|
||||
{
|
||||
return *sh.get();
|
||||
static NotificationCenter nc;
|
||||
return nc;
|
||||
}
|
||||
|
||||
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include "Poco/NotificationQueue.h"
|
||||
#include "Poco/NotificationCenter.h"
|
||||
#include "Poco/Notification.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
@ -209,15 +208,10 @@ Notification::Ptr NotificationQueue::dequeueOne()
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static SingletonHolder<NotificationQueue> sh;
|
||||
}
|
||||
|
||||
|
||||
NotificationQueue& NotificationQueue::defaultQueue()
|
||||
{
|
||||
return *sh.get();
|
||||
static NotificationQueue nq;
|
||||
return nq;
|
||||
}
|
||||
|
||||
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include "Poco/PriorityNotificationQueue.h"
|
||||
#include "Poco/NotificationCenter.h"
|
||||
#include "Poco/Notification.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
@ -180,15 +179,10 @@ Notification::Ptr PriorityNotificationQueue::dequeueOne()
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static SingletonHolder<PriorityNotificationQueue> sh;
|
||||
}
|
||||
|
||||
|
||||
PriorityNotificationQueue& PriorityNotificationQueue::defaultQueue()
|
||||
{
|
||||
return *sh.get();
|
||||
static PriorityNotificationQueue pnq;
|
||||
return pnq;
|
||||
}
|
||||
|
||||
|
||||
|
@ -26,7 +26,6 @@
|
||||
#include "Poco/Windows1251Encoding.h"
|
||||
#include "Poco/Windows1252Encoding.h"
|
||||
#include "Poco/RWLock.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include <map>
|
||||
|
||||
|
||||
@ -193,15 +192,10 @@ TextEncoding& TextEncoding::global()
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static SingletonHolder<TextEncodingManager> sh;
|
||||
}
|
||||
|
||||
|
||||
TextEncodingManager& TextEncoding::manager()
|
||||
{
|
||||
return *sh.get();
|
||||
static TextEncodingManager tem;
|
||||
return tem;
|
||||
}
|
||||
|
||||
|
||||
|
@ -13,7 +13,6 @@
|
||||
|
||||
|
||||
#include "Poco/ThreadLocal.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include "Poco/Thread.h"
|
||||
|
||||
|
||||
@ -54,12 +53,6 @@ TLSAbstractSlot*& ThreadLocalStorage::get(const void* key)
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static SingletonHolder<ThreadLocalStorage> sh;
|
||||
}
|
||||
|
||||
|
||||
ThreadLocalStorage& ThreadLocalStorage::current()
|
||||
{
|
||||
Thread* pThread = Thread::current();
|
||||
@ -69,7 +62,8 @@ ThreadLocalStorage& ThreadLocalStorage::current()
|
||||
}
|
||||
else
|
||||
{
|
||||
return *sh.get();
|
||||
static ThreadLocalStorage tls;
|
||||
return tls;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -497,14 +497,9 @@ private:
|
||||
};
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static ThreadPoolSingletonHolder sh;
|
||||
}
|
||||
|
||||
|
||||
ThreadPool& ThreadPool::defaultPool()
|
||||
{
|
||||
static ThreadPoolSingletonHolder sh;
|
||||
return *sh.pool();
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,6 @@
|
||||
#include "Poco/FileStreamFactory.h"
|
||||
#include "Poco/URI.h"
|
||||
#include "Poco/Path.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include "Poco/Exception.h"
|
||||
|
||||
|
||||
@ -159,15 +158,10 @@ bool URIStreamOpener::supportsScheme(const std::string& scheme)
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static SingletonHolder<URIStreamOpener> sh;
|
||||
}
|
||||
|
||||
|
||||
URIStreamOpener& URIStreamOpener::defaultOpener()
|
||||
{
|
||||
return *sh.get();
|
||||
static URIStreamOpener so;
|
||||
return so;
|
||||
}
|
||||
|
||||
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include "Poco/DigestEngine.h"
|
||||
#include "Poco/MD5Engine.h"
|
||||
#include "Poco/SHA1Engine.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include <cstring>
|
||||
|
||||
|
||||
@ -152,15 +151,10 @@ void UUIDGenerator::seed(UInt32 n)
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static SingletonHolder<UUIDGenerator> sh;
|
||||
}
|
||||
|
||||
|
||||
UUIDGenerator& UUIDGenerator::defaultGenerator()
|
||||
{
|
||||
return *sh.get();
|
||||
static UUIDGenerator g;
|
||||
return g;
|
||||
}
|
||||
|
||||
|
||||
|
@ -17,7 +17,6 @@
|
||||
#include "Poco/Exception.h"
|
||||
|
||||
|
||||
using Poco::SingletonHolder;
|
||||
using Poco::FastMutex;
|
||||
using Poco::NotFoundException;
|
||||
using Poco::ExistsException;
|
||||
@ -137,15 +136,10 @@ void HTTPSessionFactory::setProxyConfig(const HTTPClientSession::ProxyConfig& pr
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static SingletonHolder<HTTPSessionFactory> singleton;
|
||||
}
|
||||
|
||||
|
||||
HTTPSessionFactory& HTTPSessionFactory::defaultFactory()
|
||||
{
|
||||
return *singleton.get();
|
||||
static HTTPSessionFactory f;
|
||||
return f;
|
||||
}
|
||||
|
||||
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
|
||||
#include "Poco/SharedLibrary.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include "Poco/UnicodeConverter.h"
|
||||
#include <vector>
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
@ -227,15 +226,10 @@ private:
|
||||
};
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static Poco::SingletonHolder<SSPINTLMProvider> sspintlmProviderHolder;
|
||||
}
|
||||
|
||||
|
||||
SSPINTLMProvider& SSPINTLMProvider::instance()
|
||||
{
|
||||
return *sspintlmProviderHolder.get();
|
||||
static SSPINTLMProvider p;
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
|
@ -24,7 +24,6 @@
|
||||
#include "Poco/Net/RejectCertificateHandler.h"
|
||||
#include "Poco/Crypto/OpenSSLInitializer.h"
|
||||
#include "Poco/Net/SSLException.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include "Poco/Delegate.h"
|
||||
#include "Poco/StringTokenizer.h"
|
||||
#include "Poco/Util/Application.h"
|
||||
@ -107,15 +106,10 @@ void SSLManager::shutdown()
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static Poco::SingletonHolder<SSLManager> singleton;
|
||||
}
|
||||
|
||||
|
||||
SSLManager& SSLManager::instance()
|
||||
{
|
||||
return *singleton.get();
|
||||
static SSLManager sm;
|
||||
return sm;
|
||||
}
|
||||
|
||||
|
||||
|
@ -22,7 +22,6 @@
|
||||
#include "Poco/Net/Utility.h"
|
||||
#include "Poco/Net/PrivateKeyPassphraseHandler.h"
|
||||
#include "Poco/Net/RejectCertificateHandler.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include "Poco/Delegate.h"
|
||||
#include "Poco/Util/Application.h"
|
||||
#include "Poco/Util/OptionException.h"
|
||||
@ -81,15 +80,10 @@ SSLManager::~SSLManager()
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static Poco::SingletonHolder<SSLManager> singleton;
|
||||
}
|
||||
|
||||
|
||||
SSLManager& SSLManager::instance()
|
||||
{
|
||||
return *singleton.get();
|
||||
static SSLManager sm;
|
||||
return sm;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1569,15 +1569,10 @@ void SecureSocketImpl::stateMachine()
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static Poco::SingletonHolder<StateMachine> stateMachineSingleton;
|
||||
}
|
||||
|
||||
|
||||
StateMachine& StateMachine::instance()
|
||||
{
|
||||
return *stateMachineSingleton.get();
|
||||
static StateMachine sm;
|
||||
return sm;
|
||||
}
|
||||
|
||||
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include "Poco/Prometheus/Registry.h"
|
||||
#include "Poco/Prometheus/Collector.h"
|
||||
#include "Poco/Exception.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
|
||||
|
||||
using namespace std::string_literals;
|
||||
@ -90,15 +89,10 @@ void Registry::exportTo(Exporter& exporter) const
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static SingletonHolder<Registry> sh;
|
||||
}
|
||||
|
||||
|
||||
Registry& Registry::defaultRegistry()
|
||||
{
|
||||
return *sh.get();
|
||||
static Registry r;
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
|
@ -17,7 +17,6 @@
|
||||
#include "Poco/DOM/Document.h"
|
||||
#include "Poco/DOM/Element.h"
|
||||
#include "Poco/String.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
@ -71,15 +70,10 @@ Document* DOMImplementation::createDocument(const XMLString& namespaceURI, const
|
||||
}
|
||||
|
||||
|
||||
namespace
|
||||
{
|
||||
static Poco::SingletonHolder<DOMImplementation> sh;
|
||||
}
|
||||
|
||||
|
||||
const DOMImplementation& DOMImplementation::instance()
|
||||
{
|
||||
return *sh.get();
|
||||
static DOMImplementation di;
|
||||
return di;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user