00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00022 #ifndef MY_PTY_H
00023 #define MY_PTY_H
00024
00025 #include <qobject.h>
00026 #include <qstrlist.h>
00027
00028
00029 class MyPty : public QObject
00030 {
00031 Q_OBJECT
00032
00033 public:
00034
00035 MyPty();
00036 ~MyPty();
00037
00043 int run(const char* pgm, QStrList & args, const char* term, int addutmp);
00044
00045 public slots:
00046
00047 void send_bytes(const char* s, int len);
00048 void setSize(int lines, int columns);
00049 void error();
00050
00051 signals:
00052
00057 void done(int status);
00058
00064 void block_in(const char* s, int len);
00065
00066 public:
00067
00068 void send_byte(char s);
00069
00070
00071 const char* deviceName();
00072
00073 protected slots:
00074 void readPty();
00075 void donePty();
00076
00077 private:
00078 int openPty();
00079
00080 private:
00081
00082 char ptynam[16];
00083 char ttynam[16];
00084 int fd;
00085 int cpid;
00086 };
00087
00088 #endif