diff options
Diffstat (limited to 'cpp/src/IceGrid/ReplicaSessionI.h')
-rw-r--r-- | cpp/src/IceGrid/ReplicaSessionI.h | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/cpp/src/IceGrid/ReplicaSessionI.h b/cpp/src/IceGrid/ReplicaSessionI.h index 8ebf169d5dd..0b5968f3a7f 100644 --- a/cpp/src/IceGrid/ReplicaSessionI.h +++ b/cpp/src/IceGrid/ReplicaSessionI.h @@ -10,6 +10,7 @@ #ifndef ICEGRID_REPLICA_SESSION_H #define ICEGRID_REPLICA_SESSION_H +#include <IceGrid/Registry.h> #include <IceGrid/Internal.h> namespace IceGrid @@ -18,6 +19,9 @@ namespace IceGrid class Database; typedef IceUtil::Handle<Database> DatabasePtr; +class WellKnownObjectsManager; +typedef IceUtil::Handle<WellKnownObjectsManager> WellKnownObjectsManagerPtr; + class TraceLevels; typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr; @@ -25,29 +29,34 @@ class ReplicaSessionI : public ReplicaSession, public IceUtil::Mutex { public: - ReplicaSessionI(const DatabasePtr&, const std::string&, const InternalRegistryPrx&, const RegistryObserverPrx&); + ReplicaSessionI(const DatabasePtr&, const WellKnownObjectsManagerPtr&, const std::string&, const RegistryInfo&, + const InternalRegistryPrx&, const DatabaseObserverPrx&); virtual void keepAlive(const Ice::Current&); virtual int getTimeout(const Ice::Current&) const; - virtual void setClientAndServerProxies(const Ice::ObjectPrx&, const Ice::ObjectPrx&, const Ice::Current&); + virtual void setEndpoints(const StringObjectProxyDict&, const Ice::Current&); + virtual void registerWellKnownObjects(const ObjectInfoSeq&, const Ice::Current&); virtual void destroy(const Ice::Current&); virtual IceUtil::Time timestamp() const; - const InternalRegistryPrx& getProxy() const { return _proxy; } - const RegistryObserverPrx& getObserver() const { return _observer; } - Ice::ObjectPrx getClientProxy() const; - Ice::ObjectPrx getServerProxy() const; + const InternalRegistryPrx& getInternalRegistry() const { return _internalRegistry; } + const DatabaseObserverPrx& getObserver() const { return _databaseObserver; } + const RegistryInfo& getInfo() const { return _info; } + + Ice::ObjectPrx getEndpoint(const std::string&); private: const DatabasePtr _database; + const WellKnownObjectsManagerPtr _wellKnownObjects; const TraceLevelsPtr _traceLevels; const std::string _name; - const InternalRegistryPrx _proxy; - const RegistryObserverPrx _observer; - Ice::ObjectPrx _clientProxy; - Ice::ObjectPrx _serverProxy; + const InternalRegistryPrx _internalRegistry; + const DatabaseObserverPrx _databaseObserver; + const RegistryInfo _info; + ObjectInfoSeq _replicaWellKnownObjects; + StringObjectProxyDict _replicaEndpoints; IceUtil::Time _timestamp; bool _destroy; }; |