blob: 639e841740ba6f116bcc8f2d250fc6412145b9f0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
/***************************************************************************
begin : Mon Sep 13 1999
copyright : (C) 1999 by John Birch
email : jbb@kdevelop.org
This code was originally written by Judin Maxim, from the
KDEStudio project.
It was then updated with later code from konsole (KDE).
It has also been enhanced with an idea from the code in kdbg
written by Johannes Sixt<Johannes.Sixt@telecom.at>
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef _STTY_H_
#define _STTY_H_
class QSocketNotifier;
#include <qobject.h>
#include <qstring.h>
namespace GDBDebugger
{
class STTY : public QObject
{
Q_OBJECT
public:
STTY(bool ext=false, const QString &termAppName=QString());
~STTY();
QString getSlave() { return ttySlave; };
void readRemaining();
private slots:
void OutReceived(int);
signals:
void OutOutput(const char *);
void ErrOutput(const char*);
private:
int findTTY();
bool findExternalTTY(const QString &termApp);
private:
int fout;
int ferr;
QSocketNotifier *out;
QString ttySlave;
int pid_;
bool external_;
char pty_master[50]; // "/dev/ptyxx" | "/dev/ptmx"
char tty_slave[50]; // "/dev/ttyxx" | "/dev/pts/########..."
};
}
#endif
|