irods  4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems.
  Fossies Dox: irods-4.2.8.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

irods::database_manager Class Reference

#include <irods_database_manager.hpp>

Collaboration diagram for irods::database_manager:
[legend]

Public Member Functions

 database_manager ()
 
 database_manager (const database_manager &)
 
virtual ~database_manager ()
 
error resolve (std::string, database_ptr &)
 
error init_from_type (const std::string &, const std::string &, const std::string &, const std::string &, database_ptr &)
 
error load_database_plugin (database_ptr &, const std::string &, const std::string &, const std::string &)
 

Private Attributes

lookup_table< database_ptrplugins_
 

Detailed Description

=-=-=-=-=-=-=-

Description:\n singleton class which manages the lifetime of
database plugins

Definition at line 14 of file irods_database_manager.hpp.

Constructor & Destructor Documentation

◆ database_manager() [1/2]

irods::database_manager::database_manager ( )

Definition at line 13 of file irods_database_manager.cpp.

◆ database_manager() [2/2]

irods::database_manager::database_manager ( const database_manager _rhs)

Definition at line 19 of file irods_database_manager.cpp.

References plugins_.

◆ ~database_manager()

irods::database_manager::~database_manager ( )
virtual

Definition at line 26 of file irods_database_manager.cpp.

Member Function Documentation

◆ init_from_type()

error irods::database_manager::init_from_type ( const std::string &  _type,
const std::string &  _key,
const std::string &  _inst,
const std::string &  _ctx,
database_ptr _db 
)

=-=-=-=-=-=-=-

Description:\n given a type, load up a database plugin from
a shared object

Definition at line 83 of file irods_database_manager.cpp.

References load_database_plugin(), irods::error::ok(), PASSMSG, plugins_, and SUCCESS.

Referenced by irods::generic_database_object::resolve(), irods::mysql_object::resolve(), irods::oracle_object::resolve(), and irods::postgres_object::resolve().

Here is the call graph for this function:

◆ load_database_plugin()

error irods::database_manager::load_database_plugin ( database_ptr _plugin,
const std::string &  _plugin_name,
const std::string &  _inst_name,
const std::string &  _context 
)

Definition at line 56 of file irods_database_manager.cpp.

References irods::error::ok(), PASS, irods::PLUGIN_TYPE_DATABASE(), and SUCCESS.

Referenced by init_from_type().

Here is the call graph for this function:

◆ resolve()

error irods::database_manager::resolve ( std::string  _key,
database_ptr _value 
)

=-=-=-=-=-=-=-

Description:\n interface which will return a database plugin
given its instance name

Definition at line 32 of file irods_database_manager.cpp.

References ERROR, irods::lookup_table< ValueType, KeyType, HashType >::has_entry(), plugins_, SUCCESS, and SYS_INVALID_INPUT_PARAM.

Referenced by irods::generic_database_object::resolve(), irods::mysql_object::resolve(), irods::oracle_object::resolve(), and irods::postgres_object::resolve().

Here is the call graph for this function:

Member Data Documentation

◆ plugins_

lookup_table< database_ptr > irods::database_manager::plugins_
private

Definition at line 51 of file irods_database_manager.hpp.

Referenced by database_manager(), init_from_type(), and resolve().


The documentation for this class was generated from the following files: