File indexing completed on 2024-04-21 05:48:34
0001 /* This file is part of Kairo Timer 0002 0003 SPDX-FileCopyrightText: 2016 (c) Kevin Ottens <ervin@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0006 0007 */ 0008 0009 #ifndef CIRCUITREADER_H 0010 #define CIRCUITREADER_H 0011 0012 #include <QHash> 0013 #include <QVariant> 0014 0015 #include "circuitmodel.h" 0016 0017 class QIODevice; 0018 0019 class CircuitReader 0020 { 0021 public: 0022 using MetaData = QHash<QString, QVariant>; 0023 0024 explicit CircuitReader(QIODevice *device = nullptr); 0025 CircuitReader(CircuitReader &&other); 0026 CircuitReader &operator=(CircuitReader &&other); 0027 0028 QIODevice *device() const; 0029 0030 MetaData readMetaData(); 0031 CircuitModel readCircuit(); 0032 0033 private: 0034 CircuitReader(const CircuitReader &) = delete; 0035 CircuitReader &operator=(const CircuitReader &) = delete; 0036 0037 QIODevice *m_device; 0038 MetaData m_metaData; 0039 }; 0040 0041 #endif