Messagelib

viewerpluginmanager.h
1 /*
2  SPDX-FileCopyrightText: 2015-2021 Laurent Montel <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "messageviewer_export.h"
10 #include <PimCommon/PluginUtil>
11 #include <QObject>
12 namespace MessageViewer
13 {
14 class ViewerPluginManagerPrivate;
15 class ViewerPlugin;
16 /**
17  * @brief The ViewerPluginManager class
18  * @author Laurent Montel <[email protected]>
19  */
20 class MESSAGEVIEWER_EXPORT ViewerPluginManager : public QObject
21 {
22  Q_OBJECT
23 public:
24  explicit ViewerPluginManager(QObject *parent = nullptr);
25  ~ViewerPluginManager() override;
26  static ViewerPluginManager *self();
27 
28  Q_REQUIRED_RESULT QVector<MessageViewer::ViewerPlugin *> pluginsList() const;
29  Q_REQUIRED_RESULT QVector<PimCommon::PluginUtilData> pluginsDataList() const;
30 
31  Q_REQUIRED_RESULT bool initializePluginList();
32 
33  Q_REQUIRED_RESULT QString configGroupName() const;
34  Q_REQUIRED_RESULT QString configPrefixSettingKey() const;
35  Q_REQUIRED_RESULT MessageViewer::ViewerPlugin *pluginFromIdentifier(const QString &id);
36  Q_REQUIRED_RESULT QString pluginDirectory() const;
37  void setPluginDirectory(const QString &directory);
38  void setPluginName(const QString &pluginName);
39  Q_REQUIRED_RESULT QString pluginName() const;
40 
41 private:
42  Q_DISABLE_COPY(ViewerPluginManager)
43  std::unique_ptr<ViewerPluginManagerPrivate> const d;
44 };
45 }
46 
The ViewerPlugin class.
Definition: viewerplugin.h:22
The ViewerPluginManager class.
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Nov 30 2021 23:05:48 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.