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

0001 /*  This file is part of the KDE project
0002     SPDX-FileCopyrightText: 2009 Kevin Krammer <kevin.krammer@gmx.at>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "itemmodifyjob.h"
0008 
0009 #include "session_p.h"
0010 
0011 using namespace Akonadi;
0012 
0013 class FileStore::ItemModifyJobPrivate
0014 {
0015 public:
0016     ItemModifyJobPrivate()
0017         : mIgnorePayload(false)
0018     {
0019     }
0020 
0021     bool mIgnorePayload;
0022     Item mItem;
0023     QSet<QByteArray> mParts;
0024 };
0025 
0026 FileStore::ItemModifyJob::ItemModifyJob(const Item &item, FileStore::AbstractJobSession *session)
0027     : FileStore::Job(session)
0028     , d(new ItemModifyJobPrivate())
0029 {
0030     d->mItem = item;
0031 
0032     session->addJob(this);
0033 }
0034 
0035 FileStore::ItemModifyJob::~ItemModifyJob() = default;
0036 
0037 void FileStore::ItemModifyJob::setIgnorePayload(bool ignorePayload)
0038 {
0039     d->mIgnorePayload = ignorePayload;
0040 }
0041 
0042 bool FileStore::ItemModifyJob::ignorePayload() const
0043 {
0044     return d->mIgnorePayload;
0045 }
0046 
0047 Item FileStore::ItemModifyJob::item() const
0048 {
0049     return d->mItem;
0050 }
0051 
0052 void FileStore::ItemModifyJob::setParts(const QSet<QByteArray> &parts)
0053 {
0054     d->mParts = parts;
0055 }
0056 
0057 const QSet<QByteArray> &FileStore::ItemModifyJob::parts() const
0058 {
0059     return d->mParts;
0060 }
0061 
0062 bool FileStore::ItemModifyJob::accept(FileStore::Job::Visitor *visitor)
0063 {
0064     return visitor->visit(this);
0065 }
0066 
0067 void FileStore::ItemModifyJob::handleItemModified(const Item &item)
0068 {
0069     d->mItem = item;
0070 }
0071 
0072 #include "moc_itemmodifyjob.cpp"