OSDN Git Service

Use QElapsedTimer class instead of MUtils::OS::perfcounter_read() where appropriate.
[lamexp/LameXP.git] / src / Tool_Abstract.h
index 915bbf0..d54b413 100644 (file)
@@ -1,11 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
 // LameXP - Audio Encoder Front-End
-// Copyright (C) 2004-2012 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2@GMX.de>
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 // the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
+// (at your option) any later version, but always including the *additional*
+// restrictions defined in the "License.txt" file.
 //
 // This program is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -25,6 +26,8 @@
 
 class QMutex;
 class QProcess;
+class QElapsedTimer;
+class JobObject;
 
 class AbstractTool : public QObject
 {
@@ -36,8 +39,6 @@ public:
        
        bool startProcess(QProcess &process, const QString &program, const QStringList &args);
        static QString commandline2string(const QString &program, const QStringList &arguments);
-       static QString AbstractTool::pathToShort(const QString &longPath);
-       static inline const quint64 currentTime(void);
 
 signals:
        void statusUpdated(int progress);
@@ -47,10 +48,13 @@ protected:
        static const int m_processTimeoutInterval = 600000;
 
 private:
-       static quint64 m_lastLaunchTime;
-       static QMutex *m_mutex_startProcess;
-       static unsigned int  m_jobObjRefCount;
-       static void *m_handle_jobObject;
+       static QScopedPointer<JobObject>     s_jobObjectInstance;
+       static QScopedPointer<QElapsedTimer> s_startProcessTimer;
+
+       static QMutex s_startProcessMutex;
+       static QMutex s_createObjectMutex;
+
+       static quint64 s_referenceCounter;
 
        bool m_firstLaunch;
 };