summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/ReplicaSessionI.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/ReplicaSessionI.h')
-rw-r--r--cpp/src/IceGrid/ReplicaSessionI.h29
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;
};