File indexing completed on 2024-04-14 05:24:22

0001 /*
0002     SPDX-FileCopyrightText: 2020 Michail Vourlakos <mvourlakos@gmail.com>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef VIEWSTABLEDATA_H
0007 #define VIEWSTABLEDATA_H
0008 
0009 // local
0010 #include "generictable.h"
0011 #include "viewdata.h"
0012 
0013 // Qt
0014 #include <QList>
0015 
0016 namespace Latte {
0017 namespace Data {
0018 
0019 class ViewsTable : public GenericTable<View>
0020 {
0021 
0022 public:
0023     ViewsTable();
0024     ViewsTable(ViewsTable &&o);
0025     ViewsTable(const ViewsTable &o);
0026 
0027     bool isInitialized{false};
0028 
0029     void print();
0030 
0031     void appendTemporaryView(const Data::View &view);
0032 
0033     bool hasContainmentId(const QString &cid) const;
0034 
0035     //! Operators
0036     ViewsTable &operator=(const ViewsTable &rhs);
0037     ViewsTable &operator=(ViewsTable &&rhs);
0038     bool operator==(const ViewsTable &rhs) const;
0039     bool operator!=(const ViewsTable &rhs) const;
0040     ViewsTable subtracted(const ViewsTable &rhs) const;
0041     ViewsTable onlyOriginals() const;
0042 };
0043 
0044 }
0045 }
0046 
0047 Q_DECLARE_METATYPE(Latte::Data::ViewsTable)
0048 
0049 #endif