File indexing completed on 2024-10-27 10:00:17

0001 /*
0002     This file is part of the KDE libraries
0003     SPDX-FileCopyrightText: 2007 Andreas Hartmetz <ahartmetz@gmail.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #ifndef KSSLD_ADAPTOR_H
0009 #define KSSLD_ADAPTOR_H
0010 
0011 #include <QDBusAbstractAdaptor>
0012 #include <QDBusArgument>
0013 #include <QDBusInterface>
0014 #include <QDBusMetaType>
0015 
0016 #include "kssld_dbusmetatypes.h"
0017 
0018 class KSSLDAdaptor : public QDBusAbstractAdaptor
0019 {
0020     Q_OBJECT
0021     Q_CLASSINFO("D-Bus Interface", "org.kde.KSSLD")
0022 
0023 public:
0024     explicit KSSLDAdaptor(KSSLD *parent)
0025         : QDBusAbstractAdaptor(parent)
0026     {
0027         Q_ASSERT(parent);
0028         registerMetaTypesForKSSLD();
0029     }
0030 
0031 private:
0032     inline KSSLD *p()
0033     {
0034         return static_cast<KSSLD *>(parent());
0035     }
0036 
0037 public Q_SLOTS:
0038     inline Q_NOREPLY void setRule(const KSslCertificateRule &rule)
0039     {
0040         p()->setRule(rule);
0041     }
0042 
0043     inline Q_NOREPLY void clearRule__rule(const KSslCertificateRule &rule)
0044     {
0045         p()->clearRule(rule);
0046     }
0047 
0048     inline Q_NOREPLY void clearRule__certHost(const QSslCertificate &cert, const QString &hostName)
0049     {
0050         p()->clearRule(cert, hostName);
0051     }
0052 
0053     inline KSslCertificateRule rule(const QSslCertificate &cert, const QString &hostName)
0054     {
0055         return p()->rule(cert, hostName);
0056     }
0057 };
0058 
0059 #endif // KSSLD_ADAPTOR_H