File indexing completed on 2024-11-24 04:44:34

0001 /*  This file is part of the KDE project
0002     SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.net>
0003     SPDX-FileContributor: Kevin Krammer <krake@kdab.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include "akonadi-filestore_export.h"
0011 
0012 #include <Akonadi/Attribute>
0013 
0014 #include <memory>
0015 
0016 namespace Akonadi
0017 {
0018 namespace FileStore
0019 {
0020 class EntityCompactChangeAttributePrivate;
0021 
0022 class AKONADI_FILESTORE_EXPORT EntityCompactChangeAttribute : public Attribute
0023 {
0024 public:
0025     EntityCompactChangeAttribute();
0026 
0027     ~EntityCompactChangeAttribute() override;
0028 
0029     void setRemoteId(const QString &remoteId);
0030 
0031     [[nodiscard]] QString remoteId() const;
0032 
0033     void setRemoteRevision(const QString &remoteRev);
0034 
0035     [[nodiscard]] QString remoteRevision() const;
0036 
0037     [[nodiscard]] QByteArray type() const override;
0038 
0039     EntityCompactChangeAttribute *clone() const override;
0040 
0041     [[nodiscard]] QByteArray serialized() const override;
0042 
0043     void deserialize(const QByteArray &data) override;
0044 
0045 private:
0046     //@cond PRIVATE
0047     std::unique_ptr<EntityCompactChangeAttributePrivate> const d;
0048     //@endcond
0049 };
0050 }
0051 }