summaryrefslogtreecommitdiffstats
path: root/src/Common/StorageManager.cpp
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2009-09-11 02:15:13 +0200
committerMatthias Schiffer <matthias@gamezock.de>2009-09-11 02:15:13 +0200
commit36a3a590ffa4133f7f2d980a57d48ef95c680b71 (patch)
tree47a5f37f571db0918fe3f48bb14c819d01e13777 /src/Common/StorageManager.cpp
parentf540560feb093143569f8a85eb5280d9c7504a0e (diff)
downloadmad-36a3a590ffa4133f7f2d980a57d48ef95c680b71.tar
mad-36a3a590ffa4133f7f2d980a57d48ef95c680b71.zip
Extended StorageManager
Diffstat (limited to 'src/Common/StorageManager.cpp')
-rw-r--r--src/Common/StorageManager.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Common/StorageManager.cpp b/src/Common/StorageManager.cpp
index a1610fe..ac83476 100644
--- a/src/Common/StorageManager.cpp
+++ b/src/Common/StorageManager.cpp
@@ -36,6 +36,22 @@ void StorageManager::unsetBackend(boost::shared_ptr<StorageBackend> oldBackend)
backend.reset();
}
+std::set<std::string> StorageManager::listTypes() throw (Core::Exception) {
+ boost::shared_lock<boost::shared_mutex> lock(mutex);
+ if(!backend)
+ throw Core::Exception(Core::Exception::NOT_IMPLEMENTED);
+
+ return backend->listTypes();
+}
+
+std::set<std::string> StorageManager::list(const std::string &type) throw (Core::Exception) {
+ boost::shared_lock<boost::shared_mutex> lock(mutex);
+ if(!backend)
+ throw Core::Exception(Core::Exception::NOT_IMPLEMENTED);
+
+ return backend->list(type);
+}
+
void StorageManager::store(const std::string &type, const std::string &name, const XmlData *data) throw (Core::Exception) {
boost::shared_lock<boost::shared_mutex> lock(mutex);
if(!backend)