summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/EndpointFactoryManager.cpp4
-rw-r--r--cpp/src/Ice/EndpointFactoryManager.h2
-rw-r--r--cpp/src/Ice/EndpointI.h5
-rw-r--r--cpp/src/Ice/ObjectAdapterI.cpp4
-rw-r--r--cpp/src/Ice/ReferenceFactory.cpp7
-rw-r--r--cpp/src/Ice/TcpEndpointI.cpp26
-rw-r--r--cpp/src/Ice/TcpEndpointI.h6
-rw-r--r--cpp/src/Ice/UdpEndpointI.cpp26
-rw-r--r--cpp/src/Ice/UdpEndpointI.h6
-rw-r--r--cpp/src/Ice/UnknownEndpointI.cpp2
-rw-r--r--cpp/src/Ice/UnknownEndpointI.h2
-rw-r--r--cpp/src/IceSSL/SslEndpointI.cpp26
-rw-r--r--cpp/src/IceSSL/SslEndpointI.h6
13 files changed, 55 insertions, 67 deletions
diff --git a/cpp/src/Ice/EndpointFactoryManager.cpp b/cpp/src/Ice/EndpointFactoryManager.cpp
index 0c11e9170dc..8536c6d0381 100644
--- a/cpp/src/Ice/EndpointFactoryManager.cpp
+++ b/cpp/src/Ice/EndpointFactoryManager.cpp
@@ -64,7 +64,7 @@ IceInternal::EndpointFactoryManager::get(Short type) const
}
EndpointIPtr
-IceInternal::EndpointFactoryManager::create(const string& str, bool adapterEndp) const
+IceInternal::EndpointFactoryManager::create(const string& str) const
{
IceUtil::Mutex::Lock sync(*this); // TODO: Necessary?
@@ -98,7 +98,7 @@ IceInternal::EndpointFactoryManager::create(const string& str, bool adapterEndp)
{
if(_factories[i]->protocol() == protocol)
{
- return _factories[i]->create(str.substr(end), adapterEndp);
+ return _factories[i]->create(str.substr(end));
}
}
diff --git a/cpp/src/Ice/EndpointFactoryManager.h b/cpp/src/Ice/EndpointFactoryManager.h
index 93f44710688..b51c3484bc6 100644
--- a/cpp/src/Ice/EndpointFactoryManager.h
+++ b/cpp/src/Ice/EndpointFactoryManager.h
@@ -28,7 +28,7 @@ public:
void add(const EndpointFactoryPtr&);
EndpointFactoryPtr get(::Ice::Short) const;
- EndpointIPtr create(const std::string&, bool) const;
+ EndpointIPtr create(const std::string&) const;
EndpointIPtr read(BasicStream*) const;
private:
diff --git a/cpp/src/Ice/EndpointI.h b/cpp/src/Ice/EndpointI.h
index d7ab5450858..18a9c13f571 100644
--- a/cpp/src/Ice/EndpointI.h
+++ b/cpp/src/Ice/EndpointI.h
@@ -115,10 +115,9 @@ public:
//
// Expand endpoint out in to separate endpoints for each local
- // host if endpoint was configured with no host set. This
- // only applies for ObjectAdapter endpoints.
+ // host if endpoint was configured with no host set.
//
- virtual std::vector<EndpointIPtr> expand() const = 0;
+ virtual std::vector<EndpointIPtr> expand(bool) const = 0;
//
// Return whether the endpoint should be published in proxies
diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp
index 1932afdb59c..50449cf6c50 100644
--- a/cpp/src/Ice/ObjectAdapterI.cpp
+++ b/cpp/src/Ice/ObjectAdapterI.cpp
@@ -988,14 +988,14 @@ Ice::ObjectAdapterI::parseEndpoints(const string& str) const
}
string s = endpts.substr(beg, end - beg);
- EndpointIPtr endp = _instance->endpointFactoryManager()->create(s, true);
+ EndpointIPtr endp = _instance->endpointFactoryManager()->create(s);
if(endp == 0)
{
EndpointParseException ex(__FILE__, __LINE__);
ex.str = s;
throw ex;
}
- vector<EndpointIPtr> endps = endp->expand();
+ vector<EndpointIPtr> endps = endp->expand(true);
endpoints.insert(endpoints.end(), endps.begin(), endps.end());
++end;
diff --git a/cpp/src/Ice/ReferenceFactory.cpp b/cpp/src/Ice/ReferenceFactory.cpp
index 94baac6b428..102c75b7559 100644
--- a/cpp/src/Ice/ReferenceFactory.cpp
+++ b/cpp/src/Ice/ReferenceFactory.cpp
@@ -12,7 +12,7 @@
#include <Ice/LocalException.h>
#include <Ice/Instance.h>
#include <Ice/IdentityUtil.h>
-#include <Ice/Endpoint.h>
+#include <Ice/EndpointI.h>
#include <Ice/EndpointFactoryManager.h>
#include <Ice/RouterInfo.h>
#include <Ice/LocatorInfo.h>
@@ -435,10 +435,11 @@ IceInternal::ReferenceFactory::create(const string& str)
}
string es = s.substr(beg, end - beg);
- EndpointIPtr endp = _instance->endpointFactoryManager()->create(es, false);
+ EndpointIPtr endp = _instance->endpointFactoryManager()->create(es);
if(endp != 0)
{
- endpoints.push_back(endp);
+ vector<EndpointIPtr> endps = endp->expand(false);
+ endpoints.insert(endpoints.end(), endps.begin(), endps.end());
}
else
{
diff --git a/cpp/src/Ice/TcpEndpointI.cpp b/cpp/src/Ice/TcpEndpointI.cpp
index 6959ca408cd..26e2a4317f6 100644
--- a/cpp/src/Ice/TcpEndpointI.cpp
+++ b/cpp/src/Ice/TcpEndpointI.cpp
@@ -33,7 +33,7 @@ IceInternal::TcpEndpointI::TcpEndpointI(const InstancePtr& instance, const strin
{
}
-IceInternal::TcpEndpointI::TcpEndpointI(const InstancePtr& instance, const string& str, bool adapterEndp) :
+IceInternal::TcpEndpointI::TcpEndpointI(const InstancePtr& instance, const string& str) :
_instance(instance),
_port(0),
_timeout(-1),
@@ -144,17 +144,10 @@ IceInternal::TcpEndpointI::TcpEndpointI(const InstancePtr& instance, const strin
const_cast<string&>(_host) = _instance->defaultsAndOverrides()->defaultHost;
if(_host.empty())
{
- if(adapterEndp)
- {
- const_cast<string&>(_host) = "0.0.0.0";
- }
- else
- {
- const_cast<string&>(_host) = getLocalHost(true);
- }
+ const_cast<string&>(_host) = "0.0.0.0";
}
}
- else if(_host == "*" && adapterEndp)
+ else if(_host == "*")
{
const_cast<string&>(_host) = "0.0.0.0";
}
@@ -306,7 +299,7 @@ IceInternal::TcpEndpointI::acceptor(EndpointIPtr& endp) const
}
vector<EndpointIPtr>
-IceInternal::TcpEndpointI::expand() const
+IceInternal::TcpEndpointI::expand(bool includeLoopback) const
{
vector<EndpointIPtr> endps;
if(_host == "0.0.0.0")
@@ -314,8 +307,11 @@ IceInternal::TcpEndpointI::expand() const
vector<string> hosts = getLocalHosts();
for(unsigned int i = 0; i < hosts.size(); ++i)
{
- endps.push_back(new TcpEndpointI(_instance, hosts[i], _port, _timeout, _connectionId, _compress,
- hosts.size() == 1 || hosts[i] != "127.0.0.1"));
+ if(includeLoopback || hosts.size() == 1 || hosts[i] != "127.0.0.1")
+ {
+ endps.push_back(new TcpEndpointI(_instance, hosts[i], _port, _timeout, _connectionId, _compress,
+ hosts.size() == 1 || hosts[i] != "127.0.0.1"));
+ }
}
}
else
@@ -519,9 +515,9 @@ IceInternal::TcpEndpointFactory::protocol() const
}
EndpointIPtr
-IceInternal::TcpEndpointFactory::create(const std::string& str, bool adapterEndp) const
+IceInternal::TcpEndpointFactory::create(const std::string& str) const
{
- return new TcpEndpointI(_instance, str, adapterEndp);
+ return new TcpEndpointI(_instance, str);
}
EndpointIPtr
diff --git a/cpp/src/Ice/TcpEndpointI.h b/cpp/src/Ice/TcpEndpointI.h
index b33b993c676..f3b1762a5ef 100644
--- a/cpp/src/Ice/TcpEndpointI.h
+++ b/cpp/src/Ice/TcpEndpointI.h
@@ -23,7 +23,7 @@ class TcpEndpointI : public EndpointI
public:
TcpEndpointI(const InstancePtr&, const std::string&, Ice::Int, Ice::Int, const std::string&, bool, bool);
- TcpEndpointI(const InstancePtr&, const std::string&, bool);
+ TcpEndpointI(const InstancePtr&, const std::string&);
TcpEndpointI(BasicStream*);
virtual void streamWrite(BasicStream*) const;
@@ -41,7 +41,7 @@ public:
virtual TransceiverPtr serverTransceiver(EndpointIPtr&) const;
virtual ConnectorPtr connector() const;
virtual AcceptorPtr acceptor(EndpointIPtr&) const;
- virtual std::vector<EndpointIPtr> expand() const;
+ virtual std::vector<EndpointIPtr> expand(bool) const;
virtual bool publish() const;
virtual bool equivalent(const TransceiverPtr&) const;
virtual bool equivalent(const AcceptorPtr&) const;
@@ -82,7 +82,7 @@ public:
virtual Ice::Short type() const;
virtual std::string protocol() const;
- virtual EndpointIPtr create(const std::string&, bool) const;
+ virtual EndpointIPtr create(const std::string&) const;
virtual EndpointIPtr read(BasicStream*) const;
virtual void destroy();
diff --git a/cpp/src/Ice/UdpEndpointI.cpp b/cpp/src/Ice/UdpEndpointI.cpp
index ae091bbd437..69c9358fd5c 100644
--- a/cpp/src/Ice/UdpEndpointI.cpp
+++ b/cpp/src/Ice/UdpEndpointI.cpp
@@ -36,7 +36,7 @@ IceInternal::UdpEndpointI::UdpEndpointI(const InstancePtr& instance, const strin
{
}
-IceInternal::UdpEndpointI::UdpEndpointI(const InstancePtr& instance, const string& str, bool adapterEndp) :
+IceInternal::UdpEndpointI::UdpEndpointI(const InstancePtr& instance, const string& str) :
_instance(instance),
_port(0),
_protocolMajor(protocolMajor),
@@ -264,17 +264,10 @@ IceInternal::UdpEndpointI::UdpEndpointI(const InstancePtr& instance, const strin
const_cast<string&>(_host) = _instance->defaultsAndOverrides()->defaultHost;
if(_host.empty())
{
- if(adapterEndp)
- {
- const_cast<string&>(_host) = "0.0.0.0";
- }
- else
- {
- const_cast<string&>(_host) = getLocalHost(true);
- }
+ const_cast<string&>(_host) = "0.0.0.0";
}
}
- else if(_host == "*" && adapterEndp)
+ else if(_host == "*")
{
const_cast<string&>(_host) = "0.0.0.0";
}
@@ -471,7 +464,7 @@ IceInternal::UdpEndpointI::acceptor(EndpointIPtr& endp) const
}
vector<EndpointIPtr>
-IceInternal::UdpEndpointI::expand() const
+IceInternal::UdpEndpointI::expand(bool includeLoopback) const
{
vector<EndpointIPtr> endps;
if(_host == "0.0.0.0")
@@ -479,8 +472,11 @@ IceInternal::UdpEndpointI::expand() const
vector<string> hosts = getLocalHosts();
for(unsigned int i = 0; i < hosts.size(); ++i)
{
- endps.push_back(new UdpEndpointI(_instance, hosts[i], _port, _connectionId, _compress,
- hosts.size() == 1 || hosts[i] != "127.0.0.1"));
+ if(includeLoopback || hosts.size() == 1 || hosts[i] != "127.0.0.1")
+ {
+ endps.push_back(new UdpEndpointI(_instance, hosts[i], _port, _connectionId, _compress,
+ hosts.size() == 1 || hosts[i] != "127.0.0.1"));
+ }
}
}
else
@@ -740,9 +736,9 @@ IceInternal::UdpEndpointFactory::protocol() const
}
EndpointIPtr
-IceInternal::UdpEndpointFactory::create(const std::string& str, bool adapterEndp) const
+IceInternal::UdpEndpointFactory::create(const std::string& str) const
{
- return new UdpEndpointI(_instance, str, adapterEndp);
+ return new UdpEndpointI(_instance, str);
}
EndpointIPtr
diff --git a/cpp/src/Ice/UdpEndpointI.h b/cpp/src/Ice/UdpEndpointI.h
index b1bbae23875..465e4063b07 100644
--- a/cpp/src/Ice/UdpEndpointI.h
+++ b/cpp/src/Ice/UdpEndpointI.h
@@ -23,7 +23,7 @@ class UdpEndpointI : public EndpointI
public:
UdpEndpointI(const InstancePtr&, const std::string&, Ice::Int, const std::string&, bool, bool);
- UdpEndpointI(const InstancePtr&, const std::string&, bool);
+ UdpEndpointI(const InstancePtr&, const std::string&);
UdpEndpointI(BasicStream*);
virtual void streamWrite(BasicStream*) const;
@@ -41,7 +41,7 @@ public:
virtual TransceiverPtr serverTransceiver(EndpointIPtr&) const;
virtual ConnectorPtr connector() const;
virtual AcceptorPtr acceptor(EndpointIPtr&) const;
- virtual std::vector<EndpointIPtr> expand() const;
+ virtual std::vector<EndpointIPtr> expand(bool) const;
virtual bool publish() const;
virtual bool equivalent(const TransceiverPtr&) const;
virtual bool equivalent(const AcceptorPtr&) const;
@@ -86,7 +86,7 @@ public:
virtual Ice::Short type() const;
virtual std::string protocol() const;
- virtual EndpointIPtr create(const std::string&, bool) const;
+ virtual EndpointIPtr create(const std::string&) const;
virtual EndpointIPtr read(BasicStream*) const;
virtual void destroy();
diff --git a/cpp/src/Ice/UnknownEndpointI.cpp b/cpp/src/Ice/UnknownEndpointI.cpp
index 749bcf16585..2f46404c87f 100644
--- a/cpp/src/Ice/UnknownEndpointI.cpp
+++ b/cpp/src/Ice/UnknownEndpointI.cpp
@@ -122,7 +122,7 @@ IceInternal::UnknownEndpointI::acceptor(EndpointIPtr& endp) const
}
vector<EndpointIPtr>
-IceInternal::UnknownEndpointI::expand() const
+IceInternal::UnknownEndpointI::expand(bool loopback) const
{
assert(false);
vector<EndpointIPtr> ret;
diff --git a/cpp/src/Ice/UnknownEndpointI.h b/cpp/src/Ice/UnknownEndpointI.h
index 4e5cf9e5fb3..cb654d47051 100644
--- a/cpp/src/Ice/UnknownEndpointI.h
+++ b/cpp/src/Ice/UnknownEndpointI.h
@@ -37,7 +37,7 @@ public:
virtual TransceiverPtr serverTransceiver(EndpointIPtr&) const;
virtual ConnectorPtr connector() const;
virtual AcceptorPtr acceptor(EndpointIPtr&) const;
- virtual std::vector<EndpointIPtr> expand() const;
+ virtual std::vector<EndpointIPtr> expand(bool) const;
virtual bool publish() const;
virtual bool equivalent(const TransceiverPtr&) const;
virtual bool equivalent(const AcceptorPtr&) const;
diff --git a/cpp/src/IceSSL/SslEndpointI.cpp b/cpp/src/IceSSL/SslEndpointI.cpp
index 8ef6d52ef06..293b49abe0b 100644
--- a/cpp/src/IceSSL/SslEndpointI.cpp
+++ b/cpp/src/IceSSL/SslEndpointI.cpp
@@ -33,7 +33,7 @@ IceSSL::SslEndpointI::SslEndpointI(const OpenSSLPluginIPtr& plugin, const string
{
}
-IceSSL::SslEndpointI::SslEndpointI(const OpenSSLPluginIPtr& plugin, const string& str, bool adapterEndp) :
+IceSSL::SslEndpointI::SslEndpointI(const OpenSSLPluginIPtr& plugin, const string& str) :
_plugin(plugin),
_port(0),
_timeout(-1),
@@ -144,17 +144,10 @@ IceSSL::SslEndpointI::SslEndpointI(const OpenSSLPluginIPtr& plugin, const string
const_cast<string&>(_host) = _plugin->getProtocolPluginFacade()->getDefaultHost();
if(_host.empty())
{
- if(adapterEndp)
- {
- const_cast<string&>(_host) = "0.0.0.0";
- }
- else
- {
- const_cast<string&>(_host) = getLocalHost(true);
- }
+ const_cast<string&>(_host) = "0.0.0.0";
}
}
- else if(_host == "*" && adapterEndp)
+ else if(_host == "*")
{
const_cast<string&>(_host) = "0.0.0.0";
}
@@ -306,7 +299,7 @@ IceSSL::SslEndpointI::acceptor(EndpointIPtr& endp) const
}
vector<EndpointIPtr>
-IceSSL::SslEndpointI::expand() const
+IceSSL::SslEndpointI::expand(bool includeLoopback) const
{
vector<EndpointIPtr> endps;
if(_host == "0.0.0.0")
@@ -314,8 +307,11 @@ IceSSL::SslEndpointI::expand() const
vector<string> hosts = getLocalHosts();
for(unsigned int i = 0; i < hosts.size(); ++i)
{
- endps.push_back(new SslEndpointI(_plugin, hosts[i], _port, _timeout, _connectionId, _compress,
- hosts.size() == 1 || hosts[i] != "127.0.0.1"));
+ if(includeLoopback || hosts.size() == 1 || hosts[i] != "127.0.0.1")
+ {
+ endps.push_back(new SslEndpointI(_plugin, hosts[i], _port, _timeout, _connectionId, _compress,
+ hosts.size() == 1 || hosts[i] != "127.0.0.1"));
+ }
}
}
else
@@ -520,9 +516,9 @@ IceSSL::SslEndpointFactory::protocol() const
}
EndpointIPtr
-IceSSL::SslEndpointFactory::create(const std::string& str, bool adapterEndp) const
+IceSSL::SslEndpointFactory::create(const std::string& str) const
{
- return new SslEndpointI(_plugin, str, adapterEndp);
+ return new SslEndpointI(_plugin, str);
}
EndpointIPtr
diff --git a/cpp/src/IceSSL/SslEndpointI.h b/cpp/src/IceSSL/SslEndpointI.h
index 12739dee9f9..87c41b953cb 100644
--- a/cpp/src/IceSSL/SslEndpointI.h
+++ b/cpp/src/IceSSL/SslEndpointI.h
@@ -25,7 +25,7 @@ public:
SslEndpointI(const IceSSL::OpenSSLPluginIPtr&, const std::string&, Ice::Int, Ice::Int,
const std::string&, bool, bool);
- SslEndpointI(const IceSSL::OpenSSLPluginIPtr&, const std::string&, bool);
+ SslEndpointI(const IceSSL::OpenSSLPluginIPtr&, const std::string&);
SslEndpointI(const IceSSL::OpenSSLPluginIPtr&, IceInternal::BasicStream*);
virtual void streamWrite(IceInternal::BasicStream*) const;
@@ -43,7 +43,7 @@ public:
virtual IceInternal::TransceiverPtr serverTransceiver(IceInternal::EndpointIPtr&) const;
virtual IceInternal::ConnectorPtr connector() const;
virtual IceInternal::AcceptorPtr acceptor(IceInternal::EndpointIPtr&) const;
- virtual std::vector<IceInternal::EndpointIPtr> expand() const;
+ virtual std::vector<IceInternal::EndpointIPtr> expand(bool) const;
virtual bool publish() const;
virtual bool equivalent(const IceInternal::TransceiverPtr&) const;
virtual bool equivalent(const IceInternal::AcceptorPtr&) const;
@@ -85,7 +85,7 @@ public:
virtual Ice::Short type() const;
virtual std::string protocol() const;
- virtual IceInternal::EndpointIPtr create(const std::string&, bool) const;
+ virtual IceInternal::EndpointIPtr create(const std::string&) const;
virtual IceInternal::EndpointIPtr read(IceInternal::BasicStream*) const;
virtual void destroy();