Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef INCLUDE_PERSISTENCYSVC_USERDATABASE_H
6 #define INCLUDE_PERSISTENCYSVC_USERDATABASE_H
15 class DatabaseConnectionPolicy;
20 namespace PersistencySvc {
22 class TechnologyDispatcher;
23 class DatabaseHandler;
24 class DatabaseRegistry;
41 const std::string&
name,
65 virtual const std::string&
fid()
override;
68 virtual const std::string&
pfn()
override;
80 virtual std::vector< std::string >
containers()
override;
93 const std::type_info& typeInfo,
94 const std::string& option )
override;
99 const std::type_info& typeInfo,
100 const std::string& option )
override;
char data[hepevt_bytes_allocation_ATLAS]
virtual ITechnologySpecificAttributes & technologySpecificAttributes() override
virtual void disconnect() override
Disconnects from the database.
std::string m_the_fid
Other names used.
OpenMode
Current open mode enumeration.
DatabaseHandler & databaseHandler()
Returns the database handler.
virtual std::vector< std::string > containers() override
Returns the names of the containers in this database.
virtual bool setAttributeOfType(const std::string &attributeName, const void *data, const std::type_info &typeInfo, const std::string &option) override
The actual method setting the attribute data given a name.
virtual bool attributeOfType(const std::string &attributeName, void *data, const std::type_info &typeInfo, const std::string &option) override
The actual method returning the attribute data given a name.
TechnologyDispatcher & m_technologyDispatcher
Reference to the technology dispatcher.
virtual long technology() const override
Returns the technology identifier for this database.
NameType
Enumeration type specifying the database name field, wherever the latter is used in methods accessing...
UserDatabase(TechnologyDispatcher &technologyDispatcher, const DatabaseConnectionPolicy &policy, IFileCatalog &fileCatalog, ITransaction &transaction, DatabaseRegistry ®istry, const std::string &name, DatabaseSpecification::NameType nameType)
Constructor.
DatabaseRegistry & m_registry
Reference to the database registry.
virtual const std::string & fid() override
Returns the file identifier of this database.
virtual ~UserDatabase()
Destructor.
virtual void connectForWrite(const DatabaseConnectionPolicy &policy) override
virtual IDatabase::OpenMode openMode() const override
Returns the opening mode. It can be used to check whether the database is connected.
DatabaseSpecification::NameType m_nameType
The database name spacification.
ITransaction & m_transaction
Reference to the global transaction.
virtual const std::string & pfn() override
Returns the physical file name of this database.
void setTechnologyIdentifier(const std::string &sTechnology)
Converts a technology string to the technology (long) identifier.
DatabaseHandler * m_databaseHandler
The underlying database handler.
IFileCatalog & m_catalog
Reference to the file catalog.
virtual void connectForRead() override
Connects explicitly to the database for read operations.
bool m_technologySet
Checks if the technology identifier has been set.
long m_technology
The technology identifier of the database.
std::string m_name
The database name.
bool checkInRegistry()
Checks in the registry if the database handler already exists.
IDatabase::OpenMode m_openMode
Current open mode.
bool m_alreadyConnected
Flag indicating whether a connection has been already made once.
virtual IContainer * containerHandle(const std::string &name) override
Returns a pointer to a container object. The user acquires ownership of that object.
virtual void connectForWrite() override
Connects explicitly to the database for write/update operations.
const DatabaseConnectionPolicy & m_policy
Reference to the policy.
virtual const ITechnologySpecificAttributes & technologySpecificAttributes() const override
Returns the object holding the technology specific attributes.
virtual void connectForRead(const DatabaseConnectionPolicy &policy) override
virtual bool setTechnology(long technology) override
Sets the technology identifier for this database.