summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL/Instance.h
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2014-03-19 12:45:55 -0700
committerMark Spruiell <mes@zeroc.com>2014-03-19 12:45:55 -0700
commitcdcffbcc3c3c052afdeb772ff0167e7a90b525bb (patch)
tree4f16ee41ef7d33394c44e9db81e4d6cd89908250 /cpp/src/IceSSL/Instance.h
parentfixing testicedist.py for 5487 (diff)
downloadice-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.h68
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