summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeSessionManager.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2013-09-03 15:42:19 +0200
committerBenoit Foucher <benoit@zeroc.com>2013-09-03 15:42:19 +0200
commit91f6ebb998532b36fc70187b641a5b7404060422 (patch)
treeac88e961c68e4b09eb819f4b57b9ecac56854567 /cpp/src/IceGrid/NodeSessionManager.cpp
parentICE-5378 - Remove slice35d.dll from Windows installer (diff)
downloadice-91f6ebb998532b36fc70187b641a5b7404060422.tar.bz2
ice-91f6ebb998532b36fc70187b641a5b7404060422.tar.xz
ice-91f6ebb998532b36fc70187b641a5b7404060422.zip
Fixed ICE-5358 - allow IceGrid replica to initialize its database from another replica
Diffstat (limited to 'cpp/src/IceGrid/NodeSessionManager.cpp')
-rw-r--r--cpp/src/IceGrid/NodeSessionManager.cpp18
1 files changed, 2 insertions, 16 deletions
diff --git a/cpp/src/IceGrid/NodeSessionManager.cpp b/cpp/src/IceGrid/NodeSessionManager.cpp
index fd3ddfc51ed..66191878052 100644
--- a/cpp/src/IceGrid/NodeSessionManager.cpp
+++ b/cpp/src/IceGrid/NodeSessionManager.cpp
@@ -227,7 +227,8 @@ NodeSessionKeepAliveThread::keepAlive(const NodeSessionPrx& session)
}
}
-NodeSessionManager::NodeSessionManager() :
+NodeSessionManager::NodeSessionManager(const Ice::CommunicatorPtr& communicator) :
+ SessionManager(communicator),
_destroyed(false),
_activated(false)
{
@@ -239,22 +240,7 @@ NodeSessionManager::create(const NodeIPtr& node)
{
Lock sync(*this);
assert(!_node);
-
const_cast<NodeIPtr&>(_node) = node;
-
- Ice::CommunicatorPtr communicator = _node->getCommunicator();
- assert(communicator->getDefaultLocator());
-
- //
- // Initialize query objects from the default locator endpoints.
- //
- initQueryObjects(communicator->getDefaultLocator());
-
- Ice::ObjectPrx prx = communicator->getDefaultLocator();
- Ice::Identity id = prx->ice_getIdentity();
- id.name = "InternalRegistry-Master";
- _master = InternalRegistryPrx::uncheckedCast(prx->ice_identity(id)->ice_endpoints(Ice::EndpointSeq()));
-
_thread = new Thread(*this);
_thread->start();
}