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 #include <qtextstream.h>
00030
00031
00032
00033
00034 #define LINESIZE 2048
00035
00036 namespace SaX {
00037
00038
00039
00047 class SaXProcessCallIF {
00048 public:
00049 virtual void addArgument ( const QString& ) = 0;
00050 virtual void addArgument ( int ) = 0;
00051 virtual void clearArguments ( void ) = 0;
00052 virtual QList<QString> readStdout ( void ) = 0;
00053 virtual bool start ( void ) = 0;
00054 virtual int exitStatus ( void ) = 0;
00055
00056 public:
00057 virtual ~SaXProcessCallIF ( void ) { }
00058 };
00059
00060
00061
00062
00070 class SaXProcessCall : public SaXProcessCallIF {
00071 private:
00072 QList<QString> mData;
00073 QList<QString> mArguments;
00074 int mExitCode;
00075
00076 public:
00077 void addArgument ( const QString& );
00078 void addArgument ( int );
00079 void clearArguments ( void );
00080 QList<QString> readStdout ( void );
00081 bool start ( void );
00082 int exitStatus ( void );
00083
00084 public:
00085 SaXProcessCall ( void );
00086 };
00087 }
00088 #endif