1 /*
2     SPDX-FileCopyrightText: 2010 Till Adam <adam@kde.org>
3 
4     SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "searchdescriptionattribute.h"
8 
9 #include <QDataStream>
10 
11 using namespace Akonadi;
12 
13 SearchDescriptionAttribute::SearchDescriptionAttribute() = default;
14 
type() const15 QByteArray SearchDescriptionAttribute::type() const
16 {
17     static const QByteArray sType("kmailsearchdescription");
18     return sType;
19 }
20 
clone() const21 Akonadi::Attribute *SearchDescriptionAttribute::clone() const
22 {
23     return new SearchDescriptionAttribute(*this);
24 }
25 
serialized() const26 QByteArray SearchDescriptionAttribute::serialized() const
27 {
28     QByteArray ba;
29     QDataStream s(&ba, QIODevice::WriteOnly);
30     s << mBaseCollection.id();
31     s << mRecursive;
32     s << mDescription;
33     s << mListCollection;
34     return ba;
35 }
36 
deserialize(const QByteArray & data)37 void SearchDescriptionAttribute::deserialize(const QByteArray &data)
38 {
39     QDataStream s(data);
40     Akonadi::Collection::Id id;
41     s >> id;
42     mBaseCollection = Akonadi::Collection(id);
43     s >> mRecursive;
44     s >> mDescription;
45     s >> mListCollection;
46 }
47 
description() const48 QByteArray SearchDescriptionAttribute::description() const
49 {
50     return mDescription;
51 }
52 
setDescription(const QByteArray & desc)53 void SearchDescriptionAttribute::setDescription(const QByteArray &desc)
54 {
55     mDescription = desc;
56 }
57 
baseCollection() const58 Akonadi::Collection SearchDescriptionAttribute::baseCollection() const
59 {
60     return mBaseCollection;
61 }
62 
setBaseCollection(const Akonadi::Collection & col)63 void SearchDescriptionAttribute::setBaseCollection(const Akonadi::Collection &col)
64 {
65     mBaseCollection = col;
66 }
67 
recursive() const68 bool SearchDescriptionAttribute::recursive() const
69 {
70     return mRecursive;
71 }
72 
setRecursive(bool r)73 void SearchDescriptionAttribute::setRecursive(bool r)
74 {
75     mRecursive = r;
76 }
77 
setListCollection(const QList<Akonadi::Collection::Id> & col)78 void SearchDescriptionAttribute::setListCollection(const QList<Akonadi::Collection::Id> &col)
79 {
80     mListCollection = col;
81 }
82 
listCollection() const83 QList<Akonadi::Collection::Id> SearchDescriptionAttribute::listCollection() const
84 {
85     return mListCollection;
86 }
87