KIMAP2

getquotajob.cpp
1 /*
2  Copyright (c) 2009 Andras Mantia <[email protected]>
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 #include "getquotajob.h"
21 
22 #include "quotajobbase_p.h"
23 #include "message_p.h"
24 #include "session_p.h"
25 
26 namespace KIMAP2
27 {
28 class GetQuotaJobPrivate : public QuotaJobBasePrivate
29 {
30 public:
31  GetQuotaJobPrivate(Session *session, const QString &name) : QuotaJobBasePrivate(session, name) { }
32  ~GetQuotaJobPrivate() { }
33 
34  QByteArray root;
35 };
36 }
37 
38 using namespace KIMAP2;
39 
40 GetQuotaJob::GetQuotaJob(Session *session)
41  : QuotaJobBase(*new GetQuotaJobPrivate(session, "GetQuota"))
42 {
43 }
44 
45 GetQuotaJob::~GetQuotaJob()
46 {
47 }
48 
49 void GetQuotaJob::doStart()
50 {
51  Q_D(GetQuotaJob);
52  //XXX: [alexmerry, 2010-07-24]: should d->root be quoted properly?
53  d->sendCommand("GETQUOTA", '\"' + d->root + '\"');
54 }
55 
56 void GetQuotaJob::handleResponse(const Message &response)
57 {
58  Q_D(GetQuotaJob);
59  if (handleErrorReplies(response) == NotHandled) {
60  if (response.content.size() >= 4 &&
61  response.content[1].toString() == "QUOTA") {
62  d->quota = d->readQuota(response.content[3]);
63  }
64  }
65 }
66 
68 {
69  Q_D(GetQuotaJob);
70  d->root = root;
71 }
72 
74 {
75  Q_D(const GetQuotaJob);
76  return d->root;
77 }
Gets resource limits for a quota root.
Definition: getquotajob.h:51
void setRoot(const QByteArray &root)
Set the quota root to get the resource limits for.
Definition: getquotajob.cpp:67
Base class for jobs that operate on mailbox quotas.
Definition: quotajobbase.h:43
Definition: acl.cpp:25
QByteArray root() const
The quota root that resource limit information will be fetched for.
Definition: getquotajob.cpp:73
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Mon Dec 6 2021 23:00:24 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.