diff options
author | Mark Spruiell <mes@zeroc.com> | 2014-03-19 12:45:55 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2014-03-19 12:45:55 -0700 |
commit | cdcffbcc3c3c052afdeb772ff0167e7a90b525bb (patch) | |
tree | 4f16ee41ef7d33394c44e9db81e4d6cd89908250 /cpp/src/IceSSL/Instance.h | |
parent | fixing testicedist.py for 5487 (diff) | |
download | ice-cdcffbcc3c3c052afdeb772ff0167e7a90b525bb.tar.bz2 ice-cdcffbcc3c3c052afdeb772ff0167e7a90b525bb.tar.xz ice-cdcffbcc3c3c052afdeb772ff0167e7a90b525bb.zip |
merging javascript branch
Diffstat (limited to 'cpp/src/IceSSL/Instance.h')
-rw-r--r-- | cpp/src/IceSSL/Instance.h | 68 |
1 files changed, 49 insertions, 19 deletions
diff --git a/cpp/src/IceSSL/Instance.h b/cpp/src/IceSSL/Instance.h index ff63c33b951..d549b60f179 100644 --- a/cpp/src/IceSSL/Instance.h +++ b/cpp/src/IceSSL/Instance.h @@ -1,6 +1,6 @@ // ********************************************************************** // -// Copyright (c) 2003-2013 ZeroC, Inc. All rights reserved. +// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved. // // This copy of Ice is licensed to you under the terms described in the // ICE_LICENSE file included in this distribution. @@ -13,8 +13,8 @@ #include <IceSSL/InstanceF.h> #include <IceSSL/UtilF.h> #include <Ice/CommunicatorF.h> -#include <Ice/LoggerF.h> #include <Ice/Network.h> +#include <Ice/ProtocolInstance.h> #include <Ice/ProtocolPluginFacadeF.h> #include <IceSSL/Plugin.h> #include <IceSSL/TrustManagerF.h> @@ -23,12 +23,12 @@ namespace IceSSL { -class Instance : public IceUtil::Shared +class SharedInstance : public IceUtil::Shared { public: - Instance(const Ice::CommunicatorPtr&); - ~Instance(); + SharedInstance(const Ice::CommunicatorPtr&); + ~SharedInstance(); void initialize(); void context(SSL_CTX*); @@ -37,23 +37,11 @@ public: void setPasswordPrompt(const PasswordPromptPtr&); Ice::CommunicatorPtr communicator() const; - IceInternal::EndpointHostResolverPtr endpointHostResolver() const; - IceInternal::ProtocolSupport protocolSupport() const; - bool preferIPv6() const; - IceInternal::NetworkProxyPtr networkProxy() const; - std::string defaultHost() const; - Ice::EncodingVersion defaultEncoding() const; - int networkTraceLevel() const; - std::string networkTraceCategory() const; - int securityTraceLevel() const; - std::string securityTraceCategory() const; void verifyPeer(SSL*, SOCKET, const std::string&, const NativeConnectionInfoPtr&); std::string sslErrors() const; - void traceConnection(SSL*, bool); - void destroy(); // @@ -74,9 +62,9 @@ private: void setOptions(int); - Ice::LoggerPtr _logger; bool _initOpenSSL; - IceInternal::ProtocolPluginFacadePtr _facade; + const Ice::CommunicatorPtr _communicator; + const Ice::LoggerPtr _logger; int _securityTraceLevel; std::string _securityTraceCategory; bool _initialized; @@ -94,6 +82,48 @@ private: TrustManagerPtr _trustManager; }; +class Instance : public IceInternal::ProtocolInstance +{ +public: + + Instance(const SharedInstancePtr&, Ice::Short, const std::string&); + virtual ~Instance(); + + SSL_CTX* + context() const + { + return _sharedInstance->context(); + } + + std::string + sslErrors() const + { + return _sharedInstance->sslErrors(); + } + + SharedInstancePtr + sharedInstance() const + { + return _sharedInstance; + } + + void + verifyPeer(SSL* ssl, SOCKET fd, const std::string& host, const NativeConnectionInfoPtr& info) + { + _sharedInstance->verifyPeer(ssl, fd, host, info); + } + + void traceConnection(SSL*, bool); + int securityTraceLevel() const; + std::string securityTraceCategory() const; + +private: + + const SharedInstancePtr _sharedInstance; + int _securityTraceLevel; + std::string _securityTraceCategory; +}; + } #endif |