///////////////////////////////////////////////////////////////////////////////
// LameXP - Audio Encoder Front-End
-// Copyright (C) 2004-2013 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
class QMutex;
class QProcess;
+class QElapsedTimer;
+class JobObject;
class AbstractTool : public QObject
{
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);
static const int m_processTimeoutInterval = 600000;
private:
- static quint64 s_lastLaunchTime;
- static QMutex s_mutex_startProcess;
- static unsigned int s_jobObjRefCount;
- static void *s_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;
};