File indexing completed on 2024-05-12 09:36:13

0001 /*
0002  *  SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares <afiestas@kde.org>
0003  *  SPDX-FileCopyrightText: 2012, 2013 Daniel Vrátil <dvratil@redhat.com>
0004  *  SPDX-FileCopyrightText: 2014 Sebastian Kügler <sebas@kde.org>
0005  *
0006  *  SPDX-License-Identifier: LGPL-2.1-or-later
0007  */
0008 
0009 #pragma once
0010 
0011 #include "abstractbackend.h"
0012 
0013 #include <QLoggingCategory>
0014 
0015 namespace KScreen
0016 {
0017 class QScreenConfig;
0018 
0019 class QScreenBackend : public KScreen::AbstractBackend
0020 {
0021     Q_OBJECT
0022     Q_PLUGIN_METADATA(IID "org.kf6.kscreen.backends.qscreen")
0023 
0024 public:
0025     explicit QScreenBackend();
0026     ~QScreenBackend() override;
0027 
0028     QString name() const override;
0029     QString serviceName() const override;
0030     KScreen::ConfigPtr config() const override;
0031     void setConfig(const KScreen::ConfigPtr &config) override;
0032     bool isValid() const override;
0033 
0034 private:
0035     bool m_isValid;
0036     static KScreen::QScreenConfig *s_internalConfig;
0037 };
0038 } // namespace
0039 
0040 Q_DECLARE_LOGGING_CATEGORY(KSCREEN_QSCREEN)