KIMAP2

capabilitiesjob.cpp
1/*
2 Copyright (c) 2009 Kevin Ottens <ervin@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#include "capabilitiesjob.h"
21
22#include "job_p.h"
23#include "message_p.h"
24#include "session_p.h"
25
26namespace KIMAP2
27{
28class CapabilitiesJobPrivate : public JobPrivate
29{
30public:
31 CapabilitiesJobPrivate(Session *session, const QString &name) : JobPrivate(session, name) { }
32 ~CapabilitiesJobPrivate() { }
33
34 QStringList capabilities;
35};
36}
37
38using namespace KIMAP2;
39
40CapabilitiesJob::CapabilitiesJob(Session *session)
41 : Job(*new CapabilitiesJobPrivate(session, "Capabilities"))
42{
43}
44
45CapabilitiesJob::~CapabilitiesJob()
46{
47}
48
50{
51 Q_D(const CapabilitiesJob);
52 return d->capabilities;
53}
54
55void CapabilitiesJob::doStart()
56{
58 d->sendCommand("CAPABILITY", {});
59}
60
61void CapabilitiesJob::handleResponse(const Message &response)
62{
63
65 if (handleErrorReplies(response) == NotHandled) {
66 if (response.content.size() >= 2 &&
67 response.content[1].toString() == "CAPABILITY") {
68 for (int i = 2; i < response.content.size(); ++i) {
69 d->capabilities << QLatin1String(response.content[i].toString().toUpper());
70 }
71 emit capabilitiesReceived(d->capabilities);
72 }
73 }
74}
Checks server capabilities.
QStringList capabilities() const
The capabilities the server claims to support.
void capabilitiesReceived(const QStringList &capabilities)
Notifies listeners that the capabilities have been fetched.
QString name(StandardShortcut id)
Q_D(Todo)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:21:18 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.