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 | |
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')
-rw-r--r-- | cppe/src/IceE/Reference.cpp | 58 | ||||
-rw-r--r-- | cppe/src/IceE/Reference.h | 8 |
2 files changed, 28 insertions, 38 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) { diff --git a/cppe/src/IceE/Reference.h b/cppe/src/IceE/Reference.h index 91ad8f46dc3..74c70073adc 100644 --- a/cppe/src/IceE/Reference.h +++ b/cppe/src/IceE/Reference.h @@ -47,6 +47,7 @@ public: }; Mode getMode() const { return _mode; } + bool getSecure() const { return _secure; }; const Ice::Identity& getIdentity() const { return _identity; } const std::string& getFacet() const { return _facet; } const InstancePtr& getInstance() const { return _instance; } @@ -56,7 +57,6 @@ public: Ice::CommunicatorPtr getCommunicator() const; - virtual bool getSecure() const = 0; virtual std::vector<EndpointPtr> getEndpoints() const = 0; // @@ -108,7 +108,7 @@ public: protected: - Reference(const InstancePtr&, const Ice::Identity&, const Ice::Context&, const std::string&, Mode); + Reference(const InstancePtr&, const Ice::Identity&, const Ice::Context&, const std::string&, Mode, bool); Reference(const Reference&); private: @@ -116,6 +116,7 @@ private: InstancePtr _instance; Mode _mode; + bool _secure; Ice::Identity _identity; bool _hasContext; Ice::Context _context; @@ -135,7 +136,6 @@ public: const std::vector<Ice::ConnectionPtr>& getFixedConnections() const; - virtual bool getSecure() const; virtual std::vector<EndpointPtr> getEndpoints() const; #ifdef ICEE_HAS_ROUTER @@ -174,7 +174,6 @@ public: const RouterInfoPtr& getRouterInfo() const { return _routerInfo; } std::vector<EndpointPtr> getRoutedEndpoints() const; - virtual bool getSecure() const; virtual ReferencePtr changeDefault() const; virtual ReferencePtr changeRouter(const Ice::RouterPrx&) const; @@ -196,7 +195,6 @@ protected: private: - bool _secure; RouterInfoPtr _routerInfo; // Null if no router is used. }; #endif |