summaryrefslogtreecommitdiff
path: root/library/process.h
Unidiff
Diffstat (limited to 'library/process.h') (more/less context) (ignore whitespace changes)
-rw-r--r--library/process.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/library/process.h b/library/process.h
new file mode 100644
index 0000000..def68d7
--- a/dev/null
+++ b/library/process.h
@@ -0,0 +1,94 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20
21#ifndef PROCESS_H
22#define PROCESS_H
23
24//#ifndef QT_H
25#include "qobject.h"
26#include "qstringlist.h"
27#include "qdir.h"
28//#endif // QT_H
29
30//#ifndef QT_NO_PROCESS
31
32class ProcessPrivate;
33
34//
35//
36//
37//
38//
39//
40//
41//
42//
43//
44// This is a subset of the Process API found in Qt 3.0
45//
46//
47//
48//
49//
50//
51//
52//
53//
54//
55//
56
57class Q_EXPORT Process : public QObject
58{
59 Q_OBJECT
60public:
61 Process( QObject *parent=0, const char *name=0 );
62 Process( const QString& arg0, QObject *parent=0, const char *name=0 );
63 Process( const QStringList& args, QObject *parent=0, const char *name=0 );
64 ~Process();
65
66 // set and get the arguments and working directory
67 QStringList arguments() const;
68 virtual void setArguments( const QStringList& args );
69 virtual void addArgument( const QString& arg );
70 // control the execution
71 virtual bool exec( const QString& in, QString& out, QStringList *env=0 );
72 virtual bool exec( const QByteArray& in, QByteArray& out, QStringList *env=0 );
73
74private:
75 void init();
76
77private:
78 ProcessPrivate *d;
79 QStringList _arguments;
80
81 int exitStat; // exit status
82 bool exitNormal; // normal exit?
83 bool ioRedirection; // automatically set be (dis)connectNotify
84 bool notifyOnExit; // automatically set be (dis)connectNotify
85 bool wroteToStdinConnected; // automatically set be (dis)connectNotify
86
87 friend class ProcessPrivate;
88 friend class ProcessManager;
89 friend class Proc;
90};
91
92//#endif // QT_NO_PROCESS
93
94#endif // QPROCESS_H