File indexing completed on 2024-05-05 08:53:23
0001 /* This file is part of the KDE project 0002 Copyright (C) 2010 by Adam Pigg (adam@piggz.co.uk) 0003 Copyright (C) 2015 Jarosław Staniek <staniek@kde.org> 0004 0005 This library is free software; you can redistribute it and/or 0006 modify it under the terms of the GNU Library General Public 0007 License as published by the Free Software Foundation; either 0008 version 2.1 of the License, or (at your option) any later version. 0009 0010 This library is distributed in the hope that it will be useful, 0011 but WITHOUT ANY WARRANTY; without even the implied warranty of 0012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0013 Library General Public License for more details. 0014 0015 You should have received a copy of the GNU Library General Public License 0016 along with this library; see the file COPYING.LIB. If not, write to 0017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0018 Boston, MA 02110-1301, USA. 0019 */ 0020 0021 #ifndef KREPORTPLUGININFO_H 0022 #define KREPORTPLUGININFO_H 0023 0024 #include <KPluginMetaData> 0025 0026 #include "kreport_export.h" 0027 0028 /*! 0029 * @brief Information about a KReport plugin. 0030 */ 0031 class KREPORT_EXPORT KReportPluginMetaData : public KPluginMetaData 0032 { 0033 public: 0034 ~KReportPluginMetaData(); 0035 0036 //! @return internal name of the plugin, a shortcut of pluginId() 0037 QString id() const; 0038 0039 //! @return priority of the plugin 0040 //! Useful for user interfaces such as tool boxes. 0041 int priority() const; 0042 0043 //! @return true if this plugin is built-in, i.e. has been provided by the KReport 0044 //! framework itself, not by a plugin file. 0045 bool isBuiltIn() const; 0046 0047 //! @return true if this plugin is static, i.e. is compiled-in. 0048 bool isStatic() const; 0049 0050 protected: 0051 explicit KReportPluginMetaData(const QJsonObject &metaData); 0052 explicit KReportPluginMetaData(const QPluginLoader &loader); 0053 0054 void setBuiltIn(bool set); 0055 void setStatic(bool set); 0056 0057 friend class KReportPluginEntry; 0058 0059 private: 0060 Q_DISABLE_COPY(KReportPluginMetaData) 0061 class Private; 0062 Private * const d; 0063 }; 0064 0065 #endif // KREPORTPLUGININFO_H