-rw-r--r-- | library/process.h | 94 |
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 | |||
32 | class 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 | |||
57 | class Q_EXPORT Process : public QObject | ||
58 | { | ||
59 | Q_OBJECT | ||
60 | public: | ||
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 | |||
74 | private: | ||
75 | void init(); | ||
76 | |||
77 | private: | ||
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 | ||