File indexing completed on 2024-04-28 15:29:19

0001 /*
0002     This file is part of the KDE project
0003     SPDX-FileCopyrightText: 2001 Simon Hausmann <hausmann@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #include "browserinterface.h"
0009 
0010 #include <QStringList>
0011 #include <QVariant>
0012 
0013 using namespace KParts;
0014 
0015 BrowserInterface::BrowserInterface(QObject *parent)
0016     : QObject(parent)
0017 {
0018 }
0019 
0020 BrowserInterface::~BrowserInterface()
0021 {
0022 }
0023 
0024 void BrowserInterface::callMethod(const char *name, const QVariant &argument)
0025 {
0026     // clang-format off
0027     switch (argument.type()) {
0028     case QVariant::Invalid:
0029         break;
0030     case QVariant::String:
0031         QMetaObject::invokeMethod(this, name,
0032                                   Q_ARG(QString, argument.toString()));
0033         break;
0034     case QVariant::StringList: {
0035         QStringList strLst = argument.toStringList();
0036         QMetaObject::invokeMethod(this, name,
0037                                   Q_ARG(QStringList*, &strLst));
0038         break;
0039     }
0040     case QVariant::Int:
0041         QMetaObject::invokeMethod(this, name,
0042                                   Q_ARG(int, argument.toInt()));
0043         break;
0044     case QVariant::UInt: {
0045         unsigned int i = argument.toUInt();
0046         QMetaObject::invokeMethod(this, name,
0047                                   Q_ARG(uint*, &i));
0048         break;
0049     }
0050     case QVariant::Bool:
0051         QMetaObject::invokeMethod(this, name,
0052                                   Q_ARG(bool, argument.toBool()));
0053         break;
0054     default:
0055         break;
0056     }
0057     // clang-format on
0058 }
0059 
0060 #include "moc_browserinterface.cpp"