ATLAS Offline Software
Loading...
Searching...
No Matches
PersistencySvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PERSISTENCYSVC_PERSISTENCYSVC
6#define PERSISTENCYSVC_PERSISTENCYSVC
7
8// includes
10
11namespace pool {
12
13 namespace PersistencySvc {
14 // forward declarations
15 class UserSession;
16
22 class PersistencySvc : virtual public IPersistencySvc {
23 public:
25 explicit PersistencySvc( IFileCatalog& fileCatalog );
26
29
30 PersistencySvc (const PersistencySvc&) = delete;
32/*
34 IFileCatalog& fileCatalog();
35
37 void setFileCatalog( IFileCatalog& catalog );
38*/
51 void* readObject( const Token& token, void* object = 0 );
52
64 const void* object,
65 const RootType& type );
66
69
70 private:
73
74 };
75 }
76}
77
78#endif // PERSISTENCYSVC_PERSISTENCYSVC
TTypeAdapter RootType
Definition RootType.h:211
This class holds all the necessary information to guide the writing of an object in a physical place.
Definition Placement.h:19
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition Token.h:21
IPersistencySvc()
No copy constructor, and no assignment operator.
ISession is the interface class for user (macroscopic) sessions Every transaction and connection to a...
Definition ISession.h:32
ISession & session()
Returns the underlying global session.
Token * registerForWrite(const Placement &place, const void *object, const RootType &type)
registerForWrite registers an object for writing to the persistent medium higher level interactions w...
void * readObject(const Token &token, void *object=0)
Retrieves an object from persistent store and return with type information The handle to the reflecti...
PersistencySvc(const PersistencySvc &)=delete
PersistencySvc & operator=(const PersistencySvc &)=delete
PersistencySvc(IFileCatalog &fileCatalog)
Constructor.
UserSession * m_session
The session object.
UserSession is an implementation of the ISession interface.
Definition UserSession.h:28
pool namespace
Definition libname.h:15