File indexing completed on 2024-05-12 09:36:12
0001 /* 0002 * SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares <afiestas@kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "abstractbackend.h" 0010 #include "config.h" 0011 0012 #include <QLoggingCategory> 0013 #include <QObject> 0014 0015 class Fake : public KScreen::AbstractBackend 0016 { 0017 Q_OBJECT 0018 Q_PLUGIN_METADATA(IID "org.kf6.kscreen.backends.fake") 0019 0020 public: 0021 explicit Fake(); 0022 ~Fake() override; 0023 0024 void init(const QVariantMap &arguments) override; 0025 0026 QString name() const override; 0027 QString serviceName() const override; 0028 KScreen::ConfigPtr config() const override; 0029 void setConfig(const KScreen::ConfigPtr &config) override; 0030 QByteArray edid(int outputId) const override; 0031 bool isValid() const override; 0032 0033 void setConnected(int outputId, bool connected); 0034 void setEnabled(int outputId, bool enabled); 0035 void setPrimary(int outputId, bool primary); 0036 void setCurrentModeId(int outputId, const QString &modeId); 0037 void setRotation(int outputId, int rotation); 0038 void addOutput(int outputId, const QString &name); 0039 void removeOutput(int outputId); 0040 0041 private Q_SLOTS: 0042 void delayedInit(); 0043 0044 private: 0045 QString mConfigFile; 0046 KScreen::Config::Features mSupportedFeatures = KScreen::Config::Feature::None; 0047 mutable KScreen::ConfigPtr mConfig; 0048 }; 0049 Q_DECLARE_LOGGING_CATEGORY(KSCREEN_FAKE)