summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/WellKnownObjectsManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/WellKnownObjectsManager.cpp')
-rw-r--r--cpp/src/IceGrid/WellKnownObjectsManager.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/WellKnownObjectsManager.cpp b/cpp/src/IceGrid/WellKnownObjectsManager.cpp
index 44b57c5e0be..596f43644bb 100644
--- a/cpp/src/IceGrid/WellKnownObjectsManager.cpp
+++ b/cpp/src/IceGrid/WellKnownObjectsManager.cpp
@@ -120,3 +120,14 @@ WellKnownObjectsManager::getEndpoints(const string& name)
Lock sync(*this);
return _endpoints[name];
}
+
+LocatorPrx
+WellKnownObjectsManager::getLocator()
+{
+ Lock sync(*this);
+ Ice::Identity id;
+ id.name = "Locator";
+ id.category = _database->getInstanceName();
+ Ice::ObjectPrx prx = _database->getReplicaCache().getEndpoints("Client", _endpoints["Client"]);
+ return LocatorPrx::uncheckedCast(prx->ice_identity(id));
+}