X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fbindings%2FGuile.hxx;h=612f33bdfb1fb6b6170bf6d67caff9392b1ba93b;hp=7c45a9549c56fa52b822db552223ba47a2e1d88d;hb=38f26697d6998845bacb1d44a92efe8f326a4820;hpb=adb0e762792c23674633b8513f4106b82aa38d15 diff --git a/src/bindings/Guile.hxx b/src/bindings/Guile.hxx index 7c45a95..612f33b 100644 --- a/src/bindings/Guile.hxx +++ b/src/bindings/Guile.hxx @@ -2,10 +2,14 @@ #define INCLUDE__Guile_hxx_ #include +#include #include "Interpreter.hxx" -class GuileInterpreter : public Interpreter { +class GuileInterpreter : public QObject, public Interpreter { + Q_OBJECT + Q_PLUGIN_METADATA(IID "xyz.frida.Interpreter") + Q_INTERFACES(Interpreter) public: GuileInterpreter(); @@ -21,8 +25,15 @@ public: std::string fileExtension() const {return "scm";} private: + int evaluateWithErrorHandling(SCM (*fun)(void *), + void* data, + std::ostream& stdout, + std::ostream& stderr, + std::string& result); + SCM guile_output_port; SCM guile_error_port; + log4cxx::LoggerPtr logger; }; #endif /* INCLUDE__Guile_hxx_ */