X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a1664e81dd83e11828909d10b629ed04ea7d3467..44b88742b46aea5328fc1f5d9435379485c73cbf:/lib/base/console.h diff --git a/lib/base/console.h b/lib/base/console.h index bfa02407..7c807699 100644 --- a/lib/base/console.h +++ b/lib/base/console.h @@ -1,6 +1,7 @@ #ifndef __LIB_BASE_CONSOLE_H__ #define __LIB_BASE_CONSOLE_H__ +#include "Python.h" #include #include #include @@ -24,6 +25,7 @@ class eConsoleAppContainer: public Object int fd[3]; int pid; int killstate; + std::string m_cwd; std::queue outbuf; eSocketNotifier *in, *out, *err; void readyRead(int what); @@ -33,14 +35,18 @@ class eConsoleAppContainer: public Object #endif public: eConsoleAppContainer(); - int execute( const std::string &str ); + int setCWD( const char *path ); + int execute( const char *str ); + int execute( const char *cmdline, const char *const argv[] ); + int execute( PyObject *cmdline, PyObject *args ); ~eConsoleAppContainer(); int getPID() { return pid; } void kill(); void sendCtrlC(); void write( const char *data, int len ); + void write( PyObject *data ); bool running() { return (fd[0]!=-1) && (fd[1]!=-1) && (fd[2]!=-1); } - PSignal1Str dataAvail; + PSignal1 dataAvail; PSignal1 dataSent; PSignal1 appClosed; };