languages/java/debugger/stty.h
Go to the documentation of this file.00001 /*************************************************************************** 00002 stty.h - description 00003 ------------------- 00004 begin : Mon Sep 13 1999 00005 copyright : (C) 1999 by John Birch 00006 email : jbb@kdevelop.org 00007 00008 This code was originally written by Judin Maxim, from the 00009 KDEStudio project. 00010 00011 It was then updated with later code from konsole (KDE). 00012 00013 It has also been enhanced with an idea from the code in kdbg 00014 written by Johannes Sixt<Johannes.Sixt@telecom.at> 00015 00016 ***************************************************************************/ 00017 00018 /*************************************************************************** 00019 * * 00020 * This program is free software; you can redistribute it and/or modify * 00021 * it under the terms of the GNU General Public License as published by * 00022 * the Free Software Foundation; either version 2 of the License, or * 00023 * (at your option) any later version. * 00024 * * 00025 ***************************************************************************/ 00026 00027 #ifndef _STTY_H_ 00028 #define _STTY_H_ 00029 00030 class QSocketNotifier; 00031 00032 #include <qobject.h> 00033 #include <qstring.h> 00034 00035 00036 namespace JAVADebugger 00037 { 00038 00039 class STTY : public QObject 00040 { 00041 Q_OBJECT 00042 00043 public: 00044 STTY(bool ext=false, const QString &termAppName=QString()); 00045 ~STTY(); 00046 00047 QString getSlave() { return ttySlave; }; 00048 00049 private slots: 00050 void OutReceived(int); 00051 00052 signals: 00053 void OutOutput(const char *); 00054 void ErrOutput(const char*); 00055 00056 private: 00057 int findTTY(); 00058 bool findExternalTTY(const QString &termApp); 00059 00060 private: 00061 int fout; 00062 int ferr; 00063 QSocketNotifier *out; 00064 QSocketNotifier *err; 00065 QString ttySlave; 00066 int pid_; 00067 00068 char pty_master[50]; // "/dev/ptyxx" | "/dev/ptmx" 00069 char tty_slave[50]; // "/dev/ttyxx" | "/dev/pts/########..." 00070 }; 00071 00072 } 00073 00074 #endif