Project
Loading...
Searching...
No Matches
Capability.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
12#ifndef O2_FRAMEWORK_CAPABILITY_H_
13#define O2_FRAMEWORK_CAPABILITY_H_
14
15#include <string_view>
16#include <functional>
17
18namespace o2::framework
19{
20
21struct ConfigParamRegistry;
22
30struct Capability {
31 // Wether or not this capability is required.
32 // FIXME: for now let's pass the arguments to get the metadata to work
33 std::string name;
34 std::function<bool(ConfigParamRegistry&, int argc, char** argv)> checkIfNeeded;
35 char const* requiredPlugin;
36};
37
39 virtual Capability* create() = 0;
40};
41
42} // namespace o2::framework
43
44#endif // O2_FRAMEWORK_CAPABILITY_H_
Defining PrimaryVertex explicitly as messageable.
Definition TFIDInfo.h:20
virtual Capability * create()=0
char const * requiredPlugin
Definition Capability.h:35
std::function< bool(ConfigParamRegistry &, int argc, char **argv)> checkIfNeeded
Definition Capability.h:34