Warning, file /education/cantor/src/lib/panelpluginhandler.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2010 Alexander Rieder <alexanderrieder@gmail.com> 0004 */ 0005 0006 #ifndef _PANELPLUGINHANDLER_H 0007 #define _PANELPLUGINHANDLER_H 0008 0009 #include <QObject> 0010 #include "panelplugin.h" 0011 #include "cantor_export.h" 0012 0013 namespace Cantor 0014 { 0015 class PanelPluginHandlerPrivate; 0016 class Session; 0017 0018 /** 0019 * Simple interface that exports a list of known PanelPlugins. 0020 * Needed as the Panel must be handled by the Shell 0021 */ 0022 0023 class CANTOR_EXPORT PanelPluginHandler : public QObject 0024 { 0025 Q_OBJECT 0026 public: 0027 explicit PanelPluginHandler(QObject* parent); 0028 ~PanelPluginHandler() override; 0029 0030 QList<PanelPlugin*> allPlugins(); 0031 QList<PanelPlugin*> plugins(Session*); 0032 0033 using PanelStates = QMap<QString, Cantor::PanelPlugin::State>; 0034 QList<PanelPlugin*> activePluginsForSession(Session*, const PanelStates&); 0035 0036 void loadPlugins(); 0037 0038 private: 0039 PanelPluginHandlerPrivate* d; 0040 0041 }; 0042 0043 } 0044 0045 #endif /* _PANELPLUGINHANDLER_H */