ATLAS Offline Software
ByteStreamAddressProviderSvc.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 BYTESTREAMCNVSVCBASE_BYTESTREAMADDRESSPROVIDERSVC_H
6 #define BYTESTREAMCNVSVCBASE_BYTESTREAMADDRESSPROVIDERSVC_H
7 
10 #include "GaudiKernel/ServiceHandle.h"
11 
12 #include <vector>
13 #include <string>
14 #include <map>
15 #include <set>
16 
17 class IClassIDSvc;
18 
19 template <class TYPE> class SvcFactory;
20 
27 
28 public:
29  ByteStreamAddressProviderSvc(const std::string& name, ISvcLocator* pSvcLocator);
30 
31  // Service initialize
32  virtual StatusCode initialize() override;
33 
34  // IAddressProvider interface.
35  // preload the address
36  virtual StatusCode preLoadAddresses(StoreID::type id, tadList& tlist) override;
37 
41  const EventContext& ctx) override;
42 
43 private:
44  // type and name of the objects to create the address for.
45  Gaudi::Property<std::vector<std::string> > m_typeNames{this,"TypeNames",{},\
46  "Type and Name of objects to create the address for","OrderedSet<std::string>"};
47 
48 
50 
51  std::map<unsigned int, std::set<std::string> > m_clidKey;
52 
53  int m_storeID;
54 };
55 
56 #endif
ByteStreamAddressProviderSvc::preLoadAddresses
virtual StatusCode preLoadAddresses(StoreID::type id, tadList &tlist) override
get all addresses from Provider : Called before Begin Event
Definition: ByteStreamAddressProviderSvc.cxx:38
SvcFactory
Definition: AthCnvSvc.h:28
query_example.tlist
tlist
Definition: query_example.py:25
ByteStreamAddressProviderSvc::ByteStreamAddressProviderSvc
ByteStreamAddressProviderSvc(const std::string &name, ISvcLocator *pSvcLocator)
Standard constructor.
Definition: ByteStreamAddressProviderSvc.cxx:17
SG::TransientAddress
Definition: TransientAddress.h:32
ByteStreamAddressProviderSvc
An concrete IAddressProvider.
Definition: ByteStreamAddressProviderSvc.h:24
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthService
Definition: AthService.h:32
IAddressProvider
interface for IOA providers
Definition: IAddressProvider.h:28
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ByteStreamAddressProviderSvc::updateAddress
virtual StatusCode updateAddress(StoreID::type id, SG::TransientAddress *tad, const EventContext &ctx) override
update an existing transient Address
Definition: ByteStreamAddressProviderSvc.cxx:63
StoreID::type
type
Definition: StoreID.h:24
ByteStreamAddressProviderSvc::m_typeNames
Gaudi::Property< std::vector< std::string > > m_typeNames
Definition: ByteStreamAddressProviderSvc.h:45
ByteStreamAddressProviderSvc::initialize
virtual StatusCode initialize() override
Definition: ByteStreamAddressProviderSvc.cxx:24
IAddressProvider::tadList
std::list< SG::TransientAddress * > tadList
Definition: IAddressProvider.h:32
AthService.h
IAddressProvider.h
ByteStreamAddressProviderSvc::m_storeID
int m_storeID
Definition: ByteStreamAddressProviderSvc.h:53
ByteStreamAddressProviderSvc::m_clidSvc
ServiceHandle< IClassIDSvc > m_clidSvc
Definition: ByteStreamAddressProviderSvc.h:49
ByteStreamAddressProviderSvc::m_clidKey
std::map< unsigned int, std::set< std::string > > m_clidKey
Definition: ByteStreamAddressProviderSvc.h:51
ServiceHandle< IClassIDSvc >