diff options
Diffstat (limited to 'cpp/src/Ice/SslFactory.cpp')
-rw-r--r-- | cpp/src/Ice/SslFactory.cpp | 238 |
1 files changed, 119 insertions, 119 deletions
diff --git a/cpp/src/Ice/SslFactory.cpp b/cpp/src/Ice/SslFactory.cpp index 54e0af0a8fc..d565fee8728 100644 --- a/cpp/src/Ice/SslFactory.cpp +++ b/cpp/src/Ice/SslFactory.cpp @@ -1,119 +1,119 @@ -// ********************************************************************** -// -// Copyright (c) 2001 -// MutableRealms, Inc. -// Huntsville, AL, USA -// -// All Rights Reserved -// -// ********************************************************************** -#ifdef WIN32 -#pragma warning(disable:4786) -#endif - -#include <Ice/SslFactory.h> -#include <Ice/SslSystemOpenSSL.h> - -namespace IceSecurity -{ - -namespace Ssl -{ - -// Static member instantiations. -JTCMutex Factory::_systemRepositoryMutex; -SystemMap Factory::_systemRepository; -SslHandleSystemMap Factory::_sslHandleSystemRepository; - -} - -} - -IceSecurity::Ssl::System* -IceSecurity::Ssl::Factory::getSystem(string& systemIdentifier) -{ - JTCSyncT<JTCMutex> sync(_systemRepositoryMutex); - - System* _system = _systemRepository[systemIdentifier]; - - // Don't have that System. - if (_system == 0) - { - // In our case, the systemIdentifier happens to be the - // SSL Configuration file. - - // This line would change based on the flavor of System that we're - // creating for the caller. - _system = new OpenSSL::System(systemIdentifier); - - if (_system != 0) - { - _systemRepository[systemIdentifier] = _system; - } - } - - assert(_system); - - _system->incRef(); - - return _system; -} - -void -IceSecurity::Ssl::Factory::releaseSystem(System* system) -{ - JTCSyncT<JTCMutex> sync(_systemRepositoryMutex); - - assert(system); - - // If the reference count is now at zero. - if (!system->decRef()) - { - _systemRepository.erase(system->getSystemID()); - - delete system; - } -} - -void -IceSecurity::Ssl::Factory::addSystemHandle(void* sslHandle, System* system) -{ - assert(sslHandle); - assert(system); - _sslHandleSystemRepository[sslHandle] = system; -} - -IceSecurity::Ssl::System* -IceSecurity::Ssl::Factory::getSystemFromHandle(void* sslHandle) -{ - JTCSyncT<JTCMutex> sync(_systemRepositoryMutex); - - assert(sslHandle); - - System* _system = _sslHandleSystemRepository[sslHandle]; - - assert(_system); - - _system->incRef(); - - return _system; -} - -void -IceSecurity::Ssl::Factory::releaseSystemFromHandle(void* sslHandle, System* system) -{ - JTCSyncT<JTCMutex> sync(_systemRepositoryMutex); - - assert(sslHandle); - assert(system); - - // If the reference count is now at zero. - if (!system->decRef()) - { - _sslHandleSystemRepository.erase(sslHandle); - _systemRepository.erase(system->getSystemID()); - - delete system; - } -} - +// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+#ifdef WIN32
+#pragma warning(disable:4786)
+#endif
+
+#include <Ice/SslFactory.h>
+#include <Ice/SslSystemOpenSSL.h>
+
+namespace IceSecurity
+{
+
+namespace Ssl
+{
+
+// Static member instantiations.
+JTCMutex Factory::_systemRepositoryMutex;
+SystemMap Factory::_systemRepository;
+SslHandleSystemMap Factory::_sslHandleSystemRepository;
+
+}
+
+}
+
+IceSecurity::Ssl::System*
+IceSecurity::Ssl::Factory::getSystem(string& systemIdentifier)
+{
+ JTCSyncT<JTCMutex> sync(_systemRepositoryMutex);
+
+ System* _system = _systemRepository[systemIdentifier];
+
+ // Don't have that System.
+ if (_system == 0)
+ {
+ // In our case, the systemIdentifier happens to be the
+ // SSL Configuration file.
+
+ // This line would change based on the flavor of System that we're
+ // creating for the caller.
+ _system = new OpenSSL::System(systemIdentifier);
+
+ if (_system != 0)
+ {
+ _systemRepository[systemIdentifier] = _system;
+ }
+ }
+
+ assert(_system);
+
+ _system->incRef();
+
+ return _system;
+}
+
+void
+IceSecurity::Ssl::Factory::releaseSystem(System* system)
+{
+ JTCSyncT<JTCMutex> sync(_systemRepositoryMutex);
+
+ assert(system);
+
+ // If the reference count is now at zero.
+ if (!system->decRef())
+ {
+ _systemRepository.erase(system->getSystemID());
+
+ delete system;
+ }
+}
+
+void
+IceSecurity::Ssl::Factory::addSystemHandle(void* sslHandle, System* system)
+{
+ assert(sslHandle);
+ assert(system);
+ _sslHandleSystemRepository[sslHandle] = system;
+}
+
+IceSecurity::Ssl::System*
+IceSecurity::Ssl::Factory::getSystemFromHandle(void* sslHandle)
+{
+ JTCSyncT<JTCMutex> sync(_systemRepositoryMutex);
+
+ assert(sslHandle);
+
+ System* _system = _sslHandleSystemRepository[sslHandle];
+
+ assert(_system);
+
+ _system->incRef();
+
+ return _system;
+}
+
+void
+IceSecurity::Ssl::Factory::releaseSystemFromHandle(void* sslHandle, System* system)
+{
+ JTCSyncT<JTCMutex> sync(_systemRepositoryMutex);
+
+ assert(sslHandle);
+ assert(system);
+
+ // If the reference count is now at zero.
+ if (!system->decRef())
+ {
+ _sslHandleSystemRepository.erase(sslHandle);
+ _systemRepository.erase(system->getSystemID());
+
+ delete system;
+ }
+}
+
|