File indexing completed on 2024-03-24 05:30:32
0001 /* 0002 SPDX-FileCopyrightText: 2016 Martin Gräßlin <mgraesslin@kde.org> 0003 SPDX-FileCopyrightText: 2017 David Edmundson <davidedmundson@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0006 */ 0007 #pragma once 0008 0009 #include <KConfigPropertyMap> 0010 #include <KPackage/Package> 0011 #include <KSharedConfig> 0012 0013 class KConfigLoader; 0014 0015 namespace ScreenLocker 0016 { 0017 class LnFIntegration : public QObject 0018 { 0019 Q_OBJECT 0020 0021 Q_PROPERTY(KConfigPropertyMap *configuration READ configuration NOTIFY configurationChanged) 0022 0023 public: 0024 explicit LnFIntegration(QObject *parent); 0025 ~LnFIntegration() override; 0026 0027 void init(); 0028 0029 void setConfig(const KSharedConfig::Ptr &config) 0030 { 0031 m_config = config; 0032 } 0033 0034 void setPackage(const KPackage::Package &package) 0035 { 0036 m_package = package; 0037 } 0038 0039 KPackage::Package package() const 0040 { 0041 return m_package; 0042 } 0043 0044 KConfigPropertyMap *configuration() const 0045 { 0046 return m_configuration; 0047 } 0048 0049 KConfigLoader *configScheme(); 0050 0051 Q_SIGNALS: 0052 void packageChanged(); 0053 void configurationChanged(); 0054 0055 private: 0056 KPackage::Package m_package; 0057 KSharedConfig::Ptr m_config; 0058 KConfigLoader *m_configLoader = nullptr; 0059 KConfigPropertyMap *m_configuration = nullptr; 0060 }; 0061 0062 }