00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SAX_PROCESS_CALL_H
00022 #define SAX_PROCESS_CALL_H 1
00023
00024
00025
00026
00027 #include <qlist.h>
00028 #include <qstring.h>
00029 #if QT_VERSION > 0x040100
00030 #include <Q3TextStream>
00031 #else
00032 #include <qtextstream.h>
00033 typedef QTextStream Q3TextStream;
00034 #endif
00035
00036
00037
00038
00039 #define LINESIZE 2048
00040
00041 namespace SaX {
00042
00043
00044
00052 class SaXProcessCallIF {
00053 public:
00054 virtual void addArgument ( const QString& ) = 0;
00055 virtual void addArgument ( int ) = 0;
00056 virtual void clearArguments ( void ) = 0;
00057 virtual QList<QString> readStdout ( void ) = 0;
00058 virtual bool start ( void ) = 0;
00059 virtual int exitStatus ( void ) = 0;
00060
00061 public:
00062 virtual ~SaXProcessCallIF ( void ) { }
00063 };
00064
00065
00066
00067
00075 class SaXProcessCall : public SaXProcessCallIF {
00076 private:
00077 QList<QString> mData;
00078 QList<QString> mArguments;
00079 int mExitCode;
00080
00081 public:
00082 void addArgument ( const QString& );
00083 void addArgument ( int );
00084 void clearArguments ( void );
00085 QList<QString> readStdout ( void );
00086 bool start ( void );
00087 int exitStatus ( void );
00088
00089 public:
00090 SaXProcessCall ( void );
00091 };
00092 }
00093 #endif