HOPS
HOPS class reference
MHO_PyControlEvaluator.hh
Go to the documentation of this file.
1 #ifndef MHO_PyControlEvaluator_HH__
2 #define MHO_PyControlEvaluator_HH__
3 
4 #include <functional>
5 #include <string>
6 
10 #include "MHO_Message.hh"
11 #include "MHO_ParameterStore.hh"
12 
13 #include "pybind11_json/pybind11_json.hpp"
14 #include <pybind11/pybind11.h>
15 namespace py = pybind11;
16 
17 namespace hops
18 {
19 
47 {
48  public:
57  static bool Evaluate(MHO_ParameterStore* paramStore, const mho_json& control_format, mho_json& control_statements);
58 
59  private:
70  static bool EvaluateCallable(py::object fn, MHO_ParameterStore* paramStore, const mho_json& control_format,
71  mho_json& control_statements);
72 };
73 
74 } // namespace hops
75 
76 #endif
nlohmann::json mho_json
Definition: MHO_JSONHeaderWrapper.hh:5
Class MHO_ParameterStore.
Definition: MHO_ParameterStore.hh:52
Evaluates a Python control file (.py) and returns the resulting control statements in the same mho_js...
Definition: MHO_PyControlEvaluator.hh:47
static bool Evaluate(MHO_ParameterStore *paramStore, const mho_json &control_format, mho_json &control_statements)
Evaluate a Python control script and populate control_statements.
Definition: MHO_PyControlEvaluator.cc:17
Definition: MHO_AdhocFlagging.hh:18