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 PARSER_H 0008 #define PARSER_H 0009 0010 #include <QByteArray> 0011 #include <QPoint> 0012 #include <QRect> 0013 #include <QSize> 0014 #include <QString> 0015 #include <QVariant> 0016 0017 #include "types.h" 0018 0019 class Parser 0020 { 0021 public: 0022 static KScreen::ConfigPtr fromJson(const QByteArray &data); 0023 static KScreen::ConfigPtr fromJson(const QString &path); 0024 static bool validate(const QByteArray &data); 0025 static bool validate(const QString &data); 0026 0027 private: 0028 static void qvariant2qobject(const QVariantMap &variant, QObject *object); 0029 static KScreen::ScreenPtr screenFromJson(const QMap<QString, QVariant> &data); 0030 static KScreen::OutputPtr outputFromJson(QMap<QString, QVariant> data /* sic */); 0031 static KScreen::ModePtr modeFromJson(const QVariant &data); 0032 static QSize sizeFromJson(const QVariant &data); 0033 static QRect rectFromJson(const QVariant &data); 0034 static QPoint pointFromJson(const QVariant &data); 0035 }; 0036 0037 #endif // PARSER_H