1 #ifndef INCLUDE__Guile_hxx_
2 #define INCLUDE__Guile_hxx_
5 #include <log4cxx/logger.h>
8 #include "Interpreter.hxx"
11 class Geiser : public QThread {
14 Geiser(QObject* parent) : QThread(parent) {}
17 void run() Q_DECL_OVERRIDE;
21 class GuileInterpreter : public QObject, public Interpreter {
23 Q_PLUGIN_METADATA(IID "xyz.frida.Interpreter")
24 Q_INTERFACES(Interpreter)
27 virtual ~GuileInterpreter();
29 int evaluate(const std::string& command,
34 int loadFile(const std::string& filename,
39 std::string fileExtension() const {return "scm";}
41 int evaluateWithErrorHandling(SCM (*fun)(void *),
47 SCM guile_output_port;
49 log4cxx::LoggerPtr logger;
50 guile::Geiser* geiser;
53 #endif /* INCLUDE__Guile_hxx_ */