forked from qt-creator/qt-creator
		
	Conflicts: share/qtcreator/debugger/dumper.cpp share/qtcreator/debugger/dumper_p.h share/qtcreator/debugger/test/main.cpp src/plugins/debugger/gdb/classicgdbengine.cpp src/plugins/debugger/gdb/pythongdbengine.cpp src/plugins/debugger/lldblib/guest/lldbengineguest.cpp src/plugins/debugger/lldblib/guest/lldbengineguest.h src/plugins/debugger/lldblib/guest/main.cpp src/plugins/debugger/lldblib/ipcengineguest.cpp src/plugins/debugger/lldblib/ipcengineguest.h src/plugins/debugger/lldblib/ipcenginehost.cpp src/plugins/debugger/lldblib/ipcenginehost.h src/plugins/debugger/lldblib/lldbenginehost.cpp src/plugins/debugger/lldblib/lldboptionspage.cpp src/plugins/qbsprojectmanager/qbsstep.cpp src/plugins/qbsprojectmanager/qbsstep.h src/plugins/qmlprofiler/canvas/qdeclarativecanvas.cpp src/plugins/qmlprofiler/canvas/qdeclarativecanvas_p.h src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp src/plugins/qmlprofiler/canvas/qdeclarativecontext2d_p.h src/plugins/qmlprofiler/canvas/qmlprofilercanvas.cpp src/plugins/qnx/blackberrycheckdevmodestep.cpp src/plugins/qtsupport/debugginghelper.cpp Change-Id: Ie9fd0a885fb6264a6a8a72daee071b75bcbd2e9d
		
			
				
	
	
		
			115 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/**************************************************************************
 | 
						|
**
 | 
						|
** Copyright (c) 2014 BogDan Vatra <bog_dan_ro@yahoo.com>
 | 
						|
** Contact: http://www.qt-project.org/legal
 | 
						|
**
 | 
						|
** This file is part of Qt Creator.
 | 
						|
**
 | 
						|
** Commercial License Usage
 | 
						|
** Licensees holding valid commercial Qt licenses may use this file in
 | 
						|
** accordance with the commercial license agreement provided with the
 | 
						|
** Software or, alternatively, in accordance with the terms contained in
 | 
						|
** a written agreement between you and Digia.  For licensing terms and
 | 
						|
** conditions see http://qt.digia.com/licensing.  For further information
 | 
						|
** use the contact form at http://qt.digia.com/contact-us.
 | 
						|
**
 | 
						|
** 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, Digia gives you certain additional
 | 
						|
** rights.  These rights are described in the Digia Qt LGPL Exception
 | 
						|
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 | 
						|
**
 | 
						|
****************************************************************************/
 | 
						|
 | 
						|
#include "androidruncontrol.h"
 | 
						|
 | 
						|
#include "androiddeploystep.h"
 | 
						|
#include "androidglobal.h"
 | 
						|
#include "androidrunconfiguration.h"
 | 
						|
#include "androidrunner.h"
 | 
						|
 | 
						|
#include <projectexplorer/projectexplorerconstants.h>
 | 
						|
 | 
						|
#include <QIcon>
 | 
						|
 | 
						|
using namespace ProjectExplorer;
 | 
						|
 | 
						|
namespace Android {
 | 
						|
namespace Internal {
 | 
						|
 | 
						|
AndroidRunControl::AndroidRunControl(AndroidRunConfiguration *rc)
 | 
						|
    : RunControl(rc, NormalRunMode)
 | 
						|
    , m_runner(new AndroidRunner(this, rc, NormalRunMode))
 | 
						|
    , m_running(false)
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
AndroidRunControl::~AndroidRunControl()
 | 
						|
{
 | 
						|
    stop();
 | 
						|
}
 | 
						|
 | 
						|
void AndroidRunControl::start()
 | 
						|
{
 | 
						|
    m_running = true;
 | 
						|
    emit started();
 | 
						|
    disconnect(m_runner, 0, this, 0);
 | 
						|
 | 
						|
    connect(m_runner, SIGNAL(remoteErrorOutput(QByteArray)),
 | 
						|
        SLOT(handleRemoteErrorOutput(QByteArray)));
 | 
						|
    connect(m_runner, SIGNAL(remoteOutput(QByteArray)),
 | 
						|
        SLOT(handleRemoteOutput(QByteArray)));
 | 
						|
    connect(m_runner, SIGNAL(remoteProcessFinished(QString)),
 | 
						|
        SLOT(handleRemoteProcessFinished(QString)));
 | 
						|
    appendMessage(tr("Starting remote process."), Utils::NormalMessageFormat);
 | 
						|
    m_runner->start();
 | 
						|
}
 | 
						|
 | 
						|
RunControl::StopResult AndroidRunControl::stop()
 | 
						|
{
 | 
						|
    m_runner->stop();
 | 
						|
    return StoppedSynchronously;
 | 
						|
}
 | 
						|
 | 
						|
void AndroidRunControl::handleRemoteProcessFinished(const QString &error)
 | 
						|
{
 | 
						|
    appendMessage(error, Utils::ErrorMessageFormat);
 | 
						|
    disconnect(m_runner, 0, this, 0);
 | 
						|
    m_running = false;
 | 
						|
    emit finished();
 | 
						|
}
 | 
						|
 | 
						|
void AndroidRunControl::handleRemoteOutput(const QByteArray &output)
 | 
						|
{
 | 
						|
    appendMessage(QString::fromUtf8(output), Utils::StdOutFormatSameLine);
 | 
						|
}
 | 
						|
 | 
						|
void AndroidRunControl::handleRemoteErrorOutput(const QByteArray &output)
 | 
						|
{
 | 
						|
    appendMessage(QString::fromUtf8(output), Utils::StdErrFormatSameLine);
 | 
						|
}
 | 
						|
 | 
						|
bool AndroidRunControl::isRunning() const
 | 
						|
{
 | 
						|
    return m_running;
 | 
						|
}
 | 
						|
 | 
						|
QString AndroidRunControl::displayName() const
 | 
						|
{
 | 
						|
    return m_runner->displayName();
 | 
						|
}
 | 
						|
 | 
						|
QIcon AndroidRunControl::icon() const
 | 
						|
{
 | 
						|
    return QIcon(QLatin1String(ProjectExplorer::Constants::ICON_RUN_SMALL));
 | 
						|
}
 | 
						|
 | 
						|
} // namespace Internal
 | 
						|
} // namespace Android
 |