diff options
author | Michi Henning <michi@zeroc.com> | 2004-10-29 04:21:38 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2004-10-29 04:21:38 +0000 |
commit | 1a469c19cd810f7d60e45f2a1726372455dde834 (patch) | |
tree | 7289e8a4d55672971d06682ea05747227b79af06 /cpp/src/Ice/ReferenceFactory.h | |
parent | Added try-catch block to Generate.cs. Updated version number to 2.0.0. (diff) | |
download | ice-1a469c19cd810f7d60e45f2a1726372455dde834.tar.bz2 ice-1a469c19cd810f7d60e45f2a1726372455dde834.tar.xz ice-1a469c19cd810f7d60e45f2a1726372455dde834.zip |
Reference refactoring.
Diffstat (limited to 'cpp/src/Ice/ReferenceFactory.h')
-rw-r--r-- | cpp/src/Ice/ReferenceFactory.h | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/cpp/src/Ice/ReferenceFactory.h b/cpp/src/Ice/ReferenceFactory.h index 76d1452cc7a..e0bea176a3b 100644 --- a/cpp/src/Ice/ReferenceFactory.h +++ b/cpp/src/Ice/ReferenceFactory.h @@ -14,7 +14,7 @@ #include <IceUtil/Mutex.h> #include <Ice/ReferenceFactoryF.h> #include <Ice/Reference.h> // For Reference::Mode -#include <set> +#include <Ice/ConnectionIF.h> namespace IceInternal { @@ -23,10 +23,37 @@ class ReferenceFactory : public ::IceUtil::Shared, public ::IceUtil::Mutex { public: + // + // Make a polymorphic copy of a reference. + // + ReferencePtr clone(const Reference* r) const; + + // + // Create a direct reference. + // + ReferencePtr create(const Ice::Identity&, const Ice::Context&, const std::string&, + Reference::Mode, bool, const std::vector<EndpointPtr>&, + const RouterInfoPtr&, bool); + // + // Create an indirect reference. + // + ReferencePtr create(const Ice::Identity&, const Ice::Context&, const std::string&, + Reference::Mode, bool, const std::string&, + const RouterInfoPtr&, const LocatorInfoPtr&, bool); + // + // Create a fixed reference. + // ReferencePtr create(const Ice::Identity&, const Ice::Context&, const std::string&, - Reference::Mode, bool, const std::string&, const std::vector<EndpointPtr>&, - const RouterInfoPtr&, const LocatorInfoPtr&, const std::vector<Ice::ConnectionIPtr>&, bool); + Reference::Mode, bool, bool, const std::vector<Ice::ConnectionIPtr>&); + + // + // Create a reference from a string. + // ReferencePtr create(const std::string&); + + // + // Create a reference by unmarshaling it from a stream. + // ReferencePtr create(const Ice::Identity&, BasicStream*); void setDefaultRouter(const ::Ice::RouterPrx&); @@ -44,9 +71,6 @@ private: InstancePtr _instance; Ice::RouterPrx _defaultRouter; Ice::LocatorPrx _defaultLocator; - std::set<ReferencePtr> _references; - std::set<ReferencePtr>::iterator _referencesHint; - int _evict; }; } |