1/*
2 Copyright (c) 2006 - 2007 Volker Krause <vkrause@kde.org>
3
4 This library is free software; you can redistribute it and/or modify it
5 under the terms of the GNU Library General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or (at your
7 option) any later version.
8
9 This library is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to the
16 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 02110-1301, USA.
18*/
19
20#ifndef AKONADI_ITEMMODIFYJOB_P_H
21#define AKONADI_ITEMMODIFYJOB_P_H
22
23#include "job_p.h"
24
25namespace Akonadi {
26
27/**
28 * @internal
29 */
30class ItemModifyJobPrivate : public JobPrivate
31{
32public:
33 enum Operation {
34 RemoteId,
35 RemoteRevision,
36 Gid,
37 Dirty
38 };
39
40 ItemModifyJobPrivate(ItemModifyJob *parent);
41
42 void setClean();
43 QByteArray nextPartHeader();
44
45 void conflictResolved();
46 void conflictResolveError(const QString &);
47
48 void doUpdateItemRevision(Entity::Id, int oldRevision, int newRevision);
49
50 QString jobDebuggingString() const /*Q_DECL_OVERRIDE*/;
51 QByteArray fullCommand() const;
52
53 void setSilent( bool silent );
54
55 Q_DECLARE_PUBLIC(ItemModifyJob)
56
57 QSet<int> mOperations;
58 QByteArray mTag;
59 Item::List mItems;
60 bool mRevCheck;
61 QSet<QByteArray> mParts;
62 QByteArray mPendingData;
63 bool mIgnorePayload;
64 bool mAutomaticConflictHandlingEnabled;
65 bool mSilent;
66};
67
68}
69
70#endif
71