Belle II Software  release-08-01-10
Executor.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #ifndef _Belle2_Executor_h
9 #define _Belle2_Executor_h
10 
11 #include <string>
12 #include <vector>
13 
14 namespace Belle2 {
20  class Executor {
21 
22  public:
23  Executor() {}
24  Executor(const std::string& path) : m_path(path) {}
25 
26  public:
27  void setExecutable(const char* format, ...);
28  void setExecutable(const std::string& path);
29  void addArg(const char* format, ...);
30  void addArg(const std::string& arg);
31  void addArg(int arg) { addArg("%d", arg); }
32  void addArg(short arg) { addArg("%d", arg); }
33  void addArg(float arg) { addArg("%f", arg); }
34  void addArg(double arg) { addArg("%f", arg); }
35  bool execute(bool isdaemon = false);
36 
37  private:
38  std::string m_path;
39  std::vector<std::string> m_arg_v;
40 
41  };
42 
44 }
45 
46 #endif
47 
Abstract base class for different kinds of events.