summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2009-10-16 09:38:13 -0230
committerDwayne Boone <dwayne@zeroc.com>2009-10-16 09:38:13 -0230
commitb8b803f51c8ff622491d2a160663e4912f7dba03 (patch)
treeb4ded20bd5b2fa37a18943a5ac0665ce2d525128
parentAdded support for per-OA ACM and fix for retry on CloseConnectionException (diff)
downloadice-b8b803f51c8ff622491d2a160663e4912f7dba03.tar.bz2
ice-b8b803f51c8ff622491d2a160663e4912f7dba03.tar.xz
ice-b8b803f51c8ff622491d2a160663e4912f7dba03.zip
Added support for EndpointInfo and ConnectionInfo to python.
Set endpoint in Connection getInfo implementations. Removed unused _stateTime from ConnectionI. Remove ["cpp:virtual"] from SSLEndpointInfo slice definition.
-rw-r--r--cpp/src/Ice/ConnectionI.cpp4
-rw-r--r--cpp/src/Ice/ConnectionI.h1
-rw-r--r--cpp/src/Ice/TcpAcceptor.cpp8
-rw-r--r--cpp/src/Ice/TcpAcceptor.h5
-rw-r--r--cpp/src/Ice/TcpConnector.cpp12
-rw-r--r--cpp/src/Ice/TcpConnector.h5
-rw-r--r--cpp/src/Ice/TcpEndpointI.cpp5
-rw-r--r--cpp/src/Ice/TcpTransceiver.cpp7
-rw-r--r--cpp/src/Ice/TcpTransceiver.h3
-rw-r--r--cpp/src/Ice/UdpConnector.cpp51
-rw-r--r--cpp/src/Ice/UdpConnector.h12
-rw-r--r--cpp/src/Ice/UdpEndpointI.cpp6
-rw-r--r--cpp/src/Ice/UdpTransceiver.cpp25
-rw-r--r--cpp/src/Ice/UdpTransceiver.h5
-rw-r--r--cpp/src/IceSSL/AcceptorI.cpp8
-rw-r--r--cpp/src/IceSSL/AcceptorI.h4
-rw-r--r--cpp/src/IceSSL/ConnectorI.cpp15
-rw-r--r--cpp/src/IceSSL/ConnectorI.h6
-rw-r--r--cpp/src/IceSSL/EndpointI.cpp5
-rw-r--r--cpp/src/IceSSL/TransceiverI.cpp11
-rw-r--r--cpp/src/IceSSL/TransceiverI.h8
-rw-r--r--cs/src/Ice/ConnectionI.cs3
-rw-r--r--cs/src/Ice/TcpAcceptor.cs9
-rw-r--r--cs/src/Ice/TcpConnector.cs12
-rw-r--r--cs/src/Ice/TcpEndpointI.cs4
-rw-r--r--cs/src/Ice/TcpTransceiver.cs6
-rw-r--r--cs/src/Ice/UdpConnector.cs36
-rw-r--r--cs/src/Ice/UdpEndpointI.cs5
-rw-r--r--cs/src/Ice/UdpTransceiver.cs28
-rw-r--r--cs/src/IceSSL/AcceptorI.cs9
-rw-r--r--cs/src/IceSSL/ConnectorI.cs13
-rw-r--r--cs/src/IceSSL/EndpointI.cs4
-rw-r--r--cs/src/IceSSL/TransceiverI.cs13
-rw-r--r--java/src/Ice/ConnectionI.java3
-rw-r--r--java/src/IceInternal/TcpAcceptor.java8
-rw-r--r--java/src/IceInternal/TcpConnector.java13
-rw-r--r--java/src/IceInternal/TcpEndpointI.java4
-rw-r--r--java/src/IceInternal/TcpTransceiver.java6
-rw-r--r--java/src/IceInternal/UdpConnector.java36
-rw-r--r--java/src/IceInternal/UdpEndpointI.java6
-rw-r--r--java/src/IceInternal/UdpTransceiver.java18
-rw-r--r--java/src/IceSSL/AcceptorI.java9
-rw-r--r--java/src/IceSSL/ConnectorI.java14
-rw-r--r--java/src/IceSSL/EndpointI.java4
-rw-r--r--java/src/IceSSL/TransceiverI.java11
-rw-r--r--php/lib/.depend2
-rw-r--r--php/src/IcePHP/.depend20
-rw-r--r--py/modules/IcePy/Connection.cpp22
-rw-r--r--py/modules/IcePy/ConnectionInfo.cpp363
-rw-r--r--py/modules/IcePy/ConnectionInfo.h28
-rw-r--r--py/modules/IcePy/Endpoint.cpp24
-rw-r--r--py/modules/IcePy/EndpointInfo.cpp534
-rw-r--r--py/modules/IcePy/EndpointInfo.h28
-rw-r--r--py/modules/IcePy/Init.cpp10
-rw-r--r--py/modules/IcePy/Makefile2
-rw-r--r--py/modules/IcePy/Makefile.mak2
-rw-r--r--py/python/Ice.py27
-rw-r--r--py/test/Ice/proxy/AllTests.py49
-rw-r--r--slice/Ice/EndpointF.ice3
-rw-r--r--slice/IceSSL/EndpointInfo.ice2
60 files changed, 1313 insertions, 283 deletions
diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp
index 605e898042e..696c966b591 100644
--- a/cpp/src/Ice/ConnectionI.cpp
+++ b/cpp/src/Ice/ConnectionI.cpp
@@ -1521,8 +1521,7 @@ Ice::ConnectionI::ConnectionI(const InstancePtr& instance,
_readStream(_instance.get()),
_writeStream(_instance.get()),
_dispatchCount(0),
- _state(StateNotInitialized),
- _stateTime(IceUtil::Time::now(IceUtil::Time::Monotonic))
+ _state(StateNotInitialized)
{
int& compressionLevel = const_cast<int&>(_compressionLevel);
@@ -1786,7 +1785,6 @@ Ice::ConnectionI::setState(State state)
}
_state = state;
- _stateTime = IceUtil::Time::now(IceUtil::Time::Monotonic);
notifyAll();
diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h
index a023767a63f..5c844ea5cb7 100644
--- a/cpp/src/Ice/ConnectionI.h
+++ b/cpp/src/Ice/ConnectionI.h
@@ -308,7 +308,6 @@ private:
int _dispatchCount;
State _state; // The current state.
- IceUtil::Time _stateTime; // The last time when the state was changed.
};
}
diff --git a/cpp/src/Ice/TcpAcceptor.cpp b/cpp/src/Ice/TcpAcceptor.cpp
index 1b0e4251ba5..9574f7bce0a 100644
--- a/cpp/src/Ice/TcpAcceptor.cpp
+++ b/cpp/src/Ice/TcpAcceptor.cpp
@@ -9,6 +9,7 @@
#include <Ice/TcpAcceptor.h>
#include <Ice/TcpTransceiver.h>
+#include <Ice/Endpoint.h>
#include <Ice/Instance.h>
#include <Ice/TraceLevels.h>
#include <Ice/LoggerUtil.h>
@@ -168,7 +169,7 @@ IceInternal::TcpAcceptor::accept()
Trace out(_logger, _traceLevels->networkCat);
out << "accepted tcp connection\n" << fdToString(fd);
}
- return new TcpTransceiver(_instance, fd, true);
+ return new TcpTransceiver(_instance, _endpointInfo, fd, true);
}
string
@@ -183,11 +184,12 @@ IceInternal::TcpAcceptor::effectivePort() const
return getPort(_addr);
}
-IceInternal::TcpAcceptor::TcpAcceptor(const InstancePtr& instance, const string& host, int port) :
+IceInternal::TcpAcceptor::TcpAcceptor(const InstancePtr& instance, const TcpEndpointInfoPtr& endpointInfo) :
_instance(instance),
+ _endpointInfo(endpointInfo),
_traceLevels(instance->traceLevels()),
_logger(instance->initializationData().logger),
- _addr(getAddressForServer(host, port, instance->protocolSupport()))
+ _addr(getAddressForServer(endpointInfo->host, endpointInfo->port, instance->protocolSupport()))
#ifdef ICE_USE_IOCP
, _acceptFd(INVALID_SOCKET),
_info(SocketOperationRead)
diff --git a/cpp/src/Ice/TcpAcceptor.h b/cpp/src/Ice/TcpAcceptor.h
index 64406b330be..b4067c9a711 100644
--- a/cpp/src/Ice/TcpAcceptor.h
+++ b/cpp/src/Ice/TcpAcceptor.h
@@ -23,8 +23,6 @@
namespace IceInternal
{
-class TcpEndpoint;
-
class TcpAcceptor : public Acceptor, public NativeInfo
{
public:
@@ -47,11 +45,12 @@ public:
private:
- TcpAcceptor(const InstancePtr&, const std::string&, int);
+ TcpAcceptor(const InstancePtr&, const Ice::TcpEndpointInfoPtr&);
virtual ~TcpAcceptor();
friend class TcpEndpointI;
const InstancePtr _instance;
+ const Ice::TcpEndpointInfoPtr _endpointInfo;
const TraceLevelsPtr _traceLevels;
const ::Ice::LoggerPtr _logger;
const struct sockaddr_storage _addr;
diff --git a/cpp/src/Ice/TcpConnector.cpp b/cpp/src/Ice/TcpConnector.cpp
index 9d45fdf82bd..e1fdf982cdc 100644
--- a/cpp/src/Ice/TcpConnector.cpp
+++ b/cpp/src/Ice/TcpConnector.cpp
@@ -31,7 +31,8 @@ IceInternal::TcpConnector::connect()
try
{
- TransceiverPtr transceiver = new TcpTransceiver(_instance, createSocket(false, _addr.ss_family), false);
+ TransceiverPtr transceiver =
+ new TcpTransceiver(_instance, _endpointInfo, createSocket(false, _addr.ss_family), false);
dynamic_cast<TcpTransceiver*>(transceiver.get())->connect(_addr);
return transceiver;
}
@@ -120,13 +121,16 @@ IceInternal::TcpConnector::operator<(const Connector& r) const
return compareAddress(_addr, p->_addr) == -1;
}
-IceInternal::TcpConnector::TcpConnector(const InstancePtr& instance, const struct sockaddr_storage& addr,
- Ice::Int timeout, const string& connectionId) :
+IceInternal::TcpConnector::TcpConnector(const InstancePtr& instance,
+ const TcpEndpointInfoPtr& endpointInfo,
+ const struct sockaddr_storage& addr,
+ const string& connectionId) :
_instance(instance),
+ _endpointInfo(endpointInfo),
_traceLevels(instance->traceLevels()),
_logger(instance->initializationData().logger),
_addr(addr),
- _timeout(timeout),
+ _timeout(_endpointInfo->timeout),
_connectionId(connectionId)
{
}
diff --git a/cpp/src/Ice/TcpConnector.h b/cpp/src/Ice/TcpConnector.h
index 6f83719cdb8..72453a40c80 100644
--- a/cpp/src/Ice/TcpConnector.h
+++ b/cpp/src/Ice/TcpConnector.h
@@ -11,6 +11,7 @@
#define ICE_TCP_CONNECTOR_H
#include <Ice/TransceiverF.h>
+#include <Ice/EndpointF.h>
#include <Ice/InstanceF.h>
#include <Ice/TraceLevelsF.h>
#include <Ice/LoggerF.h>
@@ -40,11 +41,13 @@ public:
private:
- TcpConnector(const InstancePtr&, const struct sockaddr_storage&, Ice::Int, const std::string&);
+ TcpConnector(const InstancePtr&, const Ice::TcpEndpointInfoPtr&, const struct sockaddr_storage&,
+ const std::string&);
virtual ~TcpConnector();
friend class TcpEndpointI;
const InstancePtr _instance;
+ const Ice::TcpEndpointInfoPtr _endpointInfo;
const TraceLevelsPtr _traceLevels;
const ::Ice::LoggerPtr _logger;
const struct sockaddr_storage _addr;
diff --git a/cpp/src/Ice/TcpEndpointI.cpp b/cpp/src/Ice/TcpEndpointI.cpp
index 9d8c761231f..9b18fc3c4ac 100644
--- a/cpp/src/Ice/TcpEndpointI.cpp
+++ b/cpp/src/Ice/TcpEndpointI.cpp
@@ -351,7 +351,7 @@ IceInternal::TcpEndpointI::connectors_async(const EndpointI_connectorsPtr& callb
AcceptorPtr
IceInternal::TcpEndpointI::acceptor(EndpointIPtr& endp, const string&) const
{
- TcpAcceptor* p = new TcpAcceptor(_instance, _host, _port);
+ TcpAcceptor* p = new TcpAcceptor(_instance, TcpEndpointInfoPtr::dynamicCast(getInfo()));
endp = new TcpEndpointI(_instance, _host, p->effectivePort(), _timeout, _connectionId, _compress);
return p;
}
@@ -503,7 +503,8 @@ IceInternal::TcpEndpointI::connectors(const vector<struct sockaddr_storage>& add
vector<ConnectorPtr> connectors;
for(unsigned int i = 0; i < addresses.size(); ++i)
{
- connectors.push_back(new TcpConnector(_instance, addresses[i], _timeout, _connectionId));
+ connectors.push_back(new TcpConnector(_instance, TcpEndpointInfoPtr::dynamicCast(getInfo()), addresses[i],
+ _connectionId));
}
return connectors;
}
diff --git a/cpp/src/Ice/TcpTransceiver.cpp b/cpp/src/Ice/TcpTransceiver.cpp
index 959c3ce6f87..33ffb3f9e43 100644
--- a/cpp/src/Ice/TcpTransceiver.cpp
+++ b/cpp/src/Ice/TcpTransceiver.cpp
@@ -459,6 +459,7 @@ IceInternal::TcpTransceiver::getInfo() const
{
assert(_fd != INVALID_SOCKET);
Ice::TcpConnectionInfoPtr info = new Ice::TcpConnectionInfo();
+ info->endpoint = _endpointInfo;
fdToAddressAndPort(_fd, info->localAddress, info->localPort, info->remoteAddress, info->remotePort);
return info;
}
@@ -472,8 +473,12 @@ IceInternal::TcpTransceiver::checkSendSize(const Buffer& buf, size_t messageSize
}
}
-IceInternal::TcpTransceiver::TcpTransceiver(const InstancePtr& instance, SOCKET fd, bool connected) :
+IceInternal::TcpTransceiver::TcpTransceiver(const InstancePtr& instance,
+ const TcpEndpointInfoPtr& endpointInfo,
+ SOCKET fd,
+ bool connected) :
NativeInfo(fd),
+ _endpointInfo(endpointInfo),
_traceLevels(instance->traceLevels()),
_logger(instance->initializationData().logger),
_stats(instance->initializationData().stats),
diff --git a/cpp/src/Ice/TcpTransceiver.h b/cpp/src/Ice/TcpTransceiver.h
index 2f131531d0a..81ca7d07c30 100644
--- a/cpp/src/Ice/TcpTransceiver.h
+++ b/cpp/src/Ice/TcpTransceiver.h
@@ -55,7 +55,7 @@ public:
private:
- TcpTransceiver(const InstancePtr&, SOCKET, bool);
+ TcpTransceiver(const InstancePtr&, const Ice::TcpEndpointInfoPtr&, SOCKET, bool);
virtual ~TcpTransceiver();
void connect(const struct sockaddr_storage&);
@@ -63,6 +63,7 @@ private:
friend class TcpConnector;
friend class TcpAcceptor;
+ const Ice::TcpEndpointInfoPtr _endpointInfo;
const TraceLevelsPtr _traceLevels;
const Ice::LoggerPtr _logger;
const Ice::StatsPtr _stats;
diff --git a/cpp/src/Ice/UdpConnector.cpp b/cpp/src/Ice/UdpConnector.cpp
index d8a4c5588df..6f6f9b6b8ff 100644
--- a/cpp/src/Ice/UdpConnector.cpp
+++ b/cpp/src/Ice/UdpConnector.cpp
@@ -20,7 +20,7 @@ using namespace IceInternal;
TransceiverPtr
IceInternal::UdpConnector::connect()
{
- return new UdpTransceiver(_instance, _addr, _mcastInterface, _mcastTtl);
+ return new UdpTransceiver(_instance, _endpointInfo, _addr);
}
Short
@@ -54,32 +54,32 @@ IceInternal::UdpConnector::operator==(const Connector& r) const
return false;
}
- if(_protocolMajor != p->_protocolMajor)
+ if(_endpointInfo->protocolMajor != p->_endpointInfo->protocolMajor)
{
return false;
}
- if(_protocolMinor != p->_protocolMinor)
+ if(_endpointInfo->protocolMinor != p->_endpointInfo->protocolMinor)
{
return false;
}
- if(_encodingMajor != p->_encodingMajor)
+ if(_endpointInfo->encodingMajor != p->_endpointInfo->encodingMajor)
{
return false;
}
- if(_encodingMinor != p->_encodingMinor)
+ if(_endpointInfo->encodingMinor != p->_endpointInfo->encodingMinor)
{
return false;
}
- if(_mcastTtl != p->_mcastTtl)
+ if(_endpointInfo->mcastTtl != p->_endpointInfo->mcastTtl)
{
return false;
}
- if(_mcastInterface != p->_mcastInterface)
+ if(_endpointInfo->mcastInterface != p->_endpointInfo->mcastInterface)
{
return false;
}
@@ -111,56 +111,56 @@ IceInternal::UdpConnector::operator<(const Connector& r) const
return false;
}
- if(_protocolMajor < p->_protocolMajor)
+ if(_endpointInfo->protocolMajor < p->_endpointInfo->protocolMajor)
{
return true;
}
- else if(p->_protocolMajor < _protocolMajor)
+ else if(p->_endpointInfo->protocolMajor < _endpointInfo->protocolMajor)
{
return false;
}
- if(_protocolMinor < p->_protocolMinor)
+ if(_endpointInfo->protocolMinor < p->_endpointInfo->protocolMinor)
{
return true;
}
- else if(p->_protocolMinor < _protocolMinor)
+ else if(p->_endpointInfo->protocolMinor < _endpointInfo->protocolMinor)
{
return false;
}
- if(_encodingMajor < p->_encodingMajor)
+ if(_endpointInfo->encodingMajor < p->_endpointInfo->encodingMajor)
{
return true;
}
- else if(p->_encodingMajor < _encodingMajor)
+ else if(p->_endpointInfo->encodingMajor < _endpointInfo->encodingMajor)
{
return false;
}
- if(_encodingMinor < p->_encodingMinor)
+ if(_endpointInfo->encodingMinor < p->_endpointInfo->encodingMinor)
{
return true;
}
- else if(p->_encodingMinor < _encodingMinor)
+ else if(p->_endpointInfo->encodingMinor < _endpointInfo->encodingMinor)
{
return false;
}
- if(_mcastTtl < p->_mcastTtl)
+ if(_endpointInfo->mcastTtl < p->_endpointInfo->mcastTtl)
{
return true;
}
- else if(p->_mcastTtl < _mcastTtl)
+ else if(p->_endpointInfo->mcastTtl < _endpointInfo->mcastTtl)
{
return false;
}
- if(_mcastInterface < p->_mcastInterface)
+ if(_endpointInfo->mcastInterface < p->_endpointInfo->mcastInterface)
{
return true;
}
- else if(p->_mcastInterface < _mcastInterface)
+ else if(p->_endpointInfo->mcastInterface < _endpointInfo->mcastInterface)
{
return false;
}
@@ -169,18 +169,13 @@ IceInternal::UdpConnector::operator<(const Connector& r) const
}
-IceInternal::UdpConnector::UdpConnector(const InstancePtr& instance, const struct sockaddr_storage& addr,
- const string& mcastInterface, int mcastTtl, Ice::Byte protocolMajor,
- Ice::Byte protocolMinor, Ice::Byte encodingMajor, Ice::Byte encodingMinor,
+IceInternal::UdpConnector::UdpConnector(const InstancePtr& instance,
+ const UdpEndpointInfoPtr& endpointInfo,
+ const struct sockaddr_storage& addr,
const std::string& connectionId) :
_instance(instance),
+ _endpointInfo(endpointInfo),
_addr(addr),
- _mcastInterface(mcastInterface),
- _mcastTtl(mcastTtl),
- _protocolMajor(protocolMajor),
- _protocolMinor(protocolMinor),
- _encodingMajor(encodingMajor),
- _encodingMinor(encodingMinor),
_connectionId(connectionId)
{
}
diff --git a/cpp/src/Ice/UdpConnector.h b/cpp/src/Ice/UdpConnector.h
index 4e27190ac1e..924d02bba7c 100644
--- a/cpp/src/Ice/UdpConnector.h
+++ b/cpp/src/Ice/UdpConnector.h
@@ -11,6 +11,7 @@
#define ICE_UDP_CONNECTOR_H
#include <Ice/TransceiverF.h>
+#include <Ice/EndpointF.h>
#include <Ice/InstanceF.h>
#include <Ice/Connector.h>
#include <Ice/Protocol.h>
@@ -39,19 +40,14 @@ public:
private:
- UdpConnector(const InstancePtr&, const struct sockaddr_storage&, const std::string&, int, Ice::Byte, Ice::Byte,
- Ice::Byte, Ice::Byte, const std::string&);
+ UdpConnector(const InstancePtr&, const Ice::UdpEndpointInfoPtr&, const struct sockaddr_storage&,
+ const std::string&);
virtual ~UdpConnector();
friend class UdpEndpointI;
const InstancePtr _instance;
+ const Ice::UdpEndpointInfoPtr _endpointInfo;
struct sockaddr_storage _addr;
- const std::string _mcastInterface;
- const int _mcastTtl;
- const Ice::Byte _protocolMajor;
- const Ice::Byte _protocolMinor;
- const Ice::Byte _encodingMajor;
- const Ice::Byte _encodingMinor;
const std::string _connectionId;
};
diff --git a/cpp/src/Ice/UdpEndpointI.cpp b/cpp/src/Ice/UdpEndpointI.cpp
index bbd273cfa54..298bb72b800 100644
--- a/cpp/src/Ice/UdpEndpointI.cpp
+++ b/cpp/src/Ice/UdpEndpointI.cpp
@@ -536,7 +536,7 @@ IceInternal::UdpEndpointI::secure() const
TransceiverPtr
IceInternal::UdpEndpointI::transceiver(EndpointIPtr& endp) const
{
- UdpTransceiver* p = new UdpTransceiver(_instance, _host, _port, _mcastInterface, _connect);
+ UdpTransceiver* p = new UdpTransceiver(_instance, UdpEndpointInfoPtr::dynamicCast(getInfo()), _connect);
endp = new UdpEndpointI(_instance, _host, p->effectivePort(), _mcastInterface, _mcastTtl, _protocolMajor,
_protocolMinor, _encodingMajor, _encodingMinor, _connect, _connectionId,
_compress);
@@ -794,8 +794,8 @@ IceInternal::UdpEndpointI::connectors(const vector<struct sockaddr_storage>& add
vector<ConnectorPtr> connectors;
for(unsigned int i = 0; i < addresses.size(); ++i)
{
- connectors.push_back(new UdpConnector(_instance, addresses[i], _mcastInterface, _mcastTtl, _protocolMajor,
- _protocolMinor, _encodingMajor, _encodingMinor, _connectionId));
+ connectors.push_back(new UdpConnector(_instance, UdpEndpointInfoPtr::dynamicCast(getInfo()), addresses[i],
+ _connectionId));
}
return connectors;
}
diff --git a/cpp/src/Ice/UdpTransceiver.cpp b/cpp/src/Ice/UdpTransceiver.cpp
index fbf00a1048a..8cd68d76edb 100644
--- a/cpp/src/Ice/UdpTransceiver.cpp
+++ b/cpp/src/Ice/UdpTransceiver.cpp
@@ -457,6 +457,7 @@ IceInternal::UdpTransceiver::getInfo() const
{
assert(_fd != INVALID_SOCKET);
Ice::UdpConnectionInfoPtr info = new Ice::UdpConnectionInfo();
+ info->endpoint = _endpointInfo;
fdToAddressAndPort(_fd, info->localAddress, info->localPort, info->remoteAddress, info->remotePort);
addrToAddressAndPort(_mcastAddr, info->mcastAddress, info->mcastPort);
return info;
@@ -482,8 +483,10 @@ IceInternal::UdpTransceiver::effectivePort() const
return getPort(_addr);
}
-IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const struct sockaddr_storage& addr,
- const string& mcastInterface, int mcastTtl) :
+IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance,
+ const Ice::UdpEndpointInfoPtr& endpointInfo,
+ const struct sockaddr_storage& addr) :
+ _endpointInfo(endpointInfo),
_traceLevels(instance->traceLevels()),
_logger(instance->initializationData().logger),
_stats(instance->initializationData().stats),
@@ -510,24 +513,26 @@ IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const s
if(isMulticast(_addr))
{
- if(mcastInterface.length() > 0)
+ if(endpointInfo->mcastInterface.length() > 0)
{
- setMcastInterface(_fd, mcastInterface, _addr.ss_family == AF_INET);
+ setMcastInterface(_fd, endpointInfo->mcastInterface, _addr.ss_family == AF_INET);
}
- if(mcastTtl != -1)
+ if(endpointInfo->mcastTtl != -1)
{
- setMcastTtl(_fd, mcastTtl, _addr.ss_family == AF_INET);
+ setMcastTtl(_fd, endpointInfo->mcastTtl, _addr.ss_family == AF_INET);
}
}
}
-IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const string& host, int port,
- const string& mcastInterface, bool connect) :
+IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance,
+ const Ice::UdpEndpointInfoPtr& endpointInfo,
+ bool connect) :
+ _endpointInfo(endpointInfo),
_traceLevels(instance->traceLevels()),
_logger(instance->initializationData().logger),
_stats(instance->initializationData().stats),
_incoming(true),
- _addr(getAddressForServer(host, port, instance->protocolSupport())),
+ _addr(getAddressForServer(_endpointInfo->host, _endpointInfo->port, instance->protocolSupport())),
_connect(connect),
_warn(instance->initializationData().properties->getPropertyAsInt("Ice.Warn.Datagrams") > 0)
#ifdef ICE_USE_IOCP
@@ -564,7 +569,7 @@ IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const s
{
setPort(_mcastAddr, getPort(_addr));
}
- setMcastGroup(_fd, _mcastAddr, mcastInterface);
+ setMcastGroup(_fd, _mcastAddr, _endpointInfo->mcastInterface);
}
else
{
diff --git a/cpp/src/Ice/UdpTransceiver.h b/cpp/src/Ice/UdpTransceiver.h
index f7c918184a8..a8a3194a607 100644
--- a/cpp/src/Ice/UdpTransceiver.h
+++ b/cpp/src/Ice/UdpTransceiver.h
@@ -61,8 +61,8 @@ public:
private:
- UdpTransceiver(const InstancePtr&, const struct sockaddr_storage&, const std::string&, int);
- UdpTransceiver(const InstancePtr&, const std::string&, int, const std::string&, bool);
+ UdpTransceiver(const InstancePtr&, const Ice::UdpEndpointInfoPtr&, const struct sockaddr_storage&);
+ UdpTransceiver(const InstancePtr&, const Ice::UdpEndpointInfoPtr&, bool);
virtual ~UdpTransceiver();
void setBufSize(const InstancePtr&);
@@ -70,6 +70,7 @@ private:
friend class UdpEndpointI;
friend class UdpConnector;
+ const Ice::UdpEndpointInfoPtr _endpointInfo;
const TraceLevelsPtr _traceLevels;
const Ice::LoggerPtr _logger;
const Ice::StatsPtr _stats;
diff --git a/cpp/src/IceSSL/AcceptorI.cpp b/cpp/src/IceSSL/AcceptorI.cpp
index c82a77dc4dc..e8de9f97a87 100644
--- a/cpp/src/IceSSL/AcceptorI.cpp
+++ b/cpp/src/IceSSL/AcceptorI.cpp
@@ -188,7 +188,7 @@ IceSSL::AcceptorI::accept()
// SSL handshaking is performed in TransceiverI::initialize, since
// accept must not block.
//
- return new TransceiverI(_instance, fd, _adapterName);
+ return new TransceiverI(_instance, _endpointInfo, fd, _adapterName);
}
string
@@ -210,11 +210,13 @@ IceSSL::AcceptorI::effectivePort() const
}
}
-IceSSL::AcceptorI::AcceptorI(const InstancePtr& instance, const string& adapterName, const string& host, int port) :
+IceSSL::AcceptorI::AcceptorI(const InstancePtr& instance, const SSLEndpointInfoPtr& endpointInfo,
+ const string& adapterName) :
_instance(instance),
+ _endpointInfo(endpointInfo),
_adapterName(adapterName),
_logger(instance->communicator()->getLogger()),
- _addr(IceInternal::getAddressForServer(host, port, instance->protocolSupport()))
+ _addr(IceInternal::getAddressForServer(_endpointInfo->host, _endpointInfo->port, instance->protocolSupport()))
#ifdef ICE_USE_IOCP
, _acceptFd(INVALID_SOCKET),
_info(IceInternal::SocketOperationRead)
diff --git a/cpp/src/IceSSL/AcceptorI.h b/cpp/src/IceSSL/AcceptorI.h
index 71ce3991b2b..df84201cd9f 100644
--- a/cpp/src/IceSSL/AcceptorI.h
+++ b/cpp/src/IceSSL/AcceptorI.h
@@ -15,6 +15,7 @@
#include <Ice/Acceptor.h>
#include <Ice/Protocol.h>
#include <IceSSL/InstanceF.h>
+#include <IceSSL/EndpointInfo.h>
#ifndef _WIN32
# include <sys/socket.h> // For struct sockaddr_storage
@@ -49,11 +50,12 @@ public:
private:
- AcceptorI(const InstancePtr&, const std::string&, const std::string&, int);
+ AcceptorI(const InstancePtr&, const SSLEndpointInfoPtr&, const std::string&);
virtual ~AcceptorI();
friend class EndpointI;
const InstancePtr _instance;
+ const SSLEndpointInfoPtr _endpointInfo;
const std::string _adapterName;
const Ice::LoggerPtr _logger;
const struct sockaddr_storage _addr;
diff --git a/cpp/src/IceSSL/ConnectorI.cpp b/cpp/src/IceSSL/ConnectorI.cpp
index 9b5e14a6fe9..fad1c651c13 100644
--- a/cpp/src/IceSSL/ConnectorI.cpp
+++ b/cpp/src/IceSSL/ConnectorI.cpp
@@ -42,7 +42,7 @@ IceSSL::ConnectorI::connect()
try
{
- return new TransceiverI(_instance, IceInternal::createSocket(false, _addr.ss_family), _host, _addr);
+ return new TransceiverI(_instance, _endpointInfo, IceInternal::createSocket(false, _addr.ss_family), _addr);
}
catch(const Ice::LocalException& ex)
{
@@ -81,7 +81,7 @@ IceSSL::ConnectorI::operator==(const IceInternal::Connector& r) const
return false;
}
- if(_timeout != p->_timeout)
+ if(_endpointInfo->timeout != p->_endpointInfo->timeout)
{
return false;
}
@@ -109,11 +109,11 @@ IceSSL::ConnectorI::operator<(const IceInternal::Connector& r) const
return type() < r.type();
}
- if(_timeout < p->_timeout)
+ if(_endpointInfo->timeout < p->_endpointInfo->timeout)
{
return true;
}
- else if(p->_timeout < _timeout)
+ else if(p->_endpointInfo->timeout < _endpointInfo->timeout)
{
return false;
}
@@ -130,13 +130,12 @@ IceSSL::ConnectorI::operator<(const IceInternal::Connector& r) const
return IceInternal::compareAddress(_addr, p->_addr) == -1;
}
-IceSSL::ConnectorI::ConnectorI(const InstancePtr& instance, const string& host, const struct sockaddr_storage& addr,
- Ice::Int timeout, const string& connectionId) :
+IceSSL::ConnectorI::ConnectorI(const InstancePtr& instance, const SSLEndpointInfoPtr& endpointInfo,
+ const struct sockaddr_storage& addr, const string& connectionId) :
_instance(instance),
+ _endpointInfo(endpointInfo),
_logger(instance->communicator()->getLogger()),
- _host(host),
_addr(addr),
- _timeout(timeout),
_connectionId(connectionId)
{
}
diff --git a/cpp/src/IceSSL/ConnectorI.h b/cpp/src/IceSSL/ConnectorI.h
index d8c79a6e0c4..163f87d5add 100644
--- a/cpp/src/IceSSL/ConnectorI.h
+++ b/cpp/src/IceSSL/ConnectorI.h
@@ -14,6 +14,7 @@
#include <Ice/TransceiverF.h>
#include <Ice/Connector.h>
#include <IceSSL/InstanceF.h>
+#include <IceSSL/EndpointInfo.h>
#ifdef _WIN32
# include <winsock2.h>
@@ -41,15 +42,14 @@ public:
private:
- ConnectorI(const InstancePtr&, const std::string&, const struct sockaddr_storage&, Ice::Int, const std::string&);
+ ConnectorI(const InstancePtr&, const SSLEndpointInfoPtr&, const struct sockaddr_storage&, const std::string&);
virtual ~ConnectorI();
friend class EndpointI;
const InstancePtr _instance;
+ const SSLEndpointInfoPtr _endpointInfo;
const Ice::LoggerPtr _logger;
- const std::string _host;
struct sockaddr_storage _addr;
- const Ice::Int _timeout;
const std::string _connectionId;
};
diff --git a/cpp/src/IceSSL/EndpointI.cpp b/cpp/src/IceSSL/EndpointI.cpp
index c21db89353c..8166574bf65 100644
--- a/cpp/src/IceSSL/EndpointI.cpp
+++ b/cpp/src/IceSSL/EndpointI.cpp
@@ -351,7 +351,7 @@ IceSSL::EndpointI::connectors_async(const IceInternal::EndpointI_connectorsPtr&
IceInternal::AcceptorPtr
IceSSL::EndpointI::acceptor(IceInternal::EndpointIPtr& endp, const string& adapterName) const
{
- AcceptorI* p = new AcceptorI(_instance, adapterName, _host, _port);
+ AcceptorI* p = new AcceptorI(_instance, SSLEndpointInfoPtr::dynamicCast(getInfo()), adapterName);
endp = new EndpointI(_instance, _host, p->effectivePort(), _timeout, _connectionId, _compress);
return p;
}
@@ -502,7 +502,8 @@ IceSSL::EndpointI::connectors(const vector<struct sockaddr_storage>& addresses)
vector<IceInternal::ConnectorPtr> connectors;
for(unsigned int i = 0; i < addresses.size(); ++i)
{
- connectors.push_back(new ConnectorI(_instance, _host, addresses[i], _timeout, _connectionId));
+ connectors.push_back(new ConnectorI(_instance, SSLEndpointInfoPtr::dynamicCast(getInfo()), addresses[i],
+ _connectionId));
}
return connectors;
}
diff --git a/cpp/src/IceSSL/TransceiverI.cpp b/cpp/src/IceSSL/TransceiverI.cpp
index 28f59e93756..1c95553e46a 100644
--- a/cpp/src/IceSSL/TransceiverI.cpp
+++ b/cpp/src/IceSSL/TransceiverI.cpp
@@ -234,7 +234,7 @@ IceSSL::TransceiverI::initialize()
}
}
- _instance->verifyPeer(_ssl, _fd, _host, _adapterName, _incoming);
+ _instance->verifyPeer(_ssl, _fd, _endpointInfo->host, _adapterName, _incoming);
_state = StateHandshakeComplete;
}
catch(const Ice::LocalException& ex)
@@ -784,6 +784,7 @@ IceSSL::TransceiverI::getInfo() const
assert(_fd != INVALID_SOCKET && _ssl != 0);
SSLConnectionInfoPtr info = new SSLConnectionInfo();
+ info->endpoint = _endpointInfo;
IceInternal::fdToAddressAndPort(_fd, info->localAddress, info->localPort, info->remoteAddress, info->remotePort);
//
@@ -841,14 +842,14 @@ IceSSL::TransceiverI::getConnectionInfo() const
return populateConnectionInfo(_ssl, _fd, _adapterName, _incoming);
}
-IceSSL::TransceiverI::TransceiverI(const InstancePtr& instance, SOCKET fd, const string& host,
+IceSSL::TransceiverI::TransceiverI(const InstancePtr& instance, const SSLEndpointInfoPtr& endpointInfo, SOCKET fd,
const struct sockaddr_storage& addr) :
IceInternal::NativeInfo(fd),
_instance(instance),
+ _endpointInfo(endpointInfo),
_logger(instance->communicator()->getLogger()),
_stats(instance->communicator()->getStats()),
_ssl(0),
- _host(host),
_incoming(false),
_state(StateNeedConnect)
#ifdef ICE_USE_IOCP
@@ -879,9 +880,11 @@ IceSSL::TransceiverI::TransceiverI(const InstancePtr& instance, SOCKET fd, const
#endif
}
-IceSSL::TransceiverI::TransceiverI(const InstancePtr& instance, SOCKET fd, const string& adapterName) :
+IceSSL::TransceiverI::TransceiverI(const InstancePtr& instance, const SSLEndpointInfoPtr& endpointInfo, SOCKET fd,
+ const string& adapterName) :
IceInternal::NativeInfo(fd),
_instance(instance),
+ _endpointInfo(endpointInfo),
_logger(instance->communicator()->getLogger()),
_stats(instance->communicator()->getStats()),
_ssl(0),
diff --git a/cpp/src/IceSSL/TransceiverI.h b/cpp/src/IceSSL/TransceiverI.h
index f852d7df7c6..526e5b9d47c 100644
--- a/cpp/src/IceSSL/TransceiverI.h
+++ b/cpp/src/IceSSL/TransceiverI.h
@@ -12,6 +12,7 @@
#include <IceSSL/InstanceF.h>
#include <IceSSL/Plugin.h>
+#include <IceSSL/EndpointInfo.h>
#include <Ice/LoggerF.h>
#include <Ice/StatsF.h>
@@ -62,8 +63,8 @@ public:
private:
- TransceiverI(const InstancePtr&, SOCKET, const std::string&, const struct sockaddr_storage&);
- TransceiverI(const InstancePtr&, SOCKET, const std::string&);
+ TransceiverI(const InstancePtr&, const SSLEndpointInfoPtr&, SOCKET, const struct sockaddr_storage&);
+ TransceiverI(const InstancePtr&, const SSLEndpointInfoPtr&, SOCKET, const std::string&);
virtual ~TransceiverI();
#ifdef ICE_USE_IOCP
@@ -75,13 +76,12 @@ private:
friend class AcceptorI;
const InstancePtr _instance;
+ const SSLEndpointInfoPtr _endpointInfo;
const Ice::LoggerPtr _logger;
const Ice::StatsPtr _stats;
SSL* _ssl;
- const std::string _host;
-
const bool _incoming;
const std::string _adapterName;
diff --git a/cs/src/Ice/ConnectionI.cs b/cs/src/Ice/ConnectionI.cs
index 7d7a30ff142..bebb5152582 100644
--- a/cs/src/Ice/ConnectionI.cs
+++ b/cs/src/Ice/ConnectionI.cs
@@ -1436,7 +1436,6 @@ namespace Ice
_writeStream = new IceInternal.BasicStream(instance);
_dispatchCount = 0;
_state = StateNotInitialized;
- _stateTime = IceInternal.Time.currentMonotonicTimeMillis();
_compressionLevel = initData.properties.getPropertyAsIntWithDefault("Ice.Compression.Level", 1);
if(_compressionLevel < 1)
@@ -1684,7 +1683,6 @@ namespace Ice
}
_state = state;
- _stateTime = IceInternal.Time.currentMonotonicTimeMillis();
Monitor.PulseAll(this);
@@ -2563,7 +2561,6 @@ namespace Ice
private int _dispatchCount;
private int _state; // The current state.
- private long _stateTime; // The last time when the state was changed.
private IceInternal.Incoming _incomingCache;
private object _incomingCacheMutex = new object();
diff --git a/cs/src/Ice/TcpAcceptor.cs b/cs/src/Ice/TcpAcceptor.cs
index d87c6220c16..7d12737792a 100644
--- a/cs/src/Ice/TcpAcceptor.cs
+++ b/cs/src/Ice/TcpAcceptor.cs
@@ -101,7 +101,7 @@ namespace IceInternal
Socket acceptFd = _acceptFd;
_acceptFd = null;
_acceptError = null;
- return new TcpTransceiver(instance_, acceptFd, null, true);
+ return new TcpTransceiver(instance_, _endpointInfo, acceptFd, null, true);
}
public override string ToString()
@@ -114,16 +114,18 @@ namespace IceInternal
return _addr.Port;
}
- internal TcpAcceptor(Instance instance, string host, int port)
+ internal TcpAcceptor(Instance instance, Ice.TcpEndpointInfo endpointInfo)
{
instance_ = instance;
+ _endpointInfo = endpointInfo;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
_backlog = instance.initializationData().properties.getPropertyAsIntWithDefault("Ice.TCP.Backlog", 511);
try
{
- _addr = Network.getAddressForServer(host, port, instance_.protocolSupport());
+ _addr =
+ Network.getAddressForServer(_endpointInfo.host, _endpointInfo.port, instance_.protocolSupport());
_fd = Network.createSocket(false, _addr.AddressFamily);
Network.setBlock(_fd, false);
Network.setTcpBufSize(_fd, instance_.initializationData().properties, _logger);
@@ -159,6 +161,7 @@ namespace IceInternal
}
private Instance instance_;
+ private Ice.TcpEndpointInfo _endpointInfo;
private TraceLevels _traceLevels;
private Ice.Logger _logger;
private Socket _fd;
diff --git a/cs/src/Ice/TcpConnector.cs b/cs/src/Ice/TcpConnector.cs
index 8a4659c953a..3841f3416f5 100644
--- a/cs/src/Ice/TcpConnector.cs
+++ b/cs/src/Ice/TcpConnector.cs
@@ -35,7 +35,7 @@ namespace IceInternal
//
// Nonblocking connect is handled by the transceiver.
//
- return new TcpTransceiver(_instance, fd, _addr, false);
+ return new TcpTransceiver(_instance, _endpointInfo, fd, _addr, false);
}
catch(Ice.LocalException ex)
{
@@ -56,17 +56,17 @@ namespace IceInternal
//
// Only for use by TcpEndpoint
//
- internal TcpConnector(Instance instance, IPEndPoint addr, int timeout, string connectionId)
+ internal TcpConnector(Instance instance, Ice.TcpEndpointInfo endpointInfo, IPEndPoint addr, string connectionId)
{
_instance = instance;
+ _endpointInfo = endpointInfo;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
_addr = addr;
- _timeout = timeout;
_connectionId = connectionId;
_hashCode = _addr.GetHashCode();
- _hashCode = 5 * _hashCode + _timeout;
+ _hashCode = 5 * _hashCode + _endpointInfo.timeout;
_hashCode = 5 * _hashCode + _connectionId.GetHashCode();
}
@@ -88,7 +88,7 @@ namespace IceInternal
return true;
}
- if(_timeout != p._timeout)
+ if(_endpointInfo.timeout != p._endpointInfo.timeout)
{
return false;
}
@@ -112,10 +112,10 @@ namespace IceInternal
}
private Instance _instance;
+ private Ice.TcpEndpointInfo _endpointInfo;
private TraceLevels _traceLevels;
private Ice.Logger _logger;
private IPEndPoint _addr;
- private int _timeout;
private string _connectionId;
private int _hashCode;
}
diff --git a/cs/src/Ice/TcpEndpointI.cs b/cs/src/Ice/TcpEndpointI.cs
index 26e5fd1de8e..48dc20fbcd2 100644
--- a/cs/src/Ice/TcpEndpointI.cs
+++ b/cs/src/Ice/TcpEndpointI.cs
@@ -404,7 +404,7 @@ namespace IceInternal
//
public override Acceptor acceptor(ref EndpointI endpoint, string adapterName)
{
- TcpAcceptor p = new TcpAcceptor(_instance, _host, _port);
+ TcpAcceptor p = new TcpAcceptor(_instance, (Ice.TcpEndpointInfo)getInfo());
endpoint = new TcpEndpointI(_instance, _host, p.effectivePort(), _timeout, _connectionId, _compress);
return p;
}
@@ -453,7 +453,7 @@ namespace IceInternal
List<Connector> connectors = new List<Connector>();
foreach(IPEndPoint addr in addresses)
{
- connectors.Add(new TcpConnector(_instance, addr, _timeout, _connectionId));
+ connectors.Add(new TcpConnector(_instance, (Ice.TcpEndpointInfo)getInfo(), addr, _connectionId));
}
return connectors;
}
diff --git a/cs/src/Ice/TcpTransceiver.cs b/cs/src/Ice/TcpTransceiver.cs
index 64e3f91bae5..7bb7cd23b23 100644
--- a/cs/src/Ice/TcpTransceiver.cs
+++ b/cs/src/Ice/TcpTransceiver.cs
@@ -424,6 +424,7 @@ namespace IceInternal
{
Debug.Assert(_fd != null);
Ice.TcpConnectionInfo info = new Ice.TcpConnectionInfo();
+ info.endpoint = _endpointInfo;
IPEndPoint localEndpoint = Network.getLocalAddress(_fd);
info.localAddress = localEndpoint.Address.ToString();
info.localPort = localEndpoint.Port;
@@ -457,8 +458,10 @@ namespace IceInternal
//
// Only for use by TcpConnector, TcpAcceptor
//
- internal TcpTransceiver(Instance instance, Socket fd, IPEndPoint addr, bool connected)
+ internal TcpTransceiver(Instance instance, Ice.TcpEndpointInfo endpointInfo, Socket fd, IPEndPoint addr,
+ bool connected)
{
+ _endpointInfo = endpointInfo;
_fd = fd;
_addr = addr;
_traceLevels = instance.traceLevels();
@@ -480,6 +483,7 @@ namespace IceInternal
}
}
+ private Ice.TcpEndpointInfo _endpointInfo;
private Socket _fd;
private IPEndPoint _addr;
private TraceLevels _traceLevels;
diff --git a/cs/src/Ice/UdpConnector.cs b/cs/src/Ice/UdpConnector.cs
index f92b170616e..5e65167825a 100644
--- a/cs/src/Ice/UdpConnector.cs
+++ b/cs/src/Ice/UdpConnector.cs
@@ -18,7 +18,7 @@ namespace IceInternal
{
public Transceiver connect()
{
- return new UdpTransceiver(instance_, _addr, _mcastInterface, _mcastTtl);
+ return new UdpTransceiver(instance_, _endpointInfo, _addr);
}
public short type()
@@ -29,23 +29,16 @@ namespace IceInternal
//
// Only for use by TcpEndpoint
//
- internal UdpConnector(Instance instance, IPEndPoint addr, string mcastInterface, int mcastTtl,
- byte protocolMajor, byte protocolMinor, byte encodingMajor, byte encodingMinor,
- string connectionId)
+ internal UdpConnector(Instance instance, Ice.UdpEndpointInfo endpointInfo, IPEndPoint addr, string connectionId)
{
instance_ = instance;
+ _endpointInfo = endpointInfo;
_addr = addr;
- _mcastInterface = mcastInterface;
- _mcastTtl = mcastTtl;
- _protocolMajor = protocolMajor;
- _protocolMinor = protocolMinor;
- _encodingMajor = encodingMajor;
- _encodingMinor = encodingMinor;
_connectionId = connectionId;
_hashCode = _addr.GetHashCode();
- _hashCode = 5 * _hashCode + _mcastInterface.GetHashCode();
- _hashCode = 5 * _hashCode + _mcastTtl.GetHashCode();
+ _hashCode = 5 * _hashCode + _endpointInfo.mcastInterface.GetHashCode();
+ _hashCode = 5 * _hashCode + _endpointInfo.mcastTtl.GetHashCode();
_hashCode = 5 * _hashCode + _connectionId.GetHashCode();
}
@@ -72,32 +65,32 @@ namespace IceInternal
return false;
}
- if(_protocolMajor != p._protocolMajor)
+ if(_endpointInfo.protocolMajor != p._endpointInfo.protocolMajor)
{
return false;
}
- if(_protocolMinor != p._protocolMinor)
+ if(_endpointInfo.protocolMinor != p._endpointInfo.protocolMinor)
{
return false;
}
- if(_encodingMajor != p._encodingMajor)
+ if(_endpointInfo.encodingMajor != p._endpointInfo.encodingMajor)
{
return false;
}
- if(_encodingMinor != p._encodingMinor)
+ if(_endpointInfo.encodingMinor != p._endpointInfo.encodingMinor)
{
return false;
}
- if(!_mcastInterface.Equals(p._mcastInterface))
+ if(!_endpointInfo.mcastInterface.Equals(p._endpointInfo.mcastInterface))
{
return false;
}
- if(_mcastTtl != p._mcastTtl)
+ if(_endpointInfo.mcastTtl != p._endpointInfo.mcastTtl)
{
return false;
}
@@ -116,13 +109,8 @@ namespace IceInternal
}
private Instance instance_;
+ private Ice.UdpEndpointInfo _endpointInfo;
private IPEndPoint _addr;
- private string _mcastInterface;
- private int _mcastTtl;
- private byte _protocolMajor;
- private byte _protocolMinor;
- private byte _encodingMajor;
- private byte _encodingMinor;
private string _connectionId;
private int _hashCode;
}
diff --git a/cs/src/Ice/UdpEndpointI.cs b/cs/src/Ice/UdpEndpointI.cs
index c584901ea25..93c4d1dce7c 100644
--- a/cs/src/Ice/UdpEndpointI.cs
+++ b/cs/src/Ice/UdpEndpointI.cs
@@ -598,7 +598,7 @@ namespace IceInternal
//
public override Transceiver transceiver(ref EndpointI endpoint)
{
- UdpTransceiver p = new UdpTransceiver(instance_, _host, _port, _mcastInterface, _connect);
+ UdpTransceiver p = new UdpTransceiver(instance_, (Ice.UdpEndpointInfo)getInfo(), _connect);
endpoint = new UdpEndpointI(instance_, _host, p.effectivePort(), _mcastInterface, _mcastTtl,
_protocolMajor, _protocolMinor, _encodingMajor, _encodingMinor, _connect,
_connectionId, _compress);
@@ -679,8 +679,7 @@ namespace IceInternal
List<Connector> connectors = new List<Connector>();
foreach(IPEndPoint addr in addresses)
{
- connectors.Add(new UdpConnector(instance_, addr, _mcastInterface, _mcastTtl, _protocolMajor,
- _protocolMinor, _encodingMajor, _encodingMinor, _connectionId));
+ connectors.Add(new UdpConnector(instance_, (Ice.UdpEndpointInfo)getInfo(), addr, _connectionId));
}
return connectors;
}
diff --git a/cs/src/Ice/UdpTransceiver.cs b/cs/src/Ice/UdpTransceiver.cs
index 69ce6b9ed00..b26ec892b7f 100644
--- a/cs/src/Ice/UdpTransceiver.cs
+++ b/cs/src/Ice/UdpTransceiver.cs
@@ -33,11 +33,11 @@ namespace IceInternal
{
if(Network.isMulticast(_addr))
{
- Network.setMcastGroup(_fd, _addr.Address, _mcastInterface);
+ Network.setMcastGroup(_fd, _addr.Address, _endpointInfo.mcastInterface);
- if(_mcastTtl != -1)
+ if(_endpointInfo.mcastTtl != -1)
{
- Network.setMcastTtl(_fd, _mcastTtl, _addr.AddressFamily);
+ Network.setMcastTtl(_fd, _endpointInfo.mcastTtl, _addr.AddressFamily);
}
}
_state = StateConnected;
@@ -549,6 +549,7 @@ namespace IceInternal
{
Debug.Assert(_fd != null);
Ice.UdpConnectionInfo info = new Ice.UdpConnectionInfo();
+ info.endpoint = _endpointInfo;
IPEndPoint localEndpoint = Network.getLocalAddress(_fd);
info.localAddress = localEndpoint.Address.ToString();
info.localPort = localEndpoint.Port;
@@ -609,15 +610,14 @@ namespace IceInternal
//
// Only for use by UdpConnector.
//
- internal UdpTransceiver(Instance instance, IPEndPoint addr, string mcastInterface, int mcastTtl)
+ internal UdpTransceiver(Instance instance, Ice.UdpEndpointInfo endpointInfo, IPEndPoint addr)
{
+ _endpointInfo = endpointInfo;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
_stats = instance.initializationData().stats;
_warn = instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0;
_addr = addr;
- _mcastInterface = mcastInterface;
- _mcastTtl = mcastTtl;
_state = StateNeedConnect;
_incoming = false;
@@ -637,8 +637,9 @@ namespace IceInternal
//
// Only for use by UdpEndpoint.
//
- internal UdpTransceiver(Instance instance, string host, int port, string mcastInterface, bool connect)
+ internal UdpTransceiver(Instance instance, Ice.UdpEndpointInfo endpointInfo, bool connect)
{
+ _endpointInfo = endpointInfo;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
_stats = instance.initializationData().stats;
@@ -648,7 +649,7 @@ namespace IceInternal
try
{
- _addr = Network.getAddressForServer(host, port, instance.protocolSupport());
+ _addr = Network.getAddressForServer(_endpointInfo.host, _endpointInfo.port, instance.protocolSupport());
_fd = Network.createSocket(true, _addr.AddressFamily);
setBufSize(instance);
Network.setBlock(_fd, false);
@@ -663,18 +664,18 @@ namespace IceInternal
_mcastAddr = _addr;
if(_addr.AddressFamily == AddressFamily.InterNetwork)
{
- _addr = Network.doBind(_fd, new IPEndPoint(IPAddress.Any, port));
+ _addr = Network.doBind(_fd, new IPEndPoint(IPAddress.Any, _endpointInfo.port));
}
else
{
Debug.Assert(_addr.AddressFamily == AddressFamily.InterNetworkV6);
- _addr = Network.doBind(_fd, new IPEndPoint(IPAddress.IPv6Any, port));
+ _addr = Network.doBind(_fd, new IPEndPoint(IPAddress.IPv6Any, _endpointInfo.port));
}
- if(port == 0)
+ if(_endpointInfo.port == 0)
{
_mcastAddr.Port = _addr.Port;
}
- Network.setMcastGroup(_fd, _mcastAddr.Address, mcastInterface);
+ Network.setMcastGroup(_fd, _mcastAddr.Address, _endpointInfo.mcastInterface);
}
else
{
@@ -788,6 +789,7 @@ namespace IceInternal
}
}
+ private Ice.UdpEndpointInfo _endpointInfo;
private TraceLevels _traceLevels;
private Ice.Logger _logger;
private Ice.Stats _stats;
@@ -799,8 +801,6 @@ namespace IceInternal
private Socket _fd;
private IPEndPoint _addr;
private IPEndPoint _mcastAddr = null;
- private string _mcastInterface = null;
- private int _mcastTtl = -1;
private IAsyncResult _writeResult;
private IAsyncResult _readResult;
diff --git a/cs/src/IceSSL/AcceptorI.cs b/cs/src/IceSSL/AcceptorI.cs
index 4d73a1aa66f..e4ca1c9afae 100644
--- a/cs/src/IceSSL/AcceptorI.cs
+++ b/cs/src/IceSSL/AcceptorI.cs
@@ -122,7 +122,7 @@ namespace IceSSL
Socket acceptFd = _acceptFd;
_acceptFd = null;
_acceptError = null;
- return new TransceiverI(_instance, acceptFd, null, "", true, _adapterName);
+ return new TransceiverI(_instance, _endpointInfo, acceptFd, null, true, _adapterName);
}
public override string ToString()
@@ -135,9 +135,10 @@ namespace IceSSL
return _addr.Port;
}
- internal AcceptorI(Instance instance, string adapterName, string host, int port)
+ internal AcceptorI(Instance instance, SSLEndpointInfo endpointInfo, string adapterName)
{
_instance = instance;
+ _endpointInfo = endpointInfo;
_adapterName = adapterName;
_logger = instance.communicator().getLogger();
_backlog = instance.communicator().getProperties().getPropertyAsIntWithDefault("Ice.TCP.Backlog", 511);
@@ -155,7 +156,8 @@ namespace IceSSL
try
{
- _addr = IceInternal.Network.getAddressForServer(host, port, _instance.protocolSupport());
+ _addr = IceInternal.Network.getAddressForServer(_endpointInfo.host, _endpointInfo.port,
+ _instance.protocolSupport());
_fd = IceInternal.Network.createSocket(false, _addr.AddressFamily);
IceInternal.Network.setBlock(_fd, false);
IceInternal.Network.setTcpBufSize(_fd, _instance.communicator().getProperties(), _logger);
@@ -191,6 +193,7 @@ namespace IceSSL
}
private Instance _instance;
+ private SSLEndpointInfo _endpointInfo;
private string _adapterName;
private Ice.Logger _logger;
private Socket _fd;
diff --git a/cs/src/IceSSL/ConnectorI.cs b/cs/src/IceSSL/ConnectorI.cs
index 0284bba2995..a69f01f27dc 100644
--- a/cs/src/IceSSL/ConnectorI.cs
+++ b/cs/src/IceSSL/ConnectorI.cs
@@ -55,7 +55,7 @@ namespace IceSSL
//
// Nonblocking connect is handled by the transceiver.
//
- return new TransceiverI(_instance, fd, _addr, _host, false, null);
+ return new TransceiverI(_instance, _endpointInfo, fd, _addr, false, null);
}
catch(Ice.LocalException ex)
{
@@ -76,17 +76,15 @@ namespace IceSSL
//
// Only for use by EndpointI.
//
- internal ConnectorI(Instance instance, string host, IPEndPoint addr, int timeout, string connectionId)
+ internal ConnectorI(Instance instance, SSLEndpointInfo endpointInfo, IPEndPoint addr, string connectionId)
{
_instance = instance;
- _host = host;
_logger = instance.communicator().getLogger();
_addr = addr;
- _timeout = timeout;
_connectionId = connectionId;
_hashCode = _addr.GetHashCode();
- _hashCode = 5 * _hashCode + _timeout;
+ _hashCode = 5 * _hashCode + _endpointInfo.timeout;
_hashCode = 5 * _hashCode + _connectionId.GetHashCode();
}
@@ -108,7 +106,7 @@ namespace IceSSL
return true;
}
- if(_timeout != p._timeout)
+ if(_endpointInfo.timeout != p._endpointInfo.timeout)
{
return false;
}
@@ -132,10 +130,9 @@ namespace IceSSL
}
private Instance _instance;
+ private SSLEndpointInfo _endpointInfo;
private Ice.Logger _logger;
- private string _host;
private IPEndPoint _addr;
- private int _timeout;
private string _connectionId;
private int _hashCode;
}
diff --git a/cs/src/IceSSL/EndpointI.cs b/cs/src/IceSSL/EndpointI.cs
index 6b01a4ce357..8dab3fa6cd2 100644
--- a/cs/src/IceSSL/EndpointI.cs
+++ b/cs/src/IceSSL/EndpointI.cs
@@ -403,7 +403,7 @@ namespace IceSSL
//
public override IceInternal.Acceptor acceptor(ref IceInternal.EndpointI endpoint, string adapterName)
{
- AcceptorI p = new AcceptorI(_instance, adapterName, _host, _port);
+ AcceptorI p = new AcceptorI(_instance, (SSLEndpointInfo)getInfo(), adapterName);
endpoint = new EndpointI(_instance, _host, p.effectivePort(), _timeout, _connectionId, _compress);
return p;
}
@@ -453,7 +453,7 @@ namespace IceSSL
List<IceInternal.Connector> connectors = new List<IceInternal.Connector>();
foreach(IPEndPoint addr in addresses)
{
- connectors.Add(new ConnectorI(_instance, _host, addr, _timeout, _connectionId));
+ connectors.Add(new ConnectorI(_instance, (SSLEndpointInfo)getInfo(), addr, _connectionId));
}
return connectors;
}
diff --git a/cs/src/IceSSL/TransceiverI.cs b/cs/src/IceSSL/TransceiverI.cs
index 5a0435eff45..0dc1e8db57d 100644
--- a/cs/src/IceSSL/TransceiverI.cs
+++ b/cs/src/IceSSL/TransceiverI.cs
@@ -354,6 +354,7 @@ namespace IceSSL
{
Debug.Assert(_fd != null && _stream != null);
IceSSL.SSLConnectionInfo info = new IceSSL.SSLConnectionInfo();
+ info.endpoint = _endpointInfo;
IPEndPoint localEndpoint = IceInternal.Network.getLocalAddress(_fd);
info.localAddress = localEndpoint.Address.ToString();
info.localPort = localEndpoint.Port;
@@ -403,13 +404,13 @@ namespace IceSSL
//
// Only for use by ConnectorI, AcceptorI.
//
- internal TransceiverI(Instance instance, Socket fd, IPEndPoint addr, string host, bool connected,
- string adapterName)
+ internal TransceiverI(Instance instance, SSLEndpointInfo endpointInfo, Socket fd, IPEndPoint addr,
+ bool connected, string adapterName)
{
_instance = instance;
+ _endpointInfo = endpointInfo;
_fd = fd;
_addr = addr;
- _host = host;
_adapterName = adapterName;
_stream = null;
_info = null;
@@ -456,7 +457,7 @@ namespace IceSSL
//
// Client authentication.
//
- _writeResult = _stream.BeginAuthenticateAsClient(_host, _instance.certs(),
+ _writeResult = _stream.BeginAuthenticateAsClient(_endpointInfo.host, _instance.certs(),
_instance.protocols(),
_instance.checkCRL() > 0,
callback, state);
@@ -522,7 +523,7 @@ namespace IceSSL
}
_info = Util.populateConnectionInfo(_stream, _fd, _chain, _adapterName, _adapterName != null);
- _instance.verifyPeer(_info, _fd, _host, _adapterName != null);
+ _instance.verifyPeer(_info, _fd, _endpointInfo.host, _adapterName != null);
if(_instance.networkTraceLevel() >= 1)
{
@@ -716,9 +717,9 @@ namespace IceSSL
}
private Instance _instance;
+ private SSLEndpointInfo _endpointInfo;
private Socket _fd;
private IPEndPoint _addr;
- private string _host;
private string _adapterName;
private SslStream _stream;
private ConnectionInfo _info;
diff --git a/java/src/Ice/ConnectionI.java b/java/src/Ice/ConnectionI.java
index f03033b8cb9..83508d52682 100644
--- a/java/src/Ice/ConnectionI.java
+++ b/java/src/Ice/ConnectionI.java
@@ -1290,7 +1290,6 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
_writeStream = new IceInternal.BasicStream(instance);
_dispatchCount = 0;
_state = StateNotInitialized;
- _stateTime = IceInternal.Time.currentMonotonicTimeMillis();
int compressionLevel = initData.properties.getPropertyAsIntWithDefault("Ice.Compression.Level", 1);
if(compressionLevel < 1)
@@ -1563,7 +1562,6 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
}
_state = state;
- _stateTime = IceInternal.Time.currentMonotonicTimeMillis();
notifyAll();
@@ -2500,7 +2498,6 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
private int _dispatchCount;
private int _state; // The current state.
- private long _stateTime; // The last time when the state was changed.
private IceInternal.Incoming _incomingCache;
private java.lang.Object _incomingCacheMutex = new java.lang.Object();
diff --git a/java/src/IceInternal/TcpAcceptor.java b/java/src/IceInternal/TcpAcceptor.java
index 50f46759f6f..74c24556065 100644
--- a/java/src/IceInternal/TcpAcceptor.java
+++ b/java/src/IceInternal/TcpAcceptor.java
@@ -66,7 +66,7 @@ class TcpAcceptor implements Acceptor
_logger.trace(_traceLevels.networkCat, s);
}
- return new TcpTransceiver(_instance, fd, true);
+ return new TcpTransceiver(_instance, _endpointInfo, fd, true);
}
public String
@@ -81,9 +81,10 @@ class TcpAcceptor implements Acceptor
return _addr.getPort();
}
- TcpAcceptor(Instance instance, String host, int port)
+ TcpAcceptor(Instance instance, Ice.TcpEndpointInfo endpointInfo)
{
_instance = instance;
+ _endpointInfo = endpointInfo;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
_backlog = instance.initializationData().properties.getPropertyAsIntWithDefault("Ice.TCP.Backlog", 511);
@@ -110,7 +111,7 @@ class TcpAcceptor implements Acceptor
//
Network.setReuseAddress(_fd, true);
}
- _addr = Network.getAddressForServer(host, port, _instance.protocolSupport());
+ _addr = Network.getAddressForServer(_endpointInfo.host, _endpointInfo.port, _instance.protocolSupport());
if(_traceLevels.network >= 2)
{
String s = "attempting to bind to tcp socket " + toString();
@@ -135,6 +136,7 @@ class TcpAcceptor implements Acceptor
}
private Instance _instance;
+ private Ice.TcpEndpointInfo _endpointInfo;
private TraceLevels _traceLevels;
private Ice.Logger _logger;
private java.nio.channels.ServerSocketChannel _fd;
diff --git a/java/src/IceInternal/TcpConnector.java b/java/src/IceInternal/TcpConnector.java
index ae5d618be99..b2f2e331a10 100644
--- a/java/src/IceInternal/TcpConnector.java
+++ b/java/src/IceInternal/TcpConnector.java
@@ -34,7 +34,7 @@ final class TcpConnector implements Connector
_logger.trace(_traceLevels.networkCat, s);
}
}
- return new TcpTransceiver(_instance, fd, connected);
+ return new TcpTransceiver(_instance, _endpointInfo, fd, connected);
}
catch(Ice.LocalException ex)
{
@@ -68,18 +68,19 @@ final class TcpConnector implements Connector
//
// Only for use by TcpEndpoint
//
- TcpConnector(Instance instance, java.net.InetSocketAddress addr, int timeout, String connectionId)
+ TcpConnector(Instance instance, Ice.TcpEndpointInfo endpointInfo, java.net.InetSocketAddress addr,
+ String connectionId)
{
_instance = instance;
+ _endpointInfo = endpointInfo;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
_addr = addr;
- _timeout = timeout;
_connectionId = connectionId;
_hashCode = _addr.getAddress().getHostAddress().hashCode();
_hashCode = 5 * _hashCode + _addr.getPort();
- _hashCode = 5 * _hashCode + _timeout;
+ _hashCode = 5 * _hashCode + _endpointInfo.timeout;
_hashCode = 5 * _hashCode + _connectionId.hashCode();
}
@@ -102,7 +103,7 @@ final class TcpConnector implements Connector
return true;
}
- if(_timeout != p._timeout)
+ if(_endpointInfo.timeout != p._endpointInfo.timeout)
{
return false;
}
@@ -116,10 +117,10 @@ final class TcpConnector implements Connector
}
private Instance _instance;
+ private Ice.TcpEndpointInfo _endpointInfo;
private TraceLevels _traceLevels;
private Ice.Logger _logger;
private java.net.InetSocketAddress _addr;
- private int _timeout;
private String _connectionId = "";
private int _hashCode;
}
diff --git a/java/src/IceInternal/TcpEndpointI.java b/java/src/IceInternal/TcpEndpointI.java
index 44fc624af8d..65577f31365 100644
--- a/java/src/IceInternal/TcpEndpointI.java
+++ b/java/src/IceInternal/TcpEndpointI.java
@@ -394,7 +394,7 @@ final class TcpEndpointI extends EndpointI
public Acceptor
acceptor(EndpointIHolder endpoint, String adapterName)
{
- TcpAcceptor p = new TcpAcceptor(_instance, _host, _port);
+ TcpAcceptor p = new TcpAcceptor(_instance, (Ice.TcpEndpointInfo)getInfo());
endpoint.value =
new TcpEndpointI(_instance, _host, p.effectivePort(), _timeout, _connectionId, _compress);
return p;
@@ -524,7 +524,7 @@ final class TcpEndpointI extends EndpointI
java.util.List<Connector> connectors = new java.util.ArrayList<Connector>();
for(java.net.InetSocketAddress p : addresses)
{
- connectors.add(new TcpConnector(_instance, p, _timeout, _connectionId));
+ connectors.add(new TcpConnector(_instance, (Ice.TcpEndpointInfo)getInfo(), p, _connectionId));
}
return connectors;
}
diff --git a/java/src/IceInternal/TcpTransceiver.java b/java/src/IceInternal/TcpTransceiver.java
index fef0558e62c..155c2b28f7b 100644
--- a/java/src/IceInternal/TcpTransceiver.java
+++ b/java/src/IceInternal/TcpTransceiver.java
@@ -226,6 +226,7 @@ final class TcpTransceiver implements Transceiver
{
assert(_fd != null);
Ice.TcpConnectionInfo info = new Ice.TcpConnectionInfo();
+ info.endpoint = _endpointInfo;
java.net.Socket socket = _fd.socket();
info.localAddress = socket.getLocalAddress().getHostAddress();
info.localPort = socket.getLocalPort();
@@ -254,8 +255,10 @@ final class TcpTransceiver implements Transceiver
//
// Only for use by TcpConnector, TcpAcceptor
//
- TcpTransceiver(Instance instance, java.nio.channels.SocketChannel fd, boolean connected)
+ TcpTransceiver(Instance instance, Ice.TcpEndpointInfo endpointInfo, java.nio.channels.SocketChannel fd,
+ boolean connected)
{
+ _endpointInfo = endpointInfo;
_fd = fd;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
@@ -288,6 +291,7 @@ final class TcpTransceiver implements Transceiver
super.finalize();
}
+ private Ice.TcpEndpointInfo _endpointInfo;
private java.nio.channels.SocketChannel _fd;
private TraceLevels _traceLevels;
private Ice.Logger _logger;
diff --git a/java/src/IceInternal/UdpConnector.java b/java/src/IceInternal/UdpConnector.java
index edff81e92a2..96ab5ed69c7 100644
--- a/java/src/IceInternal/UdpConnector.java
+++ b/java/src/IceInternal/UdpConnector.java
@@ -14,7 +14,7 @@ final class UdpConnector implements Connector
public Transceiver
connect()
{
- return new UdpTransceiver(_instance, _addr, _mcastInterface, _mcastTtl);
+ return new UdpTransceiver(_instance, _endpointInfo, _addr);
}
public java.nio.channels.SelectableChannel
@@ -45,23 +45,18 @@ final class UdpConnector implements Connector
//
// Only for use by TcpEndpoint
//
- UdpConnector(Instance instance, java.net.InetSocketAddress addr, String mcastInterface, int mcastTtl,
- byte protocolMajor, byte protocolMinor, byte encodingMajor, byte encodingMinor, String connectionId)
+ UdpConnector(Instance instance, Ice.UdpEndpointInfo endpointInfo, java.net.InetSocketAddress addr,
+ String connectionId)
{
_instance = instance;
+ _endpointInfo = endpointInfo;
_addr = addr;
- _mcastInterface = mcastInterface;
- _mcastTtl = mcastTtl;
- _protocolMajor = protocolMajor;
- _protocolMinor = protocolMinor;
- _encodingMajor = encodingMajor;
- _encodingMinor = encodingMinor;
_connectionId = connectionId;
_hashCode = _addr.getAddress().getHostAddress().hashCode();
_hashCode = 5 * _hashCode + _addr.getPort();
- _hashCode = 5 * _hashCode + _mcastInterface.hashCode();
- _hashCode = 5 * _hashCode + _mcastTtl;
+ _hashCode = 5 * _hashCode + _endpointInfo.mcastInterface.hashCode();
+ _hashCode = 5 * _hashCode + _endpointInfo.mcastTtl;
_hashCode = 5 * _hashCode + _connectionId.hashCode();
}
@@ -89,32 +84,32 @@ final class UdpConnector implements Connector
return false;
}
- if(_protocolMajor != p._protocolMajor)
+ if(_endpointInfo.protocolMajor != p._endpointInfo.protocolMajor)
{
return false;
}
- if(_protocolMinor != p._protocolMinor)
+ if(_endpointInfo.protocolMinor != p._endpointInfo.protocolMinor)
{
return false;
}
- if(_encodingMajor != p._encodingMajor)
+ if(_endpointInfo.encodingMajor != p._endpointInfo.encodingMajor)
{
return false;
}
- if(_encodingMinor != p._encodingMinor)
+ if(_endpointInfo.encodingMinor != p._endpointInfo.encodingMinor)
{
return false;
}
- if(_mcastTtl != p._mcastTtl)
+ if(_endpointInfo.mcastTtl != p._endpointInfo.mcastTtl)
{
return false;
}
- if(_mcastInterface.compareTo(p._mcastInterface) != 0)
+ if(_endpointInfo.mcastInterface.compareTo(p._endpointInfo.mcastInterface) != 0)
{
return false;
}
@@ -123,13 +118,8 @@ final class UdpConnector implements Connector
}
private Instance _instance;
+ private Ice.UdpEndpointInfo _endpointInfo;
private java.net.InetSocketAddress _addr;
- private String _mcastInterface;
- private int _mcastTtl;
- private byte _protocolMajor;
- private byte _protocolMinor;
- private byte _encodingMajor;
- private byte _encodingMinor;
private String _connectionId;
private int _hashCode;
}
diff --git a/java/src/IceInternal/UdpEndpointI.java b/java/src/IceInternal/UdpEndpointI.java
index 846b4f41c48..0760a94f180 100644
--- a/java/src/IceInternal/UdpEndpointI.java
+++ b/java/src/IceInternal/UdpEndpointI.java
@@ -528,7 +528,7 @@ final class UdpEndpointI extends EndpointI
public Transceiver
transceiver(EndpointIHolder endpoint)
{
- UdpTransceiver p = new UdpTransceiver(_instance, _host, _port, _mcastInterface, _connect);
+ UdpTransceiver p = new UdpTransceiver(_instance, (Ice.UdpEndpointInfo)getInfo(), _connect);
endpoint.value = new UdpEndpointI(_instance, _host, p.effectivePort(), _mcastInterface, _mcastTtl,
_protocolMajor, _protocolMinor, _encodingMajor, _encodingMinor, _connect,
_connectionId, _compress);
@@ -744,9 +744,7 @@ final class UdpEndpointI extends EndpointI
java.util.ArrayList<Connector> connectors = new java.util.ArrayList<Connector>();
for(java.net.InetSocketAddress p : addresses)
{
- connectors.add(
- new UdpConnector(_instance, p, _mcastInterface, _mcastTtl, _protocolMajor, _protocolMinor,
- _encodingMajor, _encodingMinor, _connectionId));
+ connectors.add(new UdpConnector(_instance, (Ice.UdpEndpointInfo)getInfo(), p, _connectionId));
}
return connectors;
}
diff --git a/java/src/IceInternal/UdpTransceiver.java b/java/src/IceInternal/UdpTransceiver.java
index 10f4c531935..717688d3e92 100644
--- a/java/src/IceInternal/UdpTransceiver.java
+++ b/java/src/IceInternal/UdpTransceiver.java
@@ -235,6 +235,7 @@ final class UdpTransceiver implements Transceiver
assert(_fd != null);
Ice.UdpConnectionInfo info = new Ice.UdpConnectionInfo();
+ info.endpoint = _endpointInfo;
java.net.DatagramSocket socket = _fd.socket();
info.localAddress = socket.getLocalAddress().getHostAddress();
info.localPort = socket.getLocalPort();
@@ -284,8 +285,9 @@ final class UdpTransceiver implements Transceiver
//
// Only for use by UdpEndpoint
//
- UdpTransceiver(Instance instance, java.net.InetSocketAddress addr, String mcastInterface, int mcastTtl)
+ UdpTransceiver(Instance instance, Ice.UdpEndpointInfo endpointInfo, java.net.InetSocketAddress addr)
{
+ _endpointInfo = endpointInfo;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
_stats = instance.initializationData().stats;
@@ -302,7 +304,7 @@ final class UdpTransceiver implements Transceiver
_connect = false; // We're connected now
if(_addr.getAddress().isMulticastAddress())
{
- configureMulticast(null, mcastInterface, mcastTtl);
+ configureMulticast(null, _endpointInfo.mcastInterface, _endpointInfo.mcastTtl);
}
if(_traceLevels.network >= 1)
@@ -321,8 +323,9 @@ final class UdpTransceiver implements Transceiver
//
// Only for use by UdpEndpoint
//
- UdpTransceiver(Instance instance, String host, int port, String mcastInterface, boolean connect)
+ UdpTransceiver(Instance instance, Ice.UdpEndpointInfo endpointInfo, boolean connect)
{
+ _endpointInfo = endpointInfo;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
_stats = instance.initializationData().stats;
@@ -334,7 +337,7 @@ final class UdpTransceiver implements Transceiver
_fd = Network.createUdpSocket();
setBufSize(instance);
Network.setBlock(_fd, false);
- _addr = Network.getAddressForServer(host, port, instance.protocolSupport());
+ _addr = Network.getAddressForServer(_endpointInfo.host, _endpointInfo.port, instance.protocolSupport());
if(_traceLevels.network >= 2)
{
String s = "attempting to bind to udp socket " + Network.addrToString(_addr);
@@ -344,12 +347,12 @@ final class UdpTransceiver implements Transceiver
{
Network.setReuseAddress(_fd, true);
_mcastAddr = _addr;
- _addr = Network.doBind(_fd, Network.getAddress("0.0.0.0", port, Network.EnableIPv4));
- if(port == 0)
+ _addr = Network.doBind(_fd, Network.getAddress("0.0.0.0", _endpointInfo.port, Network.EnableIPv4));
+ if(_endpointInfo.port == 0)
{
_mcastAddr = new java.net.InetSocketAddress(_mcastAddr.getAddress(), _addr.getPort());
}
- configureMulticast(_mcastAddr, mcastInterface, -1);
+ configureMulticast(_mcastAddr, _endpointInfo.mcastInterface, -1);
}
else
{
@@ -567,6 +570,7 @@ final class UdpTransceiver implements Transceiver
super.finalize();
}
+ private Ice.UdpEndpointInfo _endpointInfo;
private TraceLevels _traceLevels;
private Ice.Logger _logger;
private Ice.Stats _stats;
diff --git a/java/src/IceSSL/AcceptorI.java b/java/src/IceSSL/AcceptorI.java
index 18184b50aa2..432efd98985 100644
--- a/java/src/IceSSL/AcceptorI.java
+++ b/java/src/IceSSL/AcceptorI.java
@@ -88,7 +88,7 @@ final class AcceptorI implements IceInternal.Acceptor
IceInternal.Network.fdToString(fd));
}
- return new TransceiverI(_instance, engine, fd, "", true, true, _adapterName);
+ return new TransceiverI(_instance, _endpointInfo, engine, fd, true, true, _adapterName);
}
public String
@@ -103,9 +103,10 @@ final class AcceptorI implements IceInternal.Acceptor
return _addr.getPort();
}
- AcceptorI(Instance instance, String adapterName, String host, int port)
+ AcceptorI(Instance instance, SSLEndpointInfo endpointInfo, String adapterName)
{
_instance = instance;
+ _endpointInfo = endpointInfo;
_adapterName = adapterName;
_logger = instance.communicator().getLogger();
_backlog = instance.communicator().getProperties().getPropertyAsIntWithDefault("Ice.TCP.Backlog", 511);
@@ -132,7 +133,8 @@ final class AcceptorI implements IceInternal.Acceptor
//
IceInternal.Network.setReuseAddress(_fd, true);
}
- _addr = IceInternal.Network.getAddressForServer(host, port, _instance.protocolSupport());
+ _addr = IceInternal.Network.getAddressForServer(_endpointInfo.host, _endpointInfo.port,
+ _instance.protocolSupport());
if(_instance.networkTraceLevel() >= 2)
{
String s = "attempting to bind to ssl socket " + toString();
@@ -157,6 +159,7 @@ final class AcceptorI implements IceInternal.Acceptor
}
private Instance _instance;
+ private SSLEndpointInfo _endpointInfo;
private String _adapterName;
private Ice.Logger _logger;
private java.nio.channels.ServerSocketChannel _fd;
diff --git a/java/src/IceSSL/ConnectorI.java b/java/src/IceSSL/ConnectorI.java
index 32e8d4cf817..07a12015439 100644
--- a/java/src/IceSSL/ConnectorI.java
+++ b/java/src/IceSSL/ConnectorI.java
@@ -39,7 +39,7 @@ final class ConnectorI implements IceInternal.Connector
try
{
javax.net.ssl.SSLEngine engine = _instance.createSSLEngine(false);
- return new TransceiverI(_instance, engine, fd, _host, connected, false, "");
+ return new TransceiverI(_instance, _endpointInfo, engine, fd, connected, false, "");
}
catch(RuntimeException ex)
{
@@ -79,18 +79,17 @@ final class ConnectorI implements IceInternal.Connector
//
// Only for use by EndpointI.
//
- ConnectorI(Instance instance, String host, java.net.InetSocketAddress addr, int timeout, String connectionId)
+ ConnectorI(Instance instance, SSLEndpointInfo endpointInfo, java.net.InetSocketAddress addr, String connectionId)
{
_instance = instance;
+ _endpointInfo = endpointInfo;
_logger = instance.communicator().getLogger();
- _host = host;
_addr = addr;
- _timeout = timeout;
_connectionId = connectionId;
_hashCode = _addr.getAddress().getHostAddress().hashCode();
_hashCode = 5 * _hashCode + _addr.getPort();
- _hashCode = 5 * _hashCode + _timeout;
+ _hashCode = 5 * _hashCode + _endpointInfo.timeout;
_hashCode = 5 * _hashCode + _connectionId.hashCode();
}
@@ -113,7 +112,7 @@ final class ConnectorI implements IceInternal.Connector
return true;
}
- if(_timeout != p._timeout)
+ if(_endpointInfo.timeout != p._endpointInfo.timeout)
{
return false;
}
@@ -127,10 +126,9 @@ final class ConnectorI implements IceInternal.Connector
}
private Instance _instance;
+ private SSLEndpointInfo _endpointInfo;
private Ice.Logger _logger;
- private String _host;
private java.net.InetSocketAddress _addr;
- private int _timeout;
private String _connectionId;
private int _hashCode;
}
diff --git a/java/src/IceSSL/EndpointI.java b/java/src/IceSSL/EndpointI.java
index 77e70e0671d..4fc235a2c10 100644
--- a/java/src/IceSSL/EndpointI.java
+++ b/java/src/IceSSL/EndpointI.java
@@ -394,7 +394,7 @@ final class EndpointI extends IceInternal.EndpointI
public IceInternal.Acceptor
acceptor(IceInternal.EndpointIHolder endpoint, String adapterName)
{
- AcceptorI p = new AcceptorI(_instance, adapterName, _host, _port);
+ AcceptorI p = new AcceptorI(_instance, (SSLEndpointInfo)getInfo(), adapterName);
endpoint.value =
new EndpointI(_instance, _host, p.effectivePort(), _timeout, _connectionId, _compress);
return p;
@@ -525,7 +525,7 @@ final class EndpointI extends IceInternal.EndpointI
java.util.List<IceInternal.Connector> connectors = new java.util.ArrayList<IceInternal.Connector>();
for(java.net.InetSocketAddress p : addresses)
{
- connectors.add(new ConnectorI(_instance, _host, p, _timeout, _connectionId));
+ connectors.add(new ConnectorI(_instance, (SSLEndpointInfo)getInfo(), p, _connectionId));
}
return connectors;
}
diff --git a/java/src/IceSSL/TransceiverI.java b/java/src/IceSSL/TransceiverI.java
index 54687c5f052..bd7a8a8a3ca 100644
--- a/java/src/IceSSL/TransceiverI.java
+++ b/java/src/IceSSL/TransceiverI.java
@@ -280,6 +280,7 @@ final class TransceiverI implements IceInternal.Transceiver
assert(_fd != null);
IceSSL.SSLConnectionInfo info = new IceSSL.SSLConnectionInfo();
+ info.endpoint = _endpointInfo;
java.net.Socket socket = _fd.socket();
info.localAddress = socket.getLocalAddress().getHostAddress();
info.localPort = socket.getLocalPort();
@@ -339,13 +340,13 @@ final class TransceiverI implements IceInternal.Transceiver
//
// Only for use by ConnectorI, AcceptorI.
//
- TransceiverI(Instance instance, javax.net.ssl.SSLEngine engine, java.nio.channels.SocketChannel fd,
- String host, boolean connected, boolean incoming, String adapterName)
+ TransceiverI(Instance instance, SSLEndpointInfo endpointInfo, javax.net.ssl.SSLEngine engine,
+ java.nio.channels.SocketChannel fd, boolean connected, boolean incoming, String adapterName)
{
_instance = instance;
+ _endpointInfo = endpointInfo;
_engine = engine;
_fd = fd;
- _host = host;
_incoming = incoming;
_adapterName = adapterName;
_state = connected ? StateConnected : StateNeedConnect;
@@ -536,7 +537,7 @@ final class TransceiverI implements IceInternal.Transceiver
// Additional verification.
//
_info = Util.populateConnectionInfo(_engine.getSession(), _fd.socket(), _adapterName, _incoming);
- _instance.verifyPeer(_info, _fd, _host, _incoming);
+ _instance.verifyPeer(_info, _fd, _endpointInfo.host, _incoming);
if(_instance.networkTraceLevel() >= 1)
{
@@ -791,9 +792,9 @@ final class TransceiverI implements IceInternal.Transceiver
}
private Instance _instance;
+ private SSLEndpointInfo _endpointInfo;
private java.nio.channels.SocketChannel _fd;
private javax.net.ssl.SSLEngine _engine;
- private String _host;
private boolean _incoming;
private String _adapterName;
private int _state;
diff --git a/php/lib/.depend b/php/lib/.depend
index b20d05bab1a..1fcdb8974dc 100644
--- a/php/lib/.depend
+++ b/php/lib/.depend
@@ -24,7 +24,7 @@ Ice/Stats.php: $(slicedir)/Ice/Stats.ice $(SLICE2PHP) $(SLICEPARSERLIB)
Ice/Process.php: $(slicedir)/Ice/Process.ice $(SLICE2PHP) $(SLICEPARSERLIB)
Ice/ProcessF.php: $(slicedir)/Ice/ProcessF.ice $(SLICE2PHP) $(SLICEPARSERLIB)
Ice/FacetMap.php: $(slicedir)/Ice/FacetMap.ice $(SLICE2PHP) $(SLICEPARSERLIB)
-Ice/Connection.php: $(slicedir)/Ice/Connection.ice $(slicedir)/Ice/ObjectAdapterF.ice $(slicedir)/Ice/Identity.ice $(SLICE2PHP) $(SLICEPARSERLIB)
+Ice/Connection.php: $(slicedir)/Ice/Connection.ice $(slicedir)/Ice/ObjectAdapterF.ice $(slicedir)/Ice/Identity.ice $(slicedir)/Ice/Endpoint.ice $(slicedir)/Ice/BuiltinSequences.ice $(slicedir)/Ice/EndpointF.ice $(SLICE2PHP) $(SLICEPARSERLIB)
Ice/ConnectionF.php: $(slicedir)/Ice/ConnectionF.ice $(SLICE2PHP) $(SLICEPARSERLIB)
Ice/SliceChecksumDict.php: $(slicedir)/Ice/SliceChecksumDict.ice $(SLICE2PHP) $(SLICEPARSERLIB)
Ice/Endpoint.php: $(slicedir)/Ice/Endpoint.ice $(slicedir)/Ice/BuiltinSequences.ice $(slicedir)/Ice/EndpointF.ice $(SLICE2PHP) $(SLICEPARSERLIB)
diff --git a/php/src/IcePHP/.depend b/php/src/IcePHP/.depend
index de92e482369..de76f760319 100644
--- a/php/src/IcePHP/.depend
+++ b/php/src/IcePHP/.depend
@@ -1,10 +1,10 @@
-Communicator$(OBJEXT): Communicator.cpp ./Communicator.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Logger.h ./Properties.h ./Proxy.h ./Types.h ./Operation.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h ./Util.h $(ice_cpp_dir)/include/IceUtil/Options.h $(ice_cpp_dir)/include/IceUtil/RecMutex.h
-Connection$(OBJEXT): Connection.cpp ./Connection.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Util.h
-Endpoint$(OBJEXT): Endpoint.cpp ./Endpoint.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Util.h
-Init$(OBJEXT): Init.cpp ./Communicator.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Connection.h ./Endpoint.h ./Logger.h ./Operation.h ./Properties.h ./Proxy.h ./Types.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h ./Util.h
-Logger$(OBJEXT): Logger.cpp ./Logger.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Util.h
-Operation$(OBJEXT): Operation.cpp ./Operation.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Communicator.h ./Proxy.h ./Types.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h ./Util.h $(ice_cpp_dir)/include/Slice/PHPUtil.h $(ice_cpp_dir)/include/Slice/Parser.h
-Properties$(OBJEXT): Properties.cpp ./Properties.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Util.h
-Proxy$(OBJEXT): Proxy.cpp ./Proxy.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Communicator.h ./Types.h ./Operation.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h ./Connection.h ./Endpoint.h ./Util.h
-Types$(OBJEXT): Types.cpp ./Types.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Communicator.h ./Operation.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h ./Proxy.h ./Util.h $(ice_cpp_dir)/include/IceUtil/InputUtil.h $(ice_cpp_dir)/include/IceUtil/ScopedArray.h $(ice_cpp_dir)/include/Slice/PHPUtil.h $(ice_cpp_dir)/include/Slice/Parser.h
-Util$(OBJEXT): Util.cpp ./Util.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h $(ice_cpp_dir)/include/IceUtil/UUID.h $(ice_cpp_dir)/include/Slice/PHPUtil.h $(ice_cpp_dir)/include/Slice/Parser.h
+Communicator$(OBJEXT): Communicator.cpp ./Communicator.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Logger.h ./Properties.h ./Proxy.h ./Types.h ./Operation.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h ./Util.h $(ice_cpp_dir)/include/IceUtil/Options.h $(ice_cpp_dir)/include/IceUtil/RecMutex.h
+Connection$(OBJEXT): Connection.cpp ./Connection.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Util.h
+Endpoint$(OBJEXT): Endpoint.cpp ./Endpoint.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Util.h
+Init$(OBJEXT): Init.cpp ./Communicator.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Connection.h ./Endpoint.h ./Logger.h ./Operation.h ./Properties.h ./Proxy.h ./Types.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h ./Util.h
+Logger$(OBJEXT): Logger.cpp ./Logger.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Util.h
+Operation$(OBJEXT): Operation.cpp ./Operation.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Communicator.h ./Proxy.h ./Types.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h ./Util.h $(ice_cpp_dir)/include/Slice/PHPUtil.h $(ice_cpp_dir)/include/Slice/Parser.h
+Properties$(OBJEXT): Properties.cpp ./Properties.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Util.h
+Proxy$(OBJEXT): Proxy.cpp ./Proxy.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Communicator.h ./Types.h ./Operation.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h ./Connection.h ./Endpoint.h ./Util.h
+Types$(OBJEXT): Types.cpp ./Types.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h ./Communicator.h ./Operation.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h ./Proxy.h ./Util.h $(ice_cpp_dir)/include/IceUtil/InputUtil.h $(ice_cpp_dir)/include/IceUtil/ScopedArray.h $(ice_cpp_dir)/include/Slice/PHPUtil.h $(ice_cpp_dir)/include/Slice/Parser.h
+Util$(OBJEXT): Util.cpp ./Util.h ./Config.h $(ice_cpp_dir)/include/Ice/Ice.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/IceUtil/MutexProtocol.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/EndpointF.h $(ice_cpp_dir)/include/Ice/EndpointTypes.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LoggerUtil.h $(ice_cpp_dir)/include/Ice/Stats.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectAdapter.h $(ice_cpp_dir)/include/Ice/FacetMap.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ServantLocator.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Process.h $(ice_cpp_dir)/include/Ice/Application.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Functional.h $(ice_cpp_dir)/include/IceUtil/Functional.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/FactoryTableInit.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/DispatchInterceptor.h $(ice_cpp_dir)/include/Ice/IconvStringConverter.h $(ice_cpp_dir)/include/IceUtil/UUID.h $(ice_cpp_dir)/include/Slice/PHPUtil.h $(ice_cpp_dir)/include/Slice/Parser.h
diff --git a/py/modules/IcePy/Connection.cpp b/py/modules/IcePy/Connection.cpp
index 3bf3e761639..e373f1c1f17 100644
--- a/py/modules/IcePy/Connection.cpp
+++ b/py/modules/IcePy/Connection.cpp
@@ -11,6 +11,7 @@
# include <IceUtil/Config.h>
#endif
#include <Connection.h>
+#include <ConnectionInfo.h>
#include <ObjectAdapter.h>
#include <Proxy.h>
#include <Util.h>
@@ -281,6 +282,25 @@ connectionToString(ConnectionObject* self)
return createString(str);
}
+#ifdef WIN32
+extern "C"
+#endif
+static PyObject*
+connectionGetInfo(ConnectionObject* self)
+{
+ assert(self->connection);
+ try
+ {
+ Ice::ConnectionInfoPtr info = (*self->connection)->getInfo();
+ return createConnectionInfo(info);
+ }
+ catch(const Ice::Exception& ex)
+ {
+ setPythonException(ex);
+ return 0;
+ }
+}
+
static PyMethodDef ConnectionMethods[] =
{
{ STRCAST("close"), reinterpret_cast<PyCFunction>(connectionClose), METH_VARARGS,
@@ -299,6 +319,8 @@ static PyMethodDef ConnectionMethods[] =
PyDoc_STR(STRCAST("timeout() -> int")) },
{ STRCAST("toString"), reinterpret_cast<PyCFunction>(connectionToString), METH_NOARGS,
PyDoc_STR(STRCAST("toString() -> string")) },
+ { STRCAST("getInfo"), reinterpret_cast<PyCFunction>(connectionGetInfo), METH_NOARGS,
+ PyDoc_STR(STRCAST("getInfo() -> Ice.ConnectionInfo")) },
{ 0, 0 } /* sentinel */
};
diff --git a/py/modules/IcePy/ConnectionInfo.cpp b/py/modules/IcePy/ConnectionInfo.cpp
new file mode 100644
index 00000000000..5220728a5ea
--- /dev/null
+++ b/py/modules/IcePy/ConnectionInfo.cpp
@@ -0,0 +1,363 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2009 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.
+//
+// **********************************************************************
+
+#ifdef _WIN32
+# include <IceUtil/Config.h>
+#endif
+#include <ConnectionInfo.h>
+#include <EndpointInfo.h>
+#include <Util.h>
+#include <structmember.h>
+
+using namespace std;
+using namespace IcePy;
+
+namespace IcePy
+{
+
+struct ConnectionInfoObject
+{
+ PyObject_HEAD
+
+ // Ice::ConnectionInfo
+ PyObject* endpoint;
+
+ // Ice::TcpConnectionInfo
+ // Ice::UdpConnectionInfo
+ PyObject* localAddress;
+ int localPort;
+ PyObject* remoteAddress;
+ int remotePort;
+
+ // Ice::UdpConnectionInfo
+ PyObject* mcastAddress;
+ int mcastPort;
+
+ Ice::ConnectionInfoPtr* connectionInfo;
+};
+
+extern PyTypeObject TcpConnectionInfoType;
+extern PyTypeObject UdpConnectionInfoType;
+
+}
+
+#ifdef WIN32
+extern "C"
+#endif
+static ConnectionInfoObject*
+connectionInfoNew(PyObject* /*arg*/)
+{
+ PyErr_Format(PyExc_RuntimeError, STRCAST("An connection info cannot be created directly"));
+ return 0;
+}
+
+#ifdef WIN32
+extern "C"
+#endif
+static void
+connectionInfoDealloc(ConnectionInfoObject* self)
+{
+ if(Ice::TcpConnectionInfoPtr::dynamicCast(*self->connectionInfo))
+ {
+ Py_DECREF(self->localAddress);
+ Py_DECREF(self->remoteAddress);
+ }
+ else if(Ice::UdpConnectionInfoPtr::dynamicCast(*self->connectionInfo))
+ {
+ Py_DECREF(self->localAddress);
+ Py_DECREF(self->remoteAddress);
+ Py_DECREF(self->mcastAddress);
+ }
+
+ delete self->connectionInfo;
+ Py_DECREF(self->endpoint);
+ PyObject_Del(self);
+}
+
+static PyMemberDef ConnectionInfoMembers[] =
+{
+ { STRCAST("endpoint"), T_OBJECT, offsetof(ConnectionInfoObject, endpoint), READONLY,
+ PyDoc_STR(STRCAST("endpoint used to establish the connection")) },
+ { 0, 0 } /* sentinel */
+};
+
+static PyMemberDef TcpConnectionInfoMembers[] =
+{
+ { STRCAST("localAddress"), T_OBJECT, offsetof(ConnectionInfoObject, localAddress), READONLY,
+ PyDoc_STR(STRCAST("local address")) },
+ { STRCAST("localPort"), T_INT, offsetof(ConnectionInfoObject, localPort), READONLY,
+ PyDoc_STR(STRCAST("local port")) },
+ { STRCAST("remoteAddress"), T_OBJECT, offsetof(ConnectionInfoObject, remoteAddress), READONLY,
+ PyDoc_STR(STRCAST("remote address")) },
+ { STRCAST("remotePort"), T_INT, offsetof(ConnectionInfoObject, remotePort), READONLY,
+ PyDoc_STR(STRCAST("remote port")) },
+ { 0, 0 } /* sentinel */
+};
+
+static PyMemberDef UdpConnectionInfoMembers[] =
+{
+ { STRCAST("localAddress"), T_OBJECT, offsetof(ConnectionInfoObject, localAddress), READONLY,
+ PyDoc_STR(STRCAST("local address")) },
+ { STRCAST("localPort"), T_INT, offsetof(ConnectionInfoObject, localPort), READONLY,
+ PyDoc_STR(STRCAST("local port")) },
+ { STRCAST("remoteAddress"), T_OBJECT, offsetof(ConnectionInfoObject, remoteAddress), READONLY,
+ PyDoc_STR(STRCAST("remote address")) },
+ { STRCAST("remotePort"), T_INT, offsetof(ConnectionInfoObject, remotePort), READONLY,
+ PyDoc_STR(STRCAST("remote port")) },
+ { STRCAST("mcastAddress"), T_OBJECT, offsetof(ConnectionInfoObject, mcastAddress), READONLY,
+ PyDoc_STR(STRCAST("multicast address")) },
+ { STRCAST("mcastPort"), T_INT, offsetof(ConnectionInfoObject, mcastPort), READONLY,
+ PyDoc_STR(STRCAST("multicast port")) },
+ { 0, 0 } /* sentinel */
+};
+
+namespace IcePy
+{
+
+PyTypeObject ConnectionInfoType =
+{
+ /* The ob_type field must be initialized in the module init function
+ * to be portable to Windows without using C++. */
+ PyObject_HEAD_INIT(0)
+ 0, /* ob_size */
+ STRCAST("IcePy.ConnectionInfo"), /* tp_name */
+ sizeof(ConnectionInfoObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)connectionInfoDealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ ConnectionInfoMembers, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ (newfunc)connectionInfoNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+};
+
+PyTypeObject TcpConnectionInfoType =
+{
+ /* The ob_type field must be initialized in the module init function
+ * to be portable to Windows without using C++. */
+ PyObject_HEAD_INIT(0)
+ 0, /* ob_size */
+ STRCAST("IcePy.TcpConnectionInfo"),/* tp_name */
+ sizeof(ConnectionInfoObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)connectionInfoDealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ TcpConnectionInfoMembers, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ (newfunc)connectionInfoNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+};
+
+PyTypeObject UdpConnectionInfoType =
+{
+ /* The ob_type field must be initialized in the module init function
+ * to be portable to Windows without using C++. */
+ PyObject_HEAD_INIT(0)
+ 0, /* ob_size */
+ STRCAST("IcePy.UdpConnectionInfo"),/* tp_name */
+ sizeof(ConnectionInfoObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)connectionInfoDealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ UdpConnectionInfoMembers, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ (newfunc)connectionInfoNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+};
+
+}
+
+bool
+IcePy::initConnectionInfo(PyObject* module)
+{
+ if(PyType_Ready(&ConnectionInfoType) < 0)
+ {
+ return false;
+ }
+ PyTypeObject* type = &ConnectionInfoType; // Necessary to prevent GCC's strict-alias warnings.
+ if(PyModule_AddObject(module, STRCAST("ConnectionInfo"), reinterpret_cast<PyObject*>(type)) < 0)
+ {
+ return false;
+ }
+
+ TcpConnectionInfoType.tp_base = &ConnectionInfoType; // Force inheritance from ConnectionInfoType.
+ if(PyType_Ready(&TcpConnectionInfoType) < 0)
+ {
+ return false;
+ }
+ type = &TcpConnectionInfoType; // Necessary to prevent GCC's strict-alias warnings.
+ if(PyModule_AddObject(module, STRCAST("TcpConnectionInfo"), reinterpret_cast<PyObject*>(type)) < 0)
+ {
+ return false;
+ }
+
+ UdpConnectionInfoType.tp_base = &ConnectionInfoType; // Force inheritance from ConnectionType.
+ if(PyType_Ready(&UdpConnectionInfoType) < 0)
+ {
+ return false;
+ }
+ type = &UdpConnectionInfoType; // Necessary to prevent GCC's strict-alias warnings.
+ if(PyModule_AddObject(module, STRCAST("UdpConnectionInfo"), reinterpret_cast<PyObject*>(type)) < 0)
+ {
+ return false;
+ }
+
+ return true;
+}
+
+Ice::ConnectionInfoPtr
+IcePy::getConnectionInfo(PyObject* obj)
+{
+ assert(PyObject_IsInstance(obj, reinterpret_cast<PyObject*>(&ConnectionInfoType)));
+ ConnectionInfoObject* eobj = reinterpret_cast<ConnectionInfoObject*>(obj);
+ return *eobj->connectionInfo;
+}
+
+PyObject*
+IcePy::createConnectionInfo(const Ice::ConnectionInfoPtr& connectionInfo)
+{
+ ConnectionInfoObject* obj;
+ if(Ice::TcpConnectionInfoPtr::dynamicCast(connectionInfo))
+ {
+ obj = PyObject_New(ConnectionInfoObject, &TcpConnectionInfoType);
+ if(!obj)
+ {
+ return 0;
+ }
+
+ Ice::TcpConnectionInfoPtr tcpConnectionInfo = Ice::TcpConnectionInfoPtr::dynamicCast(connectionInfo);
+ obj->localAddress = IcePy::createString(tcpConnectionInfo->localAddress);
+ obj->localPort = static_cast<int>(tcpConnectionInfo->localPort);
+ obj->remoteAddress = IcePy::createString(tcpConnectionInfo->remoteAddress);
+ obj->remotePort = static_cast<int>(tcpConnectionInfo->remotePort);
+ }
+ else if(Ice::UdpConnectionInfoPtr::dynamicCast(connectionInfo))
+ {
+ obj = PyObject_New(ConnectionInfoObject, &UdpConnectionInfoType);
+ if(!obj)
+ {
+ return 0;
+ }
+
+ Ice::UdpConnectionInfoPtr udpConnectionInfo = Ice::UdpConnectionInfoPtr::dynamicCast(connectionInfo);
+ obj->localAddress = IcePy::createString(udpConnectionInfo->localAddress);
+ obj->localPort = static_cast<int>(udpConnectionInfo->localPort);
+ obj->remoteAddress = IcePy::createString(udpConnectionInfo->remoteAddress);
+ obj->remotePort = static_cast<int>(udpConnectionInfo->remotePort);
+ obj->mcastAddress = IcePy::createString(udpConnectionInfo->mcastAddress);
+ obj->mcastPort = static_cast<int>(udpConnectionInfo->mcastPort);
+ }
+ else
+ {
+ obj = PyObject_New(ConnectionInfoObject, &ConnectionInfoType);
+ if(!obj)
+ {
+ return 0;
+ }
+ }
+
+ obj->connectionInfo = new Ice::ConnectionInfoPtr(connectionInfo);
+ Ice::EndpointInfoPtr info = connectionInfo->endpoint;
+ obj->endpoint = IcePy::createEndpointInfo(connectionInfo->endpoint);
+
+ return (PyObject*)obj;
+}
diff --git a/py/modules/IcePy/ConnectionInfo.h b/py/modules/IcePy/ConnectionInfo.h
new file mode 100644
index 00000000000..db30b23345d
--- /dev/null
+++ b/py/modules/IcePy/ConnectionInfo.h
@@ -0,0 +1,28 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2009 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.
+//
+// **********************************************************************
+
+#ifndef ICEPY_CONNECTION_INFO_H
+#define ICEPY_CONNECTION_INFO_H
+
+#include <Config.h>
+#include <Ice/Connection.h>
+
+namespace IcePy
+{
+
+extern PyTypeObject ConnectionInfoType;
+
+bool initConnectionInfo(PyObject*);
+
+PyObject* createConnectionInfo(const Ice::ConnectionInfoPtr&);
+Ice::ConnectionInfoPtr getConnectionInfo(PyObject*);
+
+}
+
+#endif
diff --git a/py/modules/IcePy/Endpoint.cpp b/py/modules/IcePy/Endpoint.cpp
index 3dee6fae2d4..1c9eefd52ad 100644
--- a/py/modules/IcePy/Endpoint.cpp
+++ b/py/modules/IcePy/Endpoint.cpp
@@ -11,6 +11,7 @@
# include <IceUtil/Config.h>
#endif
#include <Endpoint.h>
+#include <EndpointInfo.h>
#include <Util.h>
using namespace std;
@@ -75,10 +76,31 @@ endpointRepr(EndpointObject* self)
return endpointToString(self);
}
+#ifdef WIN32
+extern "C"
+#endif
+static PyObject*
+endpointGetInfo(EndpointObject* self)
+{
+ assert(self->endpoint);
+ try
+ {
+ Ice::EndpointInfoPtr info = (*self->endpoint)->getInfo();
+ return createEndpointInfo(info);
+ }
+ catch(const Ice::Exception& ex)
+ {
+ setPythonException(ex);
+ return 0;
+ }
+}
+
static PyMethodDef EndpointMethods[] =
{
{ STRCAST("toString"), reinterpret_cast<PyCFunction>(endpointToString), METH_NOARGS,
PyDoc_STR(STRCAST("toString() -> string")) },
+ { STRCAST("getInfo"), reinterpret_cast<PyCFunction>(endpointGetInfo), METH_NOARGS,
+ PyDoc_STR(STRCAST("getInfo() -> Ice.EndpointInfo")) },
{ 0, 0 } /* sentinel */
};
@@ -91,7 +113,7 @@ PyTypeObject EndpointType =
* to be portable to Windows without using C++. */
PyObject_HEAD_INIT(0)
0, /* ob_size */
- STRCAST("Ice.Endpoint"), /* tp_name */
+ STRCAST("IcePy.Endpoint"), /* tp_name */
sizeof(EndpointObject), /* tp_basicsize */
0, /* tp_itemsize */
/* methods */
diff --git a/py/modules/IcePy/EndpointInfo.cpp b/py/modules/IcePy/EndpointInfo.cpp
new file mode 100644
index 00000000000..52ebd1175fc
--- /dev/null
+++ b/py/modules/IcePy/EndpointInfo.cpp
@@ -0,0 +1,534 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2009 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.
+//
+// **********************************************************************
+
+#ifdef _WIN32
+# include <IceUtil/Config.h>
+#endif
+#include <EndpointInfo.h>
+#include <Util.h>
+#include <structmember.h>
+
+using namespace std;
+using namespace IcePy;
+
+namespace IcePy
+{
+
+struct EndpointInfoObject
+{
+ PyObject_HEAD
+
+ // Ice::EndpointInfo
+ int timeout;
+ PyObject* compress;
+
+ // Ice::TcpEndpointInfo
+ // Ice::UdpEndpointInfo
+ PyObject* host;
+ int port;
+
+ // Ice::UdpEndpointInfo
+ unsigned char protocolMajor;
+ unsigned char protocolMinor;
+ unsigned char encodingMajor;
+ unsigned char encodingMinor;
+ PyObject* mcastInterface;
+ int mcastTtl;
+
+ // Ice::OpaqueEndpointInfo
+ PyObject* rawBytes;
+
+ Ice::EndpointInfoPtr* endpointInfo;
+};
+
+extern PyTypeObject TcpEndpointInfoType;
+extern PyTypeObject UdpEndpointInfoType;
+extern PyTypeObject OpaqueEndpointInfoType;
+
+}
+
+#ifdef WIN32
+extern "C"
+#endif
+static EndpointInfoObject*
+endpointInfoNew(PyObject* /*arg*/)
+{
+ PyErr_Format(PyExc_RuntimeError, STRCAST("An endpoint info cannot be created directly"));
+ return 0;
+}
+
+#ifdef WIN32
+extern "C"
+#endif
+static void
+endpointInfoDealloc(EndpointInfoObject* self)
+{
+ if(Ice::TcpEndpointInfoPtr::dynamicCast(*self->endpointInfo))
+ {
+ Py_DECREF(self->host);
+ }
+ else if(Ice::UdpEndpointInfoPtr::dynamicCast(*self->endpointInfo))
+ {
+ Py_DECREF(self->host);
+ Py_DECREF(self->mcastInterface);
+ }
+ else if(Ice::OpaqueEndpointInfoPtr::dynamicCast(*self->endpointInfo))
+ {
+ Py_DECREF(self->rawBytes);
+ }
+
+ delete self->endpointInfo;
+ Py_DECREF(self->compress);
+ PyObject_Del(self);
+}
+
+//
+// Ice::EndpointInfo::type
+//
+#ifdef WIN32
+extern "C"
+#endif
+static PyObject*
+endpointInfoType(EndpointInfoObject* self)
+{
+ assert(self->endpointInfo);
+ try
+ {
+ Ice::Short type = (*self->endpointInfo)->type();
+ return PyInt_FromLong(type);
+ }
+ catch(const Ice::Exception& ex)
+ {
+ setPythonException(ex);
+ return 0;
+ }
+}
+
+//
+// Ice::EndpointInfo::datagram
+//
+#ifdef WIN32
+extern "C"
+#endif
+static PyObject*
+endpointInfoDatagram(EndpointInfoObject* self)
+{
+ assert(self->endpointInfo);
+ PyObject* b;
+ try
+ {
+ b = (*self->endpointInfo)->datagram() ? getTrue() : getFalse();
+ }
+ catch(const Ice::Exception& ex)
+ {
+ setPythonException(ex);
+ return 0;
+ }
+
+ Py_INCREF(b);
+ return b;
+}
+
+//
+// Ice::EndpointInfo::datagram
+//
+#ifdef WIN32
+extern "C"
+#endif
+static PyObject*
+endpointInfoSecure(EndpointInfoObject* self)
+{
+ assert(self->endpointInfo);
+ PyObject* b;
+ try
+ {
+ b = (*self->endpointInfo)->secure() ? getTrue() : getFalse();
+ }
+ catch(const Ice::Exception& ex)
+ {
+ setPythonException(ex);
+ return 0;
+ }
+
+ Py_INCREF(b);
+ return b;
+}
+
+static PyMethodDef EndpointInfoMethods[] =
+{
+ { STRCAST("type"), reinterpret_cast<PyCFunction>(endpointInfoType), METH_NOARGS,
+ PyDoc_STR(STRCAST("type() -> int")) },
+ { STRCAST("datagram"), reinterpret_cast<PyCFunction>(endpointInfoDatagram), METH_NOARGS,
+ PyDoc_STR(STRCAST("datagram() -> bool")) },
+ { STRCAST("secure"), reinterpret_cast<PyCFunction>(endpointInfoSecure), METH_NOARGS,
+ PyDoc_STR(STRCAST("secure() -> bool")) },
+ { 0, 0 } /* sentinel */
+};
+
+static PyMemberDef EndpointInfoMembers[] =
+{
+ { STRCAST("timeout"), T_INT, offsetof(EndpointInfoObject, timeout), READONLY,
+ PyDoc_STR(STRCAST("timeout in milliseconds")) },
+ { STRCAST("compress"), T_OBJECT, offsetof(EndpointInfoObject, compress), READONLY,
+ PyDoc_STR(STRCAST("compression status")) },
+ { 0, 0 } /* sentinel */
+};
+
+static PyMemberDef TcpEndpointInfoMembers[] =
+{
+ { STRCAST("host"), T_OBJECT, offsetof(EndpointInfoObject, host), READONLY,
+ PyDoc_STR(STRCAST("host name or ip address")) },
+ { STRCAST("port"), T_INT, offsetof(EndpointInfoObject, port), READONLY,
+ PyDoc_STR(STRCAST("tcp port number")) },
+ { 0, 0 } /* sentinel */
+};
+
+static PyMemberDef UdpEndpointInfoMembers[] =
+{
+ { STRCAST("host"), T_OBJECT, offsetof(EndpointInfoObject, host), READONLY,
+ PyDoc_STR(STRCAST("host name or ip address")) },
+ { STRCAST("port"), T_INT, offsetof(EndpointInfoObject, port), READONLY,
+ PyDoc_STR(STRCAST("udp port number")) },
+ { STRCAST("protocolMajor"), T_BYTE, offsetof(EndpointInfoObject, protocolMajor), READONLY,
+ PyDoc_STR(STRCAST("protocol major version")) },
+ { STRCAST("protocolMinor"), T_BYTE, offsetof(EndpointInfoObject, protocolMinor), READONLY,
+ PyDoc_STR(STRCAST("protocol minor version")) },
+ { STRCAST("encodingMajor"), T_BYTE, offsetof(EndpointInfoObject, encodingMajor), READONLY,
+ PyDoc_STR(STRCAST("encoding major version")) },
+ { STRCAST("encodingMinor"), T_BYTE, offsetof(EndpointInfoObject, encodingMinor), READONLY,
+ PyDoc_STR(STRCAST("encoding minor version")) },
+ { STRCAST("mcastInterface"), T_OBJECT, offsetof(EndpointInfoObject, mcastInterface), READONLY,
+ PyDoc_STR(STRCAST("multicast interface")) },
+ { STRCAST("mcastTtl"), T_INT, offsetof(EndpointInfoObject, mcastTtl), READONLY,
+ PyDoc_STR(STRCAST("mulitcast time-to-live")) },
+ { 0, 0 } /* sentinel */
+};
+
+static PyMemberDef OpaqueEndpointInfoMembers[] =
+{
+ { STRCAST("rawBytes"), T_OBJECT, offsetof(EndpointInfoObject, rawBytes), READONLY,
+ PyDoc_STR(STRCAST("raw encoding")) },
+ { 0, 0 } /* sentinel */
+};
+
+namespace IcePy
+{
+
+PyTypeObject EndpointInfoType =
+{
+ /* The ob_type field must be initialized in the module init function
+ * to be portable to Windows without using C++. */
+ PyObject_HEAD_INIT(0)
+ 0, /* ob_size */
+ STRCAST("IcePy.EndpointInfo"), /* tp_name */
+ sizeof(EndpointInfoObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)endpointInfoDealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ EndpointInfoMethods, /* tp_methods */
+ EndpointInfoMembers, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ (newfunc)endpointInfoNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+};
+
+PyTypeObject TcpEndpointInfoType =
+{
+ /* The ob_type field must be initialized in the module init function
+ * to be portable to Windows without using C++. */
+ PyObject_HEAD_INIT(0)
+ 0, /* ob_size */
+ STRCAST("IcePy.TcpEndpointInfo"),/* tp_name */
+ sizeof(EndpointInfoObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)endpointInfoDealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ TcpEndpointInfoMembers, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ (newfunc)endpointInfoNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+};
+
+PyTypeObject UdpEndpointInfoType =
+{
+ /* The ob_type field must be initialized in the module init function
+ * to be portable to Windows without using C++. */
+ PyObject_HEAD_INIT(0)
+ 0, /* ob_size */
+ STRCAST("IcePy.UdpEndpointInfo"),/* tp_name */
+ sizeof(EndpointInfoObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)endpointInfoDealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ UdpEndpointInfoMembers, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ (newfunc)endpointInfoNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+};
+
+PyTypeObject OpaqueEndpointInfoType =
+{
+ /* The ob_type field must be initialized in the module init function
+ * to be portable to Windows without using C++. */
+ PyObject_HEAD_INIT(0)
+ 0, /* ob_size */
+ STRCAST("IcePy.OpaqueEndpointInfo"),/* tp_name */
+ sizeof(EndpointInfoObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)endpointInfoDealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ OpaqueEndpointInfoMembers, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ (newfunc)endpointInfoNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+};
+
+}
+
+bool
+IcePy::initEndpointInfo(PyObject* module)
+{
+ if(PyType_Ready(&EndpointInfoType) < 0)
+ {
+ return false;
+ }
+ PyTypeObject* type = &EndpointInfoType; // Necessary to prevent GCC's strict-alias warnings.
+ if(PyModule_AddObject(module, STRCAST("EndpointInfo"), reinterpret_cast<PyObject*>(type)) < 0)
+ {
+ return false;
+ }
+
+ TcpEndpointInfoType.tp_base = &EndpointInfoType; // Force inheritance from EndpointInfoType.
+ if(PyType_Ready(&TcpEndpointInfoType) < 0)
+ {
+ return false;
+ }
+ type = &TcpEndpointInfoType; // Necessary to prevent GCC's strict-alias warnings.
+ if(PyModule_AddObject(module, STRCAST("TcpEndpointInfo"), reinterpret_cast<PyObject*>(type)) < 0)
+ {
+ return false;
+ }
+
+ UdpEndpointInfoType.tp_base = &EndpointInfoType; // Force inheritance from EndpointType.
+ if(PyType_Ready(&UdpEndpointInfoType) < 0)
+ {
+ return false;
+ }
+ type = &UdpEndpointInfoType; // Necessary to prevent GCC's strict-alias warnings.
+ if(PyModule_AddObject(module, STRCAST("UdpEndpointInfo"), reinterpret_cast<PyObject*>(type)) < 0)
+ {
+ return false;
+ }
+
+ OpaqueEndpointInfoType.tp_base = &EndpointInfoType; // Force inheritance from EndpointType.
+ if(PyType_Ready(&OpaqueEndpointInfoType) < 0)
+ {
+ return false;
+ }
+ type = &OpaqueEndpointInfoType; // Necessary to prevent GCC's strict-alias warnings.
+ if(PyModule_AddObject(module, STRCAST("OpaqueEndpointInfo"), reinterpret_cast<PyObject*>(type)) < 0)
+ {
+ return false;
+ }
+
+ return true;
+}
+
+Ice::EndpointInfoPtr
+IcePy::getEndpointInfo(PyObject* obj)
+{
+ assert(PyObject_IsInstance(obj, reinterpret_cast<PyObject*>(&EndpointInfoType)));
+ EndpointInfoObject* eobj = reinterpret_cast<EndpointInfoObject*>(obj);
+ return *eobj->endpointInfo;
+}
+
+PyObject*
+IcePy::createEndpointInfo(const Ice::EndpointInfoPtr& endpointInfo)
+{
+ EndpointInfoObject* obj;
+ if(Ice::TcpEndpointInfoPtr::dynamicCast(endpointInfo))
+ {
+ obj = PyObject_New(EndpointInfoObject, &TcpEndpointInfoType);
+ if(!obj)
+ {
+ return 0;
+ }
+
+ Ice::TcpEndpointInfoPtr tcpEndpointInfo = Ice::TcpEndpointInfoPtr::dynamicCast(endpointInfo);
+ obj->host = IcePy::createString(tcpEndpointInfo->host);
+ obj->port = static_cast<int>(tcpEndpointInfo->port);
+ }
+ else if(Ice::UdpEndpointInfoPtr::dynamicCast(endpointInfo))
+ {
+ obj = PyObject_New(EndpointInfoObject, &UdpEndpointInfoType);
+ if(!obj)
+ {
+ return 0;
+ }
+
+ Ice::UdpEndpointInfoPtr udpEndpointInfo = Ice::UdpEndpointInfoPtr::dynamicCast(endpointInfo);
+ obj->host = IcePy::createString(udpEndpointInfo->host);
+ obj->port = static_cast<int>(udpEndpointInfo->port);
+ obj->protocolMajor = static_cast<unsigned char>(udpEndpointInfo->protocolMajor);
+ obj->protocolMinor = static_cast<unsigned char>(udpEndpointInfo->protocolMinor);
+ obj->encodingMajor = static_cast<unsigned char>(udpEndpointInfo->encodingMajor);
+ obj->encodingMinor = static_cast<unsigned char>(udpEndpointInfo->encodingMinor);
+ obj->mcastInterface = IcePy::createString(udpEndpointInfo->mcastInterface);
+ obj->mcastTtl = static_cast<int>(udpEndpointInfo->mcastTtl);
+ }
+ else if(Ice::OpaqueEndpointInfoPtr::dynamicCast(endpointInfo))
+ {
+ obj = PyObject_New(EndpointInfoObject, &OpaqueEndpointInfoType);
+ if(!obj)
+ {
+ return 0;
+ }
+
+ Ice::OpaqueEndpointInfoPtr opaqueEndpointInfo = Ice::OpaqueEndpointInfoPtr::dynamicCast(endpointInfo);
+ Ice::ByteSeq& b = opaqueEndpointInfo->rawBytes;
+ obj->rawBytes = PyString_FromStringAndSize(reinterpret_cast<const char*>(&b[0]), static_cast<int>(b.size()));
+ }
+ else
+ {
+ obj = PyObject_New(EndpointInfoObject, &EndpointInfoType);
+ if(!obj)
+ {
+ return 0;
+ }
+ }
+
+ obj->endpointInfo = new Ice::EndpointInfoPtr(endpointInfo);
+ obj->timeout = static_cast<int>(endpointInfo->timeout);
+ obj->compress = endpointInfo->compress ? getTrue() : getFalse();
+
+ return (PyObject*)obj;
+}
diff --git a/py/modules/IcePy/EndpointInfo.h b/py/modules/IcePy/EndpointInfo.h
new file mode 100644
index 00000000000..d769097eb66
--- /dev/null
+++ b/py/modules/IcePy/EndpointInfo.h
@@ -0,0 +1,28 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2009 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.
+//
+// **********************************************************************
+
+#ifndef ICEPY_ENDPOINT_INFO_H
+#define ICEPY_ENDPOINT_INFO_H
+
+#include <Config.h>
+#include <Ice/Endpoint.h>
+
+namespace IcePy
+{
+
+extern PyTypeObject EndpointInfoType;
+
+bool initEndpointInfo(PyObject*);
+
+PyObject* createEndpointInfo(const Ice::EndpointInfoPtr&);
+Ice::EndpointInfoPtr getEndpointInfo(PyObject*);
+
+}
+
+#endif
diff --git a/py/modules/IcePy/Init.cpp b/py/modules/IcePy/Init.cpp
index 7dd2bf3329c..209a8e59c74 100644
--- a/py/modules/IcePy/Init.cpp
+++ b/py/modules/IcePy/Init.cpp
@@ -12,8 +12,10 @@
#endif
#include <Communicator.h>
#include <Connection.h>
+#include <ConnectionInfo.h>
#include <Current.h>
#include <Endpoint.h>
+#include <EndpointInfo.h>
#include <ImplicitContext.h>
#include <Logger.h>
#include <ObjectAdapter.h>
@@ -131,6 +133,10 @@ initIcePy(void)
{
return;
}
+ if(!initConnectionInfo(module))
+ {
+ return;
+ }
if(!initImplicitContext(module))
{
return;
@@ -139,4 +145,8 @@ initIcePy(void)
{
return;
}
+ if(!initEndpointInfo(module))
+ {
+ return;
+ }
}
diff --git a/py/modules/IcePy/Makefile b/py/modules/IcePy/Makefile
index 477530247cb..88f92ebba34 100644
--- a/py/modules/IcePy/Makefile
+++ b/py/modules/IcePy/Makefile
@@ -17,8 +17,10 @@ TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(li
OBJS = Communicator.o \
Connection.o \
+ ConnectionInfo.o \
Current.o \
Endpoint.o \
+ EndpointInfo.o \
ImplicitContext.o \
Init.o \
Logger.o \
diff --git a/py/modules/IcePy/Makefile.mak b/py/modules/IcePy/Makefile.mak
index 5617b4c8725..69e431522db 100644
--- a/py/modules/IcePy/Makefile.mak
+++ b/py/modules/IcePy/Makefile.mak
@@ -16,8 +16,10 @@ TARGETS = $(LIBNAME) $(DLLNAME)
OBJS = Communicator.obj \
Connection.obj \
+ ConnectionInfo.obj \
Current.obj \
Endpoint.obj \
+ EndpointInfo.obj \
ImplicitContext.obj \
Init.obj \
Logger.obj \
diff --git a/py/python/Ice.py b/py/python/Ice.py
index 39ca9d6ef50..872b37dbf55 100644
--- a/py/python/Ice.py
+++ b/py/python/Ice.py
@@ -250,18 +250,29 @@ import Ice_ObjectFactory_ice
import Ice_Properties_ice
import Ice_Router_ice
import Ice_ServantLocator_ice
+import Ice_Connection_ice
#
# Replace EndpointInfo with our implementation.
#
-#del EndpointInfo
-#Endpoint = IcePy.EndpointInfo
-#del TcpEndpointInfo
-#TcpEndpointInfo = IcePy.TcpEndpointInfo
-#del UdpEndpointInfo
-#UdpEndpointInfo = IcePy.UdpEndpointInfo
-#del OpaqueEndpointInfo
-#OpaqueEndpointInfo = IcePy.OpaqueEndpointInfo
+del EndpointInfo
+EndpointInfo = IcePy.EndpointInfo
+del TcpEndpointInfo
+TcpEndpointInfo = IcePy.TcpEndpointInfo
+del UdpEndpointInfo
+UdpEndpointInfo = IcePy.UdpEndpointInfo
+del OpaqueEndpointInfo
+OpaqueEndpointInfo = IcePy.OpaqueEndpointInfo
+
+#
+# Replace ConnectionInfo with our implementation.
+#
+del ConnectionInfo
+ConnectionInfo = IcePy.ConnectionInfo
+del TcpConnectionInfo
+TcpConnectionInfo = IcePy.TcpConnectionInfo
+del UdpConnectionInfo
+UdpConnectionInfo = IcePy.UdpConnectionInfo
class ThreadNotification(object):
'''Base class for thread notification callbacks. A subclass must
diff --git a/py/test/Ice/proxy/AllTests.py b/py/test/Ice/proxy/AllTests.py
index 4402a7e49b7..fb4d47b847e 100644
--- a/py/test/Ice/proxy/AllTests.py
+++ b/py/test/Ice/proxy/AllTests.py
@@ -609,29 +609,30 @@ def allTests(communicator, collocated):
print "ok"
- #print "testing endpoint information...",
-
- #p1 = communicator.stringToProxy("test -t:tcp -h tcphost -p 10000 -t 1200 -z:udp -h udphost -p 10001 --interface eth0 --ttl 5:opaque -t 100 -v ABCD");
- #endps = p1.ice_getEndpoints();
-
- #test(isinstance(endps[0], Ice.TcpEndpoint));
- #tcpEndpoint = endps[0];
- #test(tcpEndpoint.host() == "tcphost");
- #test(tcpEndpoint.port() == 10000);
- #test(tcpEndpoint.timeout() == 1200);
- #test(tcpEndpoint.compress());
-
- #test(isinstance(endps[1], Ice.UdpEndpoint));
- #udpEndpoint = endps[1];
- #test(udpEndpoint.host() == "udphost");
- #test(udpEndpoint.port() == 10001);
- #test(udpEndpoint.mcastInterface() == "eth0");
- #test(udpEndpoint.mcastTtl() == 5);
- #test(udpEndpoint.timeout() == -1);
- #test(not udpEndpoint.compress());
-
- #test(isinstance(endps[2], Ice.OpaqueEndpoint));
-
- #print "ok"
+ print "testing endpoint information...",
+
+ p1 = communicator.stringToProxy("test -t:tcp -h tcphost -p 10000 -t 1200 -z:udp -h udphost -p 10001 --interface eth0 --ttl 5:opaque -t 100 -v ABCD");
+ endps = p1.ice_getEndpoints();
+
+ info = endps[0].getInfo()
+ test(isinstance(info, Ice.TcpEndpointInfo));
+ test(info.host == "tcphost");
+ test(info.port == 10000);
+ test(info.timeout == 1200);
+ test(info.compress);
+
+ info = endps[1].getInfo()
+ test(isinstance(info, Ice.UdpEndpointInfo));
+ test(info.host == "udphost");
+ test(info.port == 10001);
+ test(info.mcastInterface == "eth0");
+ test(info.mcastTtl == 5);
+ test(info.timeout == -1);
+ test(not info.compress);
+
+ info = endps[2].getInfo()
+ test(isinstance(info, Ice.OpaqueEndpointInfo));
+
+ print "ok"
return cl
diff --git a/slice/Ice/EndpointF.ice b/slice/Ice/EndpointF.ice
index a4181126f11..e11c0eb70b9 100644
--- a/slice/Ice/EndpointF.ice
+++ b/slice/Ice/EndpointF.ice
@@ -15,8 +15,9 @@
module Ice
{
+local class TcpEndpointInfo;
+local class UdpEndpointInfo;
local interface Endpoint;
-
local sequence<Endpoint> EndpointSeq;
};
diff --git a/slice/IceSSL/EndpointInfo.ice b/slice/IceSSL/EndpointInfo.ice
index 7408105ea98..47b5cb1aad4 100644
--- a/slice/IceSSL/EndpointInfo.ice
+++ b/slice/IceSSL/EndpointInfo.ice
@@ -25,7 +25,7 @@ module IceSSL
* Provides access to the address details of an SSL endpoint.
*
**/
-["cpp:virtual"] local class SSLEndpointInfo extends Ice::EndpointInfo
+local class SSLEndpointInfo extends Ice::EndpointInfo
{
/**
*