1 /*
2 SPDX-FileCopyrightText: 2015-2019 Krzysztof Nowicki <krissn@op.pl>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7 #include <QMap>
8
9 #include "ewstypes.h"
10
11 const QString soapEnvNsUri = QStringLiteral("http://schemas.xmlsoap.org/soap/envelope/");
12 const QString ewsMsgNsUri = QStringLiteral("http://schemas.microsoft.com/exchange/services/2006/messages");
13 const QString ewsTypeNsUri = QStringLiteral("http://schemas.microsoft.com/exchange/services/2006/types");
14
15 const QVector<QString> ewsItemTypeNames = {
16 QStringLiteral("Item"),
17 QStringLiteral("Message"),
18 QStringLiteral("CalendarItem"),
19 QStringLiteral("Contact"),
20 QStringLiteral("DistributionList"),
21 QStringLiteral("MeetingMessage"),
22 QStringLiteral("MeetingRequest"),
23 QStringLiteral("MeetingResponse"),
24 QStringLiteral("MeetingCancellation"),
25 QStringLiteral("Task"),
26 };
27
28 static const QMap<QString, EwsResponseCode> ewsResponseCodeMapping = {{QLatin1String("NoError"), EwsResponseCodeNoError},
29 {QLatin1String("ErrorServerBusy"), EwsResponseCodeErrorServerBusy}};
30
decodeEwsResponseCode(const QString & code)31 EwsResponseCode decodeEwsResponseCode(const QString &code)
32 {
33 if (ewsResponseCodeMapping.contains(code)) {
34 return ewsResponseCodeMapping[code];
35 } else {
36 return EwsResponseCodeUnknown;
37 }
38 }
39
isEwsResponseCodeTemporaryError(EwsResponseCode code)40 bool isEwsResponseCodeTemporaryError(EwsResponseCode code)
41 {
42 switch (code) {
43 case EwsResponseCodeErrorServerBusy:
44 /* fall through */
45 case EwsResponseCodeUnauthorized:
46 return true;
47 default:
48 return false;
49 }
50 return false;
51 }
52