summaryrefslogtreecommitdiffstats
path: root/ksirc/iocontroller.h
blob: 76c97e18128d188fd733251976d35d916f8f6765 (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
#ifndef IOCONTROL_H
#define IOCONTROL_H

#include <qobject.h>

class KProcess;
class KSircProcess;
class QListBox;
class QListBoxItem;

class KSircIOController : public QObject
{

  Q_OBJECT
  friend class KSircProcess;
public:
  KSircIOController(KProcess *, KSircProcess *);
  virtual ~KSircIOController();

  void showDebugTraffic(bool show);
  bool isDebugTraffic();

public slots:
  virtual void stdout_read(KProcess *proc, char *_buffer, int buflen);
  virtual void stderr_read(KProcess *proc, char *_buffer, int buflen);

  virtual void stdin_write(QCString);

  virtual void sircDied(KProcess *);

  virtual void appendDebug(QString);


protected slots:
  virtual void procCTS(KProcess *);

private slots:
  void showContextMenuOnDebugWindow( QListBoxItem *, const QPoint &pos );

private:
  QCString holder;
  bool proc_CTS;
  KProcess *proc;
  KSircProcess *ksircproc;
  char *send_buf;

  QCString buffer;

  static int counter;

  QListBox *m_debugLB;
};

#endif