KIMAP

capabilitiesjob.cpp
1 /*
2  SPDX-FileCopyrightText: 2009 Kevin Ottens <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "capabilitiesjob.h"
8 
9 #include <KLocalizedString>
10 
11 #include "job_p.h"
12 #include "response_p.h"
13 #include "session_p.h"
14 
15 namespace KIMAP
16 {
17 class CapabilitiesJobPrivate : public JobPrivate
18 {
19 public:
20  CapabilitiesJobPrivate(Session *session, const QString &name)
21  : JobPrivate(session, name)
22  {
23  }
24  ~CapabilitiesJobPrivate()
25  {
26  }
27 
29 };
30 }
31 
32 using namespace KIMAP;
33 
34 CapabilitiesJob::CapabilitiesJob(Session *session)
35  : Job(*new CapabilitiesJobPrivate(session, i18n("Capabilities")))
36 {
37 }
38 
39 CapabilitiesJob::~CapabilitiesJob()
40 {
41 }
42 
44 {
45  Q_D(const CapabilitiesJob);
46  return d->capabilities;
47 }
48 
49 void CapabilitiesJob::doStart()
50 {
52  d->tags << d->sessionInternal()->sendCommand("CAPABILITY");
53 }
54 
55 void CapabilitiesJob::handleResponse(const Response &response)
56 {
58  if (handleErrorReplies(response) == NotHandled) {
59  const int responseSize(response.content.size());
60  if (responseSize >= 2 && response.content[1].toString() == "CAPABILITY") {
61  for (int i = 2; i < responseSize; ++i) {
62  d->capabilities << QLatin1String(response.content[i].toString().toUpper());
63  }
64  Q_EMIT capabilitiesReceived(d->capabilities);
65  }
66  }
67 }
68 
69 #include "moc_capabilitiesjob.cpp"
Q_EMITQ_EMIT
Capabilities capabilities()
QString i18n(const char *text, const TYPE &arg...)
void capabilitiesReceived(const QStringList &capabilities)
Notifies listeners that the capabilities have been fetched.
const char * name(StandardAction id)
QStringList capabilities() const
The capabilities the server claims to support.
Checks server capabilities.
Q_D(Todo)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sun Dec 3 2023 03:51:44 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.