File indexing completed on 2024-05-05 04:39:54

0001 /*
0002     SPDX-FileCopyrightText: 2012-2013 Miquel Sabaté <mikisabate@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef GHPROVIDERPLUGIN_H
0008 #define GHPROVIDERPLUGIN_H
0009 
0010 
0011 #include <interfaces/iplugin.h>
0012 #include <interfaces/iprojectprovider.h>
0013 
0014 
0015 namespace gh
0016 {
0017 
0018 /**
0019  * @class ProviderPlugin
0020  * This is the class that embeds the code of the Github provider into a plugin.
0021  */
0022 class ProviderPlugin : public KDevelop::IPlugin, KDevelop::IProjectProvider
0023 {
0024     Q_OBJECT
0025     Q_INTERFACES(KDevelop::IProjectProvider)
0026 
0027 public:
0028     /// Constructor.
0029     explicit ProviderPlugin(QObject *parent, const QList<QVariant> &args);
0030 
0031     /// Destructor.
0032     ~ProviderPlugin() override;
0033 
0034     /// @returns the name of this plugin.
0035     QString name() const override;
0036 
0037     /// @returns the main widget for this plugin.
0038     KDevelop::IProjectProviderWidget * providerWidget(QWidget *parent) override;
0039 };
0040 
0041 } // End of namespace gh
0042 
0043 
0044 #endif // GHPROVIDERPLUGIN_H