Files
qt-creator/src/plugins/debugger/debuggerplugin.h

85 lines
2.8 KiB
C
Raw Normal View History

/**************************************************************************
2008-12-02 12:01:29 +01:00
**
** This file is part of Qt Creator
**
2010-03-05 11:25:49 +01:00
** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
2008-12-02 12:01:29 +01:00
**
** Contact: Nokia Corporation (qt-info@nokia.com)
2008-12-02 12:01:29 +01:00
**
** Commercial Usage
**
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Nokia.
**
** 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.
**
** If you are unsure which license is appropriate for your use, please
2009-08-14 09:30:56 +02:00
** contact the sales department at http://qt.nokia.com/contact.
2008-12-02 12:01:29 +01:00
**
**************************************************************************/
2008-12-02 15:08:31 +01:00
2008-12-02 12:01:29 +01:00
#ifndef DEBUGGERPLUGIN_H
#define DEBUGGERPLUGIN_H
#include "debugger_global.h"
2008-12-02 12:01:29 +01:00
#include <extensionsystem/iplugin.h>
2008-12-02 12:01:29 +01:00
#include <QtCore/QObject>
namespace ProjectExplorer {
class RunConfiguration;
class RunControl;
}
2008-12-02 12:01:29 +01:00
namespace Debugger {
class DebuggerRunControl;
class DebuggerStartParameters;
class DebuggerMainWindow;
// This is the "external" interface of the debugger plugin that's
// visible from Creator core. The internal interfact to global
// functionality to be used by debugger views and debugger engines
// is DebuggerCore, implemented in DebuggerPluginPrivate.
2008-12-02 12:01:29 +01:00
class DEBUGGER_EXPORT DebuggerPlugin : public ExtensionSystem::IPlugin
2008-12-02 12:01:29 +01:00
{
Q_OBJECT
public:
DebuggerPlugin();
~DebuggerPlugin();
static DebuggerRunControl *createDebugger(const DebuggerStartParameters &sp,
ProjectExplorer::RunConfiguration *rc = 0);
static void startDebugger(ProjectExplorer::RunControl *runControl);
static void displayDebugger(ProjectExplorer::RunControl *runControl);
static bool isActiveDebugLanguage(int language);
static DebuggerMainWindow *mainWindow();
2008-12-02 12:01:29 +01:00
private:
// IPlugin implementation.
bool initialize(const QStringList &arguments, QString *errorMessage);
void remoteCommand(const QStringList &options, const QStringList &arguments);
ShutdownFlag aboutToShutdown();
void extensionsInitialized();
2010-07-21 14:42:14 +02:00
void readSettings();
void writeSettings() const;
void runControlStarted(DebuggerRunControl *runControl);
void runControlFinished(DebuggerRunControl *runControl);
2008-12-02 12:01:29 +01:00
};
} // namespace Debugger
#endif // DEBUGGERPLUGIN_H