ATLAS Offline Software
Loading...
Searching...
No Matches
pool::PersistencySvc::PersistencySvc Class Reference

A concrete implementation of the IPersistencySvc interface. More...

#include <PersistencySvc.h>

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

Public Member Functions

 PersistencySvc (IFileCatalog &fileCatalog)
 Constructor.
 ~PersistencySvc ()
 Destructor.
 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.
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.
ISessionsession ()
 Returns the underlying global session.

Static Public Member Functions

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

Private Attributes

UserSessionm_session
 The session object.

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()

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: