File indexing completed on 2024-11-10 04:40:41

0001 /*
0002     SPDX-FileCopyrightText: 2008 Kevin Krammer <kevin.krammer@gmx.at>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "itemfetchscope.h"
0010 #include "tagfetchscope.h"
0011 #include <QDateTime>
0012 #include <QSet>
0013 
0014 namespace Akonadi
0015 {
0016 /**
0017  * @internal
0018  */
0019 class ItemFetchScopePrivate : public QSharedData
0020 {
0021 public:
0022     ItemFetchScopePrivate()
0023         : mAncestorDepth(ItemFetchScope::None)
0024         , mFullPayload(false)
0025         , mAllAttributes(false)
0026         , mCacheOnly(false)
0027         , mCheckCachedPayloadPartsOnly(false)
0028         , mFetchMtime(true)
0029         , mIgnoreRetrievalErrors(false)
0030         , mFetchRid(true)
0031         , mFetchGid(false)
0032         , mFetchTags(false)
0033         , mFetchVRefs(false)
0034         , mFetchRelations(false)
0035     {
0036         mTagFetchScope.setFetchIdOnly(true);
0037     }
0038 
0039     ItemFetchScopePrivate(const ItemFetchScopePrivate &other)
0040         : QSharedData(other)
0041         , mPayloadParts(other.mPayloadParts)
0042         , mAttributes(other.mAttributes)
0043         , mAncestorDepth(other.mAncestorDepth)
0044         , mFullPayload(other.mFullPayload)
0045         , mAllAttributes(other.mAllAttributes)
0046         , mCacheOnly(other.mCacheOnly)
0047         , mCheckCachedPayloadPartsOnly(other.mCheckCachedPayloadPartsOnly)
0048         , mFetchMtime(other.mFetchMtime)
0049         , mIgnoreRetrievalErrors(other.mIgnoreRetrievalErrors)
0050         , mChangedSince(other.mChangedSince)
0051         , mFetchRid(other.mFetchRid)
0052         , mFetchGid(other.mFetchGid)
0053         , mFetchTags(other.mFetchTags)
0054         , mTagFetchScope(other.mTagFetchScope)
0055         , mFetchVRefs(other.mFetchVRefs)
0056         , mFetchRelations(other.mFetchRelations)
0057     {
0058     }
0059 
0060 public:
0061     QSet<QByteArray> mPayloadParts;
0062     QSet<QByteArray> mAttributes;
0063     ItemFetchScope::AncestorRetrieval mAncestorDepth;
0064     bool mFullPayload;
0065     bool mAllAttributes;
0066     bool mCacheOnly;
0067     bool mCheckCachedPayloadPartsOnly;
0068     bool mFetchMtime;
0069     bool mIgnoreRetrievalErrors;
0070     QDateTime mChangedSince;
0071     bool mFetchRid;
0072     bool mFetchGid;
0073     bool mFetchTags;
0074     TagFetchScope mTagFetchScope;
0075     bool mFetchVRefs;
0076     bool mFetchRelations;
0077 };
0078 
0079 }