File indexing completed on 2024-04-14 04:31:24

0001 /*
0002  * XDebug Debugger Support
0003  *
0004  * Copyright 1999-2001 John Birch <jbb@kdevelop.org>
0005  * Copyright 2001 by Bernd Gehrmann <bernd@kdevelop.org>
0006  * Copyright 2007 Hamish Rodda <rodda@kde.org>
0007  * Copyright 2009 Niko Sams <niko.sams@gmail.com>
0008  *
0009  * This program is free software; you can redistribute it and/or modify
0010  * it under the terms of the GNU General Public License as
0011  * published by the Free Software Foundation; either version 2 of the
0012  * License, or (at your option) any later version.
0013  *
0014  * This program is distributed in the hope that it will be useful,
0015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017  * GNU General Public License for more details.
0018  *
0019  * You should have received a copy of the GNU General Public
0020  * License along with this program; if not, write to the
0021  * Free Software Foundation, Inc.,
0022  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0023  */
0024 
0025 #ifndef XDEBUGPLUGIN_H
0026 #define XDEBUGPLUGIN_H
0027 
0028 #include <QPointer>
0029 #include <QByteArray>
0030 #include <QLabel>
0031 #include <QVariant>
0032 
0033 #include <KConfigGroup>
0034 #include <KTextEditor/Cursor>
0035 
0036 #include <interfaces/iplugin.h>
0037 #include <debugger/interfaces/idebugsession.h>
0038 
0039 class KProcess;
0040 
0041 namespace XDebug {
0042 class DebugSession;
0043 class Server;
0044 
0045 class XDebugPlugin
0046     : public KDevelop::IPlugin
0047 {
0048     Q_OBJECT
0049 
0050 public:
0051     XDebugPlugin(QObject* parent, const QVariantList& = QVariantList());
0052     ~XDebugPlugin() override;
0053     DebugSession* createSession() const;
0054 
0055 private:
0056     Server* m_server;
0057 };
0058 }
0059 
0060 #endif