diff options
Diffstat (limited to 'cppe/src')
-rwxr-xr-x | cppe/src/IceE/Communicator.cpp | 24 | ||||
-rwxr-xr-x | cppe/src/IceE/Connection.cpp | 16 | ||||
-rw-r--r-- | cppe/src/IceE/Incoming.cpp | 20 | ||||
-rw-r--r-- | cppe/src/IceE/IncomingConnectionFactory.cpp | 12 | ||||
-rw-r--r-- | cppe/src/IceE/Initialize.cpp | 26 | ||||
-rw-r--r-- | cppe/src/IceE/Instance.cpp | 88 | ||||
-rw-r--r-- | cppe/src/IceE/Instance.h | 13 | ||||
-rw-r--r-- | cppe/src/IceE/LocatorInfo.cpp | 4 | ||||
-rw-r--r-- | cppe/src/IceE/ObjectAdapter.cpp | 35 | ||||
-rwxr-xr-x | cppe/src/IceE/OutgoingConnectionFactory.cpp | 2 | ||||
-rw-r--r-- | cppe/src/IceE/ProxyFactory.cpp | 4 | ||||
-rw-r--r-- | cppe/src/IceE/Reference.cpp | 5 | ||||
-rw-r--r-- | cppe/src/IceE/ReferenceFactory.cpp | 32 | ||||
-rw-r--r-- | cppe/src/TcpTransport/Acceptor.cpp | 2 | ||||
-rw-r--r-- | cppe/src/TcpTransport/Connector.cpp | 2 | ||||
-rw-r--r-- | cppe/src/TcpTransport/Transceiver.cpp | 2 |
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), |