ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
pool::IPersistencySvc Class Referenceabstract

#include <PersistencySvc/IPersistencySvc.h>

Inheritance diagram for pool::IPersistencySvc:
Collaboration diagram for pool::IPersistencySvc:

Public Member Functions

virtual ~IPersistencySvc ()
 Empty destructor. More...
 
virtual void * readObject (const Token &token, void *object=0)=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...
 
virtual TokenregisterForWrite (const Placement &place, const void *object, const RootType &type)=0
 registerForWrite registers an object for writing to the persistent medium higher level interactions with the framework are necessary. More...
 
virtual ISessionsession ()=0
 Returns the underlying global session. More...
 

Static Public Member Functions

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

Protected Member Functions

 IPersistencySvc ()
 No copy constructor, and no assignment operator. More...
 
 IPersistencySvc (const IPersistencySvc &)
 
IPersistencySvcoperator= (const IPersistencySvc &)
 

Detailed Description

IPersistencySvc is the abstract interface for all services which execute the conversion between transient and persistent objects.

Definition at line 31 of file IPersistencySvc.h.

Constructor & Destructor Documentation

◆ ~IPersistencySvc()

virtual pool::IPersistencySvc::~IPersistencySvc ( )
inlinevirtual

Empty destructor.

Definition at line 38 of file IPersistencySvc.h.

38 {}

◆ IPersistencySvc() [1/2]

pool::IPersistencySvc::IPersistencySvc ( )
inlineprotected

No copy constructor, and no assignment operator.

Definition at line 79 of file IPersistencySvc.h.

79 {}

◆ IPersistencySvc() [2/2]

pool::IPersistencySvc::IPersistencySvc ( const IPersistencySvc )
protected

Member Function Documentation

◆ create()

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

Factory for PersistencySvc.

◆ operator=()

IPersistencySvc& pool::IPersistencySvc::operator= ( const IPersistencySvc )
protected

◆ readObject()

virtual void* pool::IPersistencySvc::readObject ( const Token token,
void *  object = 0 
)
pure 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.

Implemented in pool::PersistencySvc::PersistencySvc.

◆ registerForWrite()

virtual Token* pool::IPersistencySvc::registerForWrite ( const Placement place,
const void *  object,
const RootType type 
)
pure 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.

Implemented in pool::PersistencySvc::PersistencySvc.

◆ session()

virtual ISession& pool::IPersistencySvc::session ( )
pure virtual

Returns the underlying global session.

Implemented in pool::PersistencySvc::PersistencySvc.


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