X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fbindings%2FGuile.hxx;h=244bb1cc07ab620119e2f941f658453b26f6ff07;hp=d67a0ddf0ac55dcc0d64de6ff3df312210f55a39;hb=4e10c813f57981265534133a6d857fd66c6edccc;hpb=b99a252c3503b095b6111b59b11a6659e42205c8 diff --git a/src/bindings/Guile.hxx b/src/bindings/Guile.hxx index d67a0dd..244bb1c 100644 --- a/src/bindings/Guile.hxx +++ b/src/bindings/Guile.hxx @@ -2,7 +2,9 @@ #define INCLUDE__Guile_hxx_ #include +#include +#include "qt.hxx" #include "Interpreter.hxx" class GuileInterpreter : public QObject, public Interpreter { @@ -24,8 +26,26 @@ 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; }; +namespace guile { + class Geiser : public QThread { + Q_OBJECT + public: + Geiser(QObject* parent) : QThread(parent) {} + private: + void run() Q_DECL_OVERRIDE; + }; +} + + #endif /* INCLUDE__Guile_hxx_ */