File indexing completed on 2024-12-22 04:57:41
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 "abstractlocalstore.h" 0011 0012 #include <memory> 0013 0014 class MixedMaildirStorePrivate; 0015 0016 class MixedMaildirStore : public Akonadi::FileStore::AbstractLocalStore 0017 { 0018 Q_OBJECT 0019 0020 public: 0021 MixedMaildirStore(); 0022 0023 ~MixedMaildirStore() override; 0024 0025 protected: 0026 void setTopLevelCollection(const Akonadi::Collection &collection) override; 0027 void processJob(Akonadi::FileStore::Job *job) override; 0028 0029 void checkCollectionMove(Akonadi::FileStore::CollectionMoveJob *job, int &errorCode, QString &errorText) const override; 0030 0031 void checkItemCreate(Akonadi::FileStore::ItemCreateJob *job, int &errorCode, QString &errorText) const override; 0032 0033 void checkItemModify(Akonadi::FileStore::ItemModifyJob *job, int &errorCode, QString &errorText) const override; 0034 0035 void checkItemFetch(Akonadi::FileStore::ItemFetchJob *job, int &errorCode, QString &errorText) const override; 0036 0037 private: 0038 friend class MixedMaildirStorePrivate; 0039 std::unique_ptr<MixedMaildirStorePrivate> const d; 0040 };