File indexing completed on 2024-05-12 16:40:15

0001 /* This file is part of the KDE project
0002    Copyright (C) 2016 Jarosław Staniek <staniek@kde.org>
0003 
0004    This library is free software; you can redistribute it and/or
0005    modify it under the terms of the GNU Library General Public
0006    License as published by the Free Software Foundation; either
0007    version 2 of the License, or (at your option) any later version.
0008 
0009    This library is distributed in the hope that it will be useful,
0010    but WITHOUT ANY WARRANTY; without even the implied warranty of
0011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012    Library General Public License for more details.
0013 
0014    You should have received a copy of the GNU Library General Public License
0015    along with this library; see the file COPYING.LIB.  If not, write to
0016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017  * Boston, MA 02110-1301, USA.
0018 */
0019 
0020 #include "KexiMigratePluginMetaData.h"
0021 #include <KexiJsonTrader.h>
0022 #include <QPluginLoader>
0023 #include <QVariant>
0024 #include <QDebug>
0025 
0026 static bool isTrue(const KexiMigratePluginMetaData *metaData, const char* fieldName)
0027 {
0028     return 0 == metaData->value(QLatin1String(fieldName))
0029                 .compare(QLatin1String("true"), Qt::CaseInsensitive);
0030 }
0031 
0032 class Q_DECL_HIDDEN KexiMigratePluginMetaData::Private
0033 {
0034 public:
0035     explicit Private(const KexiMigratePluginMetaData *metaData, const QPluginLoader &pluginLoader)
0036         : isFileBased(isTrue(metaData, "X-Kexi-FileBased"))
0037         , supportedSourceDrivers(metaData->readStringList(
0038                                     KexiJsonTrader::metaDataObjectForPluginLoader(pluginLoader),
0039                                     QLatin1String("X-Kexi-SupportedSourceDrivers")))
0040     {
0041     }
0042     const bool isFileBased;
0043     const QStringList supportedSourceDrivers;
0044 };
0045 
0046 KexiMigratePluginMetaData::KexiMigratePluginMetaData(const QPluginLoader &loader)
0047     : KexiPluginMetaData(loader), d(new Private(this, loader))
0048 {
0049 }
0050 
0051 KexiMigratePluginMetaData::~KexiMigratePluginMetaData()
0052 {
0053     delete d;
0054 }
0055 
0056 QStringList KexiMigratePluginMetaData::supportedSourceDrivers() const
0057 {
0058     return d->supportedSourceDrivers;
0059 }