update sv, hy, lt, pl, fr language
[enigma2.git] / lib / base / console.h
index cf8e539796685ec31a9621b4659bc29f9178ff51..f7cd469ca19de6918be232e4d1dd902805fd5af1 100644 (file)
 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<struct queue_data> 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<void, const char*> dataAvail;
+       PSignal1<void, const char*> stdoutAvail;
+       PSignal1<void, const char*> stderrAvail;
        PSignal1<void,int> dataSent;
        PSignal1<void,int> appClosed;
 };