File indexing completed on 2024-04-21 03:53:53

0001 /*
0002     SPDX-FileCopyrightText: 2010 Tobias Koenig <tokoe@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "protocolinfo.h"
0008 #include "davmanager_p.h"
0009 #include "davprotocolbase_p.h"
0010 #include "libkdav_debug.h"
0011 
0012 using namespace KDAV;
0013 
0014 bool ProtocolInfo::useMultiget(KDAV::Protocol protocol)
0015 {
0016     return DavManager::davProtocol(protocol)->useMultiget();
0017 }
0018 
0019 QString ProtocolInfo::principalHomeSet(KDAV::Protocol protocol)
0020 {
0021     return DavManager::davProtocol(protocol)->principalHomeSet();
0022 }
0023 
0024 QString ProtocolInfo::principalHomeSetNS(KDAV::Protocol protocol)
0025 {
0026     return DavManager::davProtocol(protocol)->principalHomeSetNS();
0027 }
0028 
0029 QString ProtocolInfo::protocolName(KDAV::Protocol protocol)
0030 {
0031     switch (protocol) {
0032     case KDAV::CalDav:
0033         return QStringLiteral("CalDav");
0034     case KDAV::CardDav:
0035         return QStringLiteral("CardDav");
0036     case KDAV::GroupDav:
0037         return QStringLiteral("GroupDav");
0038     }
0039     return {};
0040 }
0041 
0042 KDAV::Protocol ProtocolInfo::protocolByName(const QString &name)
0043 {
0044     Protocol protocol = KDAV::CalDav;
0045 
0046     if (name == QLatin1String("CalDav")) {
0047         protocol = KDAV::CalDav;
0048     } else if (name == QLatin1String("CardDav")) {
0049         protocol = KDAV::CardDav;
0050     } else if (name == QLatin1String("GroupDav")) {
0051         protocol = KDAV::GroupDav;
0052     } else {
0053         qCCritical(KDAV_LOG) << "Unexpected protocol name : " << name;
0054     }
0055 
0056     return protocol;
0057 }
0058 
0059 QString ProtocolInfo::contactsMimeType(KDAV::Protocol protocol)
0060 {
0061     QString ret;
0062 
0063     if (protocol == KDAV::CardDav) {
0064         ret = QStringLiteral("text/vcard");
0065     } else if (protocol == KDAV::GroupDav) {
0066         ret = QStringLiteral("text/x-vcard");
0067     }
0068 
0069     return ret;
0070 }