File indexing completed on 2024-05-12 16:25:36
0001 /* 0002 SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "command.h" 0010 #include "libruqola_private_export.h" 0011 #include <QDebug> 0012 #include <QVector> 0013 class DownloadAppsLanguagesManager; 0014 class LIBRUQOLACORE_TESTS_EXPORT Commands 0015 { 0016 public: 0017 Commands(); 0018 0019 [[nodiscard]] bool isEmpty() const; 0020 void clear(); 0021 [[nodiscard]] int count() const; 0022 [[nodiscard]] Command at(int index) const; 0023 0024 [[nodiscard]] int offset() const; 0025 void setOffset(int offset); 0026 0027 [[nodiscard]] int total() const; 0028 void setTotal(int total); 0029 0030 void parseCommands(const QJsonObject &commandsObj); 0031 void parseMoreCommands(const QJsonObject &commandsObj); 0032 0033 [[nodiscard]] QVector<Command> commands() const; 0034 void setCommands(const QVector<Command> &commands); 0035 0036 [[nodiscard]] int commandsCount() const; 0037 void setCommandsCount(int commandsCount); 0038 0039 DownloadAppsLanguagesManager *downloadManager() const; 0040 void setDownloadManager(DownloadAppsLanguagesManager *downloadManager); 0041 0042 private: 0043 void parseListCommands(const QJsonObject &commandsObj); 0044 QVector<Command> mCommands; 0045 int mCommandsCount = 0; 0046 int mOffset = 0; 0047 int mTotal = 0; 0048 DownloadAppsLanguagesManager *mDownloadManager = nullptr; 0049 }; 0050 0051 Q_DECLARE_METATYPE(Commands) 0052 LIBRUQOLACORE_EXPORT QDebug operator<<(QDebug d, const Commands &t);