summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Reference.cpp
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2005-09-07 02:30:29 +0000
committerMatthew Newhook <matthew@zeroc.com>2005-09-07 02:30:29 +0000
commit6f1ded4bb739128f167f8486aeaac273cccc88d3 (patch)
tree1e75c490cf1403aa2165a35aace9d779f26294bb /cpp/src/Ice/Reference.cpp
parenthttp://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=448 (diff)
downloadice-6f1ded4bb739128f167f8486aeaac273cccc88d3.tar.bz2
ice-6f1ded4bb739128f167f8486aeaac273cccc88d3.tar.xz
ice-6f1ded4bb739128f167f8486aeaac273cccc88d3.zip
http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=448
Diffstat (limited to 'cpp/src/Ice/Reference.cpp')
-rw-r--r--cpp/src/Ice/Reference.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/cpp/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp
index 3c714335291..383befc7907 100644
--- a/cpp/src/Ice/Reference.cpp
+++ b/cpp/src/Ice/Reference.cpp
@@ -54,7 +54,7 @@ IceInternal::Reference::defaultContext() const
CommunicatorPtr
IceInternal::Reference::getCommunicator() const
{
- return _instance->communicator();
+ return _communicator;
}
ReferencePtr
@@ -400,9 +400,10 @@ public:
}
};
-IceInternal::Reference::Reference(const InstancePtr& inst, const Identity& ident, const Context& ctx,
- const string& fs, Mode md)
+IceInternal::Reference::Reference(const InstancePtr& inst, const CommunicatorPtr& com, const Identity& ident,
+ const Context& ctx, const string& fs, Mode md)
: _instance(inst),
+ _communicator(com),
_mode(md),
_identity(ident),
_hasContext(!ctx.empty()),
@@ -414,6 +415,7 @@ IceInternal::Reference::Reference(const InstancePtr& inst, const Identity& ident
IceInternal::Reference::Reference(const Reference& r)
: _instance(r._instance),
+ _communicator(r._communicator),
_mode(r._mode),
_identity(r._identity),
_hasContext(r._hasContext),
@@ -426,10 +428,10 @@ IceInternal::Reference::Reference(const Reference& r)
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<ConnectionIPtr>& fixedConns)
- : Reference(inst, ident, ctx, fs, md),
+ : Reference(inst, com, ident, ctx, fs, md),
_fixedConnections(fixedConns)
{
}
@@ -727,10 +729,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,
+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, bool collocationOpt)
- : Reference(inst, ident, ctx, fs, md),
+ : Reference(inst, com, ident, ctx, fs, md),
_secure(sec),
_routerInfo(rtrInfo),
_collocationOptimization(collocationOpt)
@@ -748,11 +750,11 @@ IceInternal::RoutableReference::RoutableReference(const RoutableReference& r)
void IceInternal::incRef(IceInternal::DirectReference* p) { p->__incRef(); }
void IceInternal::decRef(IceInternal::DirectReference* p) { p->__decRef(); }
-IceInternal::DirectReference::DirectReference(const InstancePtr& inst, const Identity& ident,
- const Context& ctx, const string& fs, Mode md,
+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, bool collocationOpt)
- : RoutableReference(inst, ident, ctx, fs, md, sec, rtrInfo, collocationOpt),
+ : RoutableReference(inst, com, ident, ctx, fs, md, sec, rtrInfo, collocationOpt),
_endpoints(endpts)
{
}
@@ -969,11 +971,11 @@ IceInternal::DirectReference::DirectReference(const DirectReference& r)
void IceInternal::incRef(IceInternal::IndirectReference* p) { p->__incRef(); }
void IceInternal::decRef(IceInternal::IndirectReference* p) { p->__decRef(); }
-IceInternal::IndirectReference::IndirectReference(const InstancePtr& inst, const Identity& ident,
- const Context& ctx, const string& fs, Mode md,
+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, bool collocationOpt)
- : RoutableReference(inst, ident, ctx, fs, md, sec, rtrInfo, collocationOpt),
+ : RoutableReference(inst, com, ident, ctx, fs, md, sec, rtrInfo, collocationOpt),
_adapterId(adptid),
_locatorInfo(locInfo)
{