X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/79f7273499683ed53550ba195ee634cd03f78007..f769a73f621f88d4b4e64be8fae3f79ca3ef6c1b:/lib/base/console.h diff --git a/lib/base/console.h b/lib/base/console.h index cf8e5397..f7cd469c 100644 --- a/lib/base/console.h +++ b/lib/base/console.h @@ -11,11 +11,12 @@ struct queue_data { queue_data( char *data, int len ) - :data(data), len(len) + :data(data), len(len), dataSent(0) { } char *data; int len; + int dataSent; }; #endif @@ -23,8 +24,10 @@ class eConsoleAppContainer: public Object { #ifndef SWIG int fd[3]; + int filefd[3]; int pid; int killstate; + std::string m_cwd; std::queue outbuf; eSocketNotifier *in, *out, *err; void readyRead(int what); @@ -34,6 +37,7 @@ class eConsoleAppContainer: public Object #endif public: eConsoleAppContainer(); + 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 ); @@ -42,8 +46,13 @@ public: void kill(); void sendCtrlC(); void write( const char *data, int len ); + void write( PyObject *data ); + void readFromFile( PyObject *py_filename ); + void dumpToFile( PyObject *py_filename ); bool running() { return (fd[0]!=-1) && (fd[1]!=-1) && (fd[2]!=-1); } PSignal1 dataAvail; + PSignal1 stdoutAvail; + PSignal1 stderrAvail; PSignal1 dataSent; PSignal1 appClosed; };