1/*
2 Copyright (c) 2007 Volker Krause <vkrause@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#ifndef AKONADI_PROTOCOL_P_H
21#define AKONADI_PROTOCOL_P_H
22
23/**
24 @file protocol_p.h Shared constants used in the communication protocol between
25 the Akonadi server and its clients.
26
27 @todo Fill this file with command names, item/collection property names
28 item part names, etc. and replace the usages accordingly.
29*/
30
31// D-Bus service names
32#define AKONADI_DBUS_SERVER_SERVICE "org.freedesktop.Akonadi"
33#define AKONADI_DBUS_CONTROL_SERVICE "org.freedesktop.Akonadi.Control"
34#define AKONADI_DBUS_CONTROL_SERVICE_LOCK "org.freedesktop.Akonadi.Control.lock"
35#define AKONADI_DBUS_AGENTSERVER_SERVICE "org.freedesktop.Akonadi.AgentServer"
36#define AKONADI_DBUS_STORAGEJANITOR_SERVICE "org.freedesktop.Akonadi.Janitor"
37#define AKONADI_DBUS_SERVER_SERVICE_UPGRADING "org.freedesktop.Akonadi.upgrading"
38
39#define AKONADI_DBUS_AGENTMANAGER_PATH "/AgentManager"
40#define AKONADI_DBUS_AGENTSERVER_PATH "/AgentServer"
41#define AKONADI_DBUS_STORAGEJANITOR_PATH "/Janitor"
42
43// Commands
44#define AKONADI_CMD_APPEND "APPEND"
45#define AKONADI_CMD_BEGIN "BEGIN"
46#define AKONADI_CMD_CAPABILITY "CAPABILITY"
47#define AKONADI_CMD_COLLECTION "COLLECTION"
48#define AKONADI_CMD_COLLECTIONCOPY "COLCOPY"
49#define AKONADI_CMD_COLLECTIONMOVE "COLMOVE"
50#define AKONADI_CMD_COMMIT "COMMIT"
51#define AKONADI_CMD_ITEMCOPY "COPY"
52#define AKONADI_CMD_COLLECTIONCREATE "CREATE"
53#define AKONADI_CMD_COLLECTIONDELETE "DELETE"
54#define AKONADI_CMD_EXPUNGE "EXPUNGE"
55#define AKONADI_CMD_ITEMFETCH "FETCH"
56#define AKONADI_CMD_GID "GID"
57#define AKONADI_CMD_HRID "HRID"
58#define AKONADI_CMD_ITEMLINK "LINK"
59#define AKONADI_CMD_LIST "LIST"
60#define AKONADI_CMD_LOGIN "LOGIN"
61#define AKONADI_CMD_LOGOUT "LOGOUT"
62#define AKONADI_CMD_LSUB "LSUB"
63#define AKONADI_CMD_MERGE "MERGE"
64#define AKONADI_CMD_COLLECTIONMODIFY "MODIFY"
65#define AKONADI_CMD_ITEMMOVE "MOVE"
66#define AKONADI_CMD_ITEMDELETE "REMOVE"
67#define AKONADI_CMD_RESOURCESELECT "RESSELECT"
68#define AKONADI_CMD_RID "RID"
69#define AKONADI_CMD_ROLLBACK "ROLLBACK"
70#define AKONADI_CMD_SUBSCRIBE "SUBSCRIBE"
71#define AKONADI_CMD_SEARCH "SEARCH"
72#define AKONADI_CMD_SEARCH_RESULT "SEARCH_RESULT"
73#define AKONADI_CMD_SEARCH_STORE "SEARCH_STORE"
74#define AKONADI_CMD_SELECT "SELECT"
75#define AKONADI_CMD_STATUS "STATUS"
76#define AKONADI_CMD_ITEMMODIFY "STORE"
77#define AKONADI_CMD_TAGAPPEND "TAGAPPEND"
78#define AKONADI_CMD_TAGFETCH "TAGFETCH"
79#define AKONADI_CMD_TAGREMOVE "TAGREMOVE"
80#define AKONADI_CMD_TAGSTORE "TAGSTORE"
81#define AKONADI_CMD_UID "UID"
82#define AKONADI_CMD_ITEMUNLINK "UNLINK"
83#define AKONADI_CMD_UNSUBSCRIBE "UNSUBSCRIBE"
84#define AKONADI_CMD_ITEMCREATE "X-AKAPPEND"
85#define AKONADI_CMD_X_AKLIST "X-AKLIST"
86#define AKONADI_CMD_X_AKLSUB "X-AKLSUB"
87
88// Command parameters
89#define AKONADI_PARAM_CAPABILITY_AKAPPENDSTREAMING "AKAPPENDSTREAMING"
90#define AKONADI_PARAM_ALLATTRIBUTES "ALLATTR"
91#define AKONADI_PARAM_ANCESTORS "ANCESTORS"
92#define AKONADI_PARAM_ATR "ATR:"
93#define AKONADI_PARAM_CACHEONLY "CACHEONLY"
94#define AKONADI_PARAM_CACHEDPARTS "CACHEDPARTS"
95#define AKONADI_PARAM_CACHETIMEOUT "CACHETIMEOUT"
96#define AKONADI_PARAM_CACHEPOLICY "CACHEPOLICY"
97#define AKONADI_PARAM_CHANGEDSINCE "CHANGEDSINCE"
98#define AKONADI_PARAM_CHARSET "CHARSET"
99#define AKONADI_PARAM_CHECKCACHEDPARTSONLY "CHECKCACHEDPARTSONLY"
100#define AKONADI_PARAM_COLLECTION "COLLECTION"
101#define AKONADI_PARAM_COLLECTIONID "COLLECTIONID"
102#define AKONADI_PARAM_COLLECTIONS "COLLECTIONS"
103#define AKONADI_PARAM_MTIME "DATETIME"
104#define AKONADI_PARAM_CAPABILITY_DIRECTSTREAMING "DIRECTSTREAMING"
105#define AKONADI_PARAM_UNDIRTY "DIRTY"
106#define AKONADI_PARAM_DISPLAY "DISPLAY"
107#define AKONADI_PARAM_EXTERNALPAYLOAD "EXTERNALPAYLOAD"
108#define AKONADI_PARAM_ENABLED "ENABLED"
109#define AKONADI_PARAM_FLAGS "FLAGS"
110#define AKONADI_PARAM_TAGS "TAGS"
111#define AKONADI_PARAM_FULLPAYLOAD "FULLPAYLOAD"
112#define AKONADI_PARAM_GID "GID"
113#define AKONADI_PARAM_GTAGS "GTAGS"
114#define AKONADI_PARAM_IGNOREERRORS "IGNOREERRORS"
115#define AKONADI_PARAM_INDEX "INDEX"
116#define AKONADI_PARAM_INHERIT "INHERIT"
117#define AKONADI_PARAM_INTERVAL "INTERVAL"
118#define AKONADI_PARAM_INVALIDATECACHE "INVALIDATECACHE"
119#define AKONADI_PARAM_MIMETYPE "MIMETYPE"
120#define AKONADI_PARAM_MERGE "MERGE"
121#define AKONADI_PARAM_LOCALPARTS "LOCALPARTS"
122#define AKONADI_PARAM_NAME "NAME"
123#define AKONADI_PARAM_CAPABILITY_NOTIFY "NOTIFY"
124#define AKONADI_PARAM_CAPABILITY_NOPAYLOADPATH "NOPAYLOADPATH"
125#define AKONADI_PARAM_PARENT "PARENT"
126#define AKONADI_PARAM_PERSISTENTSEARCH "PERSISTENTSEARCH"
127#define AKONADI_PARAM_PARTS "PARTS"
128#define AKONADI_PARAM_PLD "PLD:"
129#define AKONADI_PARAM_PLD_RFC822 "PLD:RFC822"
130#define AKONADI_PARAM_PERSISTENTSEARCH_QUERYCOLLECTIONS "QUERYCOLLECTIONS"
131#define AKONADI_PARAM_PERSISTENTSEARCH_QUERYLANG "QUERYLANGUAGE"
132#define AKONADI_PARAM_PERSISTENTSEARCH_QUERYSTRING "QUERYSTRING"
133#define AKONADI_PARAM_QUERY "QUERY"
134#define AKONADI_PARAM_RECURSIVE "RECURSIVE"
135#define AKONADI_PARAM_REFERENCED "REFERENCED"
136#define AKONADI_PARAM_REMOTE "REMOTE"
137#define AKONADI_PARAM_REMOTEID "REMOTEID"
138#define AKONADI_PARAM_REMOTEREVISION "REMOTEREVISION"
139#define AKONADI_PARAM_RESOURCE "RESOURCE"
140#define AKONADI_PARAM_REVISION "REV"
141#define AKONADI_PARAM_RTAGS "RTAGS"
142#define AKONADI_PARAM_SILENT "SILENT"
143#define AKONADI_PARAM_DOT_SILENT ".SILENT"
144#define AKONADI_PARAM_CAPABILITY_SERVERSEARCH "SERVERSEARCH"
145#define AKONADI_PARAM_SIZE "SIZE"
146#define AKONADI_PARAM_STATISTICS "STATISTICS"
147#define AKONADI_PARAM_SYNC "SYNC"
148#define AKONADI_PARAM_SYNCONDEMAND "SYNCONDEMAND"
149#define AKONADI_PARAM_TAG "TAG"
150#define AKONADI_PARAM_TAGID "TAGID"
151#define AKONADI_PARAM_UID "UID"
152#define AKONADI_PARAM_VIRTREF "VIRTREF"
153#define AKONADI_PARAM_VIRTUAL "VIRTUAL"
154
155// Flags
156#define AKONADI_FLAG_GID "\\Gid"
157#define AKONADI_FLAG_IGNORED "$IGNORED"
158#define AKONADI_FLAG_MIMETYPE "\\MimeType"
159#define AKONADI_FLAG_REMOTEID "\\RemoteId"
160#define AKONADI_FLAG_REMOTEREVISION "\\RemoteRevision"
161#define AKONADI_FLAG_TAG "\\Tag"
162#define AKONADI_FLAG_RTAG "\\RTag"
163#define AKONADI_FLAG_SEEN "\\SEEN"
164
165// Attributes
166#define AKONADI_ATTRIBUTE_HIDDEN "ATR:HIDDEN"
167#define AKONADI_ATTRIBUTE_MESSAGES "MESSAGES"
168#define AKONADI_ATTRIBUTE_UNSEEN "UNSEEN"
169
170// special resource names
171#define AKONADI_SEARCH_RESOURCE "akonadi_search_resource"
172#endif
173