ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
pool::PersistencySvc::PersistencySvc Class Reference

#include <PersistencySvc.h>

Inheritance diagram for pool::PersistencySvc::PersistencySvc:
Collaboration diagram for pool::PersistencySvc::PersistencySvc:

Public Member Functions

 PersistencySvc (IFileCatalog &fileCatalog)
 Constructor. More...
 
 ~PersistencySvc ()
 Destructor. More...
 
 PersistencySvc (const PersistencySvc &)=delete
 
PersistencySvcoperator= (const PersistencySvc &)=delete
 
void * readObject (const Token &token, void *object=0)
 Retrieves an object from persistent store and return with type information The handle to the reflection class is necessary to later delete the object. More...
 
TokenregisterForWrite (const Placement &place, const void *object, const RootType &type)
 registerForWrite registers an object for writing to the persistent medium higher level interactions with the framework are necessary. More...
 
ISessionsession ()
 Returns the underlying global session. More...
 

Static Public Member Functions

static std::unique_ptr< IPersistencySvccreate (IFileCatalog &catalog)
 Factory for PersistencySvc. More...
 

Private Attributes

UserSessionm_session
 The session object. More...
 

Detailed Description

A concrete implementation of the IPersistencySvc interface

Definition at line 22 of file PersistencySvc.h.

Constructor & Destructor Documentation

◆ PersistencySvc() [1/2]

pool::PersistencySvc::PersistencySvc::PersistencySvc ( IFileCatalog fileCatalog)
explicit

Constructor.

◆ ~PersistencySvc()

pool::PersistencySvc::PersistencySvc::~PersistencySvc ( )

Destructor.

◆ PersistencySvc() [2/2]

pool::PersistencySvc::PersistencySvc::PersistencySvc ( const PersistencySvc )
delete

Member Function Documentation

◆ create()

static std::unique_ptr<IPersistencySvc> pool::IPersistencySvc::create ( IFileCatalog catalog)
staticinherited

Factory for PersistencySvc.

◆ operator=()

PersistencySvc& pool::PersistencySvc::PersistencySvc::operator= ( const PersistencySvc )
delete

◆ readObject()

void* pool::PersistencySvc::PersistencySvc::readObject ( const Token token,
void *  object = 0 
)
virtual

Retrieves an object from persistent store and return with type information The handle to the reflection class is necessary to later delete the object.

The Guid of the transient class is assumed to be the classID of the token

Parameters
token[IN] reference to the token for the object
object[IN] pointer to memory for the object (created if 0)
Returns
void* The data.

In case of failure zero is returned.

Implements pool::IPersistencySvc.

◆ registerForWrite()

Token* pool::PersistencySvc::PersistencySvc::registerForWrite ( const Placement place,
const void *  object,
const RootType type 
)
virtual

registerForWrite registers an object for writing to the persistent medium higher level interactions with the framework are necessary.

Parameters
place[IN] the placement hint
object[IN] pointer to transient object which will be written
type[IN] reflection class description with the layout of transient object
Returns
Token* the token address of the persistent object. I case of failure 0 is returned.

Implements pool::IPersistencySvc.

◆ session()

ISession& pool::PersistencySvc::PersistencySvc::session ( )
virtual

Returns the underlying global session.

Implements pool::IPersistencySvc.

Member Data Documentation

◆ m_session

UserSession* pool::PersistencySvc::PersistencySvc::m_session
private

The session object.

Definition at line 72 of file PersistencySvc.h.


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