OSDN Git Service

Fixed a bug in AbstractTool class that could cause a severe slow-down on process...
[lamexp/LameXP.git] / src / Tool_Abstract.h
index 4cb6e42..0672557 100644 (file)
@@ -1,11 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
 // LameXP - Audio Encoder Front-End
-// Copyright (C) 2004-2011 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,7 @@
 
 class QMutex;
 class QProcess;
+class JobObject;
 
 class AbstractTool : public QObject
 {
@@ -36,17 +38,20 @@ 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);
 
 signals:
        void statusUpdated(int progress);
        void messageLogged(const QString &line);
 
 protected:
-       static const int m_processTimeoutInterval = 180000;
+       static const int m_processTimeoutInterval = 600000;
 
 private:
-       static QMutex *m_mutex_startProcess;
-       static void *m_handle_jobObject;
+       static quint64 s_startProcessTimer;
+       static QMutex  s_startProcessMutex;
+
+       static QScopedPointer<JobObject> s_jobObject;
+       static QMutex                    s_jobObjMtx;
+
        bool m_firstLaunch;
 };