Belle II Software development
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
14namespace 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.