5#ifndef INCLUDE_PERSISTENCYSVC_USERDATABASE_H
6#define INCLUDE_PERSISTENCYSVC_USERDATABASE_H
35 const std::string& name,
57 virtual const std::string&
fid()
override;
60 virtual const std::string&
pfn()
override;
72 virtual std::vector< std::string >
containers()
override;
85 const std::type_info& typeInfo,
86 const std::string& option )
override;
91 const std::type_info& typeInfo,
92 const std::string& option )
override;
char data[hepevt_bytes_allocation_ATLAS]
APRMessaging(const std::string &name)
DatabaseConnectionPolicy is a class holding information on the policy to be followed whenever a datab...
DatabaseHandler is a class taking care of the micro-connections and the micro transactions for a give...
IContainer is the base class for container objects.
IDatabase is the base class for database objects.
OpenMode
Current open mode enumeration.
ITechnologySpecificAttributes is the interface for an object holding technology-specific attributes.
Type
Transaction type enumeration.
virtual void connectForRead() override
Connects explicitly to the database for read operations.
virtual ITechnologySpecificAttributes & technologySpecificAttributes() override
UserDatabase(UserSession &session, const std::string &name, const DatabaseSpecification::NameType nameType)
Constructor.
std::string m_the_fid
Other names used.
const DatabaseConnectionPolicy & m_policy
Reference to the policy.
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.
std::string m_name
The database name.
virtual IDatabase::OpenMode openMode() const override
Returns the opening mode. It can be used to check whether the database is connected.
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.
DatabaseRegistry & m_registry
Reference to the database registry.
bool m_alreadyConnected
Flag indicating whether a connection has been already made once.
virtual void connectForWrite() override
Connects explicitly to the database for write/update operations.
bool checkInRegistry()
Checks in the registry if the database handler already exists.
IDatabase::OpenMode m_openMode
Current open mode.
IFileCatalog & m_catalog
Reference to the file catalog.
UserSession & m_session
Reference to the session.
DatabaseSpecification::NameType m_nameType
The database name spacification.
virtual IContainer * containerHandle(const std::string &name) override
Returns a pointer to a container object. The user acquires ownership of that object.
virtual std::vector< std::string > containers() override
Returns the names of the containers in this database.
virtual long technology() const override
Returns the technology identifier for this database.
long m_technology
The technology identifier of the database.
virtual bool setTechnology(long technology) override
Sets the technology identifier for this database.
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.
virtual const std::string & fid() override
Returns the file identifier of this database.
virtual const ITechnologySpecificAttributes & technologySpecificAttributes() const override
Returns the object holding the technology specific attributes.
ITransaction::Type m_transactionType
Transaction type (read/update).
virtual void disconnect() override
Disconnects from the database.
bool m_technologySet
Checks if the technology identifier has been set.
DatabaseHandler & databaseHandler()
Returns the database handler.
virtual ~UserDatabase()
Destructor.
DatabaseHandler * m_databaseHandler
The underlying database handler.
UserSession is an implementation of the ISession interface.
NameType
Enumeration type specifying the database name field, wherever the latter is used in methods accessing...