1 #ifndef PROCESSMANAGER_H 2 #define PROCESSMANAGER_H 3 4 #include <QObject> 5 #include <QMap> 6 #include <QProcess> 7 8 #include "emulatoroption.h" 9 10 class ProcessManager : public QObject 11 { 12 Q_OBJECT 13 public: 14 explicit ProcessManager(QObject *parent = 0); 15 virtual ~ProcessManager(); 16 17 int startEmulator(QString); 18 void createTemplateList(); 19 20 QString fileErrorToString(QFile::FileError); 21 QString processErrorToString(QProcess::ProcessError); 22 QString processStateToString(QProcess::ProcessState); highestProcessID()23 int highestProcessID() { return mCurrentProcessId; } runningProcesses()24 int runningProcesses() { return mProcessMap.count(); } 25 26 signals: 27 void emulatorStarted(int); 28 void emulatorFinished(int); 29 30 public slots: 31 void error(QProcess::ProcessError); 32 void finished(int, QProcess::ExitStatus); 33 void readyReadStandardOutput(); 34 void readyReadStandardError(); 35 void started(); 36 void stateChanged(QProcess::ProcessState); 37 38 private: 39 int mCurrentProcessId; 40 QMap<int, QProcess *> mProcessMap; 41 QList<EmulatorOption> mTemplateList; 42 }; 43 44 #endif // PROCESSMANAGER_H 45