diff options
author | dt <qtc-committer@nokia.com> | 2011-05-20 21:40:53 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@nokia.com> | 2011-05-24 18:35:11 +0200 |
commit | 754be1bcfcd22e41f591ae78642605f639b075b1 (patch) | |
tree | a0f0d1f36165bacede673a13ed26904dc04f3970 /src/plugins/qtsupport/debugginghelperbuildtask.h | |
parent | dcd34febabccdcb96fc7963172cba270e20aa483 (diff) | |
download | qt-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.h | 94 |
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 |