The Gaudi Framework  v33r1 (b1225454)
IDataBroker.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef GAUDIKERNEL_IDATABROKER_H
12 #define GAUDIKERNEL_IDATABROKER_H
13 
14 // Framework includes
15 #include "GaudiKernel/DataObjID.h"
16 #include "GaudiKernel/IInterface.h"
18 
19 // C++ includes
20 #include <string>
21 #include <vector>
22 
23 // Forward class declaration
24 namespace Gaudi {
25  class Algorithm;
26 }
27 
42 struct GAUDI_API IDataBroker : extend_interfaces<IInterface> {
45 
48  algorithmsRequiredFor( const DataObjIDColl& requested, const std::vector<std::string>& stoppers = {} ) const = 0;
49 
53  algorithmsRequiredFor( const Gaudi::Utils::TypeNameString& alg,
54  const std::vector<std::string>& stoppers = {} ) const = 0;
55 };
56 
57 #endif // GAUDIKERNEL_IDATABROKER
Helper class to parse a string of format "type/name".
Base class to be used to extend an interface.
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:23
Alias for backward compatibility.
Definition: Algorithm.h:58
#define GAUDI_API
Definition: Kernel.h:81
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1