ATLAS Offline Software
ByteStreamAddressProviderSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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 
22 class ByteStreamAddressProviderSvc : public extends<AthService, IAddressProvider> {
23 
24 public:
25  ByteStreamAddressProviderSvc(const std::string& name, ISvcLocator* pSvcLocator);
26 
27  // Service initialize
28  virtual StatusCode initialize() override;
29 
30  // IAddressProvider interface.
31  // preload the address
32  virtual StatusCode preLoadAddresses(StoreID::type id, tadList& tlist) override;
33 
37  const EventContext& ctx) override;
38 
39 private:
40  // type and name of the objects to create the address for.
41  Gaudi::Property<std::vector<std::string> > m_typeNames{this,"TypeNames",{},\
42  "Type and Name of objects to create the address for","OrderedSet<std::string>"};
43 
44 
46 
47  std::map<unsigned int, std::set<std::string> > m_clidKey;
48 
49  int m_storeID;
50 };
51 
52 #endif
ByteStreamAddressProviderSvc::preLoadAddresses
virtual StatusCode preLoadAddresses(StoreID::type id, tadList &tlist) override
Definition: ByteStreamAddressProviderSvc.cxx:38
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
A concrete IAddressProvider.
Definition: ByteStreamAddressProviderSvc.h:22
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
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:41
ByteStreamAddressProviderSvc::initialize
virtual StatusCode initialize() override
Definition: ByteStreamAddressProviderSvc.cxx:24
AthService.h
IAddressProvider.h
ByteStreamAddressProviderSvc::m_storeID
int m_storeID
Definition: ByteStreamAddressProviderSvc.h:49
ByteStreamAddressProviderSvc::m_clidSvc
ServiceHandle< IClassIDSvc > m_clidSvc
Definition: ByteStreamAddressProviderSvc.h:45
ByteStreamAddressProviderSvc::m_clidKey
std::map< unsigned int, std::set< std::string > > m_clidKey
Definition: ByteStreamAddressProviderSvc.h:47
ServiceHandle< IClassIDSvc >