forked from qt-creator/qt-creator
Header cleanup.
This commit is contained in:
@@ -68,19 +68,32 @@ inline Core::IEditor *locateEditor(const Core::ICore *core, const char *property
|
|||||||
|
|
||||||
namespace VCSBase {
|
namespace VCSBase {
|
||||||
|
|
||||||
|
class VCSBaseClientPrivate
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit VCSBaseClientPrivate(const VCSBaseClientSettings &settings);
|
||||||
|
|
||||||
|
VCSJobRunner *m_jobManager;
|
||||||
|
Core::ICore *m_core;
|
||||||
|
const VCSBaseClientSettings& m_clientSettings;
|
||||||
|
};
|
||||||
|
|
||||||
|
VCSBaseClientPrivate::VCSBaseClientPrivate(const VCSBaseClientSettings &settings) :
|
||||||
|
m_jobManager(0), m_core(Core::ICore::instance()), m_clientSettings(settings)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
VCSBaseClient::VCSBaseClient(const VCSBaseClientSettings &settings) :
|
VCSBaseClient::VCSBaseClient(const VCSBaseClientSettings &settings) :
|
||||||
m_jobManager(0),
|
d(new VCSBaseClientPrivate(settings))
|
||||||
m_core(Core::ICore::instance()),
|
|
||||||
m_clientSettings(settings)
|
|
||||||
{
|
{
|
||||||
qRegisterMetaType<QVariant>();
|
qRegisterMetaType<QVariant>();
|
||||||
}
|
}
|
||||||
|
|
||||||
VCSBaseClient::~VCSBaseClient()
|
VCSBaseClient::~VCSBaseClient()
|
||||||
{
|
{
|
||||||
if (m_jobManager) {
|
if (d->m_jobManager) {
|
||||||
delete m_jobManager;
|
delete d->m_jobManager;
|
||||||
m_jobManager = 0;
|
d->m_jobManager = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,8 +188,8 @@ bool VCSBaseClient::vcsFullySynchronousExec(const QString &workingDir,
|
|||||||
vcsProcess.setWorkingDirectory(workingDir);
|
vcsProcess.setWorkingDirectory(workingDir);
|
||||||
VCSJobRunner::setProcessEnvironment(&vcsProcess);
|
VCSJobRunner::setProcessEnvironment(&vcsProcess);
|
||||||
|
|
||||||
const QString binary = m_clientSettings.binary();
|
const QString binary = d->m_clientSettings.binary();
|
||||||
const QStringList arguments = m_clientSettings.standardArguments() + args;
|
const QStringList arguments = d->m_clientSettings.standardArguments() + args;
|
||||||
|
|
||||||
VCSBase::VCSBaseOutputWindow *outputWindow = VCSBase::VCSBaseOutputWindow::instance();
|
VCSBase::VCSBaseOutputWindow *outputWindow = VCSBase::VCSBaseOutputWindow::instance();
|
||||||
outputWindow->appendCommand(workingDir, binary, args);
|
outputWindow->appendCommand(workingDir, binary, args);
|
||||||
@@ -191,10 +204,10 @@ bool VCSBaseClient::vcsFullySynchronousExec(const QString &workingDir,
|
|||||||
vcsProcess.closeWriteChannel();
|
vcsProcess.closeWriteChannel();
|
||||||
|
|
||||||
QByteArray stdErr;
|
QByteArray stdErr;
|
||||||
if (!Utils::SynchronousProcess::readDataFromProcess(vcsProcess, m_clientSettings.timeoutMilliSeconds(),
|
if (!Utils::SynchronousProcess::readDataFromProcess(vcsProcess, d->m_clientSettings.timeoutMilliSeconds(),
|
||||||
output, &stdErr, true)) {
|
output, &stdErr, true)) {
|
||||||
Utils::SynchronousProcess::stopProcess(vcsProcess);
|
Utils::SynchronousProcess::stopProcess(vcsProcess);
|
||||||
outputWindow->appendError(VCSJobRunner::msgTimeout(binary, m_clientSettings.timeoutSeconds()));
|
outputWindow->appendError(VCSJobRunner::msgTimeout(binary, d->m_clientSettings.timeoutSeconds()));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!stdErr.isEmpty())
|
if (!stdErr.isEmpty())
|
||||||
@@ -209,10 +222,10 @@ Utils::SynchronousProcessResponse VCSBaseClient::vcsSynchronousExec(
|
|||||||
unsigned flags,
|
unsigned flags,
|
||||||
QTextCodec *outputCodec)
|
QTextCodec *outputCodec)
|
||||||
{
|
{
|
||||||
const QString binary = m_clientSettings.binary();
|
const QString binary = d->m_clientSettings.binary();
|
||||||
const QStringList arguments = m_clientSettings.standardArguments() + args;
|
const QStringList arguments = d->m_clientSettings.standardArguments() + args;
|
||||||
return VCSBase::VCSBasePlugin::runVCS(workingDirectory, binary, arguments,
|
return VCSBase::VCSBasePlugin::runVCS(workingDirectory, binary, arguments,
|
||||||
m_clientSettings.timeoutMilliSeconds(),
|
d->m_clientSettings.timeoutMilliSeconds(),
|
||||||
flags, outputCodec);
|
flags, outputCodec);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -416,17 +429,17 @@ void VCSBaseClient::commit(const QString &repositoryRoot,
|
|||||||
|
|
||||||
void VCSBaseClient::settingsChanged()
|
void VCSBaseClient::settingsChanged()
|
||||||
{
|
{
|
||||||
if (m_jobManager) {
|
if (d->m_jobManager) {
|
||||||
m_jobManager->setSettings(m_clientSettings.binary(),
|
d->m_jobManager->setSettings(d->m_clientSettings.binary(),
|
||||||
m_clientSettings.standardArguments(),
|
d->m_clientSettings.standardArguments(),
|
||||||
m_clientSettings.timeoutMilliSeconds());
|
d->m_clientSettings.timeoutMilliSeconds());
|
||||||
m_jobManager->restart();
|
d->m_jobManager->restart();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString VCSBaseClient::vcsEditorTitle(const QString &vcsCmd, const QString &sourceId) const
|
QString VCSBaseClient::vcsEditorTitle(const QString &vcsCmd, const QString &sourceId) const
|
||||||
{
|
{
|
||||||
return m_clientSettings.binary() + QLatin1Char(' ') + vcsCmd + QLatin1Char(' ') + sourceId;
|
return d->m_clientSettings.binary() + QLatin1Char(' ') + vcsCmd + QLatin1Char(' ') + sourceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
VCSBase::VCSBaseEditorWidget *VCSBaseClient::createVCSEditor(const QString &kind, QString title,
|
VCSBase::VCSBaseEditorWidget *VCSBaseClient::createVCSEditor(const QString &kind, QString title,
|
||||||
@@ -435,7 +448,7 @@ VCSBase::VCSBaseEditorWidget *VCSBaseClient::createVCSEditor(const QString &kind
|
|||||||
const QString &dynamicPropertyValue) const
|
const QString &dynamicPropertyValue) const
|
||||||
{
|
{
|
||||||
VCSBase::VCSBaseEditorWidget *baseEditor = 0;
|
VCSBase::VCSBaseEditorWidget *baseEditor = 0;
|
||||||
Core::IEditor *outputEditor = locateEditor(m_core, registerDynamicProperty, dynamicPropertyValue);
|
Core::IEditor *outputEditor = locateEditor(d->m_core, registerDynamicProperty, dynamicPropertyValue);
|
||||||
const QString progressMsg = tr("Working...");
|
const QString progressMsg = tr("Working...");
|
||||||
if (outputEditor) {
|
if (outputEditor) {
|
||||||
// Exists already
|
// Exists already
|
||||||
@@ -443,7 +456,7 @@ VCSBase::VCSBaseEditorWidget *VCSBaseClient::createVCSEditor(const QString &kind
|
|||||||
baseEditor = VCSBase::VCSBaseEditorWidget::getVcsBaseEditor(outputEditor);
|
baseEditor = VCSBase::VCSBaseEditorWidget::getVcsBaseEditor(outputEditor);
|
||||||
QTC_ASSERT(baseEditor, return 0);
|
QTC_ASSERT(baseEditor, return 0);
|
||||||
} else {
|
} else {
|
||||||
outputEditor = m_core->editorManager()->openEditorWithContents(kind, &title, progressMsg);
|
outputEditor = d->m_core->editorManager()->openEditorWithContents(kind, &title, progressMsg);
|
||||||
outputEditor->file()->setProperty(registerDynamicProperty, dynamicPropertyValue);
|
outputEditor->file()->setProperty(registerDynamicProperty, dynamicPropertyValue);
|
||||||
baseEditor = VCSBase::VCSBaseEditorWidget::getVcsBaseEditor(outputEditor);
|
baseEditor = VCSBase::VCSBaseEditorWidget::getVcsBaseEditor(outputEditor);
|
||||||
connect(baseEditor, SIGNAL(annotateRevisionRequested(QString,QString,int)),
|
connect(baseEditor, SIGNAL(annotateRevisionRequested(QString,QString,int)),
|
||||||
@@ -454,21 +467,21 @@ VCSBase::VCSBaseEditorWidget *VCSBaseClient::createVCSEditor(const QString &kind
|
|||||||
baseEditor->setCodec(VCSBase::VCSBaseEditorWidget::getCodec(source));
|
baseEditor->setCodec(VCSBase::VCSBaseEditorWidget::getCodec(source));
|
||||||
}
|
}
|
||||||
|
|
||||||
m_core->editorManager()->activateEditor(outputEditor, Core::EditorManager::ModeSwitch);
|
d->m_core->editorManager()->activateEditor(outputEditor, Core::EditorManager::ModeSwitch);
|
||||||
baseEditor->setForceReadOnly(true);
|
baseEditor->setForceReadOnly(true);
|
||||||
return baseEditor;
|
return baseEditor;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VCSBaseClient::enqueueJob(const QSharedPointer<VCSJob> &job)
|
void VCSBaseClient::enqueueJob(const QSharedPointer<VCSJob> &job)
|
||||||
{
|
{
|
||||||
if (!m_jobManager) {
|
if (!d->m_jobManager) {
|
||||||
m_jobManager = new VCSJobRunner();
|
d->m_jobManager = new VCSJobRunner();
|
||||||
m_jobManager->setSettings(m_clientSettings.binary(),
|
d->m_jobManager->setSettings(d->m_clientSettings.binary(),
|
||||||
m_clientSettings.standardArguments(),
|
d->m_clientSettings.standardArguments(),
|
||||||
m_clientSettings.timeoutMilliSeconds());
|
d->m_clientSettings.timeoutMilliSeconds());
|
||||||
m_jobManager->start();
|
d->m_jobManager->start();
|
||||||
}
|
}
|
||||||
m_jobManager->enqueueJob(job);
|
d->m_jobManager->enqueueJob(job);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace VCSBase
|
} // namespace VCSBase
|
||||||
|
@@ -40,6 +40,7 @@
|
|||||||
#include <QtCore/QStringList>
|
#include <QtCore/QStringList>
|
||||||
#include <QtCore/QPair>
|
#include <QtCore/QPair>
|
||||||
#include <QtCore/QSharedPointer>
|
#include <QtCore/QSharedPointer>
|
||||||
|
#include <QtCore/QScopedPointer>
|
||||||
#include <QtCore/QHash>
|
#include <QtCore/QHash>
|
||||||
#include <QtCore/QVariant>
|
#include <QtCore/QVariant>
|
||||||
|
|
||||||
@@ -60,8 +61,8 @@ namespace VCSBase {
|
|||||||
|
|
||||||
class VCSBaseEditorWidget;
|
class VCSBaseEditorWidget;
|
||||||
class VCSBaseClientSettings;
|
class VCSBaseClientSettings;
|
||||||
class VCSJobRunner;
|
|
||||||
class VCSJob;
|
class VCSJob;
|
||||||
|
class VCSBaseClientPrivate;
|
||||||
|
|
||||||
class VCSBASE_EXPORT VCSBaseClient : public QObject
|
class VCSBASE_EXPORT VCSBaseClient : public QObject
|
||||||
{
|
{
|
||||||
@@ -69,7 +70,7 @@ class VCSBASE_EXPORT VCSBaseClient : public QObject
|
|||||||
public:
|
public:
|
||||||
typedef QHash<int, QVariant> ExtraCommandOptions;
|
typedef QHash<int, QVariant> ExtraCommandOptions;
|
||||||
|
|
||||||
VCSBaseClient(const VCSBaseClientSettings &settings);
|
explicit VCSBaseClient(const VCSBaseClientSettings &settings);
|
||||||
~VCSBaseClient();
|
~VCSBaseClient();
|
||||||
virtual bool synchronousCreateRepository(const QString &workingDir);
|
virtual bool synchronousCreateRepository(const QString &workingDir);
|
||||||
virtual bool synchronousClone(const QString &workingDir,
|
virtual bool synchronousClone(const QString &workingDir,
|
||||||
@@ -180,9 +181,7 @@ private slots:
|
|||||||
void slotAnnotateRevisionRequested(const QString &source, QString change, int lineNumber);
|
void slotAnnotateRevisionRequested(const QString &source, QString change, int lineNumber);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
VCSJobRunner *m_jobManager;
|
QScopedPointer<VCSBaseClientPrivate> d;
|
||||||
Core::ICore *m_core;
|
|
||||||
const VCSBaseClientSettings& m_clientSettings;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} //namespace VCSBase
|
} //namespace VCSBase
|
||||||
|
@@ -45,8 +45,12 @@
|
|||||||
#include <QtCore/QString>
|
#include <QtCore/QString>
|
||||||
#include <QtCore/QDebug>
|
#include <QtCore/QDebug>
|
||||||
#include <QtCore/QDir>
|
#include <QtCore/QDir>
|
||||||
|
#include <QtCore/QQueue>
|
||||||
|
#include <QtCore/QMutex>
|
||||||
|
#include <QtCore/QWaitCondition>
|
||||||
|
#include <QtCore/QSharedPointer>
|
||||||
|
|
||||||
using namespace VCSBase;
|
namespace VCSBase {
|
||||||
|
|
||||||
VCSJob::VCSJob(const QString &workingDir,
|
VCSJob::VCSJob(const QString &workingDir,
|
||||||
const QStringList &args,
|
const QStringList &args,
|
||||||
@@ -124,10 +128,26 @@ void VCSJob::setUnixTerminalDisabled(bool v)
|
|||||||
m_unixTerminalDisabled = v;
|
m_unixTerminalDisabled = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class VCSJobRunnerPrivate
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
VCSJobRunnerPrivate();
|
||||||
|
|
||||||
|
QQueue<QSharedPointer<VCSJob> > m_jobs;
|
||||||
|
QMutex m_mutex;
|
||||||
|
QWaitCondition m_waiter;
|
||||||
|
bool m_keepRunning;
|
||||||
|
QString m_binary;
|
||||||
|
QStringList m_standardArguments;
|
||||||
|
int m_timeoutMS;
|
||||||
|
};
|
||||||
|
|
||||||
VCSJobRunner::VCSJobRunner() :
|
VCSJobRunnerPrivate::VCSJobRunnerPrivate() :
|
||||||
m_keepRunning(true)
|
m_keepRunning(true), m_timeoutMS(30000)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
VCSJobRunner::VCSJobRunner() : d(new VCSJobRunnerPrivate)
|
||||||
{
|
{
|
||||||
VCSBase::VCSBaseOutputWindow *ow = VCSBase::VCSBaseOutputWindow::instance();
|
VCSBase::VCSBaseOutputWindow *ow = VCSBase::VCSBaseOutputWindow::instance();
|
||||||
connect(this, SIGNAL(error(QString)),
|
connect(this, SIGNAL(error(QString)),
|
||||||
@@ -144,12 +164,12 @@ VCSJobRunner::~VCSJobRunner()
|
|||||||
void VCSJobRunner::stop()
|
void VCSJobRunner::stop()
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
QMutexLocker mutexLocker(&m_mutex); Q_UNUSED(mutexLocker);
|
QMutexLocker mutexLocker(&d->m_mutex); Q_UNUSED(mutexLocker);
|
||||||
m_keepRunning = false;
|
d->m_keepRunning = false;
|
||||||
//Create a dummy task to break the cycle
|
//Create a dummy task to break the cycle
|
||||||
QSharedPointer<VCSJob> job(0);
|
QSharedPointer<VCSJob> job(0);
|
||||||
m_jobs.enqueue(job);
|
d->m_jobs.enqueue(job);
|
||||||
m_waiter.wakeAll();
|
d->m_waiter.wakeAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
wait();
|
wait();
|
||||||
@@ -158,34 +178,34 @@ void VCSJobRunner::stop()
|
|||||||
void VCSJobRunner::restart()
|
void VCSJobRunner::restart()
|
||||||
{
|
{
|
||||||
stop();
|
stop();
|
||||||
m_mutex.lock();
|
d->m_mutex.lock();
|
||||||
m_keepRunning = true;
|
d->m_keepRunning = true;
|
||||||
m_mutex.unlock();
|
d->m_mutex.unlock();
|
||||||
start();
|
start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VCSJobRunner::enqueueJob(const QSharedPointer<VCSJob> &job)
|
void VCSJobRunner::enqueueJob(const QSharedPointer<VCSJob> &job)
|
||||||
{
|
{
|
||||||
QMutexLocker mutexLocker(&m_mutex); Q_UNUSED(mutexLocker);
|
QMutexLocker mutexLocker(&d->m_mutex); Q_UNUSED(mutexLocker);
|
||||||
m_jobs.enqueue(job);
|
d->m_jobs.enqueue(job);
|
||||||
m_waiter.wakeAll();
|
d->m_waiter.wakeAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VCSJobRunner::run()
|
void VCSJobRunner::run()
|
||||||
{
|
{
|
||||||
forever {
|
forever {
|
||||||
m_mutex.lock();
|
d->m_mutex.lock();
|
||||||
while (m_jobs.count() == 0)
|
while (d->m_jobs.count() == 0)
|
||||||
m_waiter.wait(&m_mutex);
|
d->m_waiter.wait(&d->m_mutex);
|
||||||
|
|
||||||
if (!m_keepRunning) {
|
if (!d->m_keepRunning) {
|
||||||
m_jobs.clear();
|
d->m_jobs.clear();
|
||||||
m_mutex.unlock();
|
d->m_mutex.unlock();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QSharedPointer<VCSJob> job = m_jobs.dequeue();
|
QSharedPointer<VCSJob> job = d->m_jobs.dequeue();
|
||||||
m_mutex.unlock();
|
d->m_mutex.unlock();
|
||||||
|
|
||||||
task(job);
|
task(job);
|
||||||
}
|
}
|
||||||
@@ -218,9 +238,9 @@ void VCSJobRunner::setSettings(const QString &bin,
|
|||||||
const QStringList &stdArgs,
|
const QStringList &stdArgs,
|
||||||
int timeoutMsec)
|
int timeoutMsec)
|
||||||
{
|
{
|
||||||
m_binary = bin;
|
d->m_binary = bin;
|
||||||
m_standardArguments = stdArgs;
|
d->m_standardArguments = stdArgs;
|
||||||
m_timeoutMS = timeoutMsec;
|
d->m_timeoutMS = timeoutMsec;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VCSJobRunner::task(const QSharedPointer<VCSJob> &job)
|
void VCSJobRunner::task(const QSharedPointer<VCSJob> &job)
|
||||||
@@ -250,8 +270,8 @@ void VCSJobRunner::task(const QSharedPointer<VCSJob> &job)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QStringList args = m_standardArguments + taskData->arguments();
|
const QStringList args = d->m_standardArguments + taskData->arguments();
|
||||||
emit commandStarted(VCSBase::VCSBaseOutputWindow::msgExecutionLogEntry(taskData->workingDirectory(), m_binary, args));
|
emit commandStarted(VCSBase::VCSBaseOutputWindow::msgExecutionLogEntry(taskData->workingDirectory(), d->m_binary, args));
|
||||||
//infom the user of what we are going to try and perform
|
//infom the user of what we are going to try and perform
|
||||||
|
|
||||||
if (Constants::Internal::debug)
|
if (Constants::Internal::debug)
|
||||||
@@ -267,10 +287,10 @@ void VCSJobRunner::task(const QSharedPointer<VCSJob> &job)
|
|||||||
vcsProcess->setWorkingDirectory(taskData->workingDirectory());
|
vcsProcess->setWorkingDirectory(taskData->workingDirectory());
|
||||||
VCSJobRunner::setProcessEnvironment(vcsProcess.data());
|
VCSJobRunner::setProcessEnvironment(vcsProcess.data());
|
||||||
|
|
||||||
vcsProcess->start(m_binary, args);
|
vcsProcess->start(d->m_binary, args);
|
||||||
|
|
||||||
if (!vcsProcess->waitForStarted()) {
|
if (!vcsProcess->waitForStarted()) {
|
||||||
emit error(msgStartFailed(m_binary, vcsProcess->errorString()));
|
emit error(msgStartFailed(d->m_binary, vcsProcess->errorString()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -279,9 +299,9 @@ void VCSJobRunner::task(const QSharedPointer<VCSJob> &job)
|
|||||||
QByteArray stdOutput;
|
QByteArray stdOutput;
|
||||||
QByteArray stdErr;
|
QByteArray stdErr;
|
||||||
|
|
||||||
if (!Utils::SynchronousProcess::readDataFromProcess(*vcsProcess, m_timeoutMS, &stdOutput, &stdErr, false)) {
|
if (!Utils::SynchronousProcess::readDataFromProcess(*vcsProcess, d->m_timeoutMS, &stdOutput, &stdErr, false)) {
|
||||||
Utils::SynchronousProcess::stopProcess(*vcsProcess);
|
Utils::SynchronousProcess::stopProcess(*vcsProcess);
|
||||||
emit error(msgTimeout(m_binary, m_timeoutMS / 1000));
|
emit error(msgTimeout(d->m_binary, d->m_timeoutMS / 1000));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -305,3 +325,5 @@ void VCSJobRunner::task(const QSharedPointer<VCSJob> &job)
|
|||||||
//output signal connection must be made
|
//output signal connection must be made
|
||||||
disconnect(this, SIGNAL(output(QByteArray)), 0, 0);
|
disconnect(this, SIGNAL(output(QByteArray)), 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} // namespace VCSBase
|
||||||
|
@@ -37,14 +37,12 @@
|
|||||||
#include "vcsbase_global.h"
|
#include "vcsbase_global.h"
|
||||||
|
|
||||||
#include <QtCore/QThread>
|
#include <QtCore/QThread>
|
||||||
#include <QtCore/QQueue>
|
|
||||||
#include <QtCore/QMutex>
|
|
||||||
#include <QtCore/QWaitCondition>
|
|
||||||
#include <QtCore/QStringList>
|
#include <QtCore/QStringList>
|
||||||
#include <QtCore/QSharedPointer>
|
|
||||||
#include <QtCore/QVariant>
|
|
||||||
#include <QtCore/QString>
|
#include <QtCore/QString>
|
||||||
#include <QtCore/QPointer>
|
#include <QtCore/QPointer>
|
||||||
|
#include <QtCore/QSharedPointer>
|
||||||
|
#include <QtCore/QScopedPointer>
|
||||||
|
#include <QtCore/QVariant>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QProcess;
|
class QProcess;
|
||||||
@@ -52,6 +50,7 @@ QT_END_NAMESPACE
|
|||||||
|
|
||||||
namespace VCSBase {
|
namespace VCSBase {
|
||||||
class VCSBaseEditorWidget;
|
class VCSBaseEditorWidget;
|
||||||
|
class VCSJobRunnerPrivate;
|
||||||
|
|
||||||
class VCSBASE_EXPORT VCSJob : public QObject
|
class VCSBASE_EXPORT VCSJob : public QObject
|
||||||
{
|
{
|
||||||
@@ -127,13 +126,7 @@ private:
|
|||||||
void task(const QSharedPointer<VCSJob> &job);
|
void task(const QSharedPointer<VCSJob> &job);
|
||||||
void stop();
|
void stop();
|
||||||
|
|
||||||
QQueue<QSharedPointer<VCSJob> > m_jobs;
|
QScopedPointer<VCSJobRunnerPrivate> d;
|
||||||
QMutex m_mutex;
|
|
||||||
QWaitCondition m_waiter;
|
|
||||||
bool m_keepRunning;
|
|
||||||
QString m_binary;
|
|
||||||
QStringList m_standardArguments;
|
|
||||||
int m_timeoutMS;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} //namespace VCSBase
|
} //namespace VCSBase
|
||||||
|
Reference in New Issue
Block a user