File indexing completed on 2024-05-12 05:17:15

0001 /*
0002     SPDX-FileCopyrightText: 2009 Andras Mantia <amantia@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "metadatajobbase.h"
0008 #include "metadatajobbase_p.h"
0009 #include "response_p.h"
0010 #include "session_p.h"
0011 
0012 #include <KLocalizedString>
0013 
0014 using namespace KIMAP;
0015 
0016 QByteArray MetaDataJobBasePrivate::addPrefix(const QByteArray &entry, const QByteArray &attribute) const
0017 {
0018     if (serverCapability == MetaDataJobBase::Annotatemore) {
0019         if (attribute == "value.shared") {
0020             return QByteArray("/shared").append(entry);
0021         } else if (attribute == "value.priv") {
0022             return QByteArray("/private").append(entry);
0023         }
0024     }
0025     return entry;
0026 }
0027 
0028 QByteArray MetaDataJobBasePrivate::removePrefix(const QByteArray &entry) const
0029 {
0030     if (serverCapability == MetaDataJobBase::Annotatemore) {
0031         if (entry.startsWith("/shared")) {
0032             return entry.mid(QByteArray("/shared").size());
0033         } else if (entry.startsWith("/private")) {
0034             return entry.mid(QByteArray("/private").size());
0035         }
0036     }
0037     return entry;
0038 }
0039 
0040 QByteArray MetaDataJobBasePrivate::getAttribute(const QByteArray &entry) const
0041 {
0042     if (serverCapability == MetaDataJobBase::Annotatemore) {
0043         if (entry.startsWith("/shared")) {
0044             return QByteArray("value.shared");
0045         } else if (entry.startsWith("/private")) {
0046             return QByteArray("value.priv");
0047         }
0048     }
0049     return QByteArray();
0050 }
0051 
0052 MetaDataJobBase::MetaDataJobBase(Session *session)
0053     : Job(*new MetaDataJobBasePrivate(session, i18n("MetaDataJobBase")))
0054 {
0055 }
0056 
0057 MetaDataJobBase::MetaDataJobBase(JobPrivate &dd)
0058     : Job(dd)
0059 {
0060 }
0061 
0062 MetaDataJobBase::~MetaDataJobBase()
0063 {
0064 }
0065 
0066 void MetaDataJobBase::setMailBox(const QString &mailBox)
0067 {
0068     Q_D(MetaDataJobBase);
0069     d->mailBox = mailBox;
0070 }
0071 
0072 QString MetaDataJobBase::mailBox() const
0073 {
0074     Q_D(const MetaDataJobBase);
0075     return d->mailBox;
0076 }
0077 
0078 void MetaDataJobBase::setServerCapability(ServerCapability capability)
0079 {
0080     Q_D(MetaDataJobBase);
0081     d->serverCapability = capability;
0082 }
0083 
0084 MetaDataJobBase::ServerCapability MetaDataJobBase::serverCapability() const
0085 {
0086     Q_D(const MetaDataJobBase);
0087     return d->serverCapability;
0088 }
0089 
0090 #include "moc_metadatajobbase.cpp"