1 /* 2 * camel-enums.h 3 * 4 * This library is free software: you can redistribute it and/or modify it 5 * under the terms of the GNU Lesser General Public License as published by 6 * the Free Software Foundation. 7 * 8 * This library is distributed in the hope that it will be useful, but 9 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 10 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 11 * for more details. 12 * 13 * You should have received a copy of the GNU Lesser General Public License 14 * along with this library. If not, see <http://www.gnu.org/licenses/>. 15 * 16 */ 17 18 #if !defined (__CAMEL_H_INSIDE__) && !defined (CAMEL_COMPILATION) 19 #error "Only <camel/camel.h> can be included directly." 20 #endif 21 22 #ifndef CAMEL_ENUMS_H 23 #define CAMEL_ENUMS_H 24 25 /** 26 * CamelAuthenticationResult: 27 * @CAMEL_AUTHENTICATION_ERROR: 28 * An error occurred while authenticating. 29 * @CAMEL_AUTHENTICATION_ACCEPTED: 30 * Server accepted our authentication attempt. 31 * @CAMEL_AUTHENTICATION_REJECTED: 32 * Server rejected our authentication attempt. 33 * 34 * Authentication result codes used by #CamelService. 35 * 36 * Since: 3.4 37 **/ 38 typedef enum { 39 CAMEL_AUTHENTICATION_ERROR, 40 CAMEL_AUTHENTICATION_ACCEPTED, 41 CAMEL_AUTHENTICATION_REJECTED 42 } CamelAuthenticationResult; 43 44 typedef enum { /*< flags >*/ 45 CAMEL_FOLDER_HAS_SUMMARY_CAPABILITY = 1 << 0, 46 CAMEL_FOLDER_FILTER_RECENT = 1 << 2, 47 CAMEL_FOLDER_HAS_BEEN_DELETED = 1 << 3, 48 CAMEL_FOLDER_IS_TRASH = 1 << 4, 49 CAMEL_FOLDER_IS_JUNK = 1 << 5, 50 CAMEL_FOLDER_FILTER_JUNK = 1 << 6 51 } CamelFolderFlags; 52 53 /** 54 * CAMEL_FOLDER_TYPE_BIT: (value 10) 55 * The folder type bitshift value. 56 **/ 57 #define CAMEL_FOLDER_TYPE_BIT (10) 58 59 /** 60 * CamelFolderInfoFlags: 61 * @CAMEL_FOLDER_NOSELECT: 62 * The folder cannot contain messages. 63 * @CAMEL_FOLDER_NOINFERIORS: 64 * The folder cannot have child folders. 65 * @CAMEL_FOLDER_CHILDREN: 66 * The folder has children (not yet fully implemented). 67 * @CAMEL_FOLDER_NOCHILDREN: 68 * The folder does not have children (not yet fully implemented). 69 * @CAMEL_FOLDER_SUBSCRIBED: 70 * The folder is subscribed. 71 * @CAMEL_FOLDER_VIRTUAL: 72 * The folder is virtual. Messages cannot be copied or moved to 73 * virtual folders since they are only queries of other folders. 74 * @CAMEL_FOLDER_SYSTEM: 75 * The folder is a built-in "system" folder. System folders 76 * cannot be renamed or deleted. 77 * @CAMEL_FOLDER_VTRASH: 78 * The folder is a virtual trash folder. It cannot be copied to, 79 * and can only be moved to if in an existing folder. 80 * @CAMEL_FOLDER_SHARED_TO_ME: 81 * A folder being shared by someone else. 82 * @CAMEL_FOLDER_SHARED_BY_ME: 83 * A folder being shared by the user. 84 * @CAMEL_FOLDER_TYPE_NORMAL: 85 * The folder is a normal folder. 86 * @CAMEL_FOLDER_TYPE_INBOX: 87 * The folder is an inbox folder. 88 * @CAMEL_FOLDER_TYPE_OUTBOX: 89 * The folder is an outbox folder. 90 * @CAMEL_FOLDER_TYPE_TRASH: 91 * The folder shows deleted messages. 92 * @CAMEL_FOLDER_TYPE_JUNK: 93 * The folder shows junk messages. 94 * @CAMEL_FOLDER_TYPE_SENT: 95 * The folder shows sent messages. 96 * @CAMEL_FOLDER_TYPE_CONTACTS: 97 * The folder contains contacts, instead of mail messages. 98 * @CAMEL_FOLDER_TYPE_EVENTS: 99 * The folder contains calendar events, instead of mail messages. 100 * @CAMEL_FOLDER_TYPE_MEMOS: 101 * The folder contains memos, instead of mail messages. 102 * @CAMEL_FOLDER_TYPE_TASKS: 103 * The folder contains tasks, instead of mail messages. 104 * @CAMEL_FOLDER_TYPE_ALL: 105 * This folder contains all the messages. Used by RFC 6154. 106 * @CAMEL_FOLDER_TYPE_ARCHIVE: 107 * This folder contains archived messages. Used by RFC 6154. 108 * @CAMEL_FOLDER_TYPE_DRAFTS: 109 * This folder contains drafts. Used by RFC 6154. 110 * @CAMEL_FOLDER_READONLY: 111 * The folder is read only. 112 * @CAMEL_FOLDER_WRITEONLY: 113 * The folder is write only. 114 * @CAMEL_FOLDER_FLAGGED: 115 * This folder contains flagged messages. Some clients call this "starred". Used by RFC 6154. 116 * @CAMEL_FOLDER_FLAGS_LAST: 117 * The last define bit of the flags. The #CamelProvider can use this and 118 * upper bits to store its own flags. 119 * 120 * These flags are abstractions. It's up to the CamelProvider to give 121 * them suitable interpretations. Use #CAMEL_FOLDER_TYPE_MASK to isolate 122 * the folder's type. 123 **/ 124 /* WARNING: This enum and CamelStoreInfoFlags must stay in sync. 125 * FIXME: Eliminate the need for two separate types. */ 126 typedef enum { /*< flags >*/ 127 CAMEL_FOLDER_NOSELECT = 1 << 0, 128 CAMEL_FOLDER_NOINFERIORS = 1 << 1, 129 CAMEL_FOLDER_CHILDREN = 1 << 2, 130 CAMEL_FOLDER_NOCHILDREN = 1 << 3, 131 CAMEL_FOLDER_SUBSCRIBED = 1 << 4, 132 CAMEL_FOLDER_VIRTUAL = 1 << 5, 133 CAMEL_FOLDER_SYSTEM = 1 << 6, 134 CAMEL_FOLDER_VTRASH = 1 << 7, 135 CAMEL_FOLDER_SHARED_TO_ME = 1 << 8, 136 CAMEL_FOLDER_SHARED_BY_ME = 1 << 9, 137 138 CAMEL_FOLDER_TYPE_NORMAL = 0 << CAMEL_FOLDER_TYPE_BIT, 139 CAMEL_FOLDER_TYPE_INBOX = 1 << CAMEL_FOLDER_TYPE_BIT, 140 CAMEL_FOLDER_TYPE_OUTBOX = 2 << CAMEL_FOLDER_TYPE_BIT, 141 CAMEL_FOLDER_TYPE_TRASH = 3 << CAMEL_FOLDER_TYPE_BIT, 142 CAMEL_FOLDER_TYPE_JUNK = 4 << CAMEL_FOLDER_TYPE_BIT, 143 CAMEL_FOLDER_TYPE_SENT = 5 << CAMEL_FOLDER_TYPE_BIT, 144 CAMEL_FOLDER_TYPE_CONTACTS = 6 << CAMEL_FOLDER_TYPE_BIT, 145 CAMEL_FOLDER_TYPE_EVENTS = 7 << CAMEL_FOLDER_TYPE_BIT, 146 CAMEL_FOLDER_TYPE_MEMOS = 8 << CAMEL_FOLDER_TYPE_BIT, 147 CAMEL_FOLDER_TYPE_TASKS = 9 << CAMEL_FOLDER_TYPE_BIT, 148 CAMEL_FOLDER_TYPE_ALL = 10 << CAMEL_FOLDER_TYPE_BIT, 149 CAMEL_FOLDER_TYPE_ARCHIVE = 11 << CAMEL_FOLDER_TYPE_BIT, 150 CAMEL_FOLDER_TYPE_DRAFTS = 12 << CAMEL_FOLDER_TYPE_BIT, 151 152 CAMEL_FOLDER_READONLY = 1 << 16, 153 CAMEL_FOLDER_WRITEONLY = 1 << 17, 154 CAMEL_FOLDER_FLAGGED = 1 << 18, 155 156 CAMEL_FOLDER_FLAGS_LAST = 1 << 24 157 } CamelFolderInfoFlags; 158 159 /** 160 * CAMEL_FOLDER_TYPE_MASK: (value 64512) 161 * The folder type mask value. 162 **/ 163 #define CAMEL_FOLDER_TYPE_MASK (0x3F << CAMEL_FOLDER_TYPE_BIT) 164 165 /* Note: The HTML elements are escaped in the doc comment intentionally, 166 * to have them shown as expected in generated documentation. */ 167 /** 168 * CamelMimeFilterToHTMLFlags: 169 * @CAMEL_MIME_FILTER_TOHTML_PRE: 170 * Enclose the content in <pre> ... </pre> tags. 171 * Cannot be used together with %CAMEL_MIME_FILTER_TOHTML_DIV. 172 * @CAMEL_MIME_FILTER_TOHTML_CONVERT_NL: 173 * Convert newline characters to <br> tags. 174 * @CAMEL_MIME_FILTER_TOHTML_CONVERT_SPACES: 175 * Convert space and tab characters to a non-breaking space (&nbsp;). 176 * @CAMEL_MIME_FILTER_TOHTML_CONVERT_URLS: 177 * Convert recognized URLs to <a href="foo">foo</a>. 178 * @CAMEL_MIME_FILTER_TOHTML_MARK_CITATION: 179 * Color quoted lines (lines beginning with '>'). 180 * @CAMEL_MIME_FILTER_TOHTML_CONVERT_ADDRESSES: 181 * Convert mailto: URLs to <a href="mailto:foo">mailto:foo</a>. 182 * @CAMEL_MIME_FILTER_TOHTML_ESCAPE_8BIT: 183 * Convert 8-bit characters to escaped hexdecimal (&#nnn;). 184 * @CAMEL_MIME_FILTER_TOHTML_CITE: 185 * Prefix each line with "> ". 186 * @CAMEL_MIME_FILTER_TOHTML_PRESERVE_8BIT: 187 * This flag is not used by #CamelMimeFilterToHTML. 188 * @CAMEL_MIME_FILTER_TOHTML_FORMAT_FLOWED: 189 * This flag is not used by #CamelMimeFilterToHTML. 190 * @CAMEL_MIME_FILTER_TOHTML_QUOTE_CITATION: 191 * Group lines beginning with one or more '>' characters in 192 * <blockquote type="cite"> ... </blockquote> tags. The tags 193 * are nested according to the number of '>' characters. 194 * @CAMEL_MIME_FILTER_TOHTML_DIV: 195 * Enclose the paragraphs in <div> ... </div> tags. 196 * Cannot be used together with %CAMEL_MIME_FILTER_TOHTML_PRE. 197 * @CAMEL_MIME_FILTER_TOHTML_PRESERVE_TABS: 198 * Set in combination with %CAMEL_MIME_FILTER_TOHTML_CONVERT_SPACES, 199 * to keep tab characters. If not set, converts them into the spaces. 200 * 201 * Flags for converting text/plain content into text/html. 202 **/ 203 typedef enum { /*< flags >*/ 204 CAMEL_MIME_FILTER_TOHTML_PRE = 1 << 0, 205 CAMEL_MIME_FILTER_TOHTML_CONVERT_NL = 1 << 1, 206 CAMEL_MIME_FILTER_TOHTML_CONVERT_SPACES = 1 << 2, 207 CAMEL_MIME_FILTER_TOHTML_CONVERT_URLS = 1 << 3, 208 CAMEL_MIME_FILTER_TOHTML_MARK_CITATION = 1 << 4, 209 CAMEL_MIME_FILTER_TOHTML_CONVERT_ADDRESSES = 1 << 5, 210 CAMEL_MIME_FILTER_TOHTML_ESCAPE_8BIT = 1 << 6, 211 CAMEL_MIME_FILTER_TOHTML_CITE = 1 << 7, 212 CAMEL_MIME_FILTER_TOHTML_PRESERVE_8BIT = 1 << 8, 213 CAMEL_MIME_FILTER_TOHTML_FORMAT_FLOWED = 1 << 9, 214 CAMEL_MIME_FILTER_TOHTML_QUOTE_CITATION = 1 << 10, 215 CAMEL_MIME_FILTER_TOHTML_DIV = 1 << 11, 216 CAMEL_MIME_FILTER_TOHTML_PRESERVE_TABS = 1 << 12 217 } CamelMimeFilterToHTMLFlags; 218 219 /** 220 * CAMEL_STORE_INFO_FOLDER_TYPE_BIT: (value 10) 221 * The folder store info type bitshift value. 222 **/ 223 #define CAMEL_STORE_INFO_FOLDER_TYPE_BIT (10) 224 225 /* WARNING: This enum and CamelFolderInfoFlags must stay in sync. 226 * FIXME: Eliminate the need for two separate types. */ 227 typedef enum { /*< flags >*/ 228 CAMEL_STORE_INFO_FOLDER_NOSELECT = 1 << 0, 229 CAMEL_STORE_INFO_FOLDER_NOINFERIORS = 1 << 1, 230 CAMEL_STORE_INFO_FOLDER_CHILDREN = 1 << 2, 231 CAMEL_STORE_INFO_FOLDER_NOCHILDREN = 1 << 3, 232 CAMEL_STORE_INFO_FOLDER_SUBSCRIBED = 1 << 4, 233 CAMEL_STORE_INFO_FOLDER_VIRTUAL = 1 << 5, 234 CAMEL_STORE_INFO_FOLDER_SYSTEM = 1 << 6, 235 CAMEL_STORE_INFO_FOLDER_VTRASH = 1 << 7, 236 CAMEL_STORE_INFO_FOLDER_SHARED_TO_ME = 1 << 8, 237 CAMEL_STORE_INFO_FOLDER_SHARED_BY_ME = 1 << 9, 238 239 CAMEL_STORE_INFO_FOLDER_TYPE_NORMAL = 0 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 240 CAMEL_STORE_INFO_FOLDER_TYPE_INBOX = 1 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 241 CAMEL_STORE_INFO_FOLDER_TYPE_OUTBOX = 2 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 242 CAMEL_STORE_INFO_FOLDER_TYPE_TRASH = 3 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 243 CAMEL_STORE_INFO_FOLDER_TYPE_JUNK = 4 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 244 CAMEL_STORE_INFO_FOLDER_TYPE_SENT = 5 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 245 CAMEL_STORE_INFO_FOLDER_TYPE_CONTACTS = 6 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 246 CAMEL_STORE_INFO_FOLDER_TYPE_EVENTS = 7 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 247 CAMEL_STORE_INFO_FOLDER_TYPE_MEMOS = 8 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 248 CAMEL_STORE_INFO_FOLDER_TYPE_TASKS = 9 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 249 CAMEL_STORE_INFO_FOLDER_TYPE_ALL = 10 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 250 CAMEL_STORE_INFO_FOLDER_TYPE_ARCHIVE = 11 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 251 CAMEL_STORE_INFO_FOLDER_TYPE_DRAFTS = 12 << CAMEL_STORE_INFO_FOLDER_TYPE_BIT, 252 253 CAMEL_STORE_INFO_FOLDER_READONLY = 1 << 16, 254 CAMEL_STORE_INFO_FOLDER_WRITEONLY = 1 << 17, 255 CAMEL_STORE_INFO_FOLDER_FLAGGED = 1 << 18, 256 257 CAMEL_STORE_INFO_FOLDER_LAST = 1 << 24 /*< skip >*/ 258 } CamelStoreInfoFlags; 259 260 /** 261 * CAMEL_STORE_INFO_FOLDER_TYPE_MASK: (value 64512) 262 * The folder store info type mask value. 263 **/ 264 #define CAMEL_STORE_INFO_FOLDER_TYPE_MASK (0x3F << CAMEL_STORE_INFO_FOLDER_TYPE_BIT) 265 266 /** 267 * CamelFetchHeadersType: 268 * @CAMEL_FETCH_HEADERS_BASIC: 269 * Fetch only basic headers (Date, From, To, Subject, etc.). 270 * @CAMEL_FETCH_HEADERS_BASIC_AND_MAILING_LIST: 271 * Fetch all basic headers and mailing list headers. 272 * @CAMEL_FETCH_HEADERS_ALL: 273 * Fetch all available message headers. 274 * 275 * Describes what headers to fetch when downloading message summaries. 276 * 277 * Since: 3.2 278 **/ 279 typedef enum { 280 CAMEL_FETCH_HEADERS_BASIC, 281 CAMEL_FETCH_HEADERS_BASIC_AND_MAILING_LIST, 282 CAMEL_FETCH_HEADERS_ALL 283 } CamelFetchHeadersType; 284 285 /** 286 * CamelJunkStatus: 287 * @CAMEL_JUNK_STATUS_ERROR: 288 * An error occurred while invoking the junk filter. 289 * @CAMEL_JUNK_STATUS_INCONCLUSIVE: 290 * The junk filter could not determine whether the message is junk. 291 * @CAMEL_JUNK_STATUS_MESSAGE_IS_JUNK: 292 * The junk filter believes the message is junk. 293 * @CAMEL_JUNK_STATUS_MESSAGE_IS_NOT_JUNK: 294 * The junk filter believes the message is not junk. 295 * 296 * These are result codes used when passing messages through a junk filter. 297 **/ 298 typedef enum { 299 CAMEL_JUNK_STATUS_ERROR, 300 CAMEL_JUNK_STATUS_INCONCLUSIVE, 301 CAMEL_JUNK_STATUS_MESSAGE_IS_JUNK, 302 CAMEL_JUNK_STATUS_MESSAGE_IS_NOT_JUNK 303 } CamelJunkStatus; 304 305 typedef enum { 306 CAMEL_MIME_FILTER_BASIC_INVALID, 307 CAMEL_MIME_FILTER_BASIC_BASE64_ENC, 308 CAMEL_MIME_FILTER_BASIC_BASE64_DEC, 309 CAMEL_MIME_FILTER_BASIC_QP_ENC, 310 CAMEL_MIME_FILTER_BASIC_QP_DEC, 311 CAMEL_MIME_FILTER_BASIC_UU_ENC, 312 CAMEL_MIME_FILTER_BASIC_UU_DEC 313 } CamelMimeFilterBasicType; 314 315 typedef enum { 316 CAMEL_MIME_FILTER_CRLF_ENCODE, 317 CAMEL_MIME_FILTER_CRLF_DECODE 318 } CamelMimeFilterCRLFDirection; 319 320 typedef enum { 321 CAMEL_MIME_FILTER_CRLF_MODE_CRLF_DOTS, 322 CAMEL_MIME_FILTER_CRLF_MODE_CRLF_ONLY 323 } CamelMimeFilterCRLFMode; 324 325 typedef enum { 326 CAMEL_MIME_FILTER_GZIP_MODE_ZIP, 327 CAMEL_MIME_FILTER_GZIP_MODE_UNZIP 328 } CamelMimeFilterGZipMode; 329 330 typedef enum { 331 CAMEL_MIME_FILTER_YENC_DIRECTION_ENCODE, 332 CAMEL_MIME_FILTER_YENC_DIRECTION_DECODE 333 } CamelMimeFilterYencDirection; 334 335 /** 336 * CamelNetworkSecurityMethod: 337 * @CAMEL_NETWORK_SECURITY_METHOD_NONE: 338 * Use an unencrypted network connection. 339 * @CAMEL_NETWORK_SECURITY_METHOD_SSL_ON_ALTERNATE_PORT: 340 * Use SSL by connecting to an alternate port number. 341 * @CAMEL_NETWORK_SECURITY_METHOD_STARTTLS_ON_STANDARD_PORT: 342 * Use SSL or TLS by connecting to the standard port and invoking 343 * STARTTLS before authenticating. This is the recommended method. 344 * 345 * Methods for establishing an encrypted (or unencrypted) network connection. 346 * 347 * Since: 3.2 348 **/ 349 typedef enum { 350 CAMEL_NETWORK_SECURITY_METHOD_NONE, 351 CAMEL_NETWORK_SECURITY_METHOD_SSL_ON_ALTERNATE_PORT, 352 CAMEL_NETWORK_SECURITY_METHOD_STARTTLS_ON_STANDARD_PORT 353 } CamelNetworkSecurityMethod; 354 355 typedef enum { 356 CAMEL_PROVIDER_CONF_END, 357 CAMEL_PROVIDER_CONF_SECTION_START, 358 CAMEL_PROVIDER_CONF_SECTION_END, 359 CAMEL_PROVIDER_CONF_CHECKBOX, 360 CAMEL_PROVIDER_CONF_CHECKSPIN, 361 CAMEL_PROVIDER_CONF_ENTRY, 362 CAMEL_PROVIDER_CONF_LABEL, 363 CAMEL_PROVIDER_CONF_HIDDEN, 364 CAMEL_PROVIDER_CONF_OPTIONS, 365 CAMEL_PROVIDER_CONF_PLACEHOLDER 366 } CamelProviderConfType; 367 368 /** 369 * CamelProviderFlags: 370 * @CAMEL_PROVIDER_IS_REMOTE: 371 * Provider works with remote data. 372 * @CAMEL_PROVIDER_IS_LOCAL: 373 * Provider can be used as a backend for local folder tree folders. 374 * (Not just the opposite of #CAMEL_PROVIDER_IS_REMOTE.) 375 * @CAMEL_PROVIDER_IS_SOURCE: 376 * Mail arrives there, so it should be offered as an option in the 377 * mail config dialog. 378 * @CAMEL_PROVIDER_IS_STORAGE: 379 * Mail is stored there. It will appear in the folder tree. 380 * @CAMEL_PROVIDER_IS_EXTERNAL: 381 * Provider appears in the folder tree but is not created by the 382 * mail component. 383 * @CAMEL_PROVIDER_HAS_LICENSE: 384 * Provider configuration first needs the license to be accepted. 385 * (No longer used.) 386 * @CAMEL_PROVIDER_ALLOW_REAL_TRASH_FOLDER: 387 * Provider may use a real trash folder instead of a virtual folder. 388 * @CAMEL_PROVIDER_ALLOW_REAL_JUNK_FOLDER: 389 * Provider may use a real junk folder instead of a virtual folder. 390 * @CAMEL_PROVIDER_DISABLE_SENT_FOLDER: 391 * Provider requests to not use the Sent folder when sending with it. 392 * @CAMEL_PROVIDER_SUPPORTS_SSL: 393 * Provider supports SSL/TLS connections. 394 * @CAMEL_PROVIDER_SUPPORTS_MOBILE_DEVICES: 395 * Download limited set of emails instead of operating on full cache. 396 * @CAMEL_PROVIDER_SUPPORTS_BATCH_FETCH: 397 * Support to fetch messages in batch. 398 * @CAMEL_PROVIDER_SUPPORTS_PURGE_MESSAGE_CACHE: 399 * Support to remove oldest downloaded messages to conserve space. 400 * 401 **/ 402 typedef enum { /*< flags >*/ 403 CAMEL_PROVIDER_IS_REMOTE = 1 << 0, 404 CAMEL_PROVIDER_IS_LOCAL = 1 << 1, 405 CAMEL_PROVIDER_IS_EXTERNAL = 1 << 2, 406 CAMEL_PROVIDER_IS_SOURCE = 1 << 3, 407 CAMEL_PROVIDER_IS_STORAGE = 1 << 4, 408 CAMEL_PROVIDER_SUPPORTS_SSL = 1 << 5, 409 CAMEL_PROVIDER_HAS_LICENSE = 1 << 6, 410 CAMEL_PROVIDER_DISABLE_SENT_FOLDER = 1 << 7, 411 CAMEL_PROVIDER_ALLOW_REAL_TRASH_FOLDER = 1 << 8, 412 CAMEL_PROVIDER_ALLOW_REAL_JUNK_FOLDER = 1 << 9, 413 CAMEL_PROVIDER_SUPPORTS_MOBILE_DEVICES = 1 << 10, 414 CAMEL_PROVIDER_SUPPORTS_BATCH_FETCH = 1 << 11, 415 CAMEL_PROVIDER_SUPPORTS_PURGE_MESSAGE_CACHE = 1 << 12 416 } CamelProviderFlags; 417 418 typedef enum { 419 CAMEL_PROVIDER_STORE, 420 CAMEL_PROVIDER_TRANSPORT, 421 CAMEL_NUM_PROVIDER_TYPES /*< skip >*/ 422 } CamelProviderType; 423 424 typedef enum { 425 CAMEL_SASL_ANON_TRACE_EMAIL, 426 CAMEL_SASL_ANON_TRACE_OPAQUE, 427 CAMEL_SASL_ANON_TRACE_EMPTY 428 } CamelSaslAnonTraceType; 429 430 /** 431 * CamelRecipientCertificateFlags: 432 * @CAMEL_RECIPIENT_CERTIFICATE_SMIME: Retrieve S/MIME certificates; this cannot be used 433 * together with @CAMEL_RECIPIENT_CERTIFICATE_PGP 434 * @CAMEL_RECIPIENT_CERTIFICATE_PGP: Retrieve PGP keys; this cannot be used 435 * together with @CAMEL_RECIPIENT_CERTIFICATE_SMIME. 436 * 437 * Flags used to camel_session_get_recipient_certificates_sync() call. 438 * 439 * Since: 3.30 440 **/ 441 typedef enum { /*< flags >*/ 442 CAMEL_RECIPIENT_CERTIFICATE_SMIME = 1 << 0, 443 CAMEL_RECIPIENT_CERTIFICATE_PGP = 1 << 1 444 } CamelRecipientCertificateFlags; 445 446 /** 447 * CamelServiceConnectionStatus: 448 * @CAMEL_SERVICE_DISCONNECTED: 449 * #CamelService is disconnected from a remote server. 450 * @CAMEL_SERVICE_CONNECTING: 451 * #CamelService is connecting to a remote server. 452 * @CAMEL_SERVICE_CONNECTED: 453 * #CamelService is connected to a remote server. 454 * @CAMEL_SERVICE_DISCONNECTING: 455 * #CamelService is disconnecting from a remote server. 456 * 457 * Connection status returned by camel_service_get_connection_status(). 458 * 459 * Since: 3.6 460 **/ 461 typedef enum { 462 CAMEL_SERVICE_DISCONNECTED, 463 CAMEL_SERVICE_CONNECTING, 464 CAMEL_SERVICE_CONNECTED, 465 CAMEL_SERVICE_DISCONNECTING 466 } CamelServiceConnectionStatus; 467 468 typedef enum { 469 CAMEL_SESSION_ALERT_INFO, 470 CAMEL_SESSION_ALERT_WARNING, 471 CAMEL_SESSION_ALERT_ERROR 472 } CamelSessionAlertType; 473 474 /** 475 * CamelSortType: 476 * @CAMEL_SORT_ASCENDING: 477 * Sorting is in ascending order. 478 * @CAMEL_SORT_DESCENDING: 479 * Sorting is in descending order. 480 * 481 * Determines the direction of a sort. 482 * 483 * Since: 3.2 484 **/ 485 typedef enum { 486 CAMEL_SORT_ASCENDING, 487 CAMEL_SORT_DESCENDING 488 } CamelSortType; 489 490 typedef enum { /*< flags >*/ 491 CAMEL_STORE_VTRASH = 1 << 0, 492 CAMEL_STORE_VJUNK = 1 << 1, 493 CAMEL_STORE_PROXY = 1 << 2, 494 CAMEL_STORE_IS_MIGRATING = 1 << 3, 495 CAMEL_STORE_REAL_JUNK_FOLDER = 1 << 4, 496 CAMEL_STORE_CAN_EDIT_FOLDERS = 1 << 5, 497 CAMEL_STORE_USE_CACHE_DIR = 1 << 6, 498 CAMEL_STORE_CAN_DELETE_FOLDERS_AT_ONCE = 1 << 7, 499 CAMEL_STORE_SUPPORTS_INITIAL_SETUP = 1 << 8 500 } CamelStoreFlags; 501 502 /** 503 * CamelStoreGetFolderInfoFlags: 504 * @CAMEL_STORE_FOLDER_INFO_FAST: 505 * @CAMEL_STORE_FOLDER_INFO_RECURSIVE: 506 * @CAMEL_STORE_FOLDER_INFO_SUBSCRIBED: 507 * @CAMEL_STORE_FOLDER_INFO_NO_VIRTUAL: 508 * Do not include virtual trash or junk folders. 509 * @CAMEL_STORE_FOLDER_INFO_SUBSCRIPTION_LIST: 510 * Fetch only the subscription list. Clients should use this 511 * flag for requesting the list of folders available for 512 * subscription. Used in Exchange / IMAP connectors for public 513 * folder fetching. 514 * @CAMEL_STORE_FOLDER_INFO_REFRESH: 515 * Treat this call as a request to refresh the folder summary; 516 * for remote accounts it can be to re-fetch fresh folder 517 * content from the server and update the local cache. 518 **/ 519 typedef enum { /*< flags >*/ 520 CAMEL_STORE_FOLDER_INFO_FAST = 1 << 0, 521 CAMEL_STORE_FOLDER_INFO_RECURSIVE = 1 << 1, 522 CAMEL_STORE_FOLDER_INFO_SUBSCRIBED = 1 << 2, 523 CAMEL_STORE_FOLDER_INFO_NO_VIRTUAL = 1 << 3, 524 CAMEL_STORE_FOLDER_INFO_SUBSCRIPTION_LIST = 1 << 4, 525 CAMEL_STORE_FOLDER_INFO_REFRESH = 1 << 5 526 } CamelStoreGetFolderInfoFlags; 527 528 typedef enum { /*< flags >*/ 529 CAMEL_STORE_READ = 1 << 0, 530 CAMEL_STORE_WRITE = 1 << 1 531 } CamelStorePermissionFlags; 532 533 /* Note: If you change this, make sure you change the 534 * 'encodings' array in camel-mime-part.c. */ 535 typedef enum { 536 CAMEL_TRANSFER_ENCODING_DEFAULT, 537 CAMEL_TRANSFER_ENCODING_7BIT, 538 CAMEL_TRANSFER_ENCODING_8BIT, 539 CAMEL_TRANSFER_ENCODING_BASE64, 540 CAMEL_TRANSFER_ENCODING_QUOTEDPRINTABLE, 541 CAMEL_TRANSFER_ENCODING_BINARY, 542 CAMEL_TRANSFER_ENCODING_UUENCODE, 543 CAMEL_TRANSFER_NUM_ENCODINGS 544 } CamelTransferEncoding; 545 546 /** 547 * CamelThreeState: 548 * @CAMEL_THREE_STATE_OFF: the three-state value is Off 549 * @CAMEL_THREE_STATE_ON: the three-state value is On 550 * @CAMEL_THREE_STATE_INCONSISTENT: the three-state value is neither On, nor Off 551 * 552 * Describes a three-state value, which can be either Off, On or Inconsistent. 553 * 554 * Since: 3.22 555 **/ 556 typedef enum { 557 CAMEL_THREE_STATE_OFF = 0, 558 CAMEL_THREE_STATE_ON, 559 CAMEL_THREE_STATE_INCONSISTENT 560 } CamelThreeState; 561 562 /** 563 * CamelCompareType: 564 * @CAMEL_COMPARE_CASE_INSENSITIVE: compare case insensitively 565 * @CAMEL_COMPARE_CASE_SENSITIVE: compare case sensitively 566 * 567 * Declares the compare type to use. 568 * 569 * Since: 3.24 570 **/ 571 typedef enum { 572 CAMEL_COMPARE_CASE_INSENSITIVE, 573 CAMEL_COMPARE_CASE_SENSITIVE 574 } CamelCompareType; 575 576 /** 577 * CamelTimeUnit: 578 * @CAMEL_TIME_UNIT_DAYS: days 579 * @CAMEL_TIME_UNIT_WEEKS: weeks 580 * @CAMEL_TIME_UNIT_MONTHS: months 581 * @CAMEL_TIME_UNIT_YEARS: years 582 * 583 * Declares time unit, which serves to interpret the time value, 584 * like in #CamelOfflineSettings. 585 * 586 * Since: 3.24 587 **/ 588 typedef enum { 589 CAMEL_TIME_UNIT_DAYS = 1, 590 CAMEL_TIME_UNIT_WEEKS, 591 CAMEL_TIME_UNIT_MONTHS, 592 CAMEL_TIME_UNIT_YEARS 593 } CamelTimeUnit; 594 595 #endif /* CAMEL_ENUMS_H */ 596