File indexing completed on 2024-05-12 05:29:22
0001 /* 0002 * SPDX-FileCopyrightText: 2014-2016 Ivan Cukic <ivan.cukic@kde.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #pragma once 0008 0009 #include "kactivitymanagerd_plugin_export.h" 0010 0011 // Qt 0012 #include <QDBusVariant> 0013 #include <QObject> 0014 #include <QString> 0015 #include <QStringList> 0016 0017 // Utils 0018 #include <utils/d_ptr.h> 0019 0020 /** 0021 * Module 0022 */ 0023 class KACTIVITYMANAGERD_PLUGIN_EXPORT Module : public QObject 0024 { 0025 Q_OBJECT 0026 0027 public: 0028 explicit Module(const QString &name, QObject *parent = nullptr); 0029 ~Module() override; 0030 0031 static QObject *get(const QString &name); 0032 static QHash<QString, QObject *> &get(); 0033 0034 virtual bool isFeatureOperational(const QStringList &feature) const; 0035 virtual bool isFeatureEnabled(const QStringList &feature) const; 0036 virtual void setFeatureEnabled(const QStringList &feature, bool value); 0037 virtual QStringList listFeatures(const QStringList &feature) const; 0038 0039 virtual QDBusVariant featureValue(const QStringList &property) const; 0040 virtual void setFeatureValue(const QStringList &property, const QDBusVariant &value); 0041 0042 private: 0043 D_PTR; 0044 };