summaryrefslogtreecommitdiff
path: root/cppe/src
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-04-07 14:03:22 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-04-07 14:03:22 +0000
commitc95db5ffb0a898568066a79aaa15acbaee24ac3a (patch)
treeb57c3f89352234f57c5c95b930ed5e45fd019013 /cppe/src
parentBug 803 - Changed communicator initialzation (diff)
downloadice-c95db5ffb0a898568066a79aaa15acbaee24ac3a.tar.bz2
ice-c95db5ffb0a898568066a79aaa15acbaee24ac3a.tar.xz
ice-c95db5ffb0a898568066a79aaa15acbaee24ac3a.zip
Bug 803 - changed communicator initialization
Diffstat (limited to 'cppe/src')
-rwxr-xr-xcppe/src/IceE/Communicator.cpp24
-rwxr-xr-xcppe/src/IceE/Connection.cpp16
-rw-r--r--cppe/src/IceE/Incoming.cpp20
-rw-r--r--cppe/src/IceE/IncomingConnectionFactory.cpp12
-rw-r--r--cppe/src/IceE/Initialize.cpp26
-rw-r--r--cppe/src/IceE/Instance.cpp88
-rw-r--r--cppe/src/IceE/Instance.h13
-rw-r--r--cppe/src/IceE/LocatorInfo.cpp4
-rw-r--r--cppe/src/IceE/ObjectAdapter.cpp35
-rwxr-xr-xcppe/src/IceE/OutgoingConnectionFactory.cpp2
-rw-r--r--cppe/src/IceE/ProxyFactory.cpp4
-rw-r--r--cppe/src/IceE/Reference.cpp5
-rw-r--r--cppe/src/IceE/ReferenceFactory.cpp32
-rw-r--r--cppe/src/TcpTransport/Acceptor.cpp2
-rw-r--r--cppe/src/TcpTransport/Connector.cpp2
-rw-r--r--cppe/src/TcpTransport/Transceiver.cpp2
16 files changed, 113 insertions, 174 deletions
diff --git a/cppe/src/IceE/Communicator.cpp b/cppe/src/IceE/Communicator.cpp
index 5a81bbd35cf..bdb1a047fc0 100755
--- a/cppe/src/IceE/Communicator.cpp
+++ b/cppe/src/IceE/Communicator.cpp
@@ -84,34 +84,22 @@ Ice::Communicator::createObjectAdapterWithEndpoints(const string& name, const st
#endif
-void
-Ice::Communicator::setDefaultContext(const Context& ctx)
-{
- _instance->setDefaultContext(ctx);
-}
-
Ice::Context
Ice::Communicator::getDefaultContext() const
{
- return _instance->getDefaultContext();
+ return _instance->initializationData().defaultContext;
}
PropertiesPtr
Ice::Communicator::getProperties() const
{
- return _instance->properties();
+ return _instance->initializationData().properties;
}
LoggerPtr
Ice::Communicator::getLogger() const
{
- return _instance->logger();
-}
-
-void
-Ice::Communicator::setLogger(const LoggerPtr& logger)
-{
- _instance->logger(logger);
+ return _instance->initializationData().logger;
}
#ifdef ICEE_HAS_ROUTER
@@ -156,12 +144,12 @@ Ice::Communicator::flushBatchRequests()
#endif
-Ice::Communicator::Communicator(const PropertiesPtr& properties)
+Ice::Communicator::Communicator(const InitializationData& initData)
{
__setNoDelete(true);
try
{
- const_cast<InstancePtr&>(_instance) = new Instance(this, properties);
+ const_cast<InstancePtr&>(_instance) = new Instance(this, initData);
}
catch(...)
{
@@ -175,7 +163,7 @@ Ice::Communicator::~Communicator()
{
if(!_instance->destroyed())
{
- Warning out(_instance->logger());
+ Warning out(_instance->initializationData().logger);
out << "Ice::Communicator::destroy() has not been called";
}
}
diff --git a/cppe/src/IceE/Connection.cpp b/cppe/src/IceE/Connection.cpp
index 6e15315278b..9b76b84b31a 100755
--- a/cppe/src/IceE/Connection.cpp
+++ b/cppe/src/IceE/Connection.cpp
@@ -864,7 +864,7 @@ Ice::Connection::createProxy(const Identity& ident) const
//
vector<ConnectionPtr> connections;
connections.push_back(const_cast<Connection*>(this));
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), "",
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext, "",
Reference::ModeTwoway, connections);
return _instance->proxyFactory()->referenceToProxy(ref);
}
@@ -905,9 +905,9 @@ Ice::Connection::Connection(const InstancePtr& instance,
_desc(transceiver->toString()),
_type(transceiver->type()),
_endpoint(endpoint),
- _logger(_instance->logger()), // Cached for better performance.
+ _logger(_instance->initializationData().logger), // Cached for better performance.
_traceLevels(_instance->traceLevels()), // Cached for better performance.
- _warn(_instance->properties()->getPropertyAsInt("Ice.Warn.Connections") > 0),
+ _warn(_instance->initializationData().properties->getPropertyAsInt("Ice.Warn.Connections") > 0),
#ifndef ICEE_PURE_CLIENT
_in(_instance.get(), this, _stream, adapter),
#endif
@@ -929,9 +929,9 @@ Ice::Connection::Connection(const InstancePtr& instance,
{
#ifndef ICEE_PURE_BLOCKING_CLIENT
# ifdef ICEE_PURE_CLIENT
- _blocking = _instance->properties()->getPropertyAsInt("Ice.Blocking") > 0;
+ _blocking = _instance->initializationData().properties->getPropertyAsInt("Ice.Blocking") > 0;
# else
- _blocking = _instance->properties()->getPropertyAsInt("Ice.Blocking") > 0 && !adapter;
+ _blocking = _instance->initializationData().properties->getPropertyAsInt("Ice.Blocking") > 0 && !adapter;
# endif
if(_blocking)
{
@@ -1815,17 +1815,17 @@ Ice::Connection::ThreadPerConnection::run()
}
catch(const Exception& ex)
{
- Error out(_connection->_instance->logger());
+ Error out(_connection->_logger);
out << "exception in thread per connection:\n" << _connection->toString() << ex.toString();
}
catch(const std::exception& ex)
{
- Error out(_connection->_instance->logger());
+ Error out(_connection->_logger);
out << "std::exception in thread per connection:\n" << _connection->toString() << ex.what();
}
catch(...)
{
- Error out(_connection->_instance->logger());
+ Error out(_connection->_logger);
out << "unknown exception in thread per connection:\n" << _connection->toString();
}
diff --git a/cppe/src/IceE/Incoming.cpp b/cppe/src/IceE/Incoming.cpp
index ea4839bd101..fd110d6f71c 100644
--- a/cppe/src/IceE/Incoming.cpp
+++ b/cppe/src/IceE/Incoming.cpp
@@ -175,7 +175,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
ex.operation = _current.operation;
}
- if(_os.instance()->properties()->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 1)
+ if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 1)
{
__warning(ex);
}
@@ -230,7 +230,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_is.endReadEncaps();
- if(_os.instance()->properties()->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -254,7 +254,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_is.endReadEncaps();
- if(_os.instance()->properties()->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -278,7 +278,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_is.endReadEncaps();
- if(_os.instance()->properties()->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -302,7 +302,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_is.endReadEncaps();
- if(_os.instance()->properties()->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -326,7 +326,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_is.endReadEncaps();
- if(_os.instance()->properties()->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -350,7 +350,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_is.endReadEncaps();
- if(_os.instance()->properties()->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -374,7 +374,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_is.endReadEncaps();
- if(_os.instance()->properties()->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(string("std::exception: ") + ex.what());
}
@@ -399,7 +399,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_is.endReadEncaps();
- if(_os.instance()->properties()->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning("unknown c++ exception");
}
@@ -479,7 +479,7 @@ IceInternal::Incoming::__warning(const Exception& ex) const
void
IceInternal::Incoming::__warning(const string& msg) const
{
- Warning out(_os.instance()->logger());
+ Warning out(_os.instance()->initializationData().logger);
out << "dispatch exception: " << msg;
out << "\nidentity: " << identityToString(_current.id);
out << "\nfacet: " << IceUtil::escapeString(_current.facet, "");
diff --git a/cppe/src/IceE/IncomingConnectionFactory.cpp b/cppe/src/IceE/IncomingConnectionFactory.cpp
index 28ec47c0a8c..50643c0cc22 100644
--- a/cppe/src/IceE/IncomingConnectionFactory.cpp
+++ b/cppe/src/IceE/IncomingConnectionFactory.cpp
@@ -175,7 +175,7 @@ IceInternal::IncomingConnectionFactory::IncomingConnectionFactory(const Instance
_instance(instance),
_endpoint(endpoint),
_adapter(adapter),
- _warn(_instance->properties()->getPropertyAsInt("Ice.Warn.Connections") > 0),
+ _warn(_instance->initializationData().properties->getPropertyAsInt("Ice.Warn.Connections") > 0),
_state(StateHolding)
{
if(_instance->defaultsAndOverrides()->overrideTimeout)
@@ -202,7 +202,7 @@ IceInternal::IncomingConnectionFactory::IncomingConnectionFactory(const Instance
catch(const Ice::Exception& ex)
{
{
- Error out(_instance->logger());
+ Error out(_instance->initializationData().logger);
out << "cannot create thread for incoming connection factory:\n" << ex.toString();
}
@@ -321,7 +321,7 @@ IceInternal::IncomingConnectionFactory::run()
// Warn about other Ice local exceptions.
if(_warn)
{
- Warning out(_instance->logger());
+ Warning out(_instance->initializationData().logger);
out << "connection exception:\n" << ex.toString() << "\n" << _acceptor->toString();
}
}
@@ -420,17 +420,17 @@ IceInternal::IncomingConnectionFactory::ThreadPerIncomingConnectionFactory::run(
}
catch(const Exception& ex)
{
- Error out(_factory->_instance->logger());
+ Error out(_factory->_instance->initializationData().logger);
out << "exception in thread per incoming connection factory:\n" << _factory->toString() << ex.toString();
}
catch(const std::exception& ex)
{
- Error out(_factory->_instance->logger());
+ Error out(_factory->_instance->initializationData().logger);
out << "std::exception in thread per incoming connection factory:\n" << _factory->toString() << ex.what();
}
catch(...)
{
- Error out(_factory->_instance->logger());
+ Error out(_factory->_instance->initializationData().logger);
out << "unknown exception in thread per incoming connection factory:\n" << _factory->toString();
}
diff --git a/cppe/src/IceE/Initialize.cpp b/cppe/src/IceE/Initialize.cpp
index 1cf8d21602a..dd2536e93d3 100644
--- a/cppe/src/IceE/Initialize.cpp
+++ b/cppe/src/IceE/Initialize.cpp
@@ -123,14 +123,7 @@ Ice::getDefaultProperties(int& argc, char* argv[])
}
CommunicatorPtr
-Ice::initialize(int& argc, char* argv[], Int version)
-{
- PropertiesPtr properties = getDefaultProperties(argc, argv);
- return initializeWithProperties(argc, argv, properties, version);
-}
-
-CommunicatorPtr
-Ice::initializeWithProperties(int& argc, char* argv[], const PropertiesPtr& properties, Int version)
+Ice::initialize(int& argc, char* argv[], InitializationData initData, Int version)
{
#ifndef ICE_IGNORE_VERSION
//
@@ -150,15 +143,28 @@ Ice::initializeWithProperties(int& argc, char* argv[], const PropertiesPtr& prop
}
#endif
+ if(!initData.properties)
+ {
+ initData.properties = getDefaultProperties(argc, argv);
+ }
+
StringSeq args = argsToStringSeq(argc, argv);
- args = properties->parseIceCommandLineOptions(args);
+ args = initData.properties->parseIceCommandLineOptions(args);
stringSeqToArgs(args, argc, argv);
- CommunicatorPtr communicator = new Communicator(properties);
+ CommunicatorPtr communicator = new Communicator(initData);
communicator->finishSetup(argc, argv);
return communicator;
}
+CommunicatorPtr
+Ice::initializeWithProperties(int& argc, char* argv[], const PropertiesPtr& properties, Int version)
+{
+ InitializationData initData;
+ initData.properties = properties;
+ return initialize(argc, argv, initData, version);
+}
+
InstancePtr
IceInternal::getInstance(const CommunicatorPtr& communicator)
{
diff --git a/cppe/src/IceE/Instance.cpp b/cppe/src/IceE/Instance.cpp
index a62fa3ef374..1aa787dd08d 100644
--- a/cppe/src/IceE/Instance.cpp
+++ b/cppe/src/IceE/Instance.cpp
@@ -66,41 +66,6 @@ IceInternal::Instance::destroyed() const
return _state == StateDestroyed;
}
-PropertiesPtr
-IceInternal::Instance::properties() const
-{
- //
- // No check for destruction. It must be possible to access the
- // properties after destruction.
- //
- // No mutex lock, immutable.
- //
- return _properties;
-}
-
-LoggerPtr
-IceInternal::Instance::logger() const
-{
- //
- // No check for destruction. It must be possible to access the
- // logger after destruction.
- //
- IceUtil::RecMutex::Lock sync(*this);
- return _logger;
-}
-
-void
-IceInternal::Instance::logger(const LoggerPtr& logger)
-{
- //
- // No check for destruction. It must be possible to set the logger
- // after destruction (needed by logger plugins for example to
- // unset the logger).
- //
- IceUtil::RecMutex::Lock sync(*this);
- _logger = logger;
-}
-
TraceLevelsPtr
IceInternal::Instance::traceLevels() const
{
@@ -257,35 +222,9 @@ IceInternal::Instance::flushBatchRequests()
}
#endif
-void
-IceInternal::Instance::setDefaultContext(const Context& ctx)
-{
- IceUtil::RecMutex::Lock sync(*this);
-
- if(_state == StateDestroyed)
- {
- throw CommunicatorDestroyedException(__FILE__, __LINE__);
- }
-
- _defaultContext = ctx;
-}
-
-Context
-IceInternal::Instance::getDefaultContext() const
-{
- IceUtil::RecMutex::Lock sync(*this);
-
- if(_state == StateDestroyed)
- {
- throw CommunicatorDestroyedException(__FILE__, __LINE__);
- }
-
- return _defaultContext;
-}
-
-IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const PropertiesPtr& properties) :
+IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const InitializationData& initData) :
_state(StateActive),
- _properties(properties),
+ _initData(initData),
_messageSizeMax(0)
#ifndef ICEE_PURE_BLOCKING_CLIENT
, _threadPerConnectionStackSize(0)
@@ -304,8 +243,8 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Prope
// StdOut and StdErr redirection
//
- string stdOutFilename = _properties->getProperty("Ice.StdOut");
- string stdErrFilename = _properties->getProperty("Ice.StdErr");
+ string stdOutFilename = _initData.properties->getProperty("Ice.StdOut");
+ string stdErrFilename = _initData.properties->getProperty("Ice.StdErr");
if(stdOutFilename != "")
{
@@ -351,13 +290,13 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Prope
srand48(seed);
#endif
- if(_properties->getPropertyAsInt("Ice.NullHandleAbort") > 0)
+ if(_initData.properties->getPropertyAsInt("Ice.NullHandleAbort") > 0)
{
IceUtil::nullHandleAbort = true;
}
#ifndef _WIN32
- string newUser = _properties->getProperty("Ice.ChangeUser");
+ string newUser = _initData.properties->getProperty("Ice.ChangeUser");
if(!newUser.empty())
{
struct passwd* pw = getpwnam(newUser.c_str());
@@ -412,15 +351,18 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Prope
sync.release();
- _logger = new LoggerI(_properties->getProperty("Ice.ProgramName"));
+ if(!_initData.logger)
+ {
+ _initData.logger = new LoggerI(_initData.properties->getProperty("Ice.ProgramName"));
+ }
- const_cast<TraceLevelsPtr&>(_traceLevels) = new TraceLevels(_properties);
+ const_cast<TraceLevelsPtr&>(_traceLevels) = new TraceLevels(_initData.properties);
- const_cast<DefaultsAndOverridesPtr&>(_defaultsAndOverrides) = new DefaultsAndOverrides(_properties);
+ const_cast<DefaultsAndOverridesPtr&>(_defaultsAndOverrides) = new DefaultsAndOverrides(_initData.properties);
{
static const int defaultMessageSizeMax = 1024;
- Int num = _properties->getPropertyAsIntWithDefault("Ice.MessageSizeMax", defaultMessageSizeMax);
+ Int num = _initData.properties->getPropertyAsIntWithDefault("Ice.MessageSizeMax", defaultMessageSizeMax);
if(num < 1)
{
const_cast<size_t&>(_messageSizeMax) = defaultMessageSizeMax * 1024; // Ignore stupid values.
@@ -438,7 +380,7 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Prope
#ifndef ICEE_PURE_BLOCKING_CLIENT
{
- Int stackSize = _properties->getPropertyAsInt("Ice.ThreadPerConnection.StackSize");
+ Int stackSize = _initData.properties->getPropertyAsInt("Ice.ThreadPerConnection.StackSize");
if(stackSize < 0)
{
stackSize = 0;
@@ -544,7 +486,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[])
// Show process id if requested (but only once).
//
bool printProcessId = false;
- if(!printProcessIdDone && _properties->getPropertyAsInt("Ice.PrintProcessId") > 0)
+ if(!printProcessIdDone && _initData.properties->getPropertyAsInt("Ice.PrintProcessId") > 0)
{
//
// Safe double-check locking (no dependent variable!)
diff --git a/cppe/src/IceE/Instance.h b/cppe/src/IceE/Instance.h
index e9956d209f8..73d2e9a395e 100644
--- a/cppe/src/IceE/Instance.h
+++ b/cppe/src/IceE/Instance.h
@@ -27,6 +27,7 @@
#endif
#include <IceE/Shared.h>
#include <IceE/RecMutex.h>
+#include <IceE/Initialize.h>
namespace IceInternal
{
@@ -36,9 +37,7 @@ class Instance : public IceUtil::Shared, public IceUtil::RecMutex
public:
bool destroyed() const;
- Ice::PropertiesPtr properties() const;
- Ice::LoggerPtr logger() const;
- void logger(const Ice::LoggerPtr&);
+ const Ice::InitializationData& initializationData() const { return _initData; }
TraceLevelsPtr traceLevels() const;
DefaultsAndOverridesPtr defaultsAndOverrides() const;
#ifdef ICEE_HAS_ROUTER
@@ -56,8 +55,6 @@ public:
#ifdef ICEE_HAS_BATCH
void flushBatchRequests();
#endif
- void setDefaultContext(const ::Ice::Context&);
- ::Ice::Context getDefaultContext() const;
#ifndef ICEE_PURE_BLOCKING_CLIENT
size_t threadPerConnectionStackSize() const;
#endif
@@ -68,7 +65,7 @@ public:
private:
- Instance(const Ice::CommunicatorPtr&, const Ice::PropertiesPtr&);
+ Instance(const Ice::CommunicatorPtr&, const Ice::InitializationData&);
virtual ~Instance();
void finishSetup(int&, char*[]);
@@ -82,8 +79,7 @@ private:
StateDestroyed
};
State _state;
- const Ice::PropertiesPtr _properties; // Immutable, not reset by destroy().
- Ice::LoggerPtr _logger; // Not reset by destroy().
+ Ice::InitializationData _initData; // Immutable, not reset by destroy().
const TraceLevelsPtr _traceLevels; // Immutable, not reset by destroy().
const DefaultsAndOverridesPtr _defaultsAndOverrides; // Immutable, not reset by destroy().
const size_t _messageSizeMax; // Immutable, not reset by destroy().
@@ -100,7 +96,6 @@ private:
ProxyFactoryPtr _proxyFactory;
OutgoingConnectionFactoryPtr _outgoingConnectionFactory;
EndpointFactoryPtr _endpointFactory;
- Ice::Context _defaultContext;
#ifndef ICEE_PURE_CLIENT
ObjectAdapterFactoryPtr _objectAdapterFactory;
diff --git a/cppe/src/IceE/LocatorInfo.cpp b/cppe/src/IceE/LocatorInfo.cpp
index d6d36eb67da..abe2db7d5cb 100644
--- a/cppe/src/IceE/LocatorInfo.cpp
+++ b/cppe/src/IceE/LocatorInfo.cpp
@@ -353,7 +353,7 @@ IceInternal::LocatorInfo::getEndpoints(const IndirectReferencePtr& ref, bool& ca
{
if(ref->getInstance()->traceLevels()->location >= 1)
{
- Trace out(ref->getInstance()->logger(), ref->getInstance()->traceLevels()->locationCat);
+ Trace out(ref->getInstance()->initializationData().logger, ref->getInstance()->traceLevels()->locationCat);
out << "couldn't contact the locator to retrieve adapter endpoints\n";
if(!ref)
{
@@ -451,7 +451,7 @@ IceInternal::LocatorInfo::trace(const string& msg,
const IndirectReferencePtr& ref,
const vector<EndpointPtr>& endpoints)
{
- Trace out(ref->getInstance()->logger(), ref->getInstance()->traceLevels()->locationCat);
+ Trace out(ref->getInstance()->initializationData().logger, ref->getInstance()->traceLevels()->locationCat);
out << msg << "\n";
if(!ref->getAdapterId().empty())
{
diff --git a/cppe/src/IceE/ObjectAdapter.cpp b/cppe/src/IceE/ObjectAdapter.cpp
index 81d1feddeb3..2a025eb64a2 100644
--- a/cppe/src/IceE/ObjectAdapter.cpp
+++ b/cppe/src/IceE/ObjectAdapter.cpp
@@ -102,7 +102,8 @@ Ice::ObjectAdapter::activate()
#ifdef ICEE_HAS_LOCATOR
locatorInfo = _locatorInfo;
#endif
- printAdapterReady = _instance->properties()->getPropertyAsInt("Ice.PrintAdapterReady") > 0;
+ printAdapterReady =
+ _instance->initializationData().properties->getPropertyAsInt("Ice.PrintAdapterReady") > 0;
_printAdapterReadyDone = true;
}
@@ -468,7 +469,7 @@ Ice::ObjectAdapter::createReverseProxy(const Identity& ident) const
// reference.
//
vector<EndpointPtr> endpoints;
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), "",
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext, "",
Reference::ModeTwoway, connections);
return _instance->proxyFactory()->referenceToProxy(ref);
}
@@ -631,8 +632,8 @@ Ice::ObjectAdapter::ObjectAdapter(const InstancePtr& instance, const Communicato
_printAdapterReadyDone(false),
_name(name),
#ifdef ICEE_HAS_LOCATOR
- _id(instance->properties()->getProperty(name + ".AdapterId")),
- _replicaGroupId(instance->properties()->getProperty(name + ".ReplicaGroupId")),
+ _id(instance->initializationData().properties->getProperty(name + ".AdapterId")),
+ _replicaGroupId(instance->initializationData().properties->getProperty(name + ".ReplicaGroupId")),
#endif
_directCount(0),
_waitForDeactivate(false)
@@ -655,7 +656,7 @@ Ice::ObjectAdapter::ObjectAdapter(const InstancePtr& instance, const Communicato
// Parse published endpoints. These are used in proxies
// instead of the connection factory endpoints.
//
- string endpts = _instance->properties()->getProperty(name + ".PublishedEndpoints");
+ string endpts = _instance->initializationData().properties->getProperty(name + ".PublishedEndpoints");
_publishedEndpoints = parseEndpoints(endpts);
if(_publishedEndpoints.empty())
{
@@ -670,7 +671,7 @@ Ice::ObjectAdapter::ObjectAdapter(const InstancePtr& instance, const Communicato
not1(Ice::constMemFun(&Endpoint::publish))), _publishedEndpoints.end());
#ifdef ICEE_HAS_ROUTER
- string router = _instance->properties()->getProperty(_name + ".Router");
+ string router = _instance->initializationData().properties->getProperty(_name + ".Router");
if(!router.empty())
{
addRouter(RouterPrx::uncheckedCast(_instance->proxyFactory()->stringToProxy(router)));
@@ -678,7 +679,7 @@ Ice::ObjectAdapter::ObjectAdapter(const InstancePtr& instance, const Communicato
#endif
#ifdef ICEE_HAS_LOCATOR
- string locator = _instance->properties()->getProperty(_name + ".Locator");
+ string locator = _instance->initializationData().properties->getProperty(_name + ".Locator");
if(!locator.empty())
{
setLocator(LocatorPrx::uncheckedCast(_instance->proxyFactory()->stringToProxy(locator)));
@@ -703,12 +704,12 @@ Ice::ObjectAdapter::~ObjectAdapter()
{
if(!_deactivated)
{
- Warning out(_instance->logger());
+ Warning out(_instance->initializationData().logger);
out << "object adapter `" << _name << "' has not been deactivated";
}
else if(_instance)
{
- Warning out(_instance->logger());
+ Warning out(_instance->initializationData().logger);
out << "object adapter `" << _name << "' deactivation had not been waited for";
}
else
@@ -760,11 +761,11 @@ Ice::ObjectAdapter::newDirectProxy(const Identity& ident, const string& facet) c
// Create a reference and return a proxy for this reference.
//
#ifdef ICEE_HAS_ROUTER
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), facet,
- Reference::ModeTwoway, false, endpoints, 0);
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext,
+ facet, Reference::ModeTwoway, false, endpoints, 0);
#else
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), facet,
- Reference::ModeTwoway, false, endpoints);
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext,
+ facet, Reference::ModeTwoway, false, endpoints);
#endif
return _instance->proxyFactory()->referenceToProxy(ref);
@@ -778,12 +779,12 @@ Ice::ObjectAdapter::newIndirectProxy(const Identity& ident, const string& facet,
// Create a reference with the adapter id.
//
#ifdef ICEE_HAS_ROUTER
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), facet,
- Reference::ModeTwoway, false, id, 0, _locatorInfo);
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext,
+ facet, Reference::ModeTwoway, false, id, 0, _locatorInfo);
#else
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), facet,
- Reference::ModeTwoway, false, id, _locatorInfo);
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext,
+ facet, Reference::ModeTwoway, false, id, _locatorInfo);
#endif
//
diff --git a/cppe/src/IceE/OutgoingConnectionFactory.cpp b/cppe/src/IceE/OutgoingConnectionFactory.cpp
index 94338c8ce0f..301d39d0f7e 100755
--- a/cppe/src/IceE/OutgoingConnectionFactory.cpp
+++ b/cppe/src/IceE/OutgoingConnectionFactory.cpp
@@ -278,7 +278,7 @@ IceInternal::OutgoingConnectionFactory::create(const vector<EndpointPtr>& endpts
TraceLevelsPtr traceLevels = _instance->traceLevels();
if(traceLevels->retry >= 2)
{
- Trace out(_instance->logger(), traceLevels->retryCat);
+ Trace out(_instance->initializationData().logger, traceLevels->retryCat);
out << "connection to endpoint failed";
if(q + 1 != endpoints.end())
diff --git a/cppe/src/IceE/ProxyFactory.cpp b/cppe/src/IceE/ProxyFactory.cpp
index d4c7cd5a6e8..cc0a7ab68d8 100644
--- a/cppe/src/IceE/ProxyFactory.cpp
+++ b/cppe/src/IceE/ProxyFactory.cpp
@@ -144,7 +144,7 @@ IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex, co
assert(cnt > 0);
TraceLevelsPtr traceLevels = _instance->traceLevels();
- LoggerPtr logger = _instance->logger();
+ LoggerPtr logger = _instance->initializationData().logger;
if(cnt > static_cast<int>(_retryIntervals.size()))
{
@@ -181,7 +181,7 @@ IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex, co
IceInternal::ProxyFactory::ProxyFactory(const InstancePtr& instance) :
_instance(instance)
{
- string str = _instance->properties()->getPropertyWithDefault("Ice.RetryIntervals", "0");
+ string str = _instance->initializationData().properties->getPropertyWithDefault("Ice.RetryIntervals", "0");
string::size_type beg;
string::size_type end = 0;
diff --git a/cppe/src/IceE/Reference.cpp b/cppe/src/IceE/Reference.cpp
index 7fe34d4c0ef..8d2a1ac0958 100644
--- a/cppe/src/IceE/Reference.cpp
+++ b/cppe/src/IceE/Reference.cpp
@@ -43,7 +43,7 @@ ReferencePtr
IceInternal::Reference::defaultContext() const
{
ReferencePtr r = _instance->referenceFactory()->copy(this);
- r->_context = _instance->getDefaultContext();
+ r->_context = _instance->initializationData().defaultContext;
return r;
}
@@ -1004,10 +1004,9 @@ IceInternal::IndirectReference::getConnection() const
if(cached)
{
TraceLevelsPtr traceLevels = getInstance()->traceLevels();
- LoggerPtr logger = getInstance()->logger();
if(traceLevels->retry >= 2)
{
- Trace out(logger, traceLevels->retryCat);
+ Trace out(getInstance()->initializationData().logger, traceLevels->retryCat);
out << "connection to cached endpoints failed\n"
<< "removing endpoints from cache and trying one more time\n" << ex.toString();
}
diff --git a/cppe/src/IceE/ReferenceFactory.cpp b/cppe/src/IceE/ReferenceFactory.cpp
index 9e6ec3278aa..c5a319d0f71 100644
--- a/cppe/src/IceE/ReferenceFactory.cpp
+++ b/cppe/src/IceE/ReferenceFactory.cpp
@@ -431,9 +431,10 @@ IceInternal::ReferenceFactory::create(const string& str)
{
#ifdef ICEE_HAS_LOCATOR
# ifdef ICEE_HAS_ROUTER
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, "", routerInfo, locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, "", routerInfo,
+ locatorInfo);
# else
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, "", locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, "", locatorInfo);
# endif
#else
ProxyParseException ex(__FILE__, __LINE__);
@@ -480,9 +481,10 @@ IceInternal::ReferenceFactory::create(const string& str)
throw ex;
}
else if(unknownEndpoints.size() != 0 &&
- _instance->properties()->getPropertyAsIntWithDefault("Ice.Warn.Endpoints", 1) > 0)
+ _instance->initializationData().properties->getPropertyAsIntWithDefault(
+ "Ice.Warn.Endpoints", 1) > 0)
{
- Warning out(_instance->logger());
+ Warning out(_instance->initializationData().logger);
out << "Proxy contains unknown endpoints:";
for(unsigned int idx = 0; idx < unknownEndpoints.size(); ++idx)
{
@@ -491,9 +493,10 @@ IceInternal::ReferenceFactory::create(const string& str)
}
#ifdef ICEE_HAS_ROUTER
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, endpoints , routerInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, endpoints,
+ routerInfo);
#else
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, endpoints);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, endpoints);
#endif
break;
}
@@ -537,9 +540,11 @@ IceInternal::ReferenceFactory::create(const string& str)
}
#ifdef ICEE_HAS_ROUTER
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, adapter, routerInfo, locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, adapter,
+ routerInfo, locatorInfo);
#else
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, adapter, locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, adapter,
+ locatorInfo);
#endif
break;
}
@@ -613,9 +618,10 @@ IceInternal::ReferenceFactory::create(const Identity& ident, BasicStream* s)
endpoints.push_back(endpoint);
}
#ifdef ICEE_HAS_ROUTER
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, endpoints, routerInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, endpoints,
+ routerInfo);
#else
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, endpoints);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, endpoints);
#endif
}
else
@@ -624,9 +630,11 @@ IceInternal::ReferenceFactory::create(const Identity& ident, BasicStream* s)
LocatorInfoPtr locatorInfo = _instance->locatorManager()->get(getDefaultLocator());
s->read(adapterId);
# ifdef ICEE_HAS_ROUTER
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, adapterId, routerInfo, locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, adapterId,
+ routerInfo, locatorInfo);
# else
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, adapterId, locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, adapterId,
+ locatorInfo);
# endif
#else
throw ProxyUnmarshalException(__FILE__, __LINE__);
diff --git a/cppe/src/TcpTransport/Acceptor.cpp b/cppe/src/TcpTransport/Acceptor.cpp
index 06a9b8bce06..208b4261f1a 100644
--- a/cppe/src/TcpTransport/Acceptor.cpp
+++ b/cppe/src/TcpTransport/Acceptor.cpp
@@ -103,7 +103,7 @@ IceInternal::Acceptor::effectivePort()
IceInternal::Acceptor::Acceptor(const InstancePtr& instance, const string& host, int port) :
_instance(instance),
_traceLevels(instance->traceLevels()),
- _logger(instance->logger()),
+ _logger(instance->initializationData().logger),
_backlog(0)
{
if(_backlog <= 0)
diff --git a/cppe/src/TcpTransport/Connector.cpp b/cppe/src/TcpTransport/Connector.cpp
index b1306435688..d12d4dea9a0 100644
--- a/cppe/src/TcpTransport/Connector.cpp
+++ b/cppe/src/TcpTransport/Connector.cpp
@@ -56,7 +56,7 @@ Connector::toString() const
Connector::Connector(const InstancePtr& instance, const string& host, int port) :
_instance(instance),
_traceLevels(instance->traceLevels()),
- _logger(instance->logger())
+ _logger(instance->initializationData().logger)
{
getAddress(host, port, _addr);
}
diff --git a/cppe/src/TcpTransport/Transceiver.cpp b/cppe/src/TcpTransport/Transceiver.cpp
index 3a964f43fa3..7bea32667e4 100644
--- a/cppe/src/TcpTransport/Transceiver.cpp
+++ b/cppe/src/TcpTransport/Transceiver.cpp
@@ -374,7 +374,7 @@ IceInternal::Transceiver::toString() const
IceInternal::Transceiver::Transceiver(const InstancePtr& instance, SOCKET fd) :
_traceLevels(instance->traceLevels()),
- _logger(instance->logger()),
+ _logger(instance->initializationData().logger),
_fd(fd),
_readTimeout(-1),
_writeTimeout(-1),