application.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef APPLICATION_H
  2. #define APPLICATION_H
  3. #include <QObject>
  4. #include <QProcess>
  5. class Application : public QObject
  6. {
  7. Q_OBJECT
  8. public:
  9. explicit Application(QObject *parent = 0);
  10. Q_PROPERTY( QString appName READ appName WRITE setAppName)
  11. Q_PROPERTY( QString arguments READ arguments WRITE setArguments)
  12. Q_PROPERTY( QString stdERR READ stdERR WRITE setstdERR)
  13. Q_PROPERTY( QString stdOUT READ stdOUT WRITE setstdOUT)
  14. Q_PROPERTY( QString outFName READ outFName WRITE setoutFName)
  15. Q_PROPERTY( int exitCode READ exitCode)
  16. int exitCode();
  17. Q_PROPERTY( int exitStatus READ exitStatus)
  18. int exitStatus();
  19. Q_PROPERTY( int exitError READ exitError)
  20. int exitError();
  21. QString appName() const;
  22. void setAppName(const QString &appName);
  23. QString arguments() const;
  24. void setArguments(const QString &arguments);
  25. QString outFName() const;
  26. void setoutFName(const QString &outFName);
  27. QString stdERR() const;
  28. void setstdERR(const QString &stdERR);
  29. QString stdOUT() const;
  30. void setstdOUT(const QString &stdOUT);
  31. Q_INVOKABLE void launchScript();
  32. Q_SIGNALS:
  33. void appFinished();
  34. void appStarted();
  35. void appError();
  36. private:
  37. QProcess *m_process;
  38. QString m_AppName;
  39. QString m_Arguments;
  40. QString m_outFName;
  41. QString m_stdERR;
  42. QString m_stdOUT;
  43. int m_exitCode;
  44. int m_exitStatus;
  45. int m_error;
  46. private Q_SLOTS:
  47. void finished(int exitCode, QProcess::ExitStatus status);
  48. void process_started(void);
  49. void process_error(QProcess::ProcessError);
  50. };
  51. #endif //APPLICATION_H