summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Database.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2009-03-04 23:42:26 +0100
committerBenoit Foucher <benoit@zeroc.com>2009-03-04 23:42:26 +0100
commitcdd4b28c36cf1b919cfbd0eda0678744d1563e9e (patch)
tree9c3ea6eb1e9c9d2c695d75522380389dc014fd7f /cpp/src/IceGrid/Database.cpp
parentAlphabetized (diff)
downloadice-cdd4b28c36cf1b919cfbd0eda0678744d1563e9e.tar.bz2
ice-cdd4b28c36cf1b919cfbd0eda0678744d1563e9e.tar.xz
ice-cdd4b28c36cf1b919cfbd0eda0678744d1563e9e.zip
Fixed bug 3776, 3755, 3778 - getAdmin bugs and replicaGroup test warnings
Diffstat (limited to 'cpp/src/IceGrid/Database.cpp')
-rw-r--r--cpp/src/IceGrid/Database.cpp23
1 files changed, 17 insertions, 6 deletions
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp
index 52f79c8377b..bd3674ea4c8 100644
--- a/cpp/src/IceGrid/Database.cpp
+++ b/cpp/src/IceGrid/Database.cpp
@@ -810,10 +810,23 @@ Database::removeAdapter(const string& adapterId)
_adapterObserverTopic->waitForSyncedSubscribers(serial);
}
-AdapterEntryPtr
-Database::getAdapter(const string& id) const
+AdapterPrx
+Database::getAdapterProxy(const string& adapterId, const string& replicaGroupId, bool upToDate)
{
- return _adapterCache.get(id);
+ Lock sync(*this); // make sure this isn't call during an update.
+ return _adapterCache.get(adapterId)->getProxy(replicaGroupId, upToDate);
+}
+
+void
+Database::getLocatorAdapterInfo(const string& id,
+ LocatorAdapterInfoSeq& adpts,
+ int& count,
+ bool& replicaGroup,
+ bool& roundRobin,
+ const set<string>& excludes)
+{
+ Lock sync(*this); // Make sure this isn't call during an update.
+ _adapterCache.get(id)->getLocatorAdapterInfo(adpts, count, replicaGroup, roundRobin, excludes);
}
AdapterInfoSeq
@@ -826,9 +839,7 @@ Database::getAdapterInfo(const string& id)
//
try
{
-#if defined(__BCPLUSPLUS__) && (__BCPLUSPLUS__ >= 0x0600)
- IceUtil::DummyBCC dummy;
-#endif
+ Lock sync(*this); // Make sure this isn't call during an update.
return _adapterCache.get(id)->getAdapterInfo();
}
catch(AdapterNotExistException&)