summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2015-01-08 12:19:48 -0330
committerDwayne Boone <dwayne@zeroc.com>2015-01-08 12:19:48 -0330
commit4ab0b1e065a21ff4a4b39270f9898d26ac4aac0d (patch)
treecab68796af504ee4520c3c73dabb0754cbf72d81 /cpp/src
parentAdditional fix for ICE_HAS_BZIP2 macro (diff)
downloadice-4ab0b1e065a21ff4a4b39270f9898d26ac4aac0d.tar.bz2
ice-4ab0b1e065a21ff4a4b39270f9898d26ac4aac0d.tar.xz
ice-4ab0b1e065a21ff4a4b39270f9898d26ac4aac0d.zip
ICE-6196 added ProtocolInstance::secure()
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/IPEndpointI.cpp6
-rw-r--r--cpp/src/Ice/IPEndpointI.h1
-rw-r--r--cpp/src/Ice/ProtocolInstance.cpp9
-rw-r--r--cpp/src/Ice/ProtocolInstance.h1
-rw-r--r--cpp/src/Ice/TcpEndpointI.cpp6
-rw-r--r--cpp/src/Ice/TcpEndpointI.h1
-rw-r--r--cpp/src/Ice/UdpEndpointI.cpp6
-rw-r--r--cpp/src/Ice/UdpEndpointI.h1
-rw-r--r--cpp/src/Ice/winrt/StreamEndpointI.cpp14
-rw-r--r--cpp/src/Ice/winrt/StreamTransceiver.cpp17
-rw-r--r--cpp/src/IceSSL/EndpointI.cpp6
-rw-r--r--cpp/src/IceSSL/EndpointI.h1
12 files changed, 31 insertions, 38 deletions
diff --git a/cpp/src/Ice/IPEndpointI.cpp b/cpp/src/Ice/IPEndpointI.cpp
index bbd48dd9be4..49c17dba4ad 100644
--- a/cpp/src/Ice/IPEndpointI.cpp
+++ b/cpp/src/Ice/IPEndpointI.cpp
@@ -96,6 +96,12 @@ IceInternal::IPEndpointI::protocol() const
return _instance->protocol();
}
+bool
+IceInternal::IPEndpointI::secure() const
+{
+ return _instance->secure();
+}
+
void
IceInternal::IPEndpointI::streamWrite(BasicStream* s) const
{
diff --git a/cpp/src/Ice/IPEndpointI.h b/cpp/src/Ice/IPEndpointI.h
index 9255a873eed..91263da5f39 100644
--- a/cpp/src/Ice/IPEndpointI.h
+++ b/cpp/src/Ice/IPEndpointI.h
@@ -50,6 +50,7 @@ public:
virtual Ice::EndpointInfoPtr getInfo() const;
virtual Ice::Short type() const;
virtual const std::string& protocol() const;
+ virtual bool secure() const;
virtual void streamWrite(BasicStream*) const;
virtual const std::string& connectionId() const;
diff --git a/cpp/src/Ice/ProtocolInstance.cpp b/cpp/src/Ice/ProtocolInstance.cpp
index 237f605c4f8..c7f17a3d9c3 100644
--- a/cpp/src/Ice/ProtocolInstance.cpp
+++ b/cpp/src/Ice/ProtocolInstance.cpp
@@ -14,6 +14,8 @@
#include <Ice/DefaultsAndOverrides.h>
#include <Ice/TraceLevels.h>
+#include <IceSSL/EndpointInfo.h>
+
using namespace std;
using namespace Ice;
using namespace IceInternal;
@@ -41,6 +43,12 @@ IceInternal::ProtocolInstance::ProtocolInstance(const InstancePtr& instance, Sho
}
bool
+IceInternal::ProtocolInstance::secure() const
+{
+ return _type == IceSSL::EndpointType || _type == WSSEndpointType;
+}
+
+bool
IceInternal::ProtocolInstance::preferIPv6() const
{
return _instance->preferIPv6();
@@ -76,7 +84,6 @@ IceInternal::ProtocolInstance::defaultTimeout() const
return _instance->defaultsAndOverrides()->defaultTimeout;
}
-
NetworkProxyPtr
IceInternal::ProtocolInstance::networkProxy() const
{
diff --git a/cpp/src/Ice/ProtocolInstance.h b/cpp/src/Ice/ProtocolInstance.h
index 66d7363cb38..3255f26f022 100644
--- a/cpp/src/Ice/ProtocolInstance.h
+++ b/cpp/src/Ice/ProtocolInstance.h
@@ -59,6 +59,7 @@ public:
return _properties;
}
+ bool secure() const;
bool preferIPv6() const;
ProtocolSupport protocolSupport() const;
const std::string& defaultHost() const;
diff --git a/cpp/src/Ice/TcpEndpointI.cpp b/cpp/src/Ice/TcpEndpointI.cpp
index c68452ab3e8..169a1aa5d94 100644
--- a/cpp/src/Ice/TcpEndpointI.cpp
+++ b/cpp/src/Ice/TcpEndpointI.cpp
@@ -131,12 +131,6 @@ IceInternal::TcpEndpointI::datagram() const
return false;
}
-bool
-IceInternal::TcpEndpointI::secure() const
-{
- return false;
-}
-
TransceiverPtr
IceInternal::TcpEndpointI::transceiver() const
{
diff --git a/cpp/src/Ice/TcpEndpointI.h b/cpp/src/Ice/TcpEndpointI.h
index 1c7160cfcf0..b5dfaf1c901 100644
--- a/cpp/src/Ice/TcpEndpointI.h
+++ b/cpp/src/Ice/TcpEndpointI.h
@@ -34,7 +34,6 @@ public:
virtual bool compress() const;
virtual EndpointIPtr compress(bool) const;
virtual bool datagram() const;
- virtual bool secure() const;
virtual TransceiverPtr transceiver() const;
virtual AcceptorPtr acceptor(const std::string&) const;
diff --git a/cpp/src/Ice/UdpEndpointI.cpp b/cpp/src/Ice/UdpEndpointI.cpp
index 26d5cd83640..66e0f7269e3 100644
--- a/cpp/src/Ice/UdpEndpointI.cpp
+++ b/cpp/src/Ice/UdpEndpointI.cpp
@@ -139,12 +139,6 @@ IceInternal::UdpEndpointI::datagram() const
return true;
}
-bool
-IceInternal::UdpEndpointI::secure() const
-{
- return false;
-}
-
TransceiverPtr
IceInternal::UdpEndpointI::transceiver() const
{
diff --git a/cpp/src/Ice/UdpEndpointI.h b/cpp/src/Ice/UdpEndpointI.h
index 0177963f0d9..c4d2fabcb24 100644
--- a/cpp/src/Ice/UdpEndpointI.h
+++ b/cpp/src/Ice/UdpEndpointI.h
@@ -34,7 +34,6 @@ public:
virtual bool compress() const;
virtual EndpointIPtr compress(bool) const;
virtual bool datagram() const;
- virtual bool secure() const;
virtual TransceiverPtr transceiver() const;
virtual AcceptorPtr acceptor(const std::string&) const;
diff --git a/cpp/src/Ice/winrt/StreamEndpointI.cpp b/cpp/src/Ice/winrt/StreamEndpointI.cpp
index e3d6d3157c8..ab8dc5be741 100644
--- a/cpp/src/Ice/winrt/StreamEndpointI.cpp
+++ b/cpp/src/Ice/winrt/StreamEndpointI.cpp
@@ -32,15 +32,15 @@ template<class T> class InfoI : public T
{
public:
- InfoI(Ice::Short type, Ice::Int to, bool comp, const string& host, Ice::Int port) :
- T(to, comp, host, port, ""), _type(type)
+ InfoI(const ProtocolInstancePtr& instance, Ice::Int to, bool comp, const string& host, Ice::Int port) :
+ T(to, comp, host, port, ""), _instance(instance)
{
}
virtual Ice::Short
type() const
{
- return _type;
+ return _instance->type();
}
virtual bool
@@ -52,12 +52,12 @@ public:
virtual bool
secure() const
{
- return _type == IceSSL::EndpointType || _type == WSSEndpointType;
+ return _instance->secure();
}
private:
- Ice::Short _type;
+ ProtocolInstancePtr _instance;
};
}
@@ -95,10 +95,10 @@ IceInternal::StreamEndpointI::getInfo() const
{
case TCPEndpointType:
case WSEndpointType:
- return new InfoI<Ice::TCPEndpointInfo>(_instance->type(), _timeout, _compress, _host, _port);
+ return new InfoI<Ice::TCPEndpointInfo>(_instance, _timeout, _compress, _host, _port);
case IceSSL::EndpointType:
case WSSEndpointType:
- return new InfoI<IceSSL::EndpointInfo>(_instance->type(), _timeout, _compress, _host, _port);
+ return new InfoI<IceSSL::EndpointInfo>(_instance, _timeout, _compress, _host, _port);
default:
assert(false);
return 0;
diff --git a/cpp/src/Ice/winrt/StreamTransceiver.cpp b/cpp/src/Ice/winrt/StreamTransceiver.cpp
index 6721530fcd3..d2697418895 100644
--- a/cpp/src/Ice/winrt/StreamTransceiver.cpp
+++ b/cpp/src/Ice/winrt/StreamTransceiver.cpp
@@ -135,17 +135,16 @@ IceInternal::StreamTransceiver::startWrite(Buffer& buf)
IAsyncAction^ action = safe_cast<StreamSocket^>(_fd)->ConnectAsync(
_connectAddr.host,
_connectAddr.port,
- (_instance->type() == IceSSL::EndpointType ||
- _instance->type() == Ice::WSSEndpointType) ?
- //
- // SocketProtectionLevel::Tls12 is new in Windows 8.1 SDK
- //
+ _instance->secure() ?
+ //
+ // SocketProtectionLevel::Tls12 is new in Windows 8.1 SDK
+ //
#if defined(_MSC_VER) && _MSC_VER >= 1800
- SocketProtectionLevel::Tls12 :
+ SocketProtectionLevel::Tls12 :
#else
- SocketProtectionLevel::Ssl :
+ SocketProtectionLevel::Ssl :
#endif
- SocketProtectionLevel::PlainSocket);
+ SocketProtectionLevel::PlainSocket);
if(!checkIfErrorOrCompleted(SocketOperationConnect, action))
{
@@ -295,7 +294,7 @@ Ice::ConnectionInfoPtr
IceInternal::StreamTransceiver::getInfo() const
{
Ice::IPConnectionInfoPtr info;
- if(_instance->type() == IceSSL::EndpointType || _instance->type() == Ice::WSSEndpointType)
+ if(_instance->secure())
{
info = new IceSSL::ConnectionInfo();
}
diff --git a/cpp/src/IceSSL/EndpointI.cpp b/cpp/src/IceSSL/EndpointI.cpp
index ca4e5f00808..124c63dc645 100644
--- a/cpp/src/IceSSL/EndpointI.cpp
+++ b/cpp/src/IceSSL/EndpointI.cpp
@@ -133,12 +133,6 @@ IceSSL::EndpointI::datagram() const
return false;
}
-bool
-IceSSL::EndpointI::secure() const
-{
- return true;
-}
-
IceInternal::TransceiverPtr
IceSSL::EndpointI::transceiver() const
{
diff --git a/cpp/src/IceSSL/EndpointI.h b/cpp/src/IceSSL/EndpointI.h
index 555187cffd4..b3a154a6ad4 100644
--- a/cpp/src/IceSSL/EndpointI.h
+++ b/cpp/src/IceSSL/EndpointI.h
@@ -35,7 +35,6 @@ public:
virtual bool compress() const;
virtual IceInternal::EndpointIPtr compress(bool) const;
virtual bool datagram() const;
- virtual bool secure() const;
virtual IceInternal::TransceiverPtr transceiver() const;
virtual IceInternal::AcceptorPtr acceptor(const std::string&) const;