diff options
author | Matthew Newhook <matthew@zeroc.com> | 2005-09-07 05:40:22 +0000 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2005-09-07 05:40:22 +0000 |
commit | c943fb0d16b7c9edcfbd20199126544bc65ddf7b (patch) | |
tree | 5017a9c8a031e1999a5b985d9d9d22189cb6de8b /cppe | |
parent | Changed version to 3.0.0. Fixed a few places where we could clean up (diff) | |
download | ice-c943fb0d16b7c9edcfbd20199126544bc65ddf7b.tar.bz2 ice-c943fb0d16b7c9edcfbd20199126544bc65ddf7b.tar.xz ice-c943fb0d16b7c9edcfbd20199126544bc65ddf7b.zip |
http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=448
Diffstat (limited to 'cppe')
-rw-r--r-- | cppe/src/IceE/Instance.cpp | 9 | ||||
-rw-r--r-- | cppe/src/IceE/Instance.h | 2 | ||||
-rw-r--r-- | cppe/src/IceE/Reference.cpp | 98 | ||||
-rw-r--r-- | cppe/src/IceE/Reference.h | 22 | ||||
-rw-r--r-- | cppe/src/IceE/ReferenceFactory.cpp | 18 | ||||
-rw-r--r-- | cppe/src/IceE/ReferenceFactory.h | 3 |
6 files changed, 77 insertions, 75 deletions
diff --git a/cppe/src/IceE/Instance.cpp b/cppe/src/IceE/Instance.cpp index 5009ed783af..8b088291025 100644 --- a/cppe/src/IceE/Instance.cpp +++ b/cppe/src/IceE/Instance.cpp @@ -65,12 +65,6 @@ IceInternal::Instance::destroyed() const return _state == StateDestroyed; } -CommunicatorPtr -IceInternal::Instance::communicator() const -{ - return _communicator; -} - PropertiesPtr IceInternal::Instance::properties() const { @@ -294,7 +288,6 @@ IceInternal::Instance::getDefaultContext() const } IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const PropertiesPtr& properties) : - _communicator(communicator.get()), _state(StateActive), _properties(properties), _messageSizeMax(0), @@ -462,7 +455,7 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Prope _locatorManager = new LocatorManager; #endif - _referenceFactory = new ReferenceFactory(this); + _referenceFactory = new ReferenceFactory(this, communicator); _proxyFactory = new ProxyFactory(this); diff --git a/cppe/src/IceE/Instance.h b/cppe/src/IceE/Instance.h index e7a68f230c4..16e1bbc1c33 100644 --- a/cppe/src/IceE/Instance.h +++ b/cppe/src/IceE/Instance.h @@ -36,7 +36,6 @@ class Instance : public IceUtil::Shared, public IceUtil::RecMutex public: bool destroyed() const; - Ice::CommunicatorPtr communicator() const; Ice::PropertiesPtr properties() const; Ice::LoggerPtr logger() const; void logger(const Ice::LoggerPtr&); @@ -74,7 +73,6 @@ private: void destroy(); friend class Ice::Communicator; - Ice::Communicator* _communicator; // Not a Ptr, to avoid having Instance and Communicator point at each other. enum State { StateActive, diff --git a/cppe/src/IceE/Reference.cpp b/cppe/src/IceE/Reference.cpp index e470a334fee..f45c1f95dad 100644 --- a/cppe/src/IceE/Reference.cpp +++ b/cppe/src/IceE/Reference.cpp @@ -61,7 +61,7 @@ IceInternal::Reference::defaultContext() const CommunicatorPtr IceInternal::Reference::getCommunicator() const { - return _instance->communicator(); + return _communicator; } ReferencePtr @@ -404,38 +404,40 @@ IceInternal::Reference::operator<(const Reference& r) const return false; } -IceInternal::Reference::Reference(const InstancePtr& inst, const Identity& ident, const Context& ctx, - const string& fs, Mode md, bool sec) - : _instance(inst), - _mode(md), - _secure(sec), - _identity(ident), - _hasContext(!ctx.empty()), - _context(ctx), - _facet(fs), - _hashInitialized(false) +IceInternal::Reference::Reference(const InstancePtr& inst, const CommunicatorPtr& com, const Identity& ident, + const Context& ctx, const string& fs, Mode md, bool sec) : + _instance(inst), + _communicator(com), + _mode(md), + _secure(sec), + _identity(ident), + _hasContext(!ctx.empty()), + _context(ctx), + _facet(fs), + _hashInitialized(false) { } -IceInternal::Reference::Reference(const Reference& r) - : _instance(r._instance), - _mode(r._mode), - _secure(r._secure), - _identity(r._identity), - _hasContext(r._hasContext), - _context(r._context), - _facet(r._facet), - _hashInitialized(false) +IceInternal::Reference::Reference(const Reference& r) : + _instance(r._instance), + _communicator(r._communicator), + _mode(r._mode), + _secure(r._secure), + _identity(r._identity), + _hasContext(r._hasContext), + _context(r._context), + _facet(r._facet), + _hashInitialized(false) { } void IceInternal::incRef(IceInternal::FixedReference* p) { p->__incRef(); } void IceInternal::decRef(IceInternal::FixedReference* p) { p->__decRef(); } -IceInternal::FixedReference::FixedReference(const InstancePtr& inst, const Identity& ident, +IceInternal::FixedReference::FixedReference(const InstancePtr& inst, const CommunicatorPtr& com, const Identity& ident, const Context& ctx, const string& fs, Mode md, const vector<ConnectionPtr>& fixedConns) - : Reference(inst, ident, ctx, fs, md, false), + : Reference(inst, com, ident, ctx, fs, md, false), _fixedConnections(fixedConns) { } @@ -683,10 +685,10 @@ IceInternal::RoutableReference::operator<(const Reference& r) const return false; } -IceInternal::RoutableReference::RoutableReference(const InstancePtr& inst, const Identity& ident, - const Context& ctx, const string& fs, Mode md, - bool sec, const RouterInfoPtr& rtrInfo) - : Reference(inst, ident, ctx, fs, md, sec), _routerInfo(rtrInfo) +IceInternal::RoutableReference::RoutableReference(const InstancePtr& inst, const CommunicatorPtr& com, + const Identity& ident, const Context& ctx, const string& fs, + Mode md, bool sec, const RouterInfoPtr& rtrInfo) + : Reference(inst, com, ident, ctx, fs, md, sec), _routerInfo(rtrInfo) { } @@ -701,19 +703,20 @@ void IceInternal::decRef(IceInternal::DirectReference* p) { p->__decRef(); } #ifdef ICEE_HAS_ROUTER -IceInternal::DirectReference::DirectReference(const InstancePtr& inst, const Identity& ident, - const Context& ctx, const string& fs, Mode md, bool sec, - const vector<EndpointPtr>& endpts, const RouterInfoPtr& rtrInfo) : +IceInternal::DirectReference::DirectReference(const InstancePtr& inst, const CommunicatorPtr& com, + const Identity& ident, const Context& ctx, const string& fs, Mode md, + bool sec, const vector<EndpointPtr>& endpts, + const RouterInfoPtr& rtrInfo) : - RoutableReference(inst, ident, ctx, fs, md, sec, rtrInfo), + RoutableReference(inst, com, ident, ctx, fs, md, sec, rtrInfo), _endpoints(endpts) { } #else -IceInternal::DirectReference::DirectReference(const InstancePtr& inst, const Identity& ident, - const Context& ctx, const string& fs, Mode md, bool sec, - const vector<EndpointPtr>& endpts) : - Reference(inst, ident, ctx, fs, md, sec), +IceInternal::DirectReference::DirectReference(const InstancePtr& inst, const CommunicatorPtr& com, + const Identity& ident, const Context& ctx, const string& fs, Mode md, + bool sec, const vector<EndpointPtr>& endpts) : + Reference(inst, com, ident, ctx, fs, md, sec), _endpoints(endpts) { } @@ -939,22 +942,23 @@ void IceInternal::incRef(IceInternal::IndirectReference* p) { p->__incRef(); } void IceInternal::decRef(IceInternal::IndirectReference* p) { p->__decRef(); } #ifdef ICEE_HAS_ROUTER -IceInternal::IndirectReference::IndirectReference(const InstancePtr& inst, const Identity& ident, - const Context& ctx, const string& fs, Mode md, bool sec, - const string& adptid, const RouterInfoPtr& rtrInfo, - const LocatorInfoPtr& locInfo) - : RoutableReference(inst, ident, ctx, fs, md, sec, rtrInfo), - _adapterId(adptid), - _locatorInfo(locInfo) +IceInternal::IndirectReference::IndirectReference(const InstancePtr& inst, const CommunicatorPtr& com, + const Identity& ident, const Context& ctx, const string& fs, + Mode md, bool sec, const string& adptid, + const RouterInfoPtr& rtrInfo, const LocatorInfoPtr& locInfo) : + RoutableReference(inst, com ident, ctx, fs, md, sec, rtrInfo), + _adapterId(adptid), + _locatorInfo(locInfo) { } #else -IceInternal::IndirectReference::IndirectReference(const InstancePtr& inst, const Identity& ident, - const Context& ctx, const string& fs, Mode md, bool sec, - const string& adptid, const LocatorInfoPtr& locInfo) - : Reference(inst, ident, ctx, fs, md, sec), - _adapterId(adptid), - _locatorInfo(locInfo) +IceInternal::IndirectReference::IndirectReference(const InstancePtr& inst, const CommunicatorPtr& com, + const Identity& ident, const Context& ctx, const string& fs, + Mode md, bool sec, const string& adptid, + const LocatorInfoPtr& locInfo) : + Reference(inst, com, ident, ctx, fs, md, sec), + _adapterId(adptid), + _locatorInfo(locInfo) { } #endif diff --git a/cppe/src/IceE/Reference.h b/cppe/src/IceE/Reference.h index 74c70073adc..2b4d00393c5 100644 --- a/cppe/src/IceE/Reference.h +++ b/cppe/src/IceE/Reference.h @@ -108,12 +108,14 @@ public: protected: - Reference(const InstancePtr&, const Ice::Identity&, const Ice::Context&, const std::string&, Mode, bool); + Reference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const Ice::Context&, + const std::string&, Mode, bool); Reference(const Reference&); private: - InstancePtr _instance; + const InstancePtr _instance; + const Ice::CommunicatorPtr _communicator; Mode _mode; bool _secure; @@ -131,8 +133,8 @@ class FixedReference : public Reference { public: - FixedReference(const InstancePtr&, const Ice::Identity&, const Ice::Context&, const std::string&, Mode, - const std::vector<Ice::ConnectionPtr>&); + FixedReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const Ice::Context&, + const std::string&, Mode, const std::vector<Ice::ConnectionPtr>&); const std::vector<Ice::ConnectionPtr>& getFixedConnections() const; @@ -188,8 +190,8 @@ public: protected: - RoutableReference(const InstancePtr&, const Ice::Identity&, const Ice::Context&, const std::string&, - Mode, bool, const RouterInfoPtr&); + RoutableReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const Ice::Context&, + const std::string&, Mode, bool, const RouterInfoPtr&); RoutableReference(const RoutableReference&); @@ -208,8 +210,8 @@ class DirectReference : { public: - DirectReference(const InstancePtr&, const Ice::Identity&, const Ice::Context&, const std::string&, Mode, - bool, const std::vector<EndpointPtr>& + DirectReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const Ice::Context&, + const std::string&, Mode, bool, const std::vector<EndpointPtr>& #ifdef ICEE_HAS_ROUTER , const RouterInfoPtr& #endif @@ -262,8 +264,8 @@ class IndirectReference : { public: - IndirectReference(const InstancePtr&, const Ice::Identity&, const Ice::Context&, const std::string&, - Mode, bool, const std::string& + IndirectReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const Ice::Context&, + const std::string&, Mode, bool, const std::string& #ifdef ICEE_HAS_ROUTER , const RouterInfoPtr& #endif diff --git a/cppe/src/IceE/ReferenceFactory.cpp b/cppe/src/IceE/ReferenceFactory.cpp index 8be846b2f01..36282a05c26 100644 --- a/cppe/src/IceE/ReferenceFactory.cpp +++ b/cppe/src/IceE/ReferenceFactory.cpp @@ -77,9 +77,9 @@ IceInternal::ReferenceFactory::create(const Identity& ident, // Create new reference // #ifdef ICEE_HAS_ROUTER - return new DirectReference(_instance, ident, context, facet, mode, secure, endpoints, routerInfo); + return new DirectReference(_instance, _communicator, ident, context, facet, mode, secure, endpoints, routerInfo); #else - return new DirectReference(_instance, ident, context, facet, mode, secure, endpoints); + return new DirectReference(_instance, _communicator, ident, context, facet, mode, secure, endpoints); #endif } @@ -113,9 +113,10 @@ IceInternal::ReferenceFactory::create(const Identity& ident, // Create new reference // #ifdef ICEE_HAS_ROUTER - return new IndirectReference(_instance, ident, context, facet, mode, secure, adapterId, routerInfo, locatorInfo); + return new IndirectReference(_instance, _communicator, ident, context, facet, mode, secure, adapterId, routerInfo, + locatorInfo); #else - return new IndirectReference(_instance, ident, context, facet, mode, secure, adapterId, locatorInfo); + return new IndirectReference(_instance, _communicator, ident, context, facet, mode, secure, adapterId, locatorInfo); #endif } @@ -143,7 +144,7 @@ IceInternal::ReferenceFactory::create(const Identity& ident, // // Create new reference // - return new FixedReference(_instance, ident, context, facet, mode, fixedConnections); + return new FixedReference(_instance, _communicator, ident, context, facet, mode, fixedConnections); } ReferencePtr @@ -667,8 +668,10 @@ IceInternal::ReferenceFactory::getDefaultLocator() const #endif -IceInternal::ReferenceFactory::ReferenceFactory(const InstancePtr& instance) : - _instance(instance) +IceInternal::ReferenceFactory::ReferenceFactory(const InstancePtr& instance, + const CommunicatorPtr& communicator) : + _instance(instance), + _communicator(communicator) { } @@ -683,6 +686,7 @@ IceInternal::ReferenceFactory::destroy() } _instance = 0; + _communicator = 0; #ifdef ICEE_HAS_ROUTER _defaultRouter = 0; #endif diff --git a/cppe/src/IceE/ReferenceFactory.h b/cppe/src/IceE/ReferenceFactory.h index d2c4c4482ae..f8ea02964f1 100644 --- a/cppe/src/IceE/ReferenceFactory.h +++ b/cppe/src/IceE/ReferenceFactory.h @@ -76,11 +76,12 @@ public: private: - ReferenceFactory(const InstancePtr&); + ReferenceFactory(const InstancePtr&, const Ice::CommunicatorPtr&); void destroy(); friend class Instance; InstancePtr _instance; + Ice::CommunicatorPtr _communicator; #ifdef ICEE_HAS_ROUTER ::Ice::RouterPrx _defaultRouter; #endif |