• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepimlibs API Reference
  • KDE Home
  • Contact Us
 

KIMAP Library

  • sources
  • kde-4.14
  • kdepimlibs
  • kimap
metadatajobbase.cpp
1 /*
2  Copyright (c) 2009 Andras Mantia <amantia@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 "metadatajobbase.h"
21 #include "metadatajobbase_p.h"
22 #include "message_p.h"
23 #include "session_p.h"
24 
25 #include <KDE/KLocalizedString>
26 #include <KDE/KDebug>
27 
28 using namespace KIMAP;
29 
30 QByteArray MetaDataJobBasePrivate::addPrefix( const QByteArray &entry, const QByteArray &attribute ) const
31 {
32  if (serverCapability == MetaDataJobBase::Annotatemore) {
33  if (attribute == "value.shared") {
34  return QByteArray("/shared").append(entry);
35  } else if (attribute == "value.priv") {
36  return QByteArray("/private").append(entry);
37  }
38  }
39  return entry;
40 }
41 
42 
43 QByteArray MetaDataJobBasePrivate::removePrefix( const QByteArray &entry ) const
44 {
45  if (serverCapability == MetaDataJobBase::Annotatemore) {
46  if ( entry.startsWith("/shared")) {
47  return entry.mid(QByteArray("/shared").size());
48  }
49  if ( entry.startsWith("/private")) {
50  return entry.mid(QByteArray("/private").size());
51  }
52  }
53  return entry;
54 }
55 
56 QByteArray MetaDataJobBasePrivate::getAttribute( const QByteArray &entry ) const
57 {
58  if (serverCapability == MetaDataJobBase::Annotatemore) {
59  if ( entry.startsWith("/shared")) {
60  return QByteArray("value.shared");
61  } else if (entry.startsWith("/private")) {
62  return QByteArray("value.priv");
63  }
64  }
65  return QByteArray();
66 }
67 
68 MetaDataJobBase::MetaDataJobBase( Session *session )
69  : Job( *new MetaDataJobBasePrivate( session, i18n( "MetaDataJobBase" ) ) )
70 {
71 }
72 
73 MetaDataJobBase::MetaDataJobBase( JobPrivate &dd )
74  : Job( dd )
75 {
76 }
77 
78 MetaDataJobBase::~MetaDataJobBase()
79 {
80 }
81 
82 void MetaDataJobBase::setMailBox( const QString &mailBox )
83 {
84  Q_D( MetaDataJobBase );
85  d->mailBox = mailBox;
86 }
87 
88 QString MetaDataJobBase::mailBox() const
89 {
90  Q_D( const MetaDataJobBase );
91  return d->mailBox;
92 }
93 
94 void MetaDataJobBase::setServerCapability(const ServerCapability& capability)
95 {
96  Q_D( MetaDataJobBase );
97  d->serverCapability = capability;
98 }
99 
100 MetaDataJobBase::ServerCapability MetaDataJobBase::serverCapability() const
101 {
102  Q_D( const MetaDataJobBase );
103  return d->serverCapability;
104 }
KIMAP::MetaDataJobBase::setServerCapability
void setServerCapability(const ServerCapability &capability)
Set what version of the metadata extension to be compatible with.
Definition: metadatajobbase.cpp:94
QByteArray
KIMAP::MetaDataJobBase::serverCapability
ServerCapability serverCapability() const
The version of the metadata extension that will be used.
Definition: metadatajobbase.cpp:100
KIMAP::MetaDataJobBase::Annotatemore
Used to indicate that the server supports the draft-daboo-imap-annotatemore-07 version of the extensi...
Definition: metadatajobbase.h:75
QByteArray::startsWith
bool startsWith(const QByteArray &ba) const
KIMAP::MetaDataJobBase::ServerCapability
ServerCapability
Represents the capability level of the server.
Definition: metadatajobbase.h:61
KIMAP::MetaDataJobBase::mailBox
QString mailBox() const
The mailbox that will be acted upon.
Definition: metadatajobbase.cpp:88
QString
QByteArray::mid
QByteArray mid(int pos, int len) const
QByteArray::append
QByteArray & append(char ch)
KIMAP::MetaDataJobBase
Base class for jobs that operate on mailbox metadata.
Definition: metadatajobbase.h:47
KIMAP::MetaDataJobBase::setMailBox
void setMailBox(const QString &mailBox)
Set the mailbox to act on.
Definition: metadatajobbase.cpp:82
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:37:03 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KIMAP Library

Skip menu "KIMAP Library"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Related Pages

kdepimlibs API Reference

Skip menu "kdepimlibs API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal