summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Database.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/Database.h')
-rw-r--r--cpp/src/IceGrid/Database.h31
1 files changed, 24 insertions, 7 deletions
diff --git a/cpp/src/IceGrid/Database.h b/cpp/src/IceGrid/Database.h
index 55d9c40df63..079e6f0ba19 100644
--- a/cpp/src/IceGrid/Database.h
+++ b/cpp/src/IceGrid/Database.h
@@ -22,6 +22,7 @@
#include <IceGrid/AllocatableObjectCache.h>
#include <IceGrid/AdapterCache.h>
#include <IceGrid/Topics.h>
+#include <IceGrid/PluginFacadeI.h>
#include <IceGrid/DB.h>
namespace IceGrid
@@ -63,7 +64,8 @@ public:
const Ice::CommunicatorPtr& getCommunicator() const { return _communicator; }
const Ice::ObjectAdapterPtr& getInternalAdapter() { return _internalAdapter; }
- void destroyTopics();
+ void destroy();
+
ObserverTopicPtr getObserverTopic(TopicName) const;
int lock(AdminSessionI*, const std::string&);
@@ -101,17 +103,24 @@ public:
AllocatableObjectEntryPtr getAllocatableObject(const Ice::Identity&) const;
void setAdapterDirectProxy(const std::string&, const std::string&, const Ice::ObjectPrx&, Ice::Long = 0);
- Ice::ObjectPrx getAdapterDirectProxy(const std::string&, const Ice::EncodingVersion&);
+ Ice::ObjectPrx getAdapterDirectProxy(const std::string&, const Ice::EncodingVersion&, const Ice::ConnectionPtr&,
+ const Ice::Context&);
void removeAdapter(const std::string&);
AdapterPrx getAdapterProxy(const std::string&, const std::string&, bool);
- void getLocatorAdapterInfo(const std::string&, LocatorAdapterInfoSeq&, int&, bool&, bool&,
+ void getLocatorAdapterInfo(const std::string&, const Ice::ConnectionPtr&, const Ice::Context&,
+ LocatorAdapterInfoSeq&, int&, bool&, bool&,
const std::set<std::string>& = std::set<std::string>());
+
bool addAdapterSyncCallback(const std::string&, const SynchronizationCallbackPtr&,
const std::set<std::string>& = std::set<std::string>());
std::vector<std::pair<std::string, AdapterPrx> > getAdapters(const std::string&, int&, bool&);
AdapterInfoSeq getAdapterInfo(const std::string&);
+ AdapterInfoSeq getFilteredAdapterInfo(const std::string&, const Ice::ConnectionPtr&, const Ice::Context&);
+ std::string getAdapterServer(const std::string&) const;
+ std::string getAdapterApplication(const std::string&) const;
+ std::string getAdapterNode(const std::string&) const;
Ice::StringSeq getAllAdapters(const std::string& = std::string());
void addObject(const ObjectInfo&);
@@ -122,9 +131,15 @@ public:
int removeRegistryWellKnownObjects(const ObjectInfoSeq&);
Ice::ObjectPrx getObjectProxy(const Ice::Identity&);
- Ice::ObjectPrx getObjectByType(const std::string&);
- Ice::ObjectPrx getObjectByTypeOnLeastLoadedNode(const std::string&, LoadSample);
- Ice::ObjectProxySeq getObjectsByType(const std::string&);
+ Ice::ObjectPrx getObjectByType(const std::string&,
+ const Ice::ConnectionPtr& = Ice::ConnectionPtr(),
+ const Ice::Context& = Ice::Context());
+ Ice::ObjectPrx getObjectByTypeOnLeastLoadedNode(const std::string&, LoadSample,
+ const Ice::ConnectionPtr& = Ice::ConnectionPtr(),
+ const Ice::Context& = Ice::Context());
+ Ice::ObjectProxySeq getObjectsByType(const std::string&,
+ const Ice::ConnectionPtr& = Ice::ConnectionPtr(),
+ const Ice::Context& = Ice::Context());
ObjectInfo getObjectInfo(const Ice::Identity&);
ObjectInfoSeq getObjectInfosByType(const std::string&);
ObjectInfoSeq getAllObjectInfos(const std::string& = std::string());
@@ -162,7 +177,7 @@ private:
void waitForUpdate(const std::string&);
void startUpdating(const std::string&, const std::string&, int);
void finishUpdating(const std::string&);
-
+
friend struct AddComponent;
static const std::string _applicationDbName;
@@ -195,6 +210,8 @@ private:
ConnectionPoolPtr _connectionPool;
DatabasePluginPtr _databasePlugin;
+ RegistryPluginFacadeIPtr _pluginFacade;
+
AdminSessionI* _lock;
std::string _lockUserId;