summaryrefslogtreecommitdiff
path: root/src/plugins/android/androidrunner.h
diff options
context:
space:
mode:
authorBogDan Vatra <bog_dan_ro@yahoo.com>2012-04-18 20:30:57 +0300
committerDaniel Teske <daniel.teske@nokia.com>2012-04-24 12:25:40 +0200
commit50e8f7bb7be503a922986a74e386f5ad4df22736 (patch)
tree80c94d097c7c5efde2fe78b22c8d1370d81fbe73 /src/plugins/android/androidrunner.h
parentcf4ecad4bc20f246e1c67047b158ac2fe799183b (diff)
downloadqt-creator-50e8f7bb7be503a922986a74e386f5ad4df22736.tar.gz
Android plugin
Change-Id: Iad58914f067a6ef6d3412ccd42f757d821e39e45 Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
Diffstat (limited to 'src/plugins/android/androidrunner.h')
-rw-r--r--src/plugins/android/androidrunner.h104
1 files changed, 104 insertions, 0 deletions
diff --git a/src/plugins/android/androidrunner.h b/src/plugins/android/androidrunner.h
new file mode 100644
index 0000000000..0e2cd4b9f9
--- /dev/null
+++ b/src/plugins/android/androidrunner.h
@@ -0,0 +1,104 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2012 BogDan Vatra <bog_dan_ro@yahoo.com>
+**
+** Contact: Nokia Corporation (qt-info@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 qt-info@nokia.com.
+**
+**************************************************************************/
+
+#ifndef ANDROIDRUNNER_H
+#define ANDROIDRUNNER_H
+
+#include "androidconfigurations.h"
+
+#include <QObject>
+#include <QStringList>
+#include <QTimer>
+#include <QThread>
+#include <QProcess>
+#include <QMutex>
+
+
+namespace Android {
+namespace Internal {
+class AndroidRunConfiguration;
+
+class AndroidRunner : public QThread
+{
+ Q_OBJECT
+
+public:
+ AndroidRunner(QObject *parent, AndroidRunConfiguration *runConfig,
+ bool debugging);
+ ~AndroidRunner();
+
+ QString displayName() const;
+
+public slots:
+ void start();
+ void stop();
+
+signals:
+ void remoteProcessStarted(int gdbServerPort = -1, int qmlPort = -1);
+ void remoteProcessFinished(const QString &errString = QString());
+
+ void remoteOutput(const QByteArray &output);
+ void remoteErrorOutput(const QByteArray &output);
+
+private slots:
+ void killPID();
+ void checkPID();
+ void logcatReadStandardError();
+ void logcatReadStandardOutput();
+ void startLogcat();
+ void asyncStart();
+ void asyncStop();
+
+private:
+ void adbKill(qint64 pid, const QString &device, int timeout = 2000, const QString &runAsPackageName = QString());
+
+private:
+ bool m_debugingMode;
+ QProcess m_adbLogcatProcess;
+ QByteArray m_logcat;
+ QString m_intentName;
+ QString m_packageName;
+ QString m_deviceSerialNumber;
+ qint64 m_processPID;
+ qint64 m_gdbserverPID;
+ QTimer m_checkPIDTimer;
+ QString m_remoteChannel;
+ bool m_useLocalQtLibs;
+ QString m_localLibs;
+ QString m_localJars;
+ QMutex m_mutex;
+};
+
+} // namespace Internal
+} // namespace Android
+
+#endif // ANDROIDRUNNER_H