summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2012-07-17 16:53:34 +0200
committerJose <jose@zeroc.com>2012-07-17 16:53:34 +0200
commita03e3bbf824eb6008f410893736c2f1f87af5791 (patch)
tree78f209ca98280641982bf72fba8f343ebbe15c7c /cpp
parentMerge branch 'master' into encoding11 (diff)
downloadice-a03e3bbf824eb6008f410893736c2f1f87af5791.tar.bz2
ice-a03e3bbf824eb6008f410893736c2f1f87af5791.tar.xz
ice-a03e3bbf824eb6008f410893736c2f1f87af5791.zip
Fix StreamConnector
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/Ice/winrt/StreamConnector.cpp33
-rw-r--r--cpp/src/Ice/winrt/StreamConnector.h5
2 files changed, 36 insertions, 2 deletions
diff --git a/cpp/src/Ice/winrt/StreamConnector.cpp b/cpp/src/Ice/winrt/StreamConnector.cpp
index 88e26aae77b..fb744d68d46 100644
--- a/cpp/src/Ice/winrt/StreamConnector.cpp
+++ b/cpp/src/Ice/winrt/StreamConnector.cpp
@@ -82,6 +82,16 @@ IceInternal::StreamConnector::operator==(const Connector& r) const
{
return false;
}
+
+ if(_protocol != p->_protocol)
+ {
+ return false;
+ }
+
+ if(_encoding != p->_encoding)
+ {
+ return false;
+ }
if(_connectionId != p->_connectionId)
{
@@ -123,6 +133,24 @@ IceInternal::StreamConnector::operator<(const Connector& r) const
{
return false;
}
+
+ if(_protocol < p->_protocol)
+ {
+ return true;
+ }
+ else if(p->_protocol < _protocol)
+ {
+ return false;
+ }
+
+ if(_encoding < p->_encoding)
+ {
+ return true;
+ }
+ else if(p->_encoding < _encoding)
+ {
+ return false;
+ }
if(_connectionId < p->_connectionId)
{
@@ -136,13 +164,16 @@ IceInternal::StreamConnector::operator<(const Connector& r) const
}
IceInternal::StreamConnector::StreamConnector(const InstancePtr& instance, Ice::Short type, const Address& addr,
- Ice::Int timeout, const string& connectionId) :
+ Ice::Int timeout, const Ice::ProtocolVersion& protocol,
+ const Ice::EncodingVersion& encoding, const string& connectionId) :
_instance(instance),
_type(type),
_traceLevels(instance->traceLevels()),
_logger(instance->initializationData().logger),
_addr(addr),
_timeout(timeout),
+ _protocol(protocol),
+ _encoding(encoding),
_connectionId(connectionId)
{
}
diff --git a/cpp/src/Ice/winrt/StreamConnector.h b/cpp/src/Ice/winrt/StreamConnector.h
index 88f8721083a..ab156177e55 100644
--- a/cpp/src/Ice/winrt/StreamConnector.h
+++ b/cpp/src/Ice/winrt/StreamConnector.h
@@ -35,7 +35,8 @@ public:
private:
- StreamConnector(const InstancePtr&, Ice::Short, const Address&, Ice::Int, const std::string&);
+ StreamConnector(const InstancePtr&, Ice::Short, const Address&, Ice::Int, const Ice::ProtocolVersion&,
+ const Ice::EncodingVersion&, const std::string&);
virtual ~StreamConnector();
friend class StreamEndpointI;
@@ -45,6 +46,8 @@ private:
const ::Ice::LoggerPtr _logger;
const Address _addr;
const Ice::Int _timeout;
+ const Ice::ProtocolVersion _protocol;
+ const Ice::EncodingVersion _encoding;
const std::string _connectionId;
};