File indexing completed on 2024-04-28 04:58:10

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 BrowserInterface::BrowserInterface(QObject *parent)
0014     : QObject(parent)
0015 {
0016 }
0017 
0018 BrowserInterface::~BrowserInterface()
0019 {
0020 }
0021 
0022 void BrowserInterface::callMethod(const char *name, const QVariant &argument)
0023 {
0024     // clang-format off
0025     switch (argument.type()) {
0026     case QVariant::Invalid:
0027         break;
0028     case QVariant::String:
0029         QMetaObject::invokeMethod(this, name,
0030                                   Q_ARG(QString, argument.toString()));
0031         break;
0032     case QVariant::StringList: {
0033         QStringList strLst = argument.toStringList();
0034         QMetaObject::invokeMethod(this, name,
0035                                   Q_ARG(QStringList*, &strLst));
0036         break;
0037     }
0038     case QVariant::Int:
0039         QMetaObject::invokeMethod(this, name,
0040                                   Q_ARG(int, argument.toInt()));
0041         break;
0042     case QVariant::UInt: {
0043         unsigned int i = argument.toUInt();
0044         QMetaObject::invokeMethod(this, name,
0045                                   Q_ARG(uint*, &i));
0046         break;
0047     }
0048     case QVariant::Bool:
0049         QMetaObject::invokeMethod(this, name,
0050                                   Q_ARG(bool, argument.toBool()));
0051         break;
0052     default:
0053         break;
0054     }
0055     // clang-format on
0056 }
0057 
0058 #include "moc_browserinterface.cpp"