summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Reference.h
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2006-07-20 21:34:50 +0000
committerBernard Normier <bernard@zeroc.com>2006-07-20 21:34:50 +0000
commitc00e785b3a362f7e51176fea2d45e2f02a29f298 (patch)
tree99846b76f8d3b2f64355d9d183cc704dd314a834 /cpp/src/Ice/Reference.h
parentMerge from R3_1_branch (diff)
downloadice-c00e785b3a362f7e51176fea2d45e2f02a29f298.tar.bz2
ice-c00e785b3a362f7e51176fea2d45e2f02a29f298.tar.xz
ice-c00e785b3a362f7e51176fea2d45e2f02a29f298.zip
Optimized context to avoid copies
Diffstat (limited to 'cpp/src/Ice/Reference.h')
-rw-r--r--cpp/src/Ice/Reference.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/cpp/src/Ice/Reference.h b/cpp/src/Ice/Reference.h
index 8c9575fcaac..d5b564393f5 100644
--- a/cpp/src/Ice/Reference.h
+++ b/cpp/src/Ice/Reference.h
@@ -21,6 +21,7 @@
#include <Ice/RouterInfoF.h>
#include <Ice/LocatorInfoF.h>
#include <Ice/ConnectionIF.h>
+#include <Ice/SharedContext.h>
#include <Ice/Identity.h>
namespace IceInternal
@@ -46,7 +47,7 @@ public:
const Ice::Identity& getIdentity() const { return _identity; }
const std::string& getFacet() const { return _facet; }
const InstancePtr& getInstance() const { return _instance; }
- const Ice::Context& getContext() const { return _context; }
+ const SharedContextPtr& getContext() const { return _context; }
ReferencePtr defaultContext() const;
@@ -111,7 +112,7 @@ public:
protected:
- Reference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const Ice::Context&,
+ Reference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const SharedContextPtr&,
const std::string&, Mode);
Reference(const Reference&);
@@ -126,7 +127,7 @@ private:
Mode _mode;
Ice::Identity _identity;
- Ice::Context _context;
+ SharedContextPtr _context;
std::string _facet;
};
@@ -134,7 +135,7 @@ class FixedReference : public Reference
{
public:
- FixedReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const Ice::Context&,
+ FixedReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const SharedContextPtr&,
const std::string&, Mode, const std::vector<Ice::ConnectionIPtr>&);
const std::vector<Ice::ConnectionIPtr>& getFixedConnections() const;
@@ -215,7 +216,7 @@ public:
protected:
- RoutableReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const Ice::Context&,
+ RoutableReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const SharedContextPtr&,
const std::string&, Mode, bool, const RouterInfoPtr&, bool);
RoutableReference(const RoutableReference&);
@@ -241,7 +242,7 @@ class DirectReference : public RoutableReference
{
public:
- DirectReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const Ice::Context&,
+ DirectReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const SharedContextPtr&,
const std::string&, Mode, bool, const std::vector<EndpointIPtr>&, const RouterInfoPtr&, bool);
virtual int getLocatorCacheTimeout() const;
@@ -279,7 +280,7 @@ class IndirectReference : public RoutableReference
{
public:
- IndirectReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const Ice::Context&,
+ IndirectReference(const InstancePtr&, const Ice::CommunicatorPtr&, const Ice::Identity&, const SharedContextPtr&,
const std::string&, Mode, bool, const std::string&, const RouterInfoPtr&, const LocatorInfoPtr&,
bool, int);