Warning, file /maui/strike/src/controllers/processmanager.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 #ifndef PROCESSMANAGER_H 0002 #define PROCESSMANAGER_H 0003 0004 #include <QObject> 0005 #include <QUrl> 0006 0007 class QProcess; 0008 class CMakeProject; 0009 0010 class ConfigureProcess; 0011 class ProcessManager : public QObject 0012 { 0013 Q_OBJECT 0014 0015 Q_PROPERTY(bool processRunning READ processRunning NOTIFY processRunningChanged FINAL) 0016 0017 Q_PROPERTY(Status configureStatus READ configureStatus NOTIFY configureStatusChanged FINAL) 0018 Q_PROPERTY(Status buildStatus READ buildStatus NOTIFY buildStatusChanged FINAL) 0019 Q_PROPERTY(Status deployStatus READ deployStatus NOTIFY deployStatusChanged FINAL) 0020 0021 Q_PROPERTY(QString infoLabel READ infoLabel NOTIFY infoLabelChanged) 0022 0023 Q_PROPERTY(bool enabled READ enabled NOTIFY enabledChanged FINAL) 0024 0025 public: 0026 enum Status 0027 { 0028 Running, 0029 Finished, 0030 Error, 0031 None 0032 };Q_ENUM(Status) 0033 0034 explicit ProcessManager(CMakeProject *project); 0035 ~ProcessManager(); 0036 0037 bool processRunning() const; 0038 0039 Status configureStatus() const; 0040 0041 Status buildStatus() const; 0042 0043 Status deployStatus() const; 0044 0045 bool enabled() const; 0046 0047 QString infoLabel() const; 0048 0049 public slots: 0050 void build(); 0051 void configure(); 0052 void deploy(); 0053 0054 void stopBuild(); 0055 void stopConfigure(); 0056 void stopDeploy(); 0057 0058 private: 0059 CMakeProject *m_project; 0060 ConfigureProcess *m_configureProcess; 0061 QProcess *m_buildProcess; 0062 QProcess *m_deployProcess; 0063 0064 bool m_processRunning {false}; 0065 0066 void buildStep(); 0067 void configureStep(); 0068 void deployStep(); 0069 0070 Status m_configureStatus {Status::None}; 0071 0072 Status m_buildStatus {Status::None}; 0073 0074 Status m_deployStatus {Status::None}; 0075 0076 bool m_enabled {false}; 0077 0078 QString m_infoLabel; 0079 0080 signals: 0081 void processRunningChanged(bool running); 0082 0083 void outputLine(QString output); 0084 0085 void configureStatusChanged(Status configureStatus); 0086 void buildStatusChanged(Status buildStatus); 0087 void deployStatusChanged(Status binaryStatus); 0088 0089 void enabledChanged(bool enabled); 0090 void infoLabelChanged(QString infoLabel); 0091 }; 0092 0093 #endif // PROCESSMANAGER_H