interpreter.hh
Go to the documentation of this file.
1 // -*- mode: c++ -*-
2 // Copyright 2011, Florent Lamiraux, CNRS.
3 
4 #ifndef DYNAMIC_GRAPH_PYTHON_INTERPRETER_H
5 #define DYNAMIC_GRAPH_PYTHON_INTERPRETER_H
6 
7 #undef _POSIX_C_SOURCE
8 #undef _XOPEN_SOURCE
10 
13 
14 namespace dynamicgraph {
15 namespace python {
22  public:
23  Interpreter();
24  ~Interpreter();
28  [[deprecated("you *SHOULD* handle error messages")]] std::string python(
29  const std::string& command);
30 
33  void python(const std::string& command, std::string& result, std::string& out,
34  std::string& err);
35 
38  void runPythonFile(std::string filename);
39  void runPythonFile(std::string filename, std::string& err);
40  void runMain(void);
41 
44  std::string processStream(std::istream& stream, std::ostream& os);
45 
47  PyObject* globals();
48 
49  private:
51  PyThreadState* _pyState;
53  PyObject* globals_;
55  PyObject* locals_;
56  PyObject* mainmod_;
57 };
58 } // namespace python
59 } // namespace dynamicgraph
60 #endif // DYNAMIC_GRAPH_PYTHON_INTERPRETER_H
dynamicgraph
Definition: convert-dg-to-py.hh:8
fwd.hh
DYNAMIC_GRAPH_PYTHON_DLLAPI
#define DYNAMIC_GRAPH_PYTHON_DLLAPI
Definition: config.hh:64
dynamicgraph::python::Interpreter
Definition: interpreter.hh:21
python-compat.hh
api.hh