aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.h
diff options
context:
space:
mode:
authorKai Koehne <[email protected]>2011-06-27 17:18:55 +0200
committerChristian Kandeler <[email protected]>2011-06-28 14:05:11 +0200
commit949ffeb1b41d8c6f1bff5a1e3224bff315d7b90a (patch)
tree987e7a927421ac8cc93a5ef0b9898c52e5ae28e9 /src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.h
parent2707f7a74b49204e1b27daf677ec8e8c494511f4 (diff)
QmlProfiler: Support profiling applications on embedded Linux
Allow on-device profiling e.g. on Meego/Harmattan. Change-Id: I066b71078e1dab1b1369ff7275f72e88045d1bab Reviewed-on: http://codereview.qt.nokia.com/784 Reviewed-by: Qt Sanity Bot <[email protected]> Reviewed-by: Christian Kandeler <[email protected]>
Diffstat (limited to 'src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.h')
-rw-r--r--src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.h b/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.h
new file mode 100644
index 00000000000..a6b24f7e6e6
--- /dev/null
+++ b/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.h
@@ -0,0 +1,79 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation ([email protected])
+**
+** No Commercial Usage
+**
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at [email protected].
+**
+**************************************************************************/
+
+#ifndef REMOTELINUXQMLPROFILERRUNNER_H
+#define REMOTELINUXQMLPROFILERRUNNER_H
+
+#include "abstractqmlprofilerrunner.h"
+#include <remotelinux/remotelinuxrunconfiguration.h>
+#include <remotelinux/remotelinuxruncontrol.h>
+
+namespace QmlProfiler {
+namespace Internal {
+
+class RemoteLinuxQmlProfilerRunner : public AbstractQmlProfilerRunner
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(RemoteLinuxQmlProfilerRunner)
+
+ using AbstractQmlProfilerRunner::appendMessage; // don't hide signal
+public:
+ explicit RemoteLinuxQmlProfilerRunner(RemoteLinux::RemoteLinuxRunConfiguration *configuration,
+ QObject *parent = 0);
+ ~RemoteLinuxQmlProfilerRunner();
+
+ // AbstractQmlProfilerRunner
+ virtual void start();
+ virtual void stop();
+ virtual int debugPort() const;
+
+private slots:
+ void getPorts();
+ void handleError(const QString &msg);
+ void handleStdErr(const QByteArray &msg);
+ void handleStdOut(const QByteArray &msg);
+ void handleRemoteProcessStarted();
+ void handleRemoteProcessFinished(qint64);
+ void handleProgressReport(const QString &progressString);
+
+private:
+ RemoteLinux::RemoteLinuxApplicationRunner *runner() const;
+
+ int m_port;
+ RemoteLinux::AbstractRemoteLinuxRunControl *m_runControl;
+};
+
+} // namespace Internal
+} // namespace QmlProfiler
+
+#endif // REMOTELINUXQMLPROFILERRUNNER_H