ATLAS Offline Software
Container.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INCLUDE_PERSISTENCYSVC_CONTAINER_H
6 #define INCLUDE_PERSISTENCYSVC_CONTAINER_H
7 
8 // includes
11 
12 namespace pool {
13 
14  // forward declarations
15  class FileDescriptor;
16  class IStorageExplorer;
17 
18  namespace PersistencySvc {
19 
26  class Container : virtual public IContainer,
27  virtual public ITechnologySpecificAttributes {
28  public:
29  Container( FileDescriptor& fileDescriptor,
30  IStorageExplorer& storageExplorer,
31  long technology,
32  const std::string& name );
33 
36 
38  virtual const std::string& parentDatabaseName() const override;
39 
41  virtual long technology() const override;
42 
46  virtual ITokenIterator* tokens( const std::string& selection ) override;
47 
51 
52  protected:
54  virtual
55  bool attributeOfType( const std::string& attributeName,
56  void* data,
57  const std::type_info& typeInfo,
58  const std::string& option ) override;
59 
61  virtual
62  bool setAttributeOfType( const std::string& attributeName,
63  const void* data,
64  const std::type_info& typeInfo,
65  const std::string& option ) override;
66 
67  private:
70 
73 
76  };
77  }
78 }
79 
80 #endif
pool::IContainer
Definition: IContainer.h:23
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
pool::PersistencySvc::Container::m_technology
long m_technology
The technology identifier.
Definition: Container.h:75
pool::PersistencySvc::Container::parentDatabaseName
virtual const std::string & parentDatabaseName() const override
Returns the name (fid) of the parent database.
pool
pool namespace
Definition: libname.h:15
pool::FileDescriptor
Definition: FileDescriptor.h:41
pool::IStorageExplorer
Definition: IStorageExplorer.h:53
pool::PersistencySvc::Container
Definition: Container.h:27
pool::PersistencySvc::Container::setAttributeOfType
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.
pool::PersistencySvc::Container::tokens
virtual ITokenIterator * tokens(const std::string &selection) override
Starts an iteration over the tokens in the container.
pool::IContainer::name
const std::string & name() const
Returns the name of this container.
pool::PersistencySvc::Container::~Container
~Container()
destructor
selection
std::string selection
Definition: fbtTestBasics.cxx:73
pool::ITokenIterator
Definition: ITokenIterator.h:20
pool::PersistencySvc::Container::technologySpecificAttributes
virtual const ITechnologySpecificAttributes & technologySpecificAttributes() const override
Returns the object holding the technology specific attributes for a given technology domain.
pool::PersistencySvc::PersistencySvc
Definition: PersistencySvc.h:22
pool::ITechnologySpecificAttributes
Definition: ITechnologySpecificAttributes.h:22
pool::PersistencySvc::Container::m_fileDescriptor
FileDescriptor & m_fileDescriptor
Reference to file descriptor of the parent database.
Definition: Container.h:69
IContainer.h
pool::PersistencySvc::Container::attributeOfType
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.
pool::PersistencySvc::Container::Container
Container(FileDescriptor &fileDescriptor, IStorageExplorer &storageExplorer, long technology, const std::string &name)
ITechnologySpecificAttributes.h
pool::PersistencySvc::Container::m_storageExplorer
IStorageExplorer & m_storageExplorer
Reference to the storage explorer.
Definition: Container.h:72
pool::PersistencySvc::Container::technologySpecificAttributes
virtual ITechnologySpecificAttributes & technologySpecificAttributes() override
pool::PersistencySvc::Container::technology
virtual long technology() const override
Returns the technology identifier for this container.