File indexing completed on 2024-10-13 12:46:09

0001 /*
0002    SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "file.h"
0010 #include "libruqola_private_export.h"
0011 #include <QDebug>
0012 #include <QVector>
0013 
0014 class LIBRUQOLACORE_TESTS_EXPORT FileAttachments
0015 {
0016 public:
0017     FileAttachments();
0018 
0019     [[nodiscard]] bool isEmpty() const;
0020     void clear();
0021     [[nodiscard]] int count() const;
0022     [[nodiscard]] File at(int index) const;
0023 
0024     [[nodiscard]] int filesCount() const;
0025     void setFilesCount(int filesCount);
0026 
0027     [[nodiscard]] int offset() const;
0028     void setOffset(int offset);
0029 
0030     [[nodiscard]] int total() const;
0031     void setTotal(int total);
0032 
0033     [[nodiscard]] QVector<File> fileAttachments() const;
0034     void setFileAttachments(const QVector<File> &fileAttachments);
0035 
0036     void parseFileAttachments(const QJsonObject &fileAttachmentsObj);
0037     void parseMoreFileAttachments(const QJsonObject &fileAttachmentsObj);
0038 
0039 private:
0040     void parseFiles(const QJsonObject &fileAttachmentsObj);
0041     QVector<File> mFileAttachments;
0042     int mFilesCount = 0;
0043     int mOffset = 0;
0044     int mTotal = 0;
0045 };
0046 
0047 Q_DECLARE_METATYPE(FileAttachments)
0048 LIBRUQOLACORE_EXPORT QDebug operator<<(QDebug d, const FileAttachments &t);