#include <DatabaseManager.hpp>
Inherits pion::platform::PluginConfig< PluginType >< pion::platform::Database >.
Definition at line 37 of file DatabaseManager.hpp.
Public Member Functions | |
| virtual | ~DatabaseManager () |
| virtual destructor | |
| DatabaseManager (const VocabularyManager &vocab_mgr) | |
| DatabasePtr | getDatabase (const std::string &database_id) |
| void | setDatabaseConfig (const std::string &database_id, const xmlNodePtr config_ptr) |
| std::string | addDatabase (const xmlNodePtr config_ptr) |
| void | removeDatabase (const std::string &database_id) |
| void | writeDatabaseEnginesXML (std::ostream &out) |
| xmlDocPtr | getDatabaseEngineConfig (const std::string &database_engine, xmlNodePtr &config_detail_ptr) |
| std::string | getPermissionType (void) const |
| returns the type attribute used for an XML Permission node pertaining to Databases | |
Static Public Member Functions | |
| static xmlNodePtr | createDatabaseConfig (const char *buf, std::size_t len) |
Protected Member Functions | |
| virtual void | addPluginNoLock (const std::string &plugin_id, const std::string &plugin_name, const xmlNodePtr config_ptr) |
Classes | |
| class | DatabaseNotFoundException |
| exception thrown if a Database cannot be found More... | |
| pion::platform::DatabaseManager::DatabaseManager | ( | const VocabularyManager & | vocab_mgr | ) | [explicit] |
constructs a new DatabaseManager object
| vocab_mgr | the global manager of Vocabularies |
Definition at line 40 of file DatabaseManager.cpp.
References pion::platform::ConfigManager::setLogger().
| std::string pion::platform::DatabaseManager::addDatabase | ( | const xmlNodePtr | config_ptr | ) |
adds a new managed Database
| config_ptr | pointer to a list of XML nodes containing Database configuration parameters (must include a Plugin type) |
Definition at line 68 of file DatabaseManager.cpp.
Referenced by pion::plugins::ConfigService::operator()().
| virtual void pion::platform::DatabaseManager::addPluginNoLock | ( | const std::string & | plugin_id, | |
| const std::string & | plugin_name, | |||
| const xmlNodePtr | config_ptr | |||
| ) | [inline, protected, virtual] |
adds a new plug-in object (without locking or config file updates). This function must be defined properly for any derived classes that wish to use openPluginConfig().
| plugin_id | unique identifier associated with the plug-in | |
| plugin_name | the name of the plug-in to load (searches plug-in directories and appends extensions) | |
| config_ptr | pointer to a list of XML nodes containing plug-in configuration parameters |
Implements pion::platform::PluginConfig< PluginType >.
Definition at line 139 of file DatabaseManager.hpp.
References pion::platform::Database::setConfig(), pion::platform::PlatformPlugin::setDatabaseManager(), and pion::platform::PlatformPlugin::setId().
| static xmlNodePtr pion::platform::DatabaseManager::createDatabaseConfig | ( | const char * | buf, | |
| std::size_t | len | |||
| ) | [inline, static] |
uses a memory buffer to generate XML configuration data for a Database
| buf | pointer to a memory buffer containing configuration data | |
| len | number of bytes available in the memory buffer |
Definition at line 103 of file DatabaseManager.hpp.
References pion::platform::ConfigManager::createResourceConfig().
| DatabasePtr pion::platform::DatabaseManager::getDatabase | ( | const std::string & | database_id | ) |
gets a unique instance of a Database
| database_id | unique identifier associated with the Database |
Definition at line 46 of file DatabaseManager.cpp.
References pion::platform::Database::clone(), pion::PluginManager< PLUGIN_TYPE >::get(), pion::platform::PluginConfig< PluginType >::m_mutex, and pion::platform::PluginConfig< PluginType >::m_plugins.
Referenced by pion::platform::DatabaseInserter::start().
| xmlDocPtr pion::platform::DatabaseManager::getDatabaseEngineConfig | ( | const std::string & | database_engine, | |
| xmlNodePtr & | config_detail_ptr | |||
| ) |
gets the configuration for the specified database engine
| database_engine | the name of the database engine | |
| config_detail_ptr | XML configuration for the database engine |
Definition at line 96 of file DatabaseManager.cpp.
References pion::platform::ConfigManager::findConfigNodeByName(), pion::platform::ConfigManager::getConfigFromFile(), pion::platform::ConfigManager::getConfigOption(), pion::platform::ConfigManager::m_logger, and pion::platform::ConfigManager::resolveRelativePath().
| void pion::platform::DatabaseManager::removeDatabase | ( | const std::string & | database_id | ) |
removes a managed Database
| database_id | unique identifier associated with the Database |
Definition at line 73 of file DatabaseManager.cpp.
Referenced by pion::plugins::ConfigService::operator()().
| void pion::platform::DatabaseManager::setDatabaseConfig | ( | const std::string & | database_id, | |
| const xmlNodePtr | config_ptr | |||
| ) |
sets configuration parameters for a managed Database
| database_id | unique identifier associated with the Database | |
| config_ptr | pointer to a list of XML nodes containing Database configuration parameters |
Definition at line 57 of file DatabaseManager.cpp.
Referenced by pion::plugins::ConfigService::operator()().
| void pion::platform::DatabaseManager::writeDatabaseEnginesXML | ( | std::ostream & | out | ) |
writes the entire database engines configuration tree to an output stream (as XML)
| out | the ostream to write the configuration tree into |
Definition at line 83 of file DatabaseManager.cpp.
References pion::platform::ConfigManager::getConfigFromFile(), pion::platform::ConfigManager::m_logger, pion::platform::ConfigManager::resolveRelativePath(), and pion::platform::ConfigManager::writeConfigXML().
Referenced by pion::plugins::ConfigService::operator()().
1.4.7