diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2005-08-10 16:57:46 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2005-08-10 16:57:46 +0000 |
commit | 4d21cc8d470e01b2f15ee42103188cc39b96c6a4 (patch) | |
tree | a42074d25af04a720ad04f50c565af5c714aad2a /cppe/src/IceE/Reference.cpp | |
parent | Obfuscation doesn't work for this test. (diff) | |
download | ice-4d21cc8d470e01b2f15ee42103188cc39b96c6a4.tar.bz2 ice-4d21cc8d470e01b2f15ee42103188cc39b96c6a4.tar.xz ice-4d21cc8d470e01b2f15ee42103188cc39b96c6a4.zip |
Fixed getSecure to work without Router
Diffstat (limited to 'cppe/src/IceE/Reference.cpp')
-rw-r--r-- | cppe/src/IceE/Reference.cpp | 58 |
1 files changed, 25 insertions, 33 deletions
diff --git a/cppe/src/IceE/Reference.cpp b/cppe/src/IceE/Reference.cpp index 678914b9d37..36afb2d68ed 100644 --- a/cppe/src/IceE/Reference.cpp +++ b/cppe/src/IceE/Reference.cpp @@ -118,6 +118,7 @@ IceInternal::Reference::changeDefault() const { ReferencePtr r = _instance->referenceFactory()->copy(this); r->_mode = ModeTwoway; + r->_secure = false; r->_hasContext = false; r->_context.clear(); r->_facet = ""; @@ -305,6 +306,11 @@ IceInternal::Reference::operator==(const Reference& r) const return false; } + if(_secure != r._secure) + { + return false; + } + if(_identity != r._identity) { return false; @@ -350,6 +356,15 @@ IceInternal::Reference::operator<(const Reference& r) const return false; } + if(!_secure && r._secure) + { + return true; + } + else if(r._secure < _secure) + { + return false; + } + if(_identity < r._identity) { return true; @@ -390,9 +405,10 @@ IceInternal::Reference::operator<(const Reference& r) const } IceInternal::Reference::Reference(const InstancePtr& inst, const Identity& ident, const Context& ctx, - const string& fs, Mode md) + const string& fs, Mode md, bool sec) : _instance(inst), _mode(md), + _secure(sec), _identity(ident), _hasContext(!ctx.empty()), _context(ctx), @@ -404,6 +420,7 @@ IceInternal::Reference::Reference(const InstancePtr& inst, const Identity& ident IceInternal::Reference::Reference(const Reference& r) : _instance(r._instance), _mode(r._mode), + _secure(r._secure), _identity(r._identity), _hasContext(r._hasContext), _context(r._context), @@ -418,7 +435,7 @@ void IceInternal::decRef(IceInternal::FixedReference* p) { p->__decRef(); } IceInternal::FixedReference::FixedReference(const InstancePtr& inst, const Identity& ident, const Context& ctx, const string& fs, Mode md, const vector<ConnectionPtr>& fixedConns) - : Reference(inst, ident, ctx, fs, md), + : Reference(inst, ident, ctx, fs, md, false), _fixedConnections(fixedConns) { } @@ -429,12 +446,6 @@ IceInternal::FixedReference::getFixedConnections() const return _fixedConnections; } -bool -IceInternal::FixedReference::getSecure() const -{ - return false; -} - vector<EndpointPtr> IceInternal::FixedReference::getEndpoints() const { @@ -607,17 +618,10 @@ IceInternal::RoutableReference::getRoutedEndpoints() const return vector<EndpointPtr>(); } -bool -IceInternal::RoutableReference::getSecure() const -{ - return _secure; -} - ReferencePtr IceInternal::RoutableReference::changeDefault() const { RoutableReferencePtr r = RoutableReferencePtr::dynamicCast(Reference::changeDefault()); - r->_secure = false; r->_routerInfo = getInstance()->routerManager()->get(getInstance()->referenceFactory()->getDefaultRouter()); return r; } @@ -648,10 +652,6 @@ IceInternal::RoutableReference::operator==(const Reference& r) const { return false; } - if(_secure != rhs->_secure) - { - return false; - } return _routerInfo == rhs->_routerInfo; } @@ -677,14 +677,6 @@ IceInternal::RoutableReference::operator<(const Reference& r) const const RoutableReference* rhs = dynamic_cast<const RoutableReference*>(&r); if(rhs) { - if(!_secure && rhs->_secure) - { - return true; - } - else if(rhs->_secure < _secure) - { - return false; - } return _routerInfo < rhs->_routerInfo; } } @@ -694,12 +686,12 @@ IceInternal::RoutableReference::operator<(const Reference& r) const 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), _secure(sec), _routerInfo(rtrInfo) + : Reference(inst, ident, ctx, fs, md, sec), _routerInfo(rtrInfo) { } IceInternal::RoutableReference::RoutableReference(const RoutableReference& r) - : Reference(r), _secure(r._secure), _routerInfo(r._routerInfo) + : Reference(r), _routerInfo(r._routerInfo) { } #endif @@ -719,9 +711,9 @@ IceInternal::DirectReference::DirectReference(const InstancePtr& inst, const Ide } #else IceInternal::DirectReference::DirectReference(const InstancePtr& inst, const Identity& ident, - const Context& ctx, const string& fs, Mode md, bool, + const Context& ctx, const string& fs, Mode md, bool sec, const vector<EndpointPtr>& endpts) : - Reference(inst, ident, ctx, fs, md), + Reference(inst, ident, ctx, fs, md, sec), _endpoints(endpts) { } @@ -958,9 +950,9 @@ IceInternal::IndirectReference::IndirectReference(const InstancePtr& inst, const } #else IceInternal::IndirectReference::IndirectReference(const InstancePtr& inst, const Identity& ident, - const Context& ctx, const string& fs, Mode md, bool, + const Context& ctx, const string& fs, Mode md, bool sec, const string& adptid, const LocatorInfoPtr& locInfo) - : Reference(inst, ident, ctx, fs, md), + : Reference(inst, ident, ctx, fs, md, sec), _adapterId(adptid), _locatorInfo(locInfo) { |