summaryrefslogtreecommitdiff
path: root/src/plugins/qtsupport/debugginghelperbuildtask.h
diff options
context:
space:
mode:
authordt <qtc-committer@nokia.com>2011-05-20 21:40:53 +0200
committerDaniel Teske <daniel.teske@nokia.com>2011-05-24 18:35:11 +0200
commit754be1bcfcd22e41f591ae78642605f639b075b1 (patch)
treea0f0d1f36165bacede673a13ed26904dc04f3970 /src/plugins/qtsupport/debugginghelperbuildtask.h
parentdcd34febabccdcb96fc7963172cba270e20aa483 (diff)
downloadqt-creator-754be1bcfcd22e41f591ae78642605f639b075b1.tar.gz
Move a lot of qmake independent classes to a new plugin qtsupport
Also adjust qmldumptool to remove the dependency on qt4project/qmlproject, by passing in the qtversion instead of figuring it out in qmldumptool. Change-Id: Ie6ac582d36bfef290313c0716b33b62fcf42630c Reviewed-on: http://codereview.qt.nokia.com/70 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Diffstat (limited to 'src/plugins/qtsupport/debugginghelperbuildtask.h')
-rw-r--r--src/plugins/qtsupport/debugginghelperbuildtask.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/plugins/qtsupport/debugginghelperbuildtask.h b/src/plugins/qtsupport/debugginghelperbuildtask.h
new file mode 100644
index 0000000000..9a0a7fceeb
--- /dev/null
+++ b/src/plugins/qtsupport/debugginghelperbuildtask.h
@@ -0,0 +1,94 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+**************************************************************************/
+
+#ifndef DEBUGGINGHELPERBUILDTASK_H
+#define DEBUGGINGHELPERBUILDTASK_H
+
+#include "qtsupport_global.h"
+#include <utils/environment.h>
+
+#include <QtCore/QObject>
+#include <QtCore/QFutureInterface>
+#include <QtCore/QMetaType>
+
+namespace QtSupport {
+class BaseQtVersion;
+
+class QTSUPPORT_EXPORT DebuggingHelperBuildTask : public QObject {
+ Q_DISABLE_COPY(DebuggingHelperBuildTask)
+ Q_OBJECT
+public:
+ enum DebuggingHelper {
+ GdbDebugging = 0x01,
+ QmlDebugging = 0x02,
+ QmlObserver = 0x04,
+ QmlDump = 0x08,
+ AllTools = GdbDebugging | QmlDebugging | QmlObserver | QmlDump
+ };
+ Q_DECLARE_FLAGS(Tools, DebuggingHelper)
+
+ explicit DebuggingHelperBuildTask(const BaseQtVersion *version, Tools tools = AllTools);
+ virtual ~DebuggingHelperBuildTask();
+
+ void showOutputOnError(bool show);
+ void run(QFutureInterface<void> &future);
+
+ static Tools availableTools(const BaseQtVersion *version);
+
+signals:
+ // used internally
+ void logOutput(const QString &output, bool bringToForeground);
+ void finished(int qtVersionId, const QString &output, DebuggingHelperBuildTask::Tools tools);
+
+private:
+ bool buildDebuggingHelper(QFutureInterface<void> &future);
+ void log(const QString &output, const QString &error);
+
+ const Tools m_tools;
+
+ int m_qtId;
+ QString m_qtInstallData;
+ QString m_target;
+ QString m_qmakeCommand;
+ QString m_makeCommand;
+ QString m_mkspec;
+ Utils::Environment m_environment;
+ QString m_log;
+ bool m_invalidQt;
+ bool m_showErrors;
+};
+
+} //namespace Qt4ProjectManager
+
+Q_DECLARE_METATYPE(QtSupport::DebuggingHelperBuildTask::Tools)
+
+#endif // DEBUGGINGHELPERBUILDTASK_H