summaryrefslogtreecommitdiff
path: root/cppe/src
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2005-08-10 16:57:46 +0000
committerDwayne Boone <dwayne@zeroc.com>2005-08-10 16:57:46 +0000
commit4d21cc8d470e01b2f15ee42103188cc39b96c6a4 (patch)
treea42074d25af04a720ad04f50c565af5c714aad2a /cppe/src
parentObfuscation doesn't work for this test. (diff)
downloadice-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.cpp58
-rw-r--r--cppe/src/IceE/Reference.h8
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