File indexing completed on 2024-04-28 16:49:40

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