1 /*
2  * SPDX-FileCopyrightText: 2012 Christian Mollekopf <mollekopf@kolabsys.com>
3  *
4  * SPDX-License-Identifier: LGPL-3.0-or-later
5  */
6 
7 #pragma once
8 
9 namespace Kolab
10 {
11 #define KOLAB_FOLDER_TYPE_MAIL "mail"
12 #define KOLAB_FOLDER_TYPE_CONTACT "contact"
13 #define KOLAB_FOLDER_TYPE_EVENT "event"
14 #define KOLAB_FOLDER_TYPE_TASK "task"
15 #define KOLAB_FOLDER_TYPE_JOURNAL "journal"
16 #define KOLAB_FOLDER_TYPE_NOTE "note"
17 #define KOLAB_FOLDER_TYPE_CONFIGURATION "configuration"
18 #define KOLAB_FOLDER_TYPE_FREEBUSY "freebusy"
19 #define KOLAB_FOLDER_TYPE_FILE "file"
20 
21 #define KOLAB_FOLDER_TYPE_DEFAULT_SUFFIX ".default"
22 #define KOLAB_FOLDER_TYPE_DRAFT_SUFFIX ".drafts"
23 #define KOLAB_FOLDER_TYPE_SENT_SUFFIX ".sentitems"
24 #define KOLAB_FOLDER_TYPE_OUTBOX_SUFFIX ".outbox"
25 #define KOLAB_FOLDER_TYPE_TRASH_SUFFIX ".wastebasket"
26 #define KOLAB_FOLDER_TYPE_JUNK_SUFFIX ".junkemail"
27 #define KOLAB_FOLDER_TYPE_INBOX_SUFFIX ".inbox"
28 
29 #define KOLAB_FOLDER_TYPE_ANNOTATION "/vendor/kolab/folder-type"
30 
31 #define X_KOLAB_TYPE_HEADER "X-Kolab-Type"
32 #define X_KOLAB_MIME_VERSION_HEADER "X-Kolab-Mime-Version"
33 #define X_KOLAB_MIME_VERSION_HEADER_COMPAT "X-Kolab-Version"
34 #define KOLAB_VERSION_V2 QStringLiteral("2.0")
35 #define KOLAB_VERSION_V3 QStringLiteral("3.0")
36 
37 #define KOLAB_OBJECT_FILENAME QStringLiteral("kolab.xml")
38 
39 #define MIME_TYPE_XCAL "application/calendar+xml"
40 #define MIME_TYPE_XCARD "application/vcard+xml"
41 #define MIME_TYPE_KOLAB "application/vnd.kolab+xml"
42 
43 #define KOLAB_TYPE_EVENT "application/x-vnd.kolab.event"
44 #define KOLAB_TYPE_TASK "application/x-vnd.kolab.task"
45 #define KOLAB_TYPE_JOURNAL "application/x-vnd.kolab.journal"
46 #define KOLAB_TYPE_CONTACT "application/x-vnd.kolab.contact"
47 #define KOLAB_TYPE_DISTLIST_V2 "application/x-vnd.kolab.contact.distlist"
48 #define KOLAB_TYPE_DISTLIST "application/x-vnd.kolab.distribution-list"
49 #define KOLAB_TYPE_NOTE "application/x-vnd.kolab.note"
50 #define KOLAB_TYPE_CONFIGURATION "application/x-vnd.kolab.configuration"
51 #define KOLAB_TYPE_DICT "application/x-vnd.kolab.configuration.dictionary"
52 #define KOLAB_TYPE_FREEBUSY "application/x-vnd.kolab.freebusy"
53 #define KOLAB_TYPE_FILE "application/x-vnd.kolab.file"
54 #define KOLAB_TYPE_RELATION "application/x-vnd.kolab.configuration.relation"
55 
56 enum Version {
57     KolabV2,
58     KolabV3,
59 };
60 
61 enum ObjectType {
62     InvalidObject,
63     EventObject,
64     TodoObject,
65     JournalObject,
66     ContactObject,
67     DistlistObject,
68     NoteObject,
69     DictionaryConfigurationObject,
70     FreebusyObject,
71     RelationConfigurationObject
72 };
73 }
74 
75