/* geary-engine.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __SRC_ENGINE_GEARY_ENGINE_H__
#define __SRC_ENGINE_GEARY_ENGINE_H__

#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gee.h>
#include <gio/gio.h>
#include <stdio.h>
#include <float.h>
#include <math.h>
#include <sqlite3.h>
#include <gmime/gmime.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif
#define GEARY_ACCOUNT_INFORMATION_DEFAULT_PREFETCH_PERIOD_DAYS 14
#define GEARY_COMPOSED_EMAIL_REQUIRED_REPLY_FIELDS ((((((GEARY_EMAIL_FIELD_HEADER | GEARY_EMAIL_FIELD_BODY) | GEARY_EMAIL_FIELD_ORIGINATORS) | GEARY_EMAIL_FIELD_RECEIVERS) | GEARY_EMAIL_FIELD_REFERENCES) | GEARY_EMAIL_FIELD_SUBJECT) | GEARY_EMAIL_FIELD_DATE)
#define GEARY_EMAIL_IDENTIFIER_BASE_VARIANT_TYPE "(yr)"
#define GEARY_EMAIL_MAX_PREVIEW_BYTES 256
#define GEARY_EMAIL_MUTABLE_FIELDS (GEARY_EMAIL_FIELD_FLAGS | GEARY_EMAIL_FIELD_PREVIEW)
#define GEARY_EMAIL_REQUIRED_FOR_MESSAGE (GEARY_EMAIL_FIELD_HEADER | GEARY_EMAIL_FIELD_BODY)
#define GEARY_FOLDER_PATH_VARIANT_TYPE "(sas)"
#define GEARY_FOLDER_PROPERTIES_PROP_NAME_EMAIL_TOTAL "email-total"
#define GEARY_FOLDER_PROPERTIES_PROP_NAME_EMAIL_UNREAD "email-unread"
#define GEARY_FOLDER_PROPERTIES_PROP_NAME_HAS_CHILDREN "has-children"
#define GEARY_FOLDER_PROPERTIES_PROP_NAME_SUPPORTS_CHILDREN "supports-children"
#define GEARY_FOLDER_PROPERTIES_PROP_NAME_IS_OPENABLE "is-openable"
#define GEARY_FOLDER_PROPERTIES_PROP_NAME_IS_LOCAL_ONLY "is-local-only"
#define GEARY_FOLDER_PROPERTIES_PROP_NAME_IS_VIRTUAL "is-virtual"
#define GEARY_PROGRESS_MONITOR_MIN 0.0
#define GEARY_PROGRESS_MONITOR_MAX 1.0
#define GEARY_REVOKABLE_PROP_VALID "valid"
#define GEARY_REVOKABLE_PROP_IN_PROCESS "in-process"
#define GEARY_SMTP_SMTP_PORT ((guint16) 25)
#define GEARY_SMTP_SUBMISSION_PORT ((guint16) 587)
#define GEARY_SMTP_SUBMISSION_TLS_PORT ((guint16) 465)
#define GEARY_IMAP_IMAP_PORT ((guint16) 143)
#define GEARY_IMAP_IMAP_TLS_PORT ((guint16) 993)
#define GEARY_APP_CONVERSATION_MONITOR_REQUIRED_FIELDS ((GEARY_EMAIL_FIELD_REFERENCES | GEARY_EMAIL_FIELD_FLAGS) | GEARY_EMAIL_FIELD_DATE)
#define GEARY_APP_CONVERSATION_MONITOR_LOGGING_DOMAIN GEARY_LOGGING_DOMAIN ".Conv"
#define GEARY_APP_DRAFT_MANAGER_PROP_IS_OPEN "is-open"
#define GEARY_APP_DRAFT_MANAGER_PROP_DRAFT_STATE "draft-state"
#define GEARY_APP_DRAFT_MANAGER_PROP_CURRENT_DRAFT_ID "current-draft-id"
#define GEARY_APP_DRAFT_MANAGER_PROP_VERSIONS_SAVED "versions-saved"
#define GEARY_APP_DRAFT_MANAGER_PROP_VERSIONS_DROPPED "versions-dropped"
#define GEARY_APP_SEARCH_FOLDER_MAX_RESULT_EMAILS 1000
#define GEARY_APP_SEARCH_FOLDER_MAGIC_BASENAME "$GearyAccountSearchFolder$"
#define GEARY_DB_INVALID_ROWID ((gint64) -1)
#define GEARY_DB_CONTEXT_LOGGING_DOMAIN GEARY_LOGGING_DOMAIN ".Db"
#define GEARY_DB_DATABASE_MEMORY_PATH "file::memory:?cache=shared"
#define GEARY_DB_DATABASE_DEFAULT_MAX_CONCURRENCY 4
#define GEARY_DB_DATABASE_CONNECTION_DEFAULT_BUSY_TIMEOUT_MSEC 0
#define GEARY_DB_DATABASE_CONNECTION_RECOMMENDED_BUSY_TIMEOUT_MSEC (60 * 1000)
#define GEARY_IMAP_CAPABILITIES_AUTH "AUTH"
#define GEARY_IMAP_CAPABILITIES_AUTH_XOAUTH2 "XOAUTH2"
#define GEARY_IMAP_CAPABILITIES_CREATE_SPECIAL_USE "CREATE-SPECIAL-USE"
#define GEARY_IMAP_CAPABILITIES_COMPRESS "COMPRESS"
#define GEARY_IMAP_CAPABILITIES_DEFLATE_SETTING "DEFLATE"
#define GEARY_IMAP_CAPABILITIES_IDLE "IDLE"
#define GEARY_IMAP_CAPABILITIES_IMAP4REV1 "IMAP4rev1"
#define GEARY_IMAP_CAPABILITIES_NAMESPACE "NAMESPACE"
#define GEARY_IMAP_CAPABILITIES_SPECIAL_USE "SPECIAL-USE"
#define GEARY_IMAP_CAPABILITIES_STARTTLS "STARTTLS"
#define GEARY_IMAP_CAPABILITIES_UIDPLUS "UIDPLUS"
#define GEARY_IMAP_CAPABILITIES_XLIST "XLIST"
#define GEARY_IMAP_CAPABILITIES_NAME_SEPARATOR "="
#define GEARY_IMAP_CAPABILITIES_VALUE_SEPARATOR NULL
#define GEARY_IMAP_CLIENT_SERVICE_LOGGING_DOMAIN GEARY_LOGGING_DOMAIN ".Imap"
#define GEARY_IMAP_CLIENT_SERVICE_PROTOCOL_LOGGING_DOMAIN GEARY_LOGGING_DOMAIN ".Imap.Net"
#define GEARY_IMAP_CLIENT_SERVICE_DESERIALISATION_LOGGING_DOMAIN GEARY_LOGGING_DOMAIN ".Imap.Deser"
#define GEARY_IMAP_CLIENT_SERVICE_REPLAY_QUEUE_LOGGING_DOMAIN GEARY_LOGGING_DOMAIN ".Imap.Replay"
#define GEARY_IMAP_APPEND_COMMAND_NAME "append"
#define GEARY_IMAP_AUTHENTICATE_COMMAND_NAME "authenticate"
#define GEARY_IMAP_CAPABILITY_COMMAND_NAME "capability"
#define GEARY_IMAP_CLOSE_COMMAND_NAME "close"
#define GEARY_IMAP_COMMAND_DEFAULT_RESPONSE_TIMEOUT_SEC ((guint) 30)
#define GEARY_IMAP_COPY_COMMAND_NAME "copy"
#define GEARY_IMAP_COPY_COMMAND_UID_NAME "uid copy"
#define GEARY_IMAP_CREATE_COMMAND_NAME_ATOM "create"
#define GEARY_IMAP_CREATE_COMMAND_USE_ATOM "use"
#define GEARY_IMAP_DELETE_COMMAND_NAME "DELETE"
#define GEARY_IMAP_EXAMINE_COMMAND_NAME "examine"
#define GEARY_IMAP_EXPUNGE_COMMAND_NAME "expunge"
#define GEARY_IMAP_EXPUNGE_COMMAND_UID_NAME "uid expunge"
#define GEARY_IMAP_FETCH_COMMAND_NAME "fetch"
#define GEARY_IMAP_FETCH_COMMAND_UID_NAME "uid fetch"
#define GEARY_IMAP_ID_COMMAND_NAME "id"
#define GEARY_IMAP_IDLE_COMMAND_NAME "IDLE"
#define GEARY_IMAP_LIST_COMMAND_NAME "LIST"
#define GEARY_IMAP_LIST_COMMAND_XLIST_NAME "xlist"
#define GEARY_IMAP_LIST_RETURN_PARAMETER_SPECIAL_USE "special-use"
#define GEARY_IMAP_LOGIN_COMMAND_NAME "login"
#define GEARY_IMAP_LOGOUT_COMMAND_NAME "logout"
#define GEARY_IMAP_NAMESPACE_COMMAND_NAME "NAMESPACE"
#define GEARY_IMAP_NOOP_COMMAND_NAME "noop"
#define GEARY_IMAP_SEARCH_COMMAND_NAME "search"
#define GEARY_IMAP_SEARCH_COMMAND_UID_NAME "uid search"
#define GEARY_IMAP_SELECT_COMMAND_NAME "select"
#define GEARY_IMAP_STARTTLS_COMMAND_NAME "STARTTLS"
#define GEARY_IMAP_STATUS_COMMAND_NAME "STATUS"
#define GEARY_IMAP_STORE_COMMAND_NAME "STORE"
#define GEARY_IMAP_STORE_COMMAND_UID_NAME "UID STORE"
#define GEARY_IMAP_MAILBOX_SPECIFIER_CANONICAL_INBOX_NAME "INBOX"
#define GEARY_IMAP_SEQUENCE_NUMBER_MIN ((gint64) 1)
#define GEARY_IMAP_SEQUENCE_NUMBER_MAX 0xFFFFFFFFLL
#define GEARY_IMAP_TAG_UNTAGGED_VALUE "*"
#define GEARY_IMAP_TAG_CONTINUATION_VALUE "+"
#define GEARY_IMAP_TAG_UNASSIGNED_VALUE "----"
#define GEARY_IMAP_UID_MIN ((gint64) 1)
#define GEARY_IMAP_UID_MAX 0xFFFFFFFFLL
#define GEARY_IMAP_UID_INVALID ((gint64) -1)
#define GEARY_IMAP_UID_VALIDITY_MIN ((gint64) 0)
#define GEARY_IMAP_UID_VALIDITY_MAX 0xFFFFFFFFFFFFFFFLL
#define GEARY_IMAP_UID_VALIDITY_INVALID ((gint64) -1)
#define GEARY_IMAP_LIST_PARAMETER_MAX_STRING_LITERAL_LENGTH 4096
#define GEARY_IMAP_NIL_PARAMETER_VALUE "NIL"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_ALERT "alert"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_ALREADYEXISTS "alreadyexists"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_APPENDUID "appenduid"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_AUTHENTICATIONFAILED "authenticationfailed"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_AUTHORIZATIONFAILED "authorizationfailed"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_BADCHARSET "badcharset"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_CAPABILITY "capability"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_CLIENTBUG "clientbug"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_COPYUID "copyuid"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_MYRIGHTS "myrights"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_NEWNAME "newname"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_NONEXISTENT "nonexistent"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_PARSE "parse"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_PERMANENT_FLAGS "permanentflags"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_READONLY "read-only"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_READWRITE "read-write"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_SERVERBUG "serverbug"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_TRY_CREATE "trycreate"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_UIDVALIDITY "uidvalidity"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_UIDNEXT "uidnext"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_UNAVAILABLE "unavailable"
#define GEARY_IMAP_RESPONSE_CODE_TYPE_UNSEEN "unseen"
#define GEARY_IMAP_STATUS_DATA_UNSET -1
#define GEARY_IMAP_CLIENT_CONNECTION_DEFAULT_TIMEOUT_SEC GEARY_IMAP_CLIENT_SESSION_MAX_KEEPALIVE_SEC
#define GEARY_IMAP_CLIENT_CONNECTION_RECOMMENDED_TIMEOUT_SEC (GEARY_IMAP_CLIENT_SESSION_RECOMMENDED_KEEPALIVE_SEC + 15)
#define GEARY_IMAP_CLIENT_CONNECTION_DEFAULT_IDLE_TIMEOUT_SEC ((guint) 2)
#define GEARY_IMAP_CLIENT_SESSION_MAX_KEEPALIVE_SEC ((guint) (30 * 60))
#define GEARY_IMAP_CLIENT_SESSION_RECOMMENDED_KEEPALIVE_SEC ((guint) ((10 * 60) - 30))
#define GEARY_IMAP_CLIENT_SESSION_AGGRESSIVE_KEEPALIVE_SEC ((guint) (2 * 60))
#define GEARY_IMAP_CLIENT_SESSION_DEFAULT_SELECTED_KEEPALIVE_SEC GEARY_IMAP_CLIENT_SESSION_AGGRESSIVE_KEEPALIVE_SEC
#define GEARY_IMAP_CLIENT_SESSION_DEFAULT_SELECTED_WITH_IDLE_KEEPALIVE_SEC GEARY_IMAP_CLIENT_SESSION_RECOMMENDED_KEEPALIVE_SEC
#define GEARY_IMAP_CLIENT_SESSION_DEFAULT_UNSELECTED_KEEPALIVE_SEC GEARY_IMAP_CLIENT_SESSION_RECOMMENDED_KEEPALIVE_SEC
#define GEARY_IMAP_CLIENT_SESSION_DEFAULT_GREETING_TIMEOUT_SEC GEARY_IMAP_COMMAND_DEFAULT_RESPONSE_TIMEOUT_SEC
#define GEARY_MIME_CONTENT_DISPOSITION_FILENAME "filename"
#define GEARY_MIME_CONTENT_DISPOSITION_CREATION_DATE "creation-date"
#define GEARY_MIME_CONTENT_DISPOSITION_MODIFICATION_DATE "modification-date"
#define GEARY_MIME_CONTENT_DISPOSITION_READ_DATE "read-date"
#define GEARY_MIME_CONTENT_DISPOSITION_SIZE "size"
#define GEARY_MIME_CONTENT_TYPE_WILDCARD "*"
#define GEARY_NONBLOCKING_BATCH_INVALID_ID -1
#define GEARY_NONBLOCKING_CONCURRENT_DEFAULT_MAX_THREADS 4
#define GEARY_NONBLOCKING_MUTEX_INVALID_TOKEN -1
#define GEARY_OUTBOX_FOLDER_MAGIC_BASENAME "$GearyOutbox$"
#define GEARY_RF_C822_UTF8_CHARSET "UTF-8"
#define GEARY_RF_C822_ASCII_CHARSET "US-ASCII"
#define GEARY_RF_C822_SUBJECT_REPLY_PREFACE "Re:"
#define GEARY_RF_C822_SUBJECT_FORWARD_PREFACE "Fwd:"
#define GEARY_RF_C822_UTILS_QUOTE_MARKER '\x7f'
#define GEARY_SMTP_CAPABILITIES_STARTTLS "starttls"
#define GEARY_SMTP_CAPABILITIES_AUTH "auth"
#define GEARY_SMTP_CAPABILITIES_AUTH_PLAIN "plain"
#define GEARY_SMTP_CAPABILITIES_AUTH_LOGIN "login"
#define GEARY_SMTP_CAPABILITIES_AUTH_OAUTH2 "xoauth2"
#define GEARY_SMTP_CAPABILITIES_NAME_SEPARATOR " "
#define GEARY_SMTP_CAPABILITIES_VALUE_SEPARATOR " "
#define GEARY_SMTP_CLIENT_SERVICE_LOGGING_DOMAIN GEARY_LOGGING_DOMAIN ".Smtp"
#define GEARY_SMTP_CLIENT_SERVICE_PROTOCOL_LOGGING_DOMAIN GEARY_LOGGING_DOMAIN ".Smtp.Net"
#define GEARY_SMTP_DATA_FORMAT_ARG_SEPARATOR " "
#define GEARY_SMTP_DATA_FORMAT_LINE_TERMINATOR "\r\n"
#define GEARY_SMTP_DATA_FORMAT_LINE_TERMINATOR_TYPE G_DATA_STREAM_NEWLINE_TYPE_CR_LF
#define GEARY_SMTP_DATA_FORMAT_DATA_TERMINATOR "\r\n.\r\n"
#define GEARY_SMTP_DATA_FORMAT_CANCEL_AUTHENTICATION "*"
#define GEARY_SMTP_RESPONSE_CODE_STRLEN 3
#define GEARY_SMTP_RESPONSE_CODE_MIN 100
#define GEARY_SMTP_RESPONSE_CODE_MAX 599
#define GEARY_SMTP_RESPONSE_CODE_START_DATA_CODE "354"
#define GEARY_SMTP_RESPONSE_CODE_STARTTLS_READY_CODE "220"
#define GEARY_SMTP_RESPONSE_CODE_DENIED_CODE "550"
#define GEARY_SMTP_RESPONSE_LINE_CONTINUED_CHAR '-'
#define GEARY_SMTP_RESPONSE_LINE_NOT_CONTINUED_CHAR ' '
#define GEARY_HTML_URL_REGEX "(?i)\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\" \
"-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*" \
"\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\"" \
".,<>?«»“”‘’]))"
#define GEARY_LOGGING_DOMAIN "Geary"
#define GEARY_LOGGING_DEFAULT_MAX_LOG_BUFFER_LENGTH ((guint) 4096)
#define GEARY_STRING_EOS '\0'
#define GEARY_STRING_WS_OR_NP "[[:space:][:cntrl:]]+"

#define GEARY_TYPE_BASE_INTERFACE (geary_base_interface_get_type ())
#define GEARY_BASE_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_BASE_INTERFACE, GearyBaseInterface))
#define GEARY_IS_BASE_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_BASE_INTERFACE))
#define GEARY_BASE_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_TYPE_BASE_INTERFACE, GearyBaseInterfaceIface))

typedef struct _GearyBaseInterface GearyBaseInterface;
typedef struct _GearyBaseInterfaceIface GearyBaseInterfaceIface;

#define GEARY_TYPE_BASE_OBJECT (geary_base_object_get_type ())
#define GEARY_BASE_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_BASE_OBJECT, GearyBaseObject))
#define GEARY_BASE_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_BASE_OBJECT, GearyBaseObjectClass))
#define GEARY_IS_BASE_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_BASE_OBJECT))
#define GEARY_IS_BASE_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_BASE_OBJECT))
#define GEARY_BASE_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_BASE_OBJECT, GearyBaseObjectClass))

typedef struct _GearyBaseObject GearyBaseObject;
typedef struct _GearyBaseObjectClass GearyBaseObjectClass;
typedef struct _GearyBaseObjectPrivate GearyBaseObjectPrivate;

#define GEARY_LOGGING_TYPE_SOURCE (geary_logging_source_get_type ())
#define GEARY_LOGGING_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_LOGGING_TYPE_SOURCE, GearyLoggingSource))
#define GEARY_LOGGING_IS_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_LOGGING_TYPE_SOURCE))
#define GEARY_LOGGING_SOURCE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_LOGGING_TYPE_SOURCE, GearyLoggingSourceIface))

typedef struct _GearyLoggingSource GearyLoggingSource;
typedef struct _GearyLoggingSourceIface GearyLoggingSourceIface;

#define GEARY_LOGGING_TYPE_STATE (geary_logging_state_get_type ())
#define GEARY_LOGGING_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_LOGGING_TYPE_STATE, GearyLoggingState))
#define GEARY_LOGGING_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_LOGGING_TYPE_STATE, GearyLoggingStateClass))
#define GEARY_LOGGING_IS_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_LOGGING_TYPE_STATE))
#define GEARY_LOGGING_IS_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_LOGGING_TYPE_STATE))
#define GEARY_LOGGING_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_LOGGING_TYPE_STATE, GearyLoggingStateClass))

typedef struct _GearyLoggingState GearyLoggingState;
typedef struct _GearyLoggingStateClass GearyLoggingStateClass;

#define GEARY_TYPE_FOLDER (geary_folder_get_type ())
#define GEARY_FOLDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_FOLDER, GearyFolder))
#define GEARY_FOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_FOLDER, GearyFolderClass))
#define GEARY_IS_FOLDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_FOLDER))
#define GEARY_IS_FOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_FOLDER))
#define GEARY_FOLDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_FOLDER, GearyFolderClass))

typedef struct _GearyFolder GearyFolder;
typedef struct _GearyFolderClass GearyFolderClass;
typedef struct _GearyFolderPrivate GearyFolderPrivate;

#define GEARY_TYPE_ACCOUNT (geary_account_get_type ())
#define GEARY_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_ACCOUNT, GearyAccount))
#define GEARY_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_ACCOUNT, GearyAccountClass))
#define GEARY_IS_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_ACCOUNT))
#define GEARY_IS_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_ACCOUNT))
#define GEARY_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_ACCOUNT, GearyAccountClass))

typedef struct _GearyAccount GearyAccount;
typedef struct _GearyAccountClass GearyAccountClass;

#define GEARY_TYPE_FOLDER_PROPERTIES (geary_folder_properties_get_type ())
#define GEARY_FOLDER_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_FOLDER_PROPERTIES, GearyFolderProperties))
#define GEARY_FOLDER_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_FOLDER_PROPERTIES, GearyFolderPropertiesClass))
#define GEARY_IS_FOLDER_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_FOLDER_PROPERTIES))
#define GEARY_IS_FOLDER_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_FOLDER_PROPERTIES))
#define GEARY_FOLDER_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_FOLDER_PROPERTIES, GearyFolderPropertiesClass))

typedef struct _GearyFolderProperties GearyFolderProperties;
typedef struct _GearyFolderPropertiesClass GearyFolderPropertiesClass;

#define GEARY_TYPE_FOLDER_PATH (geary_folder_path_get_type ())
#define GEARY_FOLDER_PATH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_FOLDER_PATH, GearyFolderPath))
#define GEARY_FOLDER_PATH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_FOLDER_PATH, GearyFolderPathClass))
#define GEARY_IS_FOLDER_PATH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_FOLDER_PATH))
#define GEARY_IS_FOLDER_PATH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_FOLDER_PATH))
#define GEARY_FOLDER_PATH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_FOLDER_PATH, GearyFolderPathClass))

typedef struct _GearyFolderPath GearyFolderPath;
typedef struct _GearyFolderPathClass GearyFolderPathClass;
typedef enum  {
	GEARY_FOLDER_SPECIAL_USE_NONE,
	GEARY_FOLDER_SPECIAL_USE_INBOX,
	GEARY_FOLDER_SPECIAL_USE_ARCHIVE,
	GEARY_FOLDER_SPECIAL_USE_DRAFTS,
	GEARY_FOLDER_SPECIAL_USE_JUNK,
	GEARY_FOLDER_SPECIAL_USE_OUTBOX,
	GEARY_FOLDER_SPECIAL_USE_SENT,
	GEARY_FOLDER_SPECIAL_USE_TRASH,
	GEARY_FOLDER_SPECIAL_USE_ALL_MAIL,
	GEARY_FOLDER_SPECIAL_USE_FLAGGED,
	GEARY_FOLDER_SPECIAL_USE_IMPORTANT,
	GEARY_FOLDER_SPECIAL_USE_SEARCH,
	GEARY_FOLDER_SPECIAL_USE_CUSTOM
} GearyFolderSpecialUse;

#define GEARY_FOLDER_TYPE_SPECIAL_USE (geary_folder_special_use_get_type ())

#define GEARY_TYPE_PROGRESS_MONITOR (geary_progress_monitor_get_type ())
#define GEARY_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_PROGRESS_MONITOR, GearyProgressMonitor))
#define GEARY_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_PROGRESS_MONITOR, GearyProgressMonitorClass))
#define GEARY_IS_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_PROGRESS_MONITOR))
#define GEARY_IS_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_PROGRESS_MONITOR))
#define GEARY_PROGRESS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_PROGRESS_MONITOR, GearyProgressMonitorClass))

typedef struct _GearyProgressMonitor GearyProgressMonitor;
typedef struct _GearyProgressMonitorClass GearyProgressMonitorClass;
typedef enum  {
	GEARY_FOLDER_OPEN_STATE_CLOSED,
	GEARY_FOLDER_OPEN_STATE_LOCAL,
	GEARY_FOLDER_OPEN_STATE_REMOTE
} GearyFolderOpenState;

#define GEARY_FOLDER_TYPE_OPEN_STATE (geary_folder_open_state_get_type ())
typedef enum  {
	GEARY_FOLDER_OPEN_FAILED_LOCAL_ERROR,
	GEARY_FOLDER_OPEN_FAILED_REMOTE_ERROR
} GearyFolderOpenFailed;

#define GEARY_FOLDER_TYPE_OPEN_FAILED (geary_folder_open_failed_get_type ())
typedef enum  {
	GEARY_FOLDER_CLOSE_REASON_LOCAL_CLOSE,
	GEARY_FOLDER_CLOSE_REASON_LOCAL_ERROR,
	GEARY_FOLDER_CLOSE_REASON_REMOTE_CLOSE,
	GEARY_FOLDER_CLOSE_REASON_REMOTE_ERROR,
	GEARY_FOLDER_CLOSE_REASON_FOLDER_CLOSED
} GearyFolderCloseReason;

#define GEARY_FOLDER_TYPE_CLOSE_REASON (geary_folder_close_reason_get_type ())

#define GEARY_TYPE_EMAIL_IDENTIFIER (geary_email_identifier_get_type ())
#define GEARY_EMAIL_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_EMAIL_IDENTIFIER, GearyEmailIdentifier))
#define GEARY_EMAIL_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_EMAIL_IDENTIFIER, GearyEmailIdentifierClass))
#define GEARY_IS_EMAIL_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_EMAIL_IDENTIFIER))
#define GEARY_IS_EMAIL_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_EMAIL_IDENTIFIER))
#define GEARY_EMAIL_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_EMAIL_IDENTIFIER, GearyEmailIdentifierClass))

typedef struct _GearyEmailIdentifier GearyEmailIdentifier;
typedef struct _GearyEmailIdentifierClass GearyEmailIdentifierClass;
typedef enum  {
	GEARY_FOLDER_COUNT_CHANGE_REASON_NONE = 0,
	GEARY_FOLDER_COUNT_CHANGE_REASON_APPENDED = 1 << 0,
	GEARY_FOLDER_COUNT_CHANGE_REASON_INSERTED = 1 << 1,
	GEARY_FOLDER_COUNT_CHANGE_REASON_REMOVED = 1 << 2
} GearyFolderCountChangeReason;

#define GEARY_FOLDER_TYPE_COUNT_CHANGE_REASON (geary_folder_count_change_reason_get_type ())

#define GEARY_TYPE_NAMED_FLAGS (geary_named_flags_get_type ())
#define GEARY_NAMED_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_NAMED_FLAGS, GearyNamedFlags))
#define GEARY_NAMED_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_NAMED_FLAGS, GearyNamedFlagsClass))
#define GEARY_IS_NAMED_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_NAMED_FLAGS))
#define GEARY_IS_NAMED_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_NAMED_FLAGS))
#define GEARY_NAMED_FLAGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_NAMED_FLAGS, GearyNamedFlagsClass))

typedef struct _GearyNamedFlags GearyNamedFlags;
typedef struct _GearyNamedFlagsClass GearyNamedFlagsClass;

#define GEARY_TYPE_EMAIL_FLAGS (geary_email_flags_get_type ())
#define GEARY_EMAIL_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_EMAIL_FLAGS, GearyEmailFlags))
#define GEARY_EMAIL_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_EMAIL_FLAGS, GearyEmailFlagsClass))
#define GEARY_IS_EMAIL_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_EMAIL_FLAGS))
#define GEARY_IS_EMAIL_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_EMAIL_FLAGS))
#define GEARY_EMAIL_FLAGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_EMAIL_FLAGS, GearyEmailFlagsClass))

typedef struct _GearyEmailFlags GearyEmailFlags;
typedef struct _GearyEmailFlagsClass GearyEmailFlagsClass;
typedef enum  {
	GEARY_FOLDER_OPEN_FLAGS_NONE = 0,
	GEARY_FOLDER_OPEN_FLAGS_NO_DELAY = 1 << 0
} GearyFolderOpenFlags;

#define GEARY_FOLDER_TYPE_OPEN_FLAGS (geary_folder_open_flags_get_type ())
typedef enum  {
	GEARY_EMAIL_FIELD_NONE = 0,
	GEARY_EMAIL_FIELD_DATE = 1 << 0,
	GEARY_EMAIL_FIELD_ORIGINATORS = 1 << 1,
	GEARY_EMAIL_FIELD_RECEIVERS = 1 << 2,
	GEARY_EMAIL_FIELD_REFERENCES = 1 << 3,
	GEARY_EMAIL_FIELD_SUBJECT = 1 << 4,
	GEARY_EMAIL_FIELD_HEADER = 1 << 5,
	GEARY_EMAIL_FIELD_BODY = 1 << 6,
	GEARY_EMAIL_FIELD_PROPERTIES = 1 << 7,
	GEARY_EMAIL_FIELD_PREVIEW = 1 << 8,
	GEARY_EMAIL_FIELD_FLAGS = 1 << 9,
	GEARY_EMAIL_FIELD_ENVELOPE = (((GEARY_EMAIL_FIELD_DATE | GEARY_EMAIL_FIELD_ORIGINATORS) | GEARY_EMAIL_FIELD_RECEIVERS) | GEARY_EMAIL_FIELD_REFERENCES) | GEARY_EMAIL_FIELD_SUBJECT,
	GEARY_EMAIL_FIELD_ALL = ((((((((GEARY_EMAIL_FIELD_DATE | GEARY_EMAIL_FIELD_ORIGINATORS) | GEARY_EMAIL_FIELD_RECEIVERS) | GEARY_EMAIL_FIELD_REFERENCES) | GEARY_EMAIL_FIELD_SUBJECT) | GEARY_EMAIL_FIELD_HEADER) | GEARY_EMAIL_FIELD_BODY) | GEARY_EMAIL_FIELD_PROPERTIES) | GEARY_EMAIL_FIELD_PREVIEW) | GEARY_EMAIL_FIELD_FLAGS
} GearyEmailField;

#define GEARY_EMAIL_TYPE_FIELD (geary_email_field_get_type ())
typedef enum  {
	GEARY_FOLDER_LIST_FLAGS_NONE = 0,
	GEARY_FOLDER_LIST_FLAGS_LOCAL_ONLY = 1 << 0,
	GEARY_FOLDER_LIST_FLAGS_FORCE_UPDATE = 1 << 1,
	GEARY_FOLDER_LIST_FLAGS_INCLUDING_ID = 1 << 2,
	GEARY_FOLDER_LIST_FLAGS_OLDEST_TO_NEWEST = 1 << 3,
	GEARY_FOLDER_LIST_FLAGS_NO_UNREAD_UPDATE = 1 << 4
} GearyFolderListFlags;

#define GEARY_FOLDER_TYPE_LIST_FLAGS (geary_folder_list_flags_get_type ())

#define GEARY_TYPE_EMAIL (geary_email_get_type ())
#define GEARY_EMAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_EMAIL, GearyEmail))
#define GEARY_EMAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_EMAIL, GearyEmailClass))
#define GEARY_IS_EMAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_EMAIL))
#define GEARY_IS_EMAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_EMAIL))
#define GEARY_EMAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_EMAIL, GearyEmailClass))

typedef struct _GearyEmail GearyEmail;
typedef struct _GearyEmailClass GearyEmailClass;

#define GEARY_TYPE_ENGINE_ERROR (geary_engine_error_get_type ())

#define GEARY_TYPE_ABSTRACT_LOCAL_FOLDER (geary_abstract_local_folder_get_type ())
#define GEARY_ABSTRACT_LOCAL_FOLDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_ABSTRACT_LOCAL_FOLDER, GearyAbstractLocalFolder))
#define GEARY_ABSTRACT_LOCAL_FOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_ABSTRACT_LOCAL_FOLDER, GearyAbstractLocalFolderClass))
#define GEARY_IS_ABSTRACT_LOCAL_FOLDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_ABSTRACT_LOCAL_FOLDER))
#define GEARY_IS_ABSTRACT_LOCAL_FOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_ABSTRACT_LOCAL_FOLDER))
#define GEARY_ABSTRACT_LOCAL_FOLDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_ABSTRACT_LOCAL_FOLDER, GearyAbstractLocalFolderClass))

typedef struct _GearyAbstractLocalFolder GearyAbstractLocalFolder;
typedef struct _GearyAbstractLocalFolderClass GearyAbstractLocalFolderClass;
typedef struct _GearyAbstractLocalFolderPrivate GearyAbstractLocalFolderPrivate;
typedef struct _GearyAccountPrivate GearyAccountPrivate;

#define GEARY_MESSAGE_DATA_TYPE_ABSTRACT_MESSAGE_DATA (geary_message_data_abstract_message_data_get_type ())
#define GEARY_MESSAGE_DATA_ABSTRACT_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MESSAGE_DATA_TYPE_ABSTRACT_MESSAGE_DATA, GearyMessageDataAbstractMessageData))
#define GEARY_MESSAGE_DATA_ABSTRACT_MESSAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MESSAGE_DATA_TYPE_ABSTRACT_MESSAGE_DATA, GearyMessageDataAbstractMessageDataClass))
#define GEARY_MESSAGE_DATA_IS_ABSTRACT_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MESSAGE_DATA_TYPE_ABSTRACT_MESSAGE_DATA))
#define GEARY_MESSAGE_DATA_IS_ABSTRACT_MESSAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MESSAGE_DATA_TYPE_ABSTRACT_MESSAGE_DATA))
#define GEARY_MESSAGE_DATA_ABSTRACT_MESSAGE_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MESSAGE_DATA_TYPE_ABSTRACT_MESSAGE_DATA, GearyMessageDataAbstractMessageDataClass))

typedef struct _GearyMessageDataAbstractMessageData GearyMessageDataAbstractMessageData;
typedef struct _GearyMessageDataAbstractMessageDataClass GearyMessageDataAbstractMessageDataClass;

#define GEARY_MESSAGE_DATA_TYPE_STRING_MESSAGE_DATA (geary_message_data_string_message_data_get_type ())
#define GEARY_MESSAGE_DATA_STRING_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MESSAGE_DATA_TYPE_STRING_MESSAGE_DATA, GearyMessageDataStringMessageData))
#define GEARY_MESSAGE_DATA_STRING_MESSAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MESSAGE_DATA_TYPE_STRING_MESSAGE_DATA, GearyMessageDataStringMessageDataClass))
#define GEARY_MESSAGE_DATA_IS_STRING_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MESSAGE_DATA_TYPE_STRING_MESSAGE_DATA))
#define GEARY_MESSAGE_DATA_IS_STRING_MESSAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MESSAGE_DATA_TYPE_STRING_MESSAGE_DATA))
#define GEARY_MESSAGE_DATA_STRING_MESSAGE_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MESSAGE_DATA_TYPE_STRING_MESSAGE_DATA, GearyMessageDataStringMessageDataClass))

typedef struct _GearyMessageDataStringMessageData GearyMessageDataStringMessageData;
typedef struct _GearyMessageDataStringMessageDataClass GearyMessageDataStringMessageDataClass;

#define GEARY_RF_C822_TYPE_MESSAGE_ID (geary_rf_c822_message_id_get_type ())
#define GEARY_RF_C822_MESSAGE_ID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_MESSAGE_ID, GearyRFC822MessageID))
#define GEARY_RF_C822_MESSAGE_ID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_MESSAGE_ID, GearyRFC822MessageIDClass))
#define GEARY_RF_C822_IS_MESSAGE_ID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_MESSAGE_ID))
#define GEARY_RF_C822_IS_MESSAGE_ID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_MESSAGE_ID))
#define GEARY_RF_C822_MESSAGE_ID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_MESSAGE_ID, GearyRFC822MessageIDClass))

typedef struct _GearyRFC822MessageID GearyRFC822MessageID;
typedef struct _GearyRFC822MessageIDClass GearyRFC822MessageIDClass;

#define GEARY_SEARCH_QUERY_TYPE_TERM (geary_search_query_term_get_type ())
#define GEARY_SEARCH_QUERY_TERM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SEARCH_QUERY_TYPE_TERM, GearySearchQueryTerm))
#define GEARY_SEARCH_QUERY_TERM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SEARCH_QUERY_TYPE_TERM, GearySearchQueryTermClass))
#define GEARY_SEARCH_QUERY_IS_TERM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SEARCH_QUERY_TYPE_TERM))
#define GEARY_SEARCH_QUERY_IS_TERM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SEARCH_QUERY_TYPE_TERM))
#define GEARY_SEARCH_QUERY_TERM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SEARCH_QUERY_TYPE_TERM, GearySearchQueryTermClass))

typedef struct _GearySearchQueryTerm GearySearchQueryTerm;
typedef struct _GearySearchQueryTermClass GearySearchQueryTermClass;

#define GEARY_TYPE_SEARCH_QUERY (geary_search_query_get_type ())
#define GEARY_SEARCH_QUERY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_SEARCH_QUERY, GearySearchQuery))
#define GEARY_SEARCH_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_SEARCH_QUERY, GearySearchQueryClass))
#define GEARY_IS_SEARCH_QUERY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_SEARCH_QUERY))
#define GEARY_IS_SEARCH_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_SEARCH_QUERY))
#define GEARY_SEARCH_QUERY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_SEARCH_QUERY, GearySearchQueryClass))

typedef struct _GearySearchQuery GearySearchQuery;
typedef struct _GearySearchQueryClass GearySearchQueryClass;

#define GEARY_TYPE_PROBLEM_REPORT (geary_problem_report_get_type ())
#define GEARY_PROBLEM_REPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_PROBLEM_REPORT, GearyProblemReport))
#define GEARY_PROBLEM_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_PROBLEM_REPORT, GearyProblemReportClass))
#define GEARY_IS_PROBLEM_REPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_PROBLEM_REPORT))
#define GEARY_IS_PROBLEM_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_PROBLEM_REPORT))
#define GEARY_PROBLEM_REPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_PROBLEM_REPORT, GearyProblemReportClass))

typedef struct _GearyProblemReport GearyProblemReport;
typedef struct _GearyProblemReportClass GearyProblemReportClass;

#define GEARY_TYPE_SERVICE_INFORMATION (geary_service_information_get_type ())
#define GEARY_SERVICE_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_SERVICE_INFORMATION, GearyServiceInformation))
#define GEARY_SERVICE_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_SERVICE_INFORMATION, GearyServiceInformationClass))
#define GEARY_IS_SERVICE_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_SERVICE_INFORMATION))
#define GEARY_IS_SERVICE_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_SERVICE_INFORMATION))
#define GEARY_SERVICE_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_SERVICE_INFORMATION, GearyServiceInformationClass))

typedef struct _GearyServiceInformation GearyServiceInformation;
typedef struct _GearyServiceInformationClass GearyServiceInformationClass;
typedef enum  {
	GEARY_ACCOUNT_STATUS_ONLINE = 1 << 0,
	GEARY_ACCOUNT_STATUS_SERVICE_PROBLEM = 1 << 1
} GearyAccountStatus;

#define GEARY_ACCOUNT_TYPE_STATUS (geary_account_status_get_type ())

#define GEARY_TYPE_ACCOUNT_INFORMATION (geary_account_information_get_type ())
#define GEARY_ACCOUNT_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_ACCOUNT_INFORMATION, GearyAccountInformation))
#define GEARY_ACCOUNT_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_ACCOUNT_INFORMATION, GearyAccountInformationClass))
#define GEARY_IS_ACCOUNT_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_ACCOUNT_INFORMATION))
#define GEARY_IS_ACCOUNT_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_ACCOUNT_INFORMATION))
#define GEARY_ACCOUNT_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_ACCOUNT_INFORMATION, GearyAccountInformationClass))

typedef struct _GearyAccountInformation GearyAccountInformation;
typedef struct _GearyAccountInformationClass GearyAccountInformationClass;

#define GEARY_TYPE_CLIENT_SERVICE (geary_client_service_get_type ())
#define GEARY_CLIENT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_CLIENT_SERVICE, GearyClientService))
#define GEARY_CLIENT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_CLIENT_SERVICE, GearyClientServiceClass))
#define GEARY_IS_CLIENT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_CLIENT_SERVICE))
#define GEARY_IS_CLIENT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_CLIENT_SERVICE))
#define GEARY_CLIENT_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_CLIENT_SERVICE, GearyClientServiceClass))

typedef struct _GearyClientService GearyClientService;
typedef struct _GearyClientServiceClass GearyClientServiceClass;

#define GEARY_TYPE_CONTACT_STORE (geary_contact_store_get_type ())
#define GEARY_CONTACT_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_CONTACT_STORE, GearyContactStore))
#define GEARY_IS_CONTACT_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_CONTACT_STORE))
#define GEARY_CONTACT_STORE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_TYPE_CONTACT_STORE, GearyContactStoreIface))

typedef struct _GearyContactStore GearyContactStore;
typedef struct _GearyContactStoreIface GearyContactStoreIface;

#define GEARY_RF_C822_TYPE_MAILBOX_ADDRESS (geary_rf_c822_mailbox_address_get_type ())
#define GEARY_RF_C822_MAILBOX_ADDRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_MAILBOX_ADDRESS, GearyRFC822MailboxAddress))
#define GEARY_RF_C822_MAILBOX_ADDRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_MAILBOX_ADDRESS, GearyRFC822MailboxAddressClass))
#define GEARY_RF_C822_IS_MAILBOX_ADDRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_MAILBOX_ADDRESS))
#define GEARY_RF_C822_IS_MAILBOX_ADDRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_MAILBOX_ADDRESS))
#define GEARY_RF_C822_MAILBOX_ADDRESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_MAILBOX_ADDRESS, GearyRFC822MailboxAddressClass))

typedef struct _GearyRFC822MailboxAddress GearyRFC822MailboxAddress;
typedef struct _GearyRFC822MailboxAddressClass GearyRFC822MailboxAddressClass;

#define GEARY_TYPE_CONTACT (geary_contact_get_type ())
#define GEARY_CONTACT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_CONTACT, GearyContact))
#define GEARY_CONTACT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_CONTACT, GearyContactClass))
#define GEARY_IS_CONTACT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_CONTACT))
#define GEARY_IS_CONTACT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_CONTACT))
#define GEARY_CONTACT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_CONTACT, GearyContactClass))

typedef struct _GearyContact GearyContact;
typedef struct _GearyContactClass GearyContactClass;

#define GEARY_TYPE_FOLDER_ROOT (geary_folder_root_get_type ())
#define GEARY_FOLDER_ROOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_FOLDER_ROOT, GearyFolderRoot))
#define GEARY_FOLDER_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_FOLDER_ROOT, GearyFolderRootClass))
#define GEARY_IS_FOLDER_ROOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_FOLDER_ROOT))
#define GEARY_IS_FOLDER_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_FOLDER_ROOT))
#define GEARY_FOLDER_ROOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_FOLDER_ROOT, GearyFolderRootClass))

typedef struct _GearyFolderRoot GearyFolderRoot;
typedef struct _GearyFolderRootClass GearyFolderRootClass;
typedef struct _GearyAccountInformationPrivate GearyAccountInformationPrivate;
typedef enum  {
	GEARY_SERVICE_PROVIDER_GMAIL,
	GEARY_SERVICE_PROVIDER_OUTLOOK,
	GEARY_SERVICE_PROVIDER_OTHER
} GearyServiceProvider;

#define GEARY_TYPE_SERVICE_PROVIDER (geary_service_provider_get_type ())

#define GEARY_TYPE_CREDENTIALS_MEDIATOR (geary_credentials_mediator_get_type ())
#define GEARY_CREDENTIALS_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_CREDENTIALS_MEDIATOR, GearyCredentialsMediator))
#define GEARY_IS_CREDENTIALS_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_CREDENTIALS_MEDIATOR))
#define GEARY_CREDENTIALS_MEDIATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_TYPE_CREDENTIALS_MEDIATOR, GearyCredentialsMediatorIface))

typedef struct _GearyCredentialsMediator GearyCredentialsMediator;
typedef struct _GearyCredentialsMediatorIface GearyCredentialsMediatorIface;

#define GEARY_NONBLOCKING_TYPE_MUTEX (geary_nonblocking_mutex_get_type ())
#define GEARY_NONBLOCKING_MUTEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_NONBLOCKING_TYPE_MUTEX, GearyNonblockingMutex))
#define GEARY_NONBLOCKING_MUTEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_NONBLOCKING_TYPE_MUTEX, GearyNonblockingMutexClass))
#define GEARY_NONBLOCKING_IS_MUTEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_NONBLOCKING_TYPE_MUTEX))
#define GEARY_NONBLOCKING_IS_MUTEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_NONBLOCKING_TYPE_MUTEX))
#define GEARY_NONBLOCKING_MUTEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_NONBLOCKING_TYPE_MUTEX, GearyNonblockingMutexClass))

typedef struct _GearyNonblockingMutex GearyNonblockingMutex;
typedef struct _GearyNonblockingMutexClass GearyNonblockingMutexClass;

#define GEARY_TYPE_CREDENTIALS (geary_credentials_get_type ())
#define GEARY_CREDENTIALS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_CREDENTIALS, GearyCredentials))
#define GEARY_CREDENTIALS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_CREDENTIALS, GearyCredentialsClass))
#define GEARY_IS_CREDENTIALS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_CREDENTIALS))
#define GEARY_IS_CREDENTIALS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_CREDENTIALS))
#define GEARY_CREDENTIALS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_CREDENTIALS, GearyCredentialsClass))

typedef struct _GearyCredentials GearyCredentials;
typedef struct _GearyCredentialsClass GearyCredentialsClass;

#define GEARY_TYPE_ATTACHMENT (geary_attachment_get_type ())
#define GEARY_ATTACHMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_ATTACHMENT, GearyAttachment))
#define GEARY_ATTACHMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_ATTACHMENT, GearyAttachmentClass))
#define GEARY_IS_ATTACHMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_ATTACHMENT))
#define GEARY_IS_ATTACHMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_ATTACHMENT))
#define GEARY_ATTACHMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_ATTACHMENT, GearyAttachmentClass))

typedef struct _GearyAttachment GearyAttachment;
typedef struct _GearyAttachmentClass GearyAttachmentClass;
typedef struct _GearyAttachmentPrivate GearyAttachmentPrivate;

#define GEARY_MIME_TYPE_CONTENT_TYPE (geary_mime_content_type_get_type ())
#define GEARY_MIME_CONTENT_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MIME_TYPE_CONTENT_TYPE, GearyMimeContentType))
#define GEARY_MIME_CONTENT_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MIME_TYPE_CONTENT_TYPE, GearyMimeContentTypeClass))
#define GEARY_MIME_IS_CONTENT_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MIME_TYPE_CONTENT_TYPE))
#define GEARY_MIME_IS_CONTENT_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MIME_TYPE_CONTENT_TYPE))
#define GEARY_MIME_CONTENT_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MIME_TYPE_CONTENT_TYPE, GearyMimeContentTypeClass))

typedef struct _GearyMimeContentType GearyMimeContentType;
typedef struct _GearyMimeContentTypeClass GearyMimeContentTypeClass;

#define GEARY_MIME_TYPE_CONTENT_DISPOSITION (geary_mime_content_disposition_get_type ())
#define GEARY_MIME_CONTENT_DISPOSITION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MIME_TYPE_CONTENT_DISPOSITION, GearyMimeContentDisposition))
#define GEARY_MIME_CONTENT_DISPOSITION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MIME_TYPE_CONTENT_DISPOSITION, GearyMimeContentDispositionClass))
#define GEARY_MIME_IS_CONTENT_DISPOSITION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MIME_TYPE_CONTENT_DISPOSITION))
#define GEARY_MIME_IS_CONTENT_DISPOSITION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MIME_TYPE_CONTENT_DISPOSITION))
#define GEARY_MIME_CONTENT_DISPOSITION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MIME_TYPE_CONTENT_DISPOSITION, GearyMimeContentDispositionClass))

typedef struct _GearyMimeContentDisposition GearyMimeContentDisposition;
typedef struct _GearyMimeContentDispositionClass GearyMimeContentDispositionClass;
typedef struct _GearyClientServicePrivate GearyClientServicePrivate;
typedef enum  {
	GEARY_CLIENT_SERVICE_STATUS_UNKNOWN,
	GEARY_CLIENT_SERVICE_STATUS_UNREACHABLE,
	GEARY_CLIENT_SERVICE_STATUS_CONNECTED,
	GEARY_CLIENT_SERVICE_STATUS_CONNECTION_FAILED,
	GEARY_CLIENT_SERVICE_STATUS_AUTHENTICATION_FAILED,
	GEARY_CLIENT_SERVICE_STATUS_TLS_VALIDATION_FAILED,
	GEARY_CLIENT_SERVICE_STATUS_UNRECOVERABLE_ERROR
} GearyClientServiceStatus;

#define GEARY_CLIENT_SERVICE_TYPE_STATUS (geary_client_service_status_get_type ())

#define GEARY_TYPE_ENDPOINT (geary_endpoint_get_type ())
#define GEARY_ENDPOINT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_ENDPOINT, GearyEndpoint))
#define GEARY_ENDPOINT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_ENDPOINT, GearyEndpointClass))
#define GEARY_IS_ENDPOINT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_ENDPOINT))
#define GEARY_IS_ENDPOINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_ENDPOINT))
#define GEARY_ENDPOINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_ENDPOINT, GearyEndpointClass))

typedef struct _GearyEndpoint GearyEndpoint;
typedef struct _GearyEndpointClass GearyEndpointClass;

#define GEARY_TYPE_ERROR_CONTEXT (geary_error_context_get_type ())
#define GEARY_ERROR_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_ERROR_CONTEXT, GearyErrorContext))
#define GEARY_ERROR_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_ERROR_CONTEXT, GearyErrorContextClass))
#define GEARY_IS_ERROR_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_ERROR_CONTEXT))
#define GEARY_IS_ERROR_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_ERROR_CONTEXT))
#define GEARY_ERROR_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_ERROR_CONTEXT, GearyErrorContextClass))

typedef struct _GearyErrorContext GearyErrorContext;
typedef struct _GearyErrorContextClass GearyErrorContextClass;

#define GEARY_TYPE_EMAIL_HEADER_SET (geary_email_header_set_get_type ())
#define GEARY_EMAIL_HEADER_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_EMAIL_HEADER_SET, GearyEmailHeaderSet))
#define GEARY_IS_EMAIL_HEADER_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_EMAIL_HEADER_SET))
#define GEARY_EMAIL_HEADER_SET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_TYPE_EMAIL_HEADER_SET, GearyEmailHeaderSetIface))

typedef struct _GearyEmailHeaderSet GearyEmailHeaderSet;
typedef struct _GearyEmailHeaderSetIface GearyEmailHeaderSetIface;

#define GEARY_RF_C822_TYPE_MAILBOX_ADDRESSES (geary_rf_c822_mailbox_addresses_get_type ())
#define GEARY_RF_C822_MAILBOX_ADDRESSES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_MAILBOX_ADDRESSES, GearyRFC822MailboxAddresses))
#define GEARY_RF_C822_MAILBOX_ADDRESSES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_MAILBOX_ADDRESSES, GearyRFC822MailboxAddressesClass))
#define GEARY_RF_C822_IS_MAILBOX_ADDRESSES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_MAILBOX_ADDRESSES))
#define GEARY_RF_C822_IS_MAILBOX_ADDRESSES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_MAILBOX_ADDRESSES))
#define GEARY_RF_C822_MAILBOX_ADDRESSES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_MAILBOX_ADDRESSES, GearyRFC822MailboxAddressesClass))

typedef struct _GearyRFC822MailboxAddresses GearyRFC822MailboxAddresses;
typedef struct _GearyRFC822MailboxAddressesClass GearyRFC822MailboxAddressesClass;

#define GEARY_RF_C822_TYPE_MESSAGE_ID_LIST (geary_rf_c822_message_id_list_get_type ())
#define GEARY_RF_C822_MESSAGE_ID_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_MESSAGE_ID_LIST, GearyRFC822MessageIDList))
#define GEARY_RF_C822_MESSAGE_ID_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_MESSAGE_ID_LIST, GearyRFC822MessageIDListClass))
#define GEARY_RF_C822_IS_MESSAGE_ID_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_MESSAGE_ID_LIST))
#define GEARY_RF_C822_IS_MESSAGE_ID_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_MESSAGE_ID_LIST))
#define GEARY_RF_C822_MESSAGE_ID_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_MESSAGE_ID_LIST, GearyRFC822MessageIDListClass))

typedef struct _GearyRFC822MessageIDList GearyRFC822MessageIDList;
typedef struct _GearyRFC822MessageIDListClass GearyRFC822MessageIDListClass;

#define GEARY_RF_C822_TYPE_SUBJECT (geary_rf_c822_subject_get_type ())
#define GEARY_RF_C822_SUBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_SUBJECT, GearyRFC822Subject))
#define GEARY_RF_C822_SUBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_SUBJECT, GearyRFC822SubjectClass))
#define GEARY_RF_C822_IS_SUBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_SUBJECT))
#define GEARY_RF_C822_IS_SUBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_SUBJECT))
#define GEARY_RF_C822_SUBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_SUBJECT, GearyRFC822SubjectClass))

typedef struct _GearyRFC822Subject GearyRFC822Subject;
typedef struct _GearyRFC822SubjectClass GearyRFC822SubjectClass;

#define GEARY_RF_C822_TYPE_DATE (geary_rf_c822_date_get_type ())
#define GEARY_RF_C822_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_DATE, GearyRFC822Date))
#define GEARY_RF_C822_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_DATE, GearyRFC822DateClass))
#define GEARY_RF_C822_IS_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_DATE))
#define GEARY_RF_C822_IS_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_DATE))
#define GEARY_RF_C822_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_DATE, GearyRFC822DateClass))

typedef struct _GearyRFC822Date GearyRFC822Date;
typedef struct _GearyRFC822DateClass GearyRFC822DateClass;

#define GEARY_TYPE_COMPOSED_EMAIL (geary_composed_email_get_type ())
#define GEARY_COMPOSED_EMAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_COMPOSED_EMAIL, GearyComposedEmail))
#define GEARY_COMPOSED_EMAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_COMPOSED_EMAIL, GearyComposedEmailClass))
#define GEARY_IS_COMPOSED_EMAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_COMPOSED_EMAIL))
#define GEARY_IS_COMPOSED_EMAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_COMPOSED_EMAIL))
#define GEARY_COMPOSED_EMAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_COMPOSED_EMAIL, GearyComposedEmailClass))

typedef struct _GearyComposedEmail GearyComposedEmail;
typedef struct _GearyComposedEmailClass GearyComposedEmailClass;
typedef struct _GearyComposedEmailPrivate GearyComposedEmailPrivate;

#define GEARY_MEMORY_TYPE_BUFFER (geary_memory_buffer_get_type ())
#define GEARY_MEMORY_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MEMORY_TYPE_BUFFER, GearyMemoryBuffer))
#define GEARY_MEMORY_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MEMORY_TYPE_BUFFER, GearyMemoryBufferClass))
#define GEARY_MEMORY_IS_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MEMORY_TYPE_BUFFER))
#define GEARY_MEMORY_IS_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MEMORY_TYPE_BUFFER))
#define GEARY_MEMORY_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MEMORY_TYPE_BUFFER, GearyMemoryBufferClass))

typedef struct _GearyMemoryBuffer GearyMemoryBuffer;
typedef struct _GearyMemoryBufferClass GearyMemoryBufferClass;
typedef struct _GearyContactPrivate GearyContactPrivate;
typedef enum  {
	GEARY_CONTACT_IMPORTANCE_DESKTOP = 200,
	GEARY_CONTACT_IMPORTANCE_SENT_TO = 100,
	GEARY_CONTACT_IMPORTANCE_RECEIVED_FROM = 70,
	GEARY_CONTACT_IMPORTANCE_SEEN = 30
} GearyContactImportance;

#define GEARY_CONTACT_TYPE_IMPORTANCE (geary_contact_importance_get_type ())

#define GEARY_CONTACT_TYPE_FLAGS (geary_contact_flags_get_type ())
#define GEARY_CONTACT_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_CONTACT_TYPE_FLAGS, GearyContactFlags))
#define GEARY_CONTACT_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_CONTACT_TYPE_FLAGS, GearyContactFlagsClass))
#define GEARY_CONTACT_IS_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_CONTACT_TYPE_FLAGS))
#define GEARY_CONTACT_IS_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_CONTACT_TYPE_FLAGS))
#define GEARY_CONTACT_FLAGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_CONTACT_TYPE_FLAGS, GearyContactFlagsClass))

typedef struct _GearyContactFlags GearyContactFlags;
typedef struct _GearyContactFlagsClass GearyContactFlagsClass;
typedef struct _GearyNamedFlagsPrivate GearyNamedFlagsPrivate;

#define GEARY_TYPE_NAMED_FLAG (geary_named_flag_get_type ())
#define GEARY_NAMED_FLAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_NAMED_FLAG, GearyNamedFlag))
#define GEARY_NAMED_FLAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_NAMED_FLAG, GearyNamedFlagClass))
#define GEARY_IS_NAMED_FLAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_NAMED_FLAG))
#define GEARY_IS_NAMED_FLAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_NAMED_FLAG))
#define GEARY_NAMED_FLAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_NAMED_FLAG, GearyNamedFlagClass))

typedef struct _GearyNamedFlag GearyNamedFlag;
typedef struct _GearyNamedFlagClass GearyNamedFlagClass;
typedef struct _GearyContactFlagsPrivate GearyContactFlagsPrivate;
typedef struct _GearyCredentialsPrivate GearyCredentialsPrivate;
typedef enum  {
	GEARY_CREDENTIALS_METHOD_PASSWORD,
	GEARY_CREDENTIALS_METHOD_OAUTH2
} GearyCredentialsMethod;

#define GEARY_CREDENTIALS_TYPE_METHOD (geary_credentials_method_get_type ())
typedef enum  {
	GEARY_CREDENTIALS_REQUIREMENT_NONE,
	GEARY_CREDENTIALS_REQUIREMENT_USE_INCOMING,
	GEARY_CREDENTIALS_REQUIREMENT_CUSTOM
} GearyCredentialsRequirement;

#define GEARY_CREDENTIALS_TYPE_REQUIREMENT (geary_credentials_requirement_get_type ())
typedef struct _GearyEmailFlagsPrivate GearyEmailFlagsPrivate;
typedef struct _GearyEmailIdentifierPrivate GearyEmailIdentifierPrivate;

#define GEARY_TYPE_EMAIL_PROPERTIES (geary_email_properties_get_type ())
#define GEARY_EMAIL_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_EMAIL_PROPERTIES, GearyEmailProperties))
#define GEARY_EMAIL_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_EMAIL_PROPERTIES, GearyEmailPropertiesClass))
#define GEARY_IS_EMAIL_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_EMAIL_PROPERTIES))
#define GEARY_IS_EMAIL_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_EMAIL_PROPERTIES))
#define GEARY_EMAIL_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_EMAIL_PROPERTIES, GearyEmailPropertiesClass))

typedef struct _GearyEmailProperties GearyEmailProperties;
typedef struct _GearyEmailPropertiesClass GearyEmailPropertiesClass;
typedef struct _GearyEmailPropertiesPrivate GearyEmailPropertiesPrivate;
typedef struct _GearyEmailPrivate GearyEmailPrivate;

#define GEARY_MESSAGE_DATA_TYPE_BLOCK_MESSAGE_DATA (geary_message_data_block_message_data_get_type ())
#define GEARY_MESSAGE_DATA_BLOCK_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MESSAGE_DATA_TYPE_BLOCK_MESSAGE_DATA, GearyMessageDataBlockMessageData))
#define GEARY_MESSAGE_DATA_BLOCK_MESSAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MESSAGE_DATA_TYPE_BLOCK_MESSAGE_DATA, GearyMessageDataBlockMessageDataClass))
#define GEARY_MESSAGE_DATA_IS_BLOCK_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MESSAGE_DATA_TYPE_BLOCK_MESSAGE_DATA))
#define GEARY_MESSAGE_DATA_IS_BLOCK_MESSAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MESSAGE_DATA_TYPE_BLOCK_MESSAGE_DATA))
#define GEARY_MESSAGE_DATA_BLOCK_MESSAGE_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MESSAGE_DATA_TYPE_BLOCK_MESSAGE_DATA, GearyMessageDataBlockMessageDataClass))

typedef struct _GearyMessageDataBlockMessageData GearyMessageDataBlockMessageData;
typedef struct _GearyMessageDataBlockMessageDataClass GearyMessageDataBlockMessageDataClass;

#define GEARY_RF_C822_TYPE_HEADER (geary_rf_c822_header_get_type ())
#define GEARY_RF_C822_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_HEADER, GearyRFC822Header))
#define GEARY_RF_C822_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_HEADER, GearyRFC822HeaderClass))
#define GEARY_RF_C822_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_HEADER))
#define GEARY_RF_C822_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_HEADER))
#define GEARY_RF_C822_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_HEADER, GearyRFC822HeaderClass))

typedef struct _GearyRFC822Header GearyRFC822Header;
typedef struct _GearyRFC822HeaderClass GearyRFC822HeaderClass;

#define GEARY_RF_C822_TYPE_TEXT (geary_rf_c822_text_get_type ())
#define GEARY_RF_C822_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_TEXT, GearyRFC822Text))
#define GEARY_RF_C822_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_TEXT, GearyRFC822TextClass))
#define GEARY_RF_C822_IS_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_TEXT))
#define GEARY_RF_C822_IS_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_TEXT))
#define GEARY_RF_C822_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_TEXT, GearyRFC822TextClass))

typedef struct _GearyRFC822Text GearyRFC822Text;
typedef struct _GearyRFC822TextClass GearyRFC822TextClass;

#define GEARY_RF_C822_TYPE_PREVIEW_TEXT (geary_rf_c822_preview_text_get_type ())
#define GEARY_RF_C822_PREVIEW_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_PREVIEW_TEXT, GearyRFC822PreviewText))
#define GEARY_RF_C822_PREVIEW_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_PREVIEW_TEXT, GearyRFC822PreviewTextClass))
#define GEARY_RF_C822_IS_PREVIEW_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_PREVIEW_TEXT))
#define GEARY_RF_C822_IS_PREVIEW_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_PREVIEW_TEXT))
#define GEARY_RF_C822_PREVIEW_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_PREVIEW_TEXT, GearyRFC822PreviewTextClass))

typedef struct _GearyRFC822PreviewText GearyRFC822PreviewText;
typedef struct _GearyRFC822PreviewTextClass GearyRFC822PreviewTextClass;

#define GEARY_RF_C822_TYPE_MESSAGE (geary_rf_c822_message_get_type ())
#define GEARY_RF_C822_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_MESSAGE, GearyRFC822Message))
#define GEARY_RF_C822_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_MESSAGE, GearyRFC822MessageClass))
#define GEARY_RF_C822_IS_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_MESSAGE))
#define GEARY_RF_C822_IS_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_MESSAGE))
#define GEARY_RF_C822_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_MESSAGE, GearyRFC822MessageClass))

typedef struct _GearyRFC822Message GearyRFC822Message;
typedef struct _GearyRFC822MessageClass GearyRFC822MessageClass;
typedef enum  {
	GEARY_TRILLIAN_UNKNOWN = -1,
	GEARY_TRILLIAN_FALSE = 0,
	GEARY_TRILLIAN_TRUE = 1
} GearyTrillian;

#define GEARY_TYPE_TRILLIAN (geary_trillian_get_type ())
typedef struct _GearyEndpointPrivate GearyEndpointPrivate;

#define GEARY_TYPE_CONNECTIVITY_MANAGER (geary_connectivity_manager_get_type ())
#define GEARY_CONNECTIVITY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_CONNECTIVITY_MANAGER, GearyConnectivityManager))
#define GEARY_CONNECTIVITY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_CONNECTIVITY_MANAGER, GearyConnectivityManagerClass))
#define GEARY_IS_CONNECTIVITY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_CONNECTIVITY_MANAGER))
#define GEARY_IS_CONNECTIVITY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_CONNECTIVITY_MANAGER))
#define GEARY_CONNECTIVITY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_CONNECTIVITY_MANAGER, GearyConnectivityManagerClass))

typedef struct _GearyConnectivityManager GearyConnectivityManager;
typedef struct _GearyConnectivityManagerClass GearyConnectivityManagerClass;
typedef enum  {
	GEARY_TLS_NEGOTIATION_METHOD_NONE,
	GEARY_TLS_NEGOTIATION_METHOD_START_TLS,
	GEARY_TLS_NEGOTIATION_METHOD_TRANSPORT
} GearyTlsNegotiationMethod;

#define GEARY_TYPE_TLS_NEGOTIATION_METHOD (geary_tls_negotiation_method_get_type ())

#define GEARY_TYPE_ENGINE (geary_engine_get_type ())
#define GEARY_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_ENGINE, GearyEngine))
#define GEARY_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_ENGINE, GearyEngineClass))
#define GEARY_IS_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_ENGINE))
#define GEARY_IS_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_ENGINE))
#define GEARY_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_ENGINE, GearyEngineClass))

typedef struct _GearyEngine GearyEngine;
typedef struct _GearyEngineClass GearyEngineClass;
typedef struct _GearyEnginePrivate GearyEnginePrivate;
typedef struct _GearyFolderPathPrivate GearyFolderPathPrivate;
typedef struct _GearyFolderRootPrivate GearyFolderRootPrivate;
typedef struct _GearyFolderPropertiesPrivate GearyFolderPropertiesPrivate;

#define GEARY_FOLDER_SUPPORT_TYPE_ARCHIVE (geary_folder_support_archive_get_type ())
#define GEARY_FOLDER_SUPPORT_ARCHIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_FOLDER_SUPPORT_TYPE_ARCHIVE, GearyFolderSupportArchive))
#define GEARY_FOLDER_SUPPORT_IS_ARCHIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_FOLDER_SUPPORT_TYPE_ARCHIVE))
#define GEARY_FOLDER_SUPPORT_ARCHIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_FOLDER_SUPPORT_TYPE_ARCHIVE, GearyFolderSupportArchiveIface))

typedef struct _GearyFolderSupportArchive GearyFolderSupportArchive;
typedef struct _GearyFolderSupportArchiveIface GearyFolderSupportArchiveIface;

#define GEARY_TYPE_REVOKABLE (geary_revokable_get_type ())
#define GEARY_REVOKABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_REVOKABLE, GearyRevokable))
#define GEARY_REVOKABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_REVOKABLE, GearyRevokableClass))
#define GEARY_IS_REVOKABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_REVOKABLE))
#define GEARY_IS_REVOKABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_REVOKABLE))
#define GEARY_REVOKABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_REVOKABLE, GearyRevokableClass))

typedef struct _GearyRevokable GearyRevokable;
typedef struct _GearyRevokableClass GearyRevokableClass;

#define GEARY_FOLDER_SUPPORT_TYPE_COPY (geary_folder_support_copy_get_type ())
#define GEARY_FOLDER_SUPPORT_COPY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_FOLDER_SUPPORT_TYPE_COPY, GearyFolderSupportCopy))
#define GEARY_FOLDER_SUPPORT_IS_COPY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_FOLDER_SUPPORT_TYPE_COPY))
#define GEARY_FOLDER_SUPPORT_COPY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_FOLDER_SUPPORT_TYPE_COPY, GearyFolderSupportCopyIface))

typedef struct _GearyFolderSupportCopy GearyFolderSupportCopy;
typedef struct _GearyFolderSupportCopyIface GearyFolderSupportCopyIface;

#define GEARY_FOLDER_SUPPORT_TYPE_CREATE (geary_folder_support_create_get_type ())
#define GEARY_FOLDER_SUPPORT_CREATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_FOLDER_SUPPORT_TYPE_CREATE, GearyFolderSupportCreate))
#define GEARY_FOLDER_SUPPORT_IS_CREATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_FOLDER_SUPPORT_TYPE_CREATE))
#define GEARY_FOLDER_SUPPORT_CREATE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_FOLDER_SUPPORT_TYPE_CREATE, GearyFolderSupportCreateIface))

typedef struct _GearyFolderSupportCreate GearyFolderSupportCreate;
typedef struct _GearyFolderSupportCreateIface GearyFolderSupportCreateIface;

#define GEARY_FOLDER_SUPPORT_TYPE_EMPTY (geary_folder_support_empty_get_type ())
#define GEARY_FOLDER_SUPPORT_EMPTY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_FOLDER_SUPPORT_TYPE_EMPTY, GearyFolderSupportEmpty))
#define GEARY_FOLDER_SUPPORT_IS_EMPTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_FOLDER_SUPPORT_TYPE_EMPTY))
#define GEARY_FOLDER_SUPPORT_EMPTY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_FOLDER_SUPPORT_TYPE_EMPTY, GearyFolderSupportEmptyIface))

typedef struct _GearyFolderSupportEmpty GearyFolderSupportEmpty;
typedef struct _GearyFolderSupportEmptyIface GearyFolderSupportEmptyIface;

#define GEARY_FOLDER_SUPPORT_TYPE_MARK (geary_folder_support_mark_get_type ())
#define GEARY_FOLDER_SUPPORT_MARK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_FOLDER_SUPPORT_TYPE_MARK, GearyFolderSupportMark))
#define GEARY_FOLDER_SUPPORT_IS_MARK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_FOLDER_SUPPORT_TYPE_MARK))
#define GEARY_FOLDER_SUPPORT_MARK_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_FOLDER_SUPPORT_TYPE_MARK, GearyFolderSupportMarkIface))

typedef struct _GearyFolderSupportMark GearyFolderSupportMark;
typedef struct _GearyFolderSupportMarkIface GearyFolderSupportMarkIface;

#define GEARY_FOLDER_SUPPORT_TYPE_MOVE (geary_folder_support_move_get_type ())
#define GEARY_FOLDER_SUPPORT_MOVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_FOLDER_SUPPORT_TYPE_MOVE, GearyFolderSupportMove))
#define GEARY_FOLDER_SUPPORT_IS_MOVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_FOLDER_SUPPORT_TYPE_MOVE))
#define GEARY_FOLDER_SUPPORT_MOVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_FOLDER_SUPPORT_TYPE_MOVE, GearyFolderSupportMoveIface))

typedef struct _GearyFolderSupportMove GearyFolderSupportMove;
typedef struct _GearyFolderSupportMoveIface GearyFolderSupportMoveIface;

#define GEARY_FOLDER_SUPPORT_TYPE_REMOVE (geary_folder_support_remove_get_type ())
#define GEARY_FOLDER_SUPPORT_REMOVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_FOLDER_SUPPORT_TYPE_REMOVE, GearyFolderSupportRemove))
#define GEARY_FOLDER_SUPPORT_IS_REMOVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_FOLDER_SUPPORT_TYPE_REMOVE))
#define GEARY_FOLDER_SUPPORT_REMOVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_FOLDER_SUPPORT_TYPE_REMOVE, GearyFolderSupportRemoveIface))

typedef struct _GearyFolderSupportRemove GearyFolderSupportRemove;
typedef struct _GearyFolderSupportRemoveIface GearyFolderSupportRemoveIface;
typedef struct _GearyNamedFlagPrivate GearyNamedFlagPrivate;
typedef struct _GearyProblemReportPrivate GearyProblemReportPrivate;

#define GEARY_LOGGING_TYPE_RECORD (geary_logging_record_get_type ())
#define GEARY_LOGGING_RECORD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_LOGGING_TYPE_RECORD, GearyLoggingRecord))
#define GEARY_LOGGING_RECORD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_LOGGING_TYPE_RECORD, GearyLoggingRecordClass))
#define GEARY_LOGGING_IS_RECORD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_LOGGING_TYPE_RECORD))
#define GEARY_LOGGING_IS_RECORD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_LOGGING_TYPE_RECORD))
#define GEARY_LOGGING_RECORD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_LOGGING_TYPE_RECORD, GearyLoggingRecordClass))

typedef struct _GearyLoggingRecord GearyLoggingRecord;
typedef struct _GearyLoggingRecordClass GearyLoggingRecordClass;

#define GEARY_TYPE_ACCOUNT_PROBLEM_REPORT (geary_account_problem_report_get_type ())
#define GEARY_ACCOUNT_PROBLEM_REPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_ACCOUNT_PROBLEM_REPORT, GearyAccountProblemReport))
#define GEARY_ACCOUNT_PROBLEM_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_ACCOUNT_PROBLEM_REPORT, GearyAccountProblemReportClass))
#define GEARY_IS_ACCOUNT_PROBLEM_REPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_ACCOUNT_PROBLEM_REPORT))
#define GEARY_IS_ACCOUNT_PROBLEM_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_ACCOUNT_PROBLEM_REPORT))
#define GEARY_ACCOUNT_PROBLEM_REPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_ACCOUNT_PROBLEM_REPORT, GearyAccountProblemReportClass))

typedef struct _GearyAccountProblemReport GearyAccountProblemReport;
typedef struct _GearyAccountProblemReportClass GearyAccountProblemReportClass;
typedef struct _GearyAccountProblemReportPrivate GearyAccountProblemReportPrivate;

#define GEARY_TYPE_SERVICE_PROBLEM_REPORT (geary_service_problem_report_get_type ())
#define GEARY_SERVICE_PROBLEM_REPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_SERVICE_PROBLEM_REPORT, GearyServiceProblemReport))
#define GEARY_SERVICE_PROBLEM_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_SERVICE_PROBLEM_REPORT, GearyServiceProblemReportClass))
#define GEARY_IS_SERVICE_PROBLEM_REPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_SERVICE_PROBLEM_REPORT))
#define GEARY_IS_SERVICE_PROBLEM_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_SERVICE_PROBLEM_REPORT))
#define GEARY_SERVICE_PROBLEM_REPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_SERVICE_PROBLEM_REPORT, GearyServiceProblemReportClass))

typedef struct _GearyServiceProblemReport GearyServiceProblemReport;
typedef struct _GearyServiceProblemReportClass GearyServiceProblemReportClass;
typedef struct _GearyServiceProblemReportPrivate GearyServiceProblemReportPrivate;
typedef enum  {
	GEARY_PROGRESS_TYPE_AGGREGATED,
	GEARY_PROGRESS_TYPE_ACTIVITY,
	GEARY_PROGRESS_TYPE_DB_UPGRADE,
	GEARY_PROGRESS_TYPE_SEARCH_INDEX,
	GEARY_PROGRESS_TYPE_DB_VACUUM
} GearyProgressType;

#define GEARY_TYPE_PROGRESS_TYPE (geary_progress_type_get_type ())
typedef struct _GearyProgressMonitorPrivate GearyProgressMonitorPrivate;

#define GEARY_TYPE_REENTRANT_PROGRESS_MONITOR (geary_reentrant_progress_monitor_get_type ())
#define GEARY_REENTRANT_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_REENTRANT_PROGRESS_MONITOR, GearyReentrantProgressMonitor))
#define GEARY_REENTRANT_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_REENTRANT_PROGRESS_MONITOR, GearyReentrantProgressMonitorClass))
#define GEARY_IS_REENTRANT_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_REENTRANT_PROGRESS_MONITOR))
#define GEARY_IS_REENTRANT_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_REENTRANT_PROGRESS_MONITOR))
#define GEARY_REENTRANT_PROGRESS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_REENTRANT_PROGRESS_MONITOR, GearyReentrantProgressMonitorClass))

typedef struct _GearyReentrantProgressMonitor GearyReentrantProgressMonitor;
typedef struct _GearyReentrantProgressMonitorClass GearyReentrantProgressMonitorClass;
typedef struct _GearyReentrantProgressMonitorPrivate GearyReentrantProgressMonitorPrivate;

#define GEARY_TYPE_SIMPLE_PROGRESS_MONITOR (geary_simple_progress_monitor_get_type ())
#define GEARY_SIMPLE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_SIMPLE_PROGRESS_MONITOR, GearySimpleProgressMonitor))
#define GEARY_SIMPLE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_SIMPLE_PROGRESS_MONITOR, GearySimpleProgressMonitorClass))
#define GEARY_IS_SIMPLE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_SIMPLE_PROGRESS_MONITOR))
#define GEARY_IS_SIMPLE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_SIMPLE_PROGRESS_MONITOR))
#define GEARY_SIMPLE_PROGRESS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_SIMPLE_PROGRESS_MONITOR, GearySimpleProgressMonitorClass))

typedef struct _GearySimpleProgressMonitor GearySimpleProgressMonitor;
typedef struct _GearySimpleProgressMonitorClass GearySimpleProgressMonitorClass;
typedef struct _GearySimpleProgressMonitorPrivate GearySimpleProgressMonitorPrivate;

#define GEARY_TYPE_INTERVAL_PROGRESS_MONITOR (geary_interval_progress_monitor_get_type ())
#define GEARY_INTERVAL_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_INTERVAL_PROGRESS_MONITOR, GearyIntervalProgressMonitor))
#define GEARY_INTERVAL_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_INTERVAL_PROGRESS_MONITOR, GearyIntervalProgressMonitorClass))
#define GEARY_IS_INTERVAL_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_INTERVAL_PROGRESS_MONITOR))
#define GEARY_IS_INTERVAL_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_INTERVAL_PROGRESS_MONITOR))
#define GEARY_INTERVAL_PROGRESS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_INTERVAL_PROGRESS_MONITOR, GearyIntervalProgressMonitorClass))

typedef struct _GearyIntervalProgressMonitor GearyIntervalProgressMonitor;
typedef struct _GearyIntervalProgressMonitorClass GearyIntervalProgressMonitorClass;
typedef struct _GearyIntervalProgressMonitorPrivate GearyIntervalProgressMonitorPrivate;

#define GEARY_TYPE_AGGREGATE_PROGRESS_MONITOR (geary_aggregate_progress_monitor_get_type ())
#define GEARY_AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_AGGREGATE_PROGRESS_MONITOR, GearyAggregateProgressMonitor))
#define GEARY_AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_AGGREGATE_PROGRESS_MONITOR, GearyAggregateProgressMonitorClass))
#define GEARY_IS_AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_AGGREGATE_PROGRESS_MONITOR))
#define GEARY_IS_AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_AGGREGATE_PROGRESS_MONITOR))
#define GEARY_AGGREGATE_PROGRESS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_AGGREGATE_PROGRESS_MONITOR, GearyAggregateProgressMonitorClass))

typedef struct _GearyAggregateProgressMonitor GearyAggregateProgressMonitor;
typedef struct _GearyAggregateProgressMonitorClass GearyAggregateProgressMonitorClass;
typedef struct _GearyAggregateProgressMonitorPrivate GearyAggregateProgressMonitorPrivate;
typedef struct _GearyRevokablePrivate GearyRevokablePrivate;
typedef struct _GearySearchQueryPrivate GearySearchQueryPrivate;
typedef enum  {
	GEARY_SEARCH_QUERY_STRATEGY_EXACT,
	GEARY_SEARCH_QUERY_STRATEGY_CONSERVATIVE,
	GEARY_SEARCH_QUERY_STRATEGY_AGGRESSIVE,
	GEARY_SEARCH_QUERY_STRATEGY_HORIZON
} GearySearchQueryStrategy;

#define GEARY_SEARCH_QUERY_TYPE_STRATEGY (geary_search_query_strategy_get_type ())
typedef struct _GearySearchQueryTermPrivate GearySearchQueryTermPrivate;

#define GEARY_SEARCH_QUERY_TYPE_EMAIL_TEXT_TERM (geary_search_query_email_text_term_get_type ())
#define GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SEARCH_QUERY_TYPE_EMAIL_TEXT_TERM, GearySearchQueryEmailTextTerm))
#define GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SEARCH_QUERY_TYPE_EMAIL_TEXT_TERM, GearySearchQueryEmailTextTermClass))
#define GEARY_SEARCH_QUERY_IS_EMAIL_TEXT_TERM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SEARCH_QUERY_TYPE_EMAIL_TEXT_TERM))
#define GEARY_SEARCH_QUERY_IS_EMAIL_TEXT_TERM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SEARCH_QUERY_TYPE_EMAIL_TEXT_TERM))
#define GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SEARCH_QUERY_TYPE_EMAIL_TEXT_TERM, GearySearchQueryEmailTextTermClass))

typedef struct _GearySearchQueryEmailTextTerm GearySearchQueryEmailTextTerm;
typedef struct _GearySearchQueryEmailTextTermClass GearySearchQueryEmailTextTermClass;
typedef struct _GearySearchQueryEmailTextTermPrivate GearySearchQueryEmailTextTermPrivate;
typedef enum  {
	GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM_PROPERTY_ALL,
	GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM_PROPERTY_TO,
	GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM_PROPERTY_CC,
	GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM_PROPERTY_BCC,
	GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM_PROPERTY_FROM,
	GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM_PROPERTY_SUBJECT,
	GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM_PROPERTY_BODY,
	GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM_PROPERTY_ATTACHMENT_NAME
} GearySearchQueryEmailTextTermProperty;

#define GEARY_SEARCH_QUERY_EMAIL_TEXT_TERM_TYPE_PROPERTY (geary_search_query_email_text_term_property_get_type ())

#define GEARY_SEARCH_QUERY_TYPE_EMAIL_FLAG_TERM (geary_search_query_email_flag_term_get_type ())
#define GEARY_SEARCH_QUERY_EMAIL_FLAG_TERM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SEARCH_QUERY_TYPE_EMAIL_FLAG_TERM, GearySearchQueryEmailFlagTerm))
#define GEARY_SEARCH_QUERY_EMAIL_FLAG_TERM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SEARCH_QUERY_TYPE_EMAIL_FLAG_TERM, GearySearchQueryEmailFlagTermClass))
#define GEARY_SEARCH_QUERY_IS_EMAIL_FLAG_TERM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SEARCH_QUERY_TYPE_EMAIL_FLAG_TERM))
#define GEARY_SEARCH_QUERY_IS_EMAIL_FLAG_TERM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SEARCH_QUERY_TYPE_EMAIL_FLAG_TERM))
#define GEARY_SEARCH_QUERY_EMAIL_FLAG_TERM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SEARCH_QUERY_TYPE_EMAIL_FLAG_TERM, GearySearchQueryEmailFlagTermClass))

typedef struct _GearySearchQueryEmailFlagTerm GearySearchQueryEmailFlagTerm;
typedef struct _GearySearchQueryEmailFlagTermClass GearySearchQueryEmailFlagTermClass;
typedef struct _GearySearchQueryEmailFlagTermPrivate GearySearchQueryEmailFlagTermPrivate;
typedef enum  {
	GEARY_PROTOCOL_IMAP,
	GEARY_PROTOCOL_SMTP
} GearyProtocol;

#define GEARY_TYPE_PROTOCOL (geary_protocol_get_type ())
typedef struct _GearyServiceInformationPrivate GearyServiceInformationPrivate;

#define GEARY_APP_TYPE_CONVERSATION (geary_app_conversation_get_type ())
#define GEARY_APP_CONVERSATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_APP_TYPE_CONVERSATION, GearyAppConversation))
#define GEARY_APP_CONVERSATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_APP_TYPE_CONVERSATION, GearyAppConversationClass))
#define GEARY_APP_IS_CONVERSATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_APP_TYPE_CONVERSATION))
#define GEARY_APP_IS_CONVERSATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_APP_TYPE_CONVERSATION))
#define GEARY_APP_CONVERSATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_APP_TYPE_CONVERSATION, GearyAppConversationClass))

typedef struct _GearyAppConversation GearyAppConversation;
typedef struct _GearyAppConversationClass GearyAppConversationClass;
typedef struct _GearyAppConversationPrivate GearyAppConversationPrivate;
typedef enum  {
	GEARY_APP_CONVERSATION_ORDERING_NONE,
	GEARY_APP_CONVERSATION_ORDERING_SENT_DATE_ASCENDING,
	GEARY_APP_CONVERSATION_ORDERING_SENT_DATE_DESCENDING,
	GEARY_APP_CONVERSATION_ORDERING_RECV_DATE_ASCENDING,
	GEARY_APP_CONVERSATION_ORDERING_RECV_DATE_DESCENDING
} GearyAppConversationOrdering;

#define GEARY_APP_CONVERSATION_TYPE_ORDERING (geary_app_conversation_ordering_get_type ())
typedef enum  {
	GEARY_APP_CONVERSATION_LOCATION_IN_FOLDER,
	GEARY_APP_CONVERSATION_LOCATION_OUT_OF_FOLDER,
	GEARY_APP_CONVERSATION_LOCATION_IN_FOLDER_OUT_OF_FOLDER,
	GEARY_APP_CONVERSATION_LOCATION_OUT_OF_FOLDER_IN_FOLDER,
	GEARY_APP_CONVERSATION_LOCATION_ANYWHERE
} GearyAppConversationLocation;

#define GEARY_APP_CONVERSATION_TYPE_LOCATION (geary_app_conversation_location_get_type ())

#define GEARY_APP_TYPE_CONVERSATION_MONITOR (geary_app_conversation_monitor_get_type ())
#define GEARY_APP_CONVERSATION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_APP_TYPE_CONVERSATION_MONITOR, GearyAppConversationMonitor))
#define GEARY_APP_CONVERSATION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_APP_TYPE_CONVERSATION_MONITOR, GearyAppConversationMonitorClass))
#define GEARY_APP_IS_CONVERSATION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_APP_TYPE_CONVERSATION_MONITOR))
#define GEARY_APP_IS_CONVERSATION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_APP_TYPE_CONVERSATION_MONITOR))
#define GEARY_APP_CONVERSATION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_APP_TYPE_CONVERSATION_MONITOR, GearyAppConversationMonitorClass))

typedef struct _GearyAppConversationMonitor GearyAppConversationMonitor;
typedef struct _GearyAppConversationMonitorClass GearyAppConversationMonitorClass;
typedef struct _GearyAppConversationMonitorPrivate GearyAppConversationMonitorPrivate;

#define GEARY_APP_TYPE_DRAFT_MANAGER (geary_app_draft_manager_get_type ())
#define GEARY_APP_DRAFT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_APP_TYPE_DRAFT_MANAGER, GearyAppDraftManager))
#define GEARY_APP_DRAFT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_APP_TYPE_DRAFT_MANAGER, GearyAppDraftManagerClass))
#define GEARY_APP_IS_DRAFT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_APP_TYPE_DRAFT_MANAGER))
#define GEARY_APP_IS_DRAFT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_APP_TYPE_DRAFT_MANAGER))
#define GEARY_APP_DRAFT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_APP_TYPE_DRAFT_MANAGER, GearyAppDraftManagerClass))

typedef struct _GearyAppDraftManager GearyAppDraftManager;
typedef struct _GearyAppDraftManagerClass GearyAppDraftManagerClass;
typedef struct _GearyAppDraftManagerPrivate GearyAppDraftManagerPrivate;
typedef enum  {
	GEARY_APP_DRAFT_MANAGER_DRAFT_STATE_NOT_STORED,
	GEARY_APP_DRAFT_MANAGER_DRAFT_STATE_STORING,
	GEARY_APP_DRAFT_MANAGER_DRAFT_STATE_STORED,
	GEARY_APP_DRAFT_MANAGER_DRAFT_STATE_ERROR
} GearyAppDraftManagerDraftState;

#define GEARY_APP_DRAFT_MANAGER_TYPE_DRAFT_STATE (geary_app_draft_manager_draft_state_get_type ())

#define GEARY_APP_TYPE_EMAIL_STORE (geary_app_email_store_get_type ())
#define GEARY_APP_EMAIL_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_APP_TYPE_EMAIL_STORE, GearyAppEmailStore))
#define GEARY_APP_EMAIL_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_APP_TYPE_EMAIL_STORE, GearyAppEmailStoreClass))
#define GEARY_APP_IS_EMAIL_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_APP_TYPE_EMAIL_STORE))
#define GEARY_APP_IS_EMAIL_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_APP_TYPE_EMAIL_STORE))
#define GEARY_APP_EMAIL_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_APP_TYPE_EMAIL_STORE, GearyAppEmailStoreClass))

typedef struct _GearyAppEmailStore GearyAppEmailStore;
typedef struct _GearyAppEmailStoreClass GearyAppEmailStoreClass;
typedef struct _GearyAppEmailStorePrivate GearyAppEmailStorePrivate;

#define GEARY_APP_TYPE_SEARCH_FOLDER (geary_app_search_folder_get_type ())
#define GEARY_APP_SEARCH_FOLDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_APP_TYPE_SEARCH_FOLDER, GearyAppSearchFolder))
#define GEARY_APP_SEARCH_FOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_APP_TYPE_SEARCH_FOLDER, GearyAppSearchFolderClass))
#define GEARY_APP_IS_SEARCH_FOLDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_APP_TYPE_SEARCH_FOLDER))
#define GEARY_APP_IS_SEARCH_FOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_APP_TYPE_SEARCH_FOLDER))
#define GEARY_APP_SEARCH_FOLDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_APP_TYPE_SEARCH_FOLDER, GearyAppSearchFolderClass))

typedef struct _GearyAppSearchFolder GearyAppSearchFolder;
typedef struct _GearyAppSearchFolderClass GearyAppSearchFolderClass;
typedef struct _GearyAppSearchFolderPrivate GearyAppSearchFolderPrivate;
typedef struct _GearyMessageDataAbstractMessageDataPrivate GearyMessageDataAbstractMessageDataPrivate;

#define GEARY_MESSAGE_DATA_TYPE_SEARCHABLE_MESSAGE_DATA (geary_message_data_searchable_message_data_get_type ())
#define GEARY_MESSAGE_DATA_SEARCHABLE_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MESSAGE_DATA_TYPE_SEARCHABLE_MESSAGE_DATA, GearyMessageDataSearchableMessageData))
#define GEARY_MESSAGE_DATA_IS_SEARCHABLE_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MESSAGE_DATA_TYPE_SEARCHABLE_MESSAGE_DATA))
#define GEARY_MESSAGE_DATA_SEARCHABLE_MESSAGE_DATA_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_MESSAGE_DATA_TYPE_SEARCHABLE_MESSAGE_DATA, GearyMessageDataSearchableMessageDataIface))

typedef struct _GearyMessageDataSearchableMessageData GearyMessageDataSearchableMessageData;
typedef struct _GearyMessageDataSearchableMessageDataIface GearyMessageDataSearchableMessageDataIface;
typedef struct _GearyMessageDataStringMessageDataPrivate GearyMessageDataStringMessageDataPrivate;

#define GEARY_MESSAGE_DATA_TYPE_INT_MESSAGE_DATA (geary_message_data_int_message_data_get_type ())
#define GEARY_MESSAGE_DATA_INT_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MESSAGE_DATA_TYPE_INT_MESSAGE_DATA, GearyMessageDataIntMessageData))
#define GEARY_MESSAGE_DATA_INT_MESSAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MESSAGE_DATA_TYPE_INT_MESSAGE_DATA, GearyMessageDataIntMessageDataClass))
#define GEARY_MESSAGE_DATA_IS_INT_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MESSAGE_DATA_TYPE_INT_MESSAGE_DATA))
#define GEARY_MESSAGE_DATA_IS_INT_MESSAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MESSAGE_DATA_TYPE_INT_MESSAGE_DATA))
#define GEARY_MESSAGE_DATA_INT_MESSAGE_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MESSAGE_DATA_TYPE_INT_MESSAGE_DATA, GearyMessageDataIntMessageDataClass))

typedef struct _GearyMessageDataIntMessageData GearyMessageDataIntMessageData;
typedef struct _GearyMessageDataIntMessageDataClass GearyMessageDataIntMessageDataClass;
typedef struct _GearyMessageDataIntMessageDataPrivate GearyMessageDataIntMessageDataPrivate;

#define GEARY_MESSAGE_DATA_TYPE_INT64_MESSAGE_DATA (geary_message_data_int64_message_data_get_type ())
#define GEARY_MESSAGE_DATA_INT64_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MESSAGE_DATA_TYPE_INT64_MESSAGE_DATA, GearyMessageDataInt64MessageData))
#define GEARY_MESSAGE_DATA_INT64_MESSAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MESSAGE_DATA_TYPE_INT64_MESSAGE_DATA, GearyMessageDataInt64MessageDataClass))
#define GEARY_MESSAGE_DATA_IS_INT64_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MESSAGE_DATA_TYPE_INT64_MESSAGE_DATA))
#define GEARY_MESSAGE_DATA_IS_INT64_MESSAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MESSAGE_DATA_TYPE_INT64_MESSAGE_DATA))
#define GEARY_MESSAGE_DATA_INT64_MESSAGE_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MESSAGE_DATA_TYPE_INT64_MESSAGE_DATA, GearyMessageDataInt64MessageDataClass))

typedef struct _GearyMessageDataInt64MessageData GearyMessageDataInt64MessageData;
typedef struct _GearyMessageDataInt64MessageDataClass GearyMessageDataInt64MessageDataClass;
typedef struct _GearyMessageDataInt64MessageDataPrivate GearyMessageDataInt64MessageDataPrivate;
typedef struct _GearyMessageDataBlockMessageDataPrivate GearyMessageDataBlockMessageDataPrivate;
typedef enum  {
	GEARY_DB_DATABASE_FLAGS_NONE = 0,
	GEARY_DB_DATABASE_FLAGS_CREATE_DIRECTORY = 1 << 0,
	GEARY_DB_DATABASE_FLAGS_CREATE_FILE = 1 << 1,
	GEARY_DB_DATABASE_FLAGS_READ_ONLY = 1 << 2,
	GEARY_DB_DATABASE_FLAGS_CHECK_CORRUPTION = 1 << 3
} GearyDbDatabaseFlags;

#define GEARY_DB_TYPE_DATABASE_FLAGS (geary_db_database_flags_get_type ())
typedef enum  {
	GEARY_DB_RESET_SCOPE_SAVE_BINDINGS,
	GEARY_DB_RESET_SCOPE_CLEAR_BINDINGS
} GearyDbResetScope;

#define GEARY_DB_TYPE_RESET_SCOPE (geary_db_reset_scope_get_type ())
typedef enum  {
	GEARY_DB_TRANSACTION_OUTCOME_ROLLBACK = 0,
	GEARY_DB_TRANSACTION_OUTCOME_COMMIT = 1,
	GEARY_DB_TRANSACTION_OUTCOME_SUCCESS = GEARY_DB_TRANSACTION_OUTCOME_COMMIT,
	GEARY_DB_TRANSACTION_OUTCOME_FAILURE = GEARY_DB_TRANSACTION_OUTCOME_ROLLBACK,
	GEARY_DB_TRANSACTION_OUTCOME_DONE = GEARY_DB_TRANSACTION_OUTCOME_COMMIT
} GearyDbTransactionOutcome;

#define GEARY_DB_TYPE_TRANSACTION_OUTCOME (geary_db_transaction_outcome_get_type ())

#define GEARY_DB_TYPE_CONNECTION (geary_db_connection_get_type ())
#define GEARY_DB_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_DB_TYPE_CONNECTION, GearyDbConnection))
#define GEARY_DB_IS_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_DB_TYPE_CONNECTION))
#define GEARY_DB_CONNECTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_DB_TYPE_CONNECTION, GearyDbConnectionIface))

typedef struct _GearyDbConnection GearyDbConnection;
typedef struct _GearyDbConnectionIface GearyDbConnectionIface;

#define GEARY_DB_TYPE_CONTEXT (geary_db_context_get_type ())
#define GEARY_DB_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_DB_TYPE_CONTEXT, GearyDbContext))
#define GEARY_DB_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_DB_TYPE_CONTEXT, GearyDbContextClass))
#define GEARY_DB_IS_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_DB_TYPE_CONTEXT))
#define GEARY_DB_IS_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_DB_TYPE_CONTEXT))
#define GEARY_DB_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_DB_TYPE_CONTEXT, GearyDbContextClass))

typedef struct _GearyDbContext GearyDbContext;
typedef struct _GearyDbContextClass GearyDbContextClass;

#define GEARY_DB_TYPE_DATABASE (geary_db_database_get_type ())
#define GEARY_DB_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_DB_TYPE_DATABASE, GearyDbDatabase))
#define GEARY_DB_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_DB_TYPE_DATABASE, GearyDbDatabaseClass))
#define GEARY_DB_IS_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_DB_TYPE_DATABASE))
#define GEARY_DB_IS_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_DB_TYPE_DATABASE))
#define GEARY_DB_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_DB_TYPE_DATABASE, GearyDbDatabaseClass))

typedef struct _GearyDbDatabase GearyDbDatabase;
typedef struct _GearyDbDatabaseClass GearyDbDatabaseClass;

#define GEARY_DB_TYPE_STATEMENT (geary_db_statement_get_type ())
#define GEARY_DB_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_DB_TYPE_STATEMENT, GearyDbStatement))
#define GEARY_DB_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_DB_TYPE_STATEMENT, GearyDbStatementClass))
#define GEARY_DB_IS_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_DB_TYPE_STATEMENT))
#define GEARY_DB_IS_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_DB_TYPE_STATEMENT))
#define GEARY_DB_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_DB_TYPE_STATEMENT, GearyDbStatementClass))

typedef struct _GearyDbStatement GearyDbStatement;
typedef struct _GearyDbStatementClass GearyDbStatementClass;

#define GEARY_TYPE_DATABASE_ERROR (geary_database_error_get_type ())

#define GEARY_DB_TYPE_RESULT (geary_db_result_get_type ())
#define GEARY_DB_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_DB_TYPE_RESULT, GearyDbResult))
#define GEARY_DB_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_DB_TYPE_RESULT, GearyDbResultClass))
#define GEARY_DB_IS_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_DB_TYPE_RESULT))
#define GEARY_DB_IS_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_DB_TYPE_RESULT))
#define GEARY_DB_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_DB_TYPE_RESULT, GearyDbResultClass))

typedef struct _GearyDbResult GearyDbResult;
typedef struct _GearyDbResultClass GearyDbResultClass;
typedef GearyDbTransactionOutcome (*GearyDbTransactionMethod) (GearyDbConnection* cx, GCancellable* cancellable, gpointer user_data, GError** error);
typedef enum  {
	GEARY_DB_SYNCHRONOUS_MODE_OFF = 0,
	GEARY_DB_SYNCHRONOUS_MODE_NORMAL = 1,
	GEARY_DB_SYNCHRONOUS_MODE_FULL = 2
} GearyDbSynchronousMode;

#define GEARY_DB_TYPE_SYNCHRONOUS_MODE (geary_db_synchronous_mode_get_type ())
typedef struct _GearyDbContextPrivate GearyDbContextPrivate;

#define GEARY_DB_TYPE_DATABASE_CONNECTION (geary_db_database_connection_get_type ())
#define GEARY_DB_DATABASE_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_DB_TYPE_DATABASE_CONNECTION, GearyDbDatabaseConnection))
#define GEARY_DB_DATABASE_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_DB_TYPE_DATABASE_CONNECTION, GearyDbDatabaseConnectionClass))
#define GEARY_DB_IS_DATABASE_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_DB_TYPE_DATABASE_CONNECTION))
#define GEARY_DB_IS_DATABASE_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_DB_TYPE_DATABASE_CONNECTION))
#define GEARY_DB_DATABASE_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_DB_TYPE_DATABASE_CONNECTION, GearyDbDatabaseConnectionClass))

typedef struct _GearyDbDatabaseConnection GearyDbDatabaseConnection;
typedef struct _GearyDbDatabaseConnectionClass GearyDbDatabaseConnectionClass;
typedef struct _GearyDbDatabasePrivate GearyDbDatabasePrivate;
typedef enum  {
	GEARY_DB_TRANSACTION_TYPE_DEFERRED,
	GEARY_DB_TRANSACTION_TYPE_IMMEDIATE,
	GEARY_DB_TRANSACTION_TYPE_EXCLUSIVE,
	GEARY_DB_TRANSACTION_TYPE_RO = GEARY_DB_TRANSACTION_TYPE_DEFERRED,
	GEARY_DB_TRANSACTION_TYPE_RW = GEARY_DB_TRANSACTION_TYPE_IMMEDIATE,
	GEARY_DB_TRANSACTION_TYPE_WR = GEARY_DB_TRANSACTION_TYPE_EXCLUSIVE,
	GEARY_DB_TRANSACTION_TYPE_WO = GEARY_DB_TRANSACTION_TYPE_EXCLUSIVE
} GearyDbTransactionType;

#define GEARY_DB_TYPE_TRANSACTION_TYPE (geary_db_transaction_type_get_type ())
typedef struct _GearyDbDatabaseConnectionPrivate GearyDbDatabaseConnectionPrivate;
typedef struct _GearyDbResultPrivate GearyDbResultPrivate;
typedef struct _GearyDbStatementPrivate GearyDbStatementPrivate;

#define GEARY_DB_TYPE_VERSIONED_DATABASE (geary_db_versioned_database_get_type ())
#define GEARY_DB_VERSIONED_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_DB_TYPE_VERSIONED_DATABASE, GearyDbVersionedDatabase))
#define GEARY_DB_VERSIONED_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_DB_TYPE_VERSIONED_DATABASE, GearyDbVersionedDatabaseClass))
#define GEARY_DB_IS_VERSIONED_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_DB_TYPE_VERSIONED_DATABASE))
#define GEARY_DB_IS_VERSIONED_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_DB_TYPE_VERSIONED_DATABASE))
#define GEARY_DB_VERSIONED_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_DB_TYPE_VERSIONED_DATABASE, GearyDbVersionedDatabaseClass))

typedef struct _GearyDbVersionedDatabase GearyDbVersionedDatabase;
typedef struct _GearyDbVersionedDatabaseClass GearyDbVersionedDatabaseClass;
typedef struct _GearyDbVersionedDatabasePrivate GearyDbVersionedDatabasePrivate;

#define GEARY_TYPE_IMAP_ERROR (geary_imap_error_get_type ())

#define GEARY_TYPE_GENERIC_CAPABILITIES (geary_generic_capabilities_get_type ())
#define GEARY_GENERIC_CAPABILITIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_GENERIC_CAPABILITIES, GearyGenericCapabilities))
#define GEARY_GENERIC_CAPABILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_GENERIC_CAPABILITIES, GearyGenericCapabilitiesClass))
#define GEARY_IS_GENERIC_CAPABILITIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_GENERIC_CAPABILITIES))
#define GEARY_IS_GENERIC_CAPABILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_GENERIC_CAPABILITIES))
#define GEARY_GENERIC_CAPABILITIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_GENERIC_CAPABILITIES, GearyGenericCapabilitiesClass))

typedef struct _GearyGenericCapabilities GearyGenericCapabilities;
typedef struct _GearyGenericCapabilitiesClass GearyGenericCapabilitiesClass;
typedef struct _GearyGenericCapabilitiesPrivate GearyGenericCapabilitiesPrivate;

#define GEARY_IMAP_TYPE_CAPABILITIES (geary_imap_capabilities_get_type ())
#define GEARY_IMAP_CAPABILITIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_CAPABILITIES, GearyImapCapabilities))
#define GEARY_IMAP_CAPABILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_CAPABILITIES, GearyImapCapabilitiesClass))
#define GEARY_IMAP_IS_CAPABILITIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_CAPABILITIES))
#define GEARY_IMAP_IS_CAPABILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_CAPABILITIES))
#define GEARY_IMAP_CAPABILITIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_CAPABILITIES, GearyImapCapabilitiesClass))

typedef struct _GearyImapCapabilities GearyImapCapabilities;
typedef struct _GearyImapCapabilitiesClass GearyImapCapabilitiesClass;
typedef struct _GearyImapCapabilitiesPrivate GearyImapCapabilitiesPrivate;

#define GEARY_IMAP_TYPE_PARAMETER (geary_imap_parameter_get_type ())
#define GEARY_IMAP_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_PARAMETER, GearyImapParameter))
#define GEARY_IMAP_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_PARAMETER, GearyImapParameterClass))
#define GEARY_IMAP_IS_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_PARAMETER))
#define GEARY_IMAP_IS_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_PARAMETER))
#define GEARY_IMAP_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_PARAMETER, GearyImapParameterClass))

typedef struct _GearyImapParameter GearyImapParameter;
typedef struct _GearyImapParameterClass GearyImapParameterClass;

#define GEARY_IMAP_TYPE_STRING_PARAMETER (geary_imap_string_parameter_get_type ())
#define GEARY_IMAP_STRING_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_STRING_PARAMETER, GearyImapStringParameter))
#define GEARY_IMAP_STRING_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_STRING_PARAMETER, GearyImapStringParameterClass))
#define GEARY_IMAP_IS_STRING_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_STRING_PARAMETER))
#define GEARY_IMAP_IS_STRING_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_STRING_PARAMETER))
#define GEARY_IMAP_STRING_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_STRING_PARAMETER, GearyImapStringParameterClass))

typedef struct _GearyImapStringParameter GearyImapStringParameter;
typedef struct _GearyImapStringParameterClass GearyImapStringParameterClass;

#define GEARY_IMAP_TYPE_CLIENT_SERVICE (geary_imap_client_service_get_type ())
#define GEARY_IMAP_CLIENT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_CLIENT_SERVICE, GearyImapClientService))
#define GEARY_IMAP_CLIENT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_CLIENT_SERVICE, GearyImapClientServiceClass))
#define GEARY_IMAP_IS_CLIENT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_CLIENT_SERVICE))
#define GEARY_IMAP_IS_CLIENT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_CLIENT_SERVICE))
#define GEARY_IMAP_CLIENT_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_CLIENT_SERVICE, GearyImapClientServiceClass))

typedef struct _GearyImapClientService GearyImapClientService;
typedef struct _GearyImapClientServiceClass GearyImapClientServiceClass;
typedef struct _GearyImapClientServicePrivate GearyImapClientServicePrivate;

#define GEARY_IMAP_TYPE_CLIENT_SESSION (geary_imap_client_session_get_type ())
#define GEARY_IMAP_CLIENT_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_CLIENT_SESSION, GearyImapClientSession))
#define GEARY_IMAP_CLIENT_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_CLIENT_SESSION, GearyImapClientSessionClass))
#define GEARY_IMAP_IS_CLIENT_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_CLIENT_SESSION))
#define GEARY_IMAP_IS_CLIENT_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_CLIENT_SESSION))
#define GEARY_IMAP_CLIENT_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_CLIENT_SESSION, GearyImapClientSessionClass))

typedef struct _GearyImapClientSession GearyImapClientSession;
typedef struct _GearyImapClientSessionClass GearyImapClientSessionClass;

#define GEARY_IMAP_TYPE_EMAIL_FLAGS (geary_imap_email_flags_get_type ())
#define GEARY_IMAP_EMAIL_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_EMAIL_FLAGS, GearyImapEmailFlags))
#define GEARY_IMAP_EMAIL_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_EMAIL_FLAGS, GearyImapEmailFlagsClass))
#define GEARY_IMAP_IS_EMAIL_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_EMAIL_FLAGS))
#define GEARY_IMAP_IS_EMAIL_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_EMAIL_FLAGS))
#define GEARY_IMAP_EMAIL_FLAGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_EMAIL_FLAGS, GearyImapEmailFlagsClass))

typedef struct _GearyImapEmailFlags GearyImapEmailFlags;
typedef struct _GearyImapEmailFlagsClass GearyImapEmailFlagsClass;
typedef struct _GearyImapEmailFlagsPrivate GearyImapEmailFlagsPrivate;

#define GEARY_IMAP_TYPE_FLAGS (geary_imap_flags_get_type ())
#define GEARY_IMAP_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_FLAGS, GearyImapFlags))
#define GEARY_IMAP_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_FLAGS, GearyImapFlagsClass))
#define GEARY_IMAP_IS_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_FLAGS))
#define GEARY_IMAP_IS_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_FLAGS))
#define GEARY_IMAP_FLAGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_FLAGS, GearyImapFlagsClass))

typedef struct _GearyImapFlags GearyImapFlags;
typedef struct _GearyImapFlagsClass GearyImapFlagsClass;

#define GEARY_IMAP_TYPE_MESSAGE_FLAGS (geary_imap_message_flags_get_type ())
#define GEARY_IMAP_MESSAGE_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_MESSAGE_FLAGS, GearyImapMessageFlags))
#define GEARY_IMAP_MESSAGE_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_MESSAGE_FLAGS, GearyImapMessageFlagsClass))
#define GEARY_IMAP_IS_MESSAGE_FLAGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_MESSAGE_FLAGS))
#define GEARY_IMAP_IS_MESSAGE_FLAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_MESSAGE_FLAGS))
#define GEARY_IMAP_MESSAGE_FLAGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_MESSAGE_FLAGS, GearyImapMessageFlagsClass))

typedef struct _GearyImapMessageFlags GearyImapMessageFlags;
typedef struct _GearyImapMessageFlagsClass GearyImapMessageFlagsClass;

#define GEARY_IMAP_TYPE_EMAIL_PROPERTIES (geary_imap_email_properties_get_type ())
#define GEARY_IMAP_EMAIL_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_EMAIL_PROPERTIES, GearyImapEmailProperties))
#define GEARY_IMAP_EMAIL_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_EMAIL_PROPERTIES, GearyImapEmailPropertiesClass))
#define GEARY_IMAP_IS_EMAIL_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_EMAIL_PROPERTIES))
#define GEARY_IMAP_IS_EMAIL_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_EMAIL_PROPERTIES))
#define GEARY_IMAP_EMAIL_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_EMAIL_PROPERTIES, GearyImapEmailPropertiesClass))

typedef struct _GearyImapEmailProperties GearyImapEmailProperties;
typedef struct _GearyImapEmailPropertiesClass GearyImapEmailPropertiesClass;
typedef struct _GearyImapEmailPropertiesPrivate GearyImapEmailPropertiesPrivate;

#define GEARY_IMAP_TYPE_INTERNAL_DATE (geary_imap_internal_date_get_type ())
#define GEARY_IMAP_INTERNAL_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_INTERNAL_DATE, GearyImapInternalDate))
#define GEARY_IMAP_INTERNAL_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_INTERNAL_DATE, GearyImapInternalDateClass))
#define GEARY_IMAP_IS_INTERNAL_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_INTERNAL_DATE))
#define GEARY_IMAP_IS_INTERNAL_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_INTERNAL_DATE))
#define GEARY_IMAP_INTERNAL_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_INTERNAL_DATE, GearyImapInternalDateClass))

typedef struct _GearyImapInternalDate GearyImapInternalDate;
typedef struct _GearyImapInternalDateClass GearyImapInternalDateClass;

#define GEARY_IMAP_TYPE_RF_C822_SIZE (geary_imap_rf_c822_size_get_type ())
#define GEARY_IMAP_RF_C822_SIZE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_RF_C822_SIZE, GearyImapRFC822Size))
#define GEARY_IMAP_RF_C822_SIZE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_RF_C822_SIZE, GearyImapRFC822SizeClass))
#define GEARY_IMAP_IS_RF_C822_SIZE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_RF_C822_SIZE))
#define GEARY_IMAP_IS_RF_C822_SIZE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_RF_C822_SIZE))
#define GEARY_IMAP_RF_C822_SIZE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_RF_C822_SIZE, GearyImapRFC822SizeClass))

typedef struct _GearyImapRFC822Size GearyImapRFC822Size;
typedef struct _GearyImapRFC822SizeClass GearyImapRFC822SizeClass;

#define GEARY_IMAP_TYPE_FOLDER_PROPERTIES (geary_imap_folder_properties_get_type ())
#define GEARY_IMAP_FOLDER_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_FOLDER_PROPERTIES, GearyImapFolderProperties))
#define GEARY_IMAP_FOLDER_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_FOLDER_PROPERTIES, GearyImapFolderPropertiesClass))
#define GEARY_IMAP_IS_FOLDER_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_FOLDER_PROPERTIES))
#define GEARY_IMAP_IS_FOLDER_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_FOLDER_PROPERTIES))
#define GEARY_IMAP_FOLDER_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_FOLDER_PROPERTIES, GearyImapFolderPropertiesClass))

typedef struct _GearyImapFolderProperties GearyImapFolderProperties;
typedef struct _GearyImapFolderPropertiesClass GearyImapFolderPropertiesClass;
typedef struct _GearyImapFolderPropertiesPrivate GearyImapFolderPropertiesPrivate;

#define GEARY_IMAP_TYPE_UID_VALIDITY (geary_imap_uid_validity_get_type ())
#define GEARY_IMAP_UID_VALIDITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_UID_VALIDITY, GearyImapUIDValidity))
#define GEARY_IMAP_UID_VALIDITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_UID_VALIDITY, GearyImapUIDValidityClass))
#define GEARY_IMAP_IS_UID_VALIDITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_UID_VALIDITY))
#define GEARY_IMAP_IS_UID_VALIDITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_UID_VALIDITY))
#define GEARY_IMAP_UID_VALIDITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_UID_VALIDITY, GearyImapUIDValidityClass))

typedef struct _GearyImapUIDValidity GearyImapUIDValidity;
typedef struct _GearyImapUIDValidityClass GearyImapUIDValidityClass;

#define GEARY_IMAP_TYPE_UID (geary_imap_uid_get_type ())
#define GEARY_IMAP_UID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_UID, GearyImapUID))
#define GEARY_IMAP_UID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_UID, GearyImapUIDClass))
#define GEARY_IMAP_IS_UID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_UID))
#define GEARY_IMAP_IS_UID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_UID))
#define GEARY_IMAP_UID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_UID, GearyImapUIDClass))

typedef struct _GearyImapUID GearyImapUID;
typedef struct _GearyImapUIDClass GearyImapUIDClass;

#define GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTES (geary_imap_mailbox_attributes_get_type ())
#define GEARY_IMAP_MAILBOX_ATTRIBUTES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTES, GearyImapMailboxAttributes))
#define GEARY_IMAP_MAILBOX_ATTRIBUTES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTES, GearyImapMailboxAttributesClass))
#define GEARY_IMAP_IS_MAILBOX_ATTRIBUTES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTES))
#define GEARY_IMAP_IS_MAILBOX_ATTRIBUTES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTES))
#define GEARY_IMAP_MAILBOX_ATTRIBUTES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTES, GearyImapMailboxAttributesClass))

typedef struct _GearyImapMailboxAttributes GearyImapMailboxAttributes;
typedef struct _GearyImapMailboxAttributesClass GearyImapMailboxAttributesClass;

#define GEARY_IMAP_TYPE_STATUS_DATA (geary_imap_status_data_get_type ())
#define GEARY_IMAP_STATUS_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_STATUS_DATA, GearyImapStatusData))
#define GEARY_IMAP_STATUS_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_STATUS_DATA, GearyImapStatusDataClass))
#define GEARY_IMAP_IS_STATUS_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_STATUS_DATA))
#define GEARY_IMAP_IS_STATUS_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_STATUS_DATA))
#define GEARY_IMAP_STATUS_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_STATUS_DATA, GearyImapStatusDataClass))

typedef struct _GearyImapStatusData GearyImapStatusData;
typedef struct _GearyImapStatusDataClass GearyImapStatusDataClass;

#define GEARY_IMAP_TYPE_FOLDER_ROOT (geary_imap_folder_root_get_type ())
#define GEARY_IMAP_FOLDER_ROOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_FOLDER_ROOT, GearyImapFolderRoot))
#define GEARY_IMAP_FOLDER_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_FOLDER_ROOT, GearyImapFolderRootClass))
#define GEARY_IMAP_IS_FOLDER_ROOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_FOLDER_ROOT))
#define GEARY_IMAP_IS_FOLDER_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_FOLDER_ROOT))
#define GEARY_IMAP_FOLDER_ROOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_FOLDER_ROOT, GearyImapFolderRootClass))

typedef struct _GearyImapFolderRoot GearyImapFolderRoot;
typedef struct _GearyImapFolderRootClass GearyImapFolderRootClass;
typedef struct _GearyImapFolderRootPrivate GearyImapFolderRootPrivate;

#define GEARY_IMAP_TYPE_QUIRKS (geary_imap_quirks_get_type ())
#define GEARY_IMAP_QUIRKS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_QUIRKS, GearyImapQuirks))
#define GEARY_IMAP_QUIRKS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_QUIRKS, GearyImapQuirksClass))
#define GEARY_IMAP_IS_QUIRKS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_QUIRKS))
#define GEARY_IMAP_IS_QUIRKS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_QUIRKS))
#define GEARY_IMAP_QUIRKS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_QUIRKS, GearyImapQuirksClass))

typedef struct _GearyImapQuirks GearyImapQuirks;
typedef struct _GearyImapQuirksClass GearyImapQuirksClass;
typedef struct _GearyImapQuirksPrivate GearyImapQuirksPrivate;

#define GEARY_IMAP_TYPE_SESSION_OBJECT (geary_imap_session_object_get_type ())
#define GEARY_IMAP_SESSION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_SESSION_OBJECT, GearyImapSessionObject))
#define GEARY_IMAP_SESSION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_SESSION_OBJECT, GearyImapSessionObjectClass))
#define GEARY_IMAP_IS_SESSION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_SESSION_OBJECT))
#define GEARY_IMAP_IS_SESSION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_SESSION_OBJECT))
#define GEARY_IMAP_SESSION_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_SESSION_OBJECT, GearyImapSessionObjectClass))

typedef struct _GearyImapSessionObject GearyImapSessionObject;
typedef struct _GearyImapSessionObjectClass GearyImapSessionObjectClass;
typedef struct _GearyImapSessionObjectPrivate GearyImapSessionObjectPrivate;

#define GEARY_IMAP_TYPE_COMMAND (geary_imap_command_get_type ())
#define GEARY_IMAP_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_COMMAND, GearyImapCommand))
#define GEARY_IMAP_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_COMMAND, GearyImapCommandClass))
#define GEARY_IMAP_IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_COMMAND))
#define GEARY_IMAP_IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_COMMAND))
#define GEARY_IMAP_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_COMMAND, GearyImapCommandClass))

typedef struct _GearyImapCommand GearyImapCommand;
typedef struct _GearyImapCommandClass GearyImapCommandClass;
typedef struct _GearyImapCommandPrivate GearyImapCommandPrivate;

#define GEARY_IMAP_TYPE_SERIALIZER (geary_imap_serializer_get_type ())
#define GEARY_IMAP_SERIALIZER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_SERIALIZER, GearyImapSerializer))
#define GEARY_IMAP_SERIALIZER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_SERIALIZER, GearyImapSerializerClass))
#define GEARY_IMAP_IS_SERIALIZER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_SERIALIZER))
#define GEARY_IMAP_IS_SERIALIZER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_SERIALIZER))
#define GEARY_IMAP_SERIALIZER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_SERIALIZER, GearyImapSerializerClass))

typedef struct _GearyImapSerializer GearyImapSerializer;
typedef struct _GearyImapSerializerClass GearyImapSerializerClass;

#define GEARY_IMAP_TYPE_LIST_PARAMETER (geary_imap_list_parameter_get_type ())
#define GEARY_IMAP_LIST_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_LIST_PARAMETER, GearyImapListParameter))
#define GEARY_IMAP_LIST_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_LIST_PARAMETER, GearyImapListParameterClass))
#define GEARY_IMAP_IS_LIST_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_LIST_PARAMETER))
#define GEARY_IMAP_IS_LIST_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_LIST_PARAMETER))
#define GEARY_IMAP_LIST_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_LIST_PARAMETER, GearyImapListParameterClass))

typedef struct _GearyImapListParameter GearyImapListParameter;
typedef struct _GearyImapListParameterClass GearyImapListParameterClass;

#define GEARY_IMAP_TYPE_ROOT_PARAMETERS (geary_imap_root_parameters_get_type ())
#define GEARY_IMAP_ROOT_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_ROOT_PARAMETERS, GearyImapRootParameters))
#define GEARY_IMAP_ROOT_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_ROOT_PARAMETERS, GearyImapRootParametersClass))
#define GEARY_IMAP_IS_ROOT_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_ROOT_PARAMETERS))
#define GEARY_IMAP_IS_ROOT_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_ROOT_PARAMETERS))
#define GEARY_IMAP_ROOT_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_ROOT_PARAMETERS, GearyImapRootParametersClass))

typedef struct _GearyImapRootParameters GearyImapRootParameters;
typedef struct _GearyImapRootParametersClass GearyImapRootParametersClass;

#define GEARY_IMAP_TYPE_SERVER_RESPONSE (geary_imap_server_response_get_type ())
#define GEARY_IMAP_SERVER_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_SERVER_RESPONSE, GearyImapServerResponse))
#define GEARY_IMAP_SERVER_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_SERVER_RESPONSE, GearyImapServerResponseClass))
#define GEARY_IMAP_IS_SERVER_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_SERVER_RESPONSE))
#define GEARY_IMAP_IS_SERVER_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_SERVER_RESPONSE))
#define GEARY_IMAP_SERVER_RESPONSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_SERVER_RESPONSE, GearyImapServerResponseClass))

typedef struct _GearyImapServerResponse GearyImapServerResponse;
typedef struct _GearyImapServerResponseClass GearyImapServerResponseClass;

#define GEARY_IMAP_TYPE_STATUS_RESPONSE (geary_imap_status_response_get_type ())
#define GEARY_IMAP_STATUS_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_STATUS_RESPONSE, GearyImapStatusResponse))
#define GEARY_IMAP_STATUS_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_STATUS_RESPONSE, GearyImapStatusResponseClass))
#define GEARY_IMAP_IS_STATUS_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_STATUS_RESPONSE))
#define GEARY_IMAP_IS_STATUS_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_STATUS_RESPONSE))
#define GEARY_IMAP_STATUS_RESPONSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_STATUS_RESPONSE, GearyImapStatusResponseClass))

typedef struct _GearyImapStatusResponse GearyImapStatusResponse;
typedef struct _GearyImapStatusResponseClass GearyImapStatusResponseClass;

#define GEARY_IMAP_TYPE_SERVER_DATA (geary_imap_server_data_get_type ())
#define GEARY_IMAP_SERVER_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_SERVER_DATA, GearyImapServerData))
#define GEARY_IMAP_SERVER_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_SERVER_DATA, GearyImapServerDataClass))
#define GEARY_IMAP_IS_SERVER_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_SERVER_DATA))
#define GEARY_IMAP_IS_SERVER_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_SERVER_DATA))
#define GEARY_IMAP_SERVER_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_SERVER_DATA, GearyImapServerDataClass))

typedef struct _GearyImapServerData GearyImapServerData;
typedef struct _GearyImapServerDataClass GearyImapServerDataClass;

#define GEARY_IMAP_TYPE_CONTINUATION_RESPONSE (geary_imap_continuation_response_get_type ())
#define GEARY_IMAP_CONTINUATION_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_CONTINUATION_RESPONSE, GearyImapContinuationResponse))
#define GEARY_IMAP_CONTINUATION_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_CONTINUATION_RESPONSE, GearyImapContinuationResponseClass))
#define GEARY_IMAP_IS_CONTINUATION_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_CONTINUATION_RESPONSE))
#define GEARY_IMAP_IS_CONTINUATION_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_CONTINUATION_RESPONSE))
#define GEARY_IMAP_CONTINUATION_RESPONSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_CONTINUATION_RESPONSE, GearyImapContinuationResponseClass))

typedef struct _GearyImapContinuationResponse GearyImapContinuationResponse;
typedef struct _GearyImapContinuationResponseClass GearyImapContinuationResponseClass;

#define GEARY_IMAP_TYPE_APPEND_COMMAND (geary_imap_append_command_get_type ())
#define GEARY_IMAP_APPEND_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_APPEND_COMMAND, GearyImapAppendCommand))
#define GEARY_IMAP_APPEND_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_APPEND_COMMAND, GearyImapAppendCommandClass))
#define GEARY_IMAP_IS_APPEND_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_APPEND_COMMAND))
#define GEARY_IMAP_IS_APPEND_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_APPEND_COMMAND))
#define GEARY_IMAP_APPEND_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_APPEND_COMMAND, GearyImapAppendCommandClass))

typedef struct _GearyImapAppendCommand GearyImapAppendCommand;
typedef struct _GearyImapAppendCommandClass GearyImapAppendCommandClass;
typedef struct _GearyImapAppendCommandPrivate GearyImapAppendCommandPrivate;

#define GEARY_IMAP_TYPE_MAILBOX_SPECIFIER (geary_imap_mailbox_specifier_get_type ())
#define GEARY_IMAP_MAILBOX_SPECIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_MAILBOX_SPECIFIER, GearyImapMailboxSpecifier))
#define GEARY_IMAP_MAILBOX_SPECIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_MAILBOX_SPECIFIER, GearyImapMailboxSpecifierClass))
#define GEARY_IMAP_IS_MAILBOX_SPECIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_MAILBOX_SPECIFIER))
#define GEARY_IMAP_IS_MAILBOX_SPECIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_MAILBOX_SPECIFIER))
#define GEARY_IMAP_MAILBOX_SPECIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_MAILBOX_SPECIFIER, GearyImapMailboxSpecifierClass))

typedef struct _GearyImapMailboxSpecifier GearyImapMailboxSpecifier;
typedef struct _GearyImapMailboxSpecifierClass GearyImapMailboxSpecifierClass;

#define GEARY_IMAP_TYPE_AUTHENTICATE_COMMAND (geary_imap_authenticate_command_get_type ())
#define GEARY_IMAP_AUTHENTICATE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_AUTHENTICATE_COMMAND, GearyImapAuthenticateCommand))
#define GEARY_IMAP_AUTHENTICATE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_AUTHENTICATE_COMMAND, GearyImapAuthenticateCommandClass))
#define GEARY_IMAP_IS_AUTHENTICATE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_AUTHENTICATE_COMMAND))
#define GEARY_IMAP_IS_AUTHENTICATE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_AUTHENTICATE_COMMAND))
#define GEARY_IMAP_AUTHENTICATE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_AUTHENTICATE_COMMAND, GearyImapAuthenticateCommandClass))

typedef struct _GearyImapAuthenticateCommand GearyImapAuthenticateCommand;
typedef struct _GearyImapAuthenticateCommandClass GearyImapAuthenticateCommandClass;
typedef struct _GearyImapAuthenticateCommandPrivate GearyImapAuthenticateCommandPrivate;

#define GEARY_IMAP_TYPE_CAPABILITY_COMMAND (geary_imap_capability_command_get_type ())
#define GEARY_IMAP_CAPABILITY_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_CAPABILITY_COMMAND, GearyImapCapabilityCommand))
#define GEARY_IMAP_CAPABILITY_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_CAPABILITY_COMMAND, GearyImapCapabilityCommandClass))
#define GEARY_IMAP_IS_CAPABILITY_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_CAPABILITY_COMMAND))
#define GEARY_IMAP_IS_CAPABILITY_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_CAPABILITY_COMMAND))
#define GEARY_IMAP_CAPABILITY_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_CAPABILITY_COMMAND, GearyImapCapabilityCommandClass))

typedef struct _GearyImapCapabilityCommand GearyImapCapabilityCommand;
typedef struct _GearyImapCapabilityCommandClass GearyImapCapabilityCommandClass;
typedef struct _GearyImapCapabilityCommandPrivate GearyImapCapabilityCommandPrivate;

#define GEARY_IMAP_TYPE_CLOSE_COMMAND (geary_imap_close_command_get_type ())
#define GEARY_IMAP_CLOSE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_CLOSE_COMMAND, GearyImapCloseCommand))
#define GEARY_IMAP_CLOSE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_CLOSE_COMMAND, GearyImapCloseCommandClass))
#define GEARY_IMAP_IS_CLOSE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_CLOSE_COMMAND))
#define GEARY_IMAP_IS_CLOSE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_CLOSE_COMMAND))
#define GEARY_IMAP_CLOSE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_CLOSE_COMMAND, GearyImapCloseCommandClass))

typedef struct _GearyImapCloseCommand GearyImapCloseCommand;
typedef struct _GearyImapCloseCommandClass GearyImapCloseCommandClass;
typedef struct _GearyImapCloseCommandPrivate GearyImapCloseCommandPrivate;

#define GEARY_IMAP_TYPE_UNQUOTED_STRING_PARAMETER (geary_imap_unquoted_string_parameter_get_type ())
#define GEARY_IMAP_UNQUOTED_STRING_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_UNQUOTED_STRING_PARAMETER, GearyImapUnquotedStringParameter))
#define GEARY_IMAP_UNQUOTED_STRING_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_UNQUOTED_STRING_PARAMETER, GearyImapUnquotedStringParameterClass))
#define GEARY_IMAP_IS_UNQUOTED_STRING_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_UNQUOTED_STRING_PARAMETER))
#define GEARY_IMAP_IS_UNQUOTED_STRING_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_UNQUOTED_STRING_PARAMETER))
#define GEARY_IMAP_UNQUOTED_STRING_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_UNQUOTED_STRING_PARAMETER, GearyImapUnquotedStringParameterClass))

typedef struct _GearyImapUnquotedStringParameter GearyImapUnquotedStringParameter;
typedef struct _GearyImapUnquotedStringParameterClass GearyImapUnquotedStringParameterClass;

#define GEARY_IMAP_TYPE_ATOM_PARAMETER (geary_imap_atom_parameter_get_type ())
#define GEARY_IMAP_ATOM_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_ATOM_PARAMETER, GearyImapAtomParameter))
#define GEARY_IMAP_ATOM_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_ATOM_PARAMETER, GearyImapAtomParameterClass))
#define GEARY_IMAP_IS_ATOM_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_ATOM_PARAMETER))
#define GEARY_IMAP_IS_ATOM_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_ATOM_PARAMETER))
#define GEARY_IMAP_ATOM_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_ATOM_PARAMETER, GearyImapAtomParameterClass))

typedef struct _GearyImapAtomParameter GearyImapAtomParameter;
typedef struct _GearyImapAtomParameterClass GearyImapAtomParameterClass;

#define GEARY_IMAP_TYPE_TAG (geary_imap_tag_get_type ())
#define GEARY_IMAP_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_TAG, GearyImapTag))
#define GEARY_IMAP_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_TAG, GearyImapTagClass))
#define GEARY_IMAP_IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_TAG))
#define GEARY_IMAP_IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_TAG))
#define GEARY_IMAP_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_TAG, GearyImapTagClass))

typedef struct _GearyImapTag GearyImapTag;
typedef struct _GearyImapTagClass GearyImapTagClass;

#define GEARY_TYPE_TIMEOUT_MANAGER (geary_timeout_manager_get_type ())
#define GEARY_TIMEOUT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_TIMEOUT_MANAGER, GearyTimeoutManager))
#define GEARY_TIMEOUT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_TIMEOUT_MANAGER, GearyTimeoutManagerClass))
#define GEARY_IS_TIMEOUT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_TIMEOUT_MANAGER))
#define GEARY_IS_TIMEOUT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_TIMEOUT_MANAGER))
#define GEARY_TIMEOUT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_TIMEOUT_MANAGER, GearyTimeoutManagerClass))

typedef struct _GearyTimeoutManager GearyTimeoutManager;
typedef struct _GearyTimeoutManagerClass GearyTimeoutManagerClass;

#define GEARY_IMAP_TYPE_COPY_COMMAND (geary_imap_copy_command_get_type ())
#define GEARY_IMAP_COPY_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_COPY_COMMAND, GearyImapCopyCommand))
#define GEARY_IMAP_COPY_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_COPY_COMMAND, GearyImapCopyCommandClass))
#define GEARY_IMAP_IS_COPY_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_COPY_COMMAND))
#define GEARY_IMAP_IS_COPY_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_COPY_COMMAND))
#define GEARY_IMAP_COPY_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_COPY_COMMAND, GearyImapCopyCommandClass))

typedef struct _GearyImapCopyCommand GearyImapCopyCommand;
typedef struct _GearyImapCopyCommandClass GearyImapCopyCommandClass;
typedef struct _GearyImapCopyCommandPrivate GearyImapCopyCommandPrivate;

#define GEARY_IMAP_TYPE_MESSAGE_SET (geary_imap_message_set_get_type ())
#define GEARY_IMAP_MESSAGE_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_MESSAGE_SET, GearyImapMessageSet))
#define GEARY_IMAP_MESSAGE_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_MESSAGE_SET, GearyImapMessageSetClass))
#define GEARY_IMAP_IS_MESSAGE_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_MESSAGE_SET))
#define GEARY_IMAP_IS_MESSAGE_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_MESSAGE_SET))
#define GEARY_IMAP_MESSAGE_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_MESSAGE_SET, GearyImapMessageSetClass))

typedef struct _GearyImapMessageSet GearyImapMessageSet;
typedef struct _GearyImapMessageSetClass GearyImapMessageSetClass;

#define GEARY_IMAP_TYPE_CREATE_COMMAND (geary_imap_create_command_get_type ())
#define GEARY_IMAP_CREATE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_CREATE_COMMAND, GearyImapCreateCommand))
#define GEARY_IMAP_CREATE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_CREATE_COMMAND, GearyImapCreateCommandClass))
#define GEARY_IMAP_IS_CREATE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_CREATE_COMMAND))
#define GEARY_IMAP_IS_CREATE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_CREATE_COMMAND))
#define GEARY_IMAP_CREATE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_CREATE_COMMAND, GearyImapCreateCommandClass))

typedef struct _GearyImapCreateCommand GearyImapCreateCommand;
typedef struct _GearyImapCreateCommandClass GearyImapCreateCommandClass;
typedef struct _GearyImapCreateCommandPrivate GearyImapCreateCommandPrivate;

#define GEARY_IMAP_TYPE_DELETE_COMMAND (geary_imap_delete_command_get_type ())
#define GEARY_IMAP_DELETE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_DELETE_COMMAND, GearyImapDeleteCommand))
#define GEARY_IMAP_DELETE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_DELETE_COMMAND, GearyImapDeleteCommandClass))
#define GEARY_IMAP_IS_DELETE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_DELETE_COMMAND))
#define GEARY_IMAP_IS_DELETE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_DELETE_COMMAND))
#define GEARY_IMAP_DELETE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_DELETE_COMMAND, GearyImapDeleteCommandClass))

typedef struct _GearyImapDeleteCommand GearyImapDeleteCommand;
typedef struct _GearyImapDeleteCommandClass GearyImapDeleteCommandClass;
typedef struct _GearyImapDeleteCommandPrivate GearyImapDeleteCommandPrivate;

#define GEARY_IMAP_TYPE_EXAMINE_COMMAND (geary_imap_examine_command_get_type ())
#define GEARY_IMAP_EXAMINE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_EXAMINE_COMMAND, GearyImapExamineCommand))
#define GEARY_IMAP_EXAMINE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_EXAMINE_COMMAND, GearyImapExamineCommandClass))
#define GEARY_IMAP_IS_EXAMINE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_EXAMINE_COMMAND))
#define GEARY_IMAP_IS_EXAMINE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_EXAMINE_COMMAND))
#define GEARY_IMAP_EXAMINE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_EXAMINE_COMMAND, GearyImapExamineCommandClass))

typedef struct _GearyImapExamineCommand GearyImapExamineCommand;
typedef struct _GearyImapExamineCommandClass GearyImapExamineCommandClass;
typedef struct _GearyImapExamineCommandPrivate GearyImapExamineCommandPrivate;

#define GEARY_IMAP_TYPE_EXPUNGE_COMMAND (geary_imap_expunge_command_get_type ())
#define GEARY_IMAP_EXPUNGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_EXPUNGE_COMMAND, GearyImapExpungeCommand))
#define GEARY_IMAP_EXPUNGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_EXPUNGE_COMMAND, GearyImapExpungeCommandClass))
#define GEARY_IMAP_IS_EXPUNGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_EXPUNGE_COMMAND))
#define GEARY_IMAP_IS_EXPUNGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_EXPUNGE_COMMAND))
#define GEARY_IMAP_EXPUNGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_EXPUNGE_COMMAND, GearyImapExpungeCommandClass))

typedef struct _GearyImapExpungeCommand GearyImapExpungeCommand;
typedef struct _GearyImapExpungeCommandClass GearyImapExpungeCommandClass;
typedef struct _GearyImapExpungeCommandPrivate GearyImapExpungeCommandPrivate;

#define GEARY_IMAP_TYPE_FETCH_COMMAND (geary_imap_fetch_command_get_type ())
#define GEARY_IMAP_FETCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_FETCH_COMMAND, GearyImapFetchCommand))
#define GEARY_IMAP_FETCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_FETCH_COMMAND, GearyImapFetchCommandClass))
#define GEARY_IMAP_IS_FETCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_FETCH_COMMAND))
#define GEARY_IMAP_IS_FETCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_FETCH_COMMAND))
#define GEARY_IMAP_FETCH_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_FETCH_COMMAND, GearyImapFetchCommandClass))

typedef struct _GearyImapFetchCommand GearyImapFetchCommand;
typedef struct _GearyImapFetchCommandClass GearyImapFetchCommandClass;
typedef struct _GearyImapFetchCommandPrivate GearyImapFetchCommandPrivate;
typedef enum  {
	GEARY_IMAP_FETCH_DATA_SPECIFIER_UID,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_FLAGS,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_INTERNALDATE,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_ENVELOPE,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_BODYSTRUCTURE,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_BODY,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_RFC822,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_RFC822_HEADER,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_RFC822_SIZE,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_RFC822_TEXT,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_FAST,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_ALL,
	GEARY_IMAP_FETCH_DATA_SPECIFIER_FULL
} GearyImapFetchDataSpecifier;

#define GEARY_IMAP_TYPE_FETCH_DATA_SPECIFIER (geary_imap_fetch_data_specifier_get_type ())

#define GEARY_IMAP_TYPE_FETCH_BODY_DATA_SPECIFIER (geary_imap_fetch_body_data_specifier_get_type ())
#define GEARY_IMAP_FETCH_BODY_DATA_SPECIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_FETCH_BODY_DATA_SPECIFIER, GearyImapFetchBodyDataSpecifier))
#define GEARY_IMAP_FETCH_BODY_DATA_SPECIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_FETCH_BODY_DATA_SPECIFIER, GearyImapFetchBodyDataSpecifierClass))
#define GEARY_IMAP_IS_FETCH_BODY_DATA_SPECIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_FETCH_BODY_DATA_SPECIFIER))
#define GEARY_IMAP_IS_FETCH_BODY_DATA_SPECIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_FETCH_BODY_DATA_SPECIFIER))
#define GEARY_IMAP_FETCH_BODY_DATA_SPECIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_FETCH_BODY_DATA_SPECIFIER, GearyImapFetchBodyDataSpecifierClass))

typedef struct _GearyImapFetchBodyDataSpecifier GearyImapFetchBodyDataSpecifier;
typedef struct _GearyImapFetchBodyDataSpecifierClass GearyImapFetchBodyDataSpecifierClass;

#define GEARY_IMAP_TYPE_ID_COMMAND (geary_imap_id_command_get_type ())
#define GEARY_IMAP_ID_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_ID_COMMAND, GearyImapIdCommand))
#define GEARY_IMAP_ID_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_ID_COMMAND, GearyImapIdCommandClass))
#define GEARY_IMAP_IS_ID_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_ID_COMMAND))
#define GEARY_IMAP_IS_ID_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_ID_COMMAND))
#define GEARY_IMAP_ID_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_ID_COMMAND, GearyImapIdCommandClass))

typedef struct _GearyImapIdCommand GearyImapIdCommand;
typedef struct _GearyImapIdCommandClass GearyImapIdCommandClass;
typedef struct _GearyImapIdCommandPrivate GearyImapIdCommandPrivate;

#define GEARY_IMAP_TYPE_IDLE_COMMAND (geary_imap_idle_command_get_type ())
#define GEARY_IMAP_IDLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_IDLE_COMMAND, GearyImapIdleCommand))
#define GEARY_IMAP_IDLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_IDLE_COMMAND, GearyImapIdleCommandClass))
#define GEARY_IMAP_IS_IDLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_IDLE_COMMAND))
#define GEARY_IMAP_IS_IDLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_IDLE_COMMAND))
#define GEARY_IMAP_IDLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_IDLE_COMMAND, GearyImapIdleCommandClass))

typedef struct _GearyImapIdleCommand GearyImapIdleCommand;
typedef struct _GearyImapIdleCommandClass GearyImapIdleCommandClass;
typedef struct _GearyImapIdleCommandPrivate GearyImapIdleCommandPrivate;

#define GEARY_IMAP_TYPE_LIST_COMMAND (geary_imap_list_command_get_type ())
#define GEARY_IMAP_LIST_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_LIST_COMMAND, GearyImapListCommand))
#define GEARY_IMAP_LIST_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_LIST_COMMAND, GearyImapListCommandClass))
#define GEARY_IMAP_IS_LIST_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_LIST_COMMAND))
#define GEARY_IMAP_IS_LIST_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_LIST_COMMAND))
#define GEARY_IMAP_LIST_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_LIST_COMMAND, GearyImapListCommandClass))

typedef struct _GearyImapListCommand GearyImapListCommand;
typedef struct _GearyImapListCommandClass GearyImapListCommandClass;
typedef struct _GearyImapListCommandPrivate GearyImapListCommandPrivate;

#define GEARY_IMAP_TYPE_LIST_RETURN_PARAMETER (geary_imap_list_return_parameter_get_type ())
#define GEARY_IMAP_LIST_RETURN_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_LIST_RETURN_PARAMETER, GearyImapListReturnParameter))
#define GEARY_IMAP_LIST_RETURN_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_LIST_RETURN_PARAMETER, GearyImapListReturnParameterClass))
#define GEARY_IMAP_IS_LIST_RETURN_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_LIST_RETURN_PARAMETER))
#define GEARY_IMAP_IS_LIST_RETURN_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_LIST_RETURN_PARAMETER))
#define GEARY_IMAP_LIST_RETURN_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_LIST_RETURN_PARAMETER, GearyImapListReturnParameterClass))

typedef struct _GearyImapListReturnParameter GearyImapListReturnParameter;
typedef struct _GearyImapListReturnParameterClass GearyImapListReturnParameterClass;
typedef struct _GearyImapParameterPrivate GearyImapParameterPrivate;
typedef struct _GearyImapListParameterPrivate GearyImapListParameterPrivate;
typedef struct _GearyImapListReturnParameterPrivate GearyImapListReturnParameterPrivate;

#define GEARY_IMAP_TYPE_LOGIN_COMMAND (geary_imap_login_command_get_type ())
#define GEARY_IMAP_LOGIN_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_LOGIN_COMMAND, GearyImapLoginCommand))
#define GEARY_IMAP_LOGIN_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_LOGIN_COMMAND, GearyImapLoginCommandClass))
#define GEARY_IMAP_IS_LOGIN_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_LOGIN_COMMAND))
#define GEARY_IMAP_IS_LOGIN_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_LOGIN_COMMAND))
#define GEARY_IMAP_LOGIN_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_LOGIN_COMMAND, GearyImapLoginCommandClass))

typedef struct _GearyImapLoginCommand GearyImapLoginCommand;
typedef struct _GearyImapLoginCommandClass GearyImapLoginCommandClass;
typedef struct _GearyImapLoginCommandPrivate GearyImapLoginCommandPrivate;

#define GEARY_IMAP_TYPE_LOGOUT_COMMAND (geary_imap_logout_command_get_type ())
#define GEARY_IMAP_LOGOUT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_LOGOUT_COMMAND, GearyImapLogoutCommand))
#define GEARY_IMAP_LOGOUT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_LOGOUT_COMMAND, GearyImapLogoutCommandClass))
#define GEARY_IMAP_IS_LOGOUT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_LOGOUT_COMMAND))
#define GEARY_IMAP_IS_LOGOUT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_LOGOUT_COMMAND))
#define GEARY_IMAP_LOGOUT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_LOGOUT_COMMAND, GearyImapLogoutCommandClass))

typedef struct _GearyImapLogoutCommand GearyImapLogoutCommand;
typedef struct _GearyImapLogoutCommandClass GearyImapLogoutCommandClass;
typedef struct _GearyImapLogoutCommandPrivate GearyImapLogoutCommandPrivate;
typedef struct _GearyImapMessageSetPrivate GearyImapMessageSetPrivate;

#define GEARY_IMAP_TYPE_SEQUENCE_NUMBER (geary_imap_sequence_number_get_type ())
#define GEARY_IMAP_SEQUENCE_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_SEQUENCE_NUMBER, GearyImapSequenceNumber))
#define GEARY_IMAP_SEQUENCE_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_SEQUENCE_NUMBER, GearyImapSequenceNumberClass))
#define GEARY_IMAP_IS_SEQUENCE_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_SEQUENCE_NUMBER))
#define GEARY_IMAP_IS_SEQUENCE_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_SEQUENCE_NUMBER))
#define GEARY_IMAP_SEQUENCE_NUMBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_SEQUENCE_NUMBER, GearyImapSequenceNumberClass))

typedef struct _GearyImapSequenceNumber GearyImapSequenceNumber;
typedef struct _GearyImapSequenceNumberClass GearyImapSequenceNumberClass;

#define GEARY_IMAP_TYPE_NAMESPACE_COMMAND (geary_imap_namespace_command_get_type ())
#define GEARY_IMAP_NAMESPACE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_NAMESPACE_COMMAND, GearyImapNamespaceCommand))
#define GEARY_IMAP_NAMESPACE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_NAMESPACE_COMMAND, GearyImapNamespaceCommandClass))
#define GEARY_IMAP_IS_NAMESPACE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_NAMESPACE_COMMAND))
#define GEARY_IMAP_IS_NAMESPACE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_NAMESPACE_COMMAND))
#define GEARY_IMAP_NAMESPACE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_NAMESPACE_COMMAND, GearyImapNamespaceCommandClass))

typedef struct _GearyImapNamespaceCommand GearyImapNamespaceCommand;
typedef struct _GearyImapNamespaceCommandClass GearyImapNamespaceCommandClass;
typedef struct _GearyImapNamespaceCommandPrivate GearyImapNamespaceCommandPrivate;

#define GEARY_IMAP_TYPE_NOOP_COMMAND (geary_imap_noop_command_get_type ())
#define GEARY_IMAP_NOOP_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_NOOP_COMMAND, GearyImapNoopCommand))
#define GEARY_IMAP_NOOP_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_NOOP_COMMAND, GearyImapNoopCommandClass))
#define GEARY_IMAP_IS_NOOP_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_NOOP_COMMAND))
#define GEARY_IMAP_IS_NOOP_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_NOOP_COMMAND))
#define GEARY_IMAP_NOOP_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_NOOP_COMMAND, GearyImapNoopCommandClass))

typedef struct _GearyImapNoopCommand GearyImapNoopCommand;
typedef struct _GearyImapNoopCommandClass GearyImapNoopCommandClass;
typedef struct _GearyImapNoopCommandPrivate GearyImapNoopCommandPrivate;

#define GEARY_IMAP_TYPE_SEARCH_COMMAND (geary_imap_search_command_get_type ())
#define GEARY_IMAP_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_SEARCH_COMMAND, GearyImapSearchCommand))
#define GEARY_IMAP_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_SEARCH_COMMAND, GearyImapSearchCommandClass))
#define GEARY_IMAP_IS_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_SEARCH_COMMAND))
#define GEARY_IMAP_IS_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_SEARCH_COMMAND))
#define GEARY_IMAP_SEARCH_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_SEARCH_COMMAND, GearyImapSearchCommandClass))

typedef struct _GearyImapSearchCommand GearyImapSearchCommand;
typedef struct _GearyImapSearchCommandClass GearyImapSearchCommandClass;
typedef struct _GearyImapSearchCommandPrivate GearyImapSearchCommandPrivate;

#define GEARY_IMAP_TYPE_SEARCH_CRITERIA (geary_imap_search_criteria_get_type ())
#define GEARY_IMAP_SEARCH_CRITERIA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_SEARCH_CRITERIA, GearyImapSearchCriteria))
#define GEARY_IMAP_SEARCH_CRITERIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_SEARCH_CRITERIA, GearyImapSearchCriteriaClass))
#define GEARY_IMAP_IS_SEARCH_CRITERIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_SEARCH_CRITERIA))
#define GEARY_IMAP_IS_SEARCH_CRITERIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_SEARCH_CRITERIA))
#define GEARY_IMAP_SEARCH_CRITERIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_SEARCH_CRITERIA, GearyImapSearchCriteriaClass))

typedef struct _GearyImapSearchCriteria GearyImapSearchCriteria;
typedef struct _GearyImapSearchCriteriaClass GearyImapSearchCriteriaClass;
typedef struct _GearyImapSearchCriteriaPrivate GearyImapSearchCriteriaPrivate;

#define GEARY_IMAP_TYPE_SEARCH_CRITERION (geary_imap_search_criterion_get_type ())
#define GEARY_IMAP_SEARCH_CRITERION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_SEARCH_CRITERION, GearyImapSearchCriterion))
#define GEARY_IMAP_SEARCH_CRITERION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_SEARCH_CRITERION, GearyImapSearchCriterionClass))
#define GEARY_IMAP_IS_SEARCH_CRITERION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_SEARCH_CRITERION))
#define GEARY_IMAP_IS_SEARCH_CRITERION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_SEARCH_CRITERION))
#define GEARY_IMAP_SEARCH_CRITERION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_SEARCH_CRITERION, GearyImapSearchCriterionClass))

typedef struct _GearyImapSearchCriterion GearyImapSearchCriterion;
typedef struct _GearyImapSearchCriterionClass GearyImapSearchCriterionClass;
typedef struct _GearyImapSearchCriterionPrivate GearyImapSearchCriterionPrivate;

#define GEARY_IMAP_TYPE_FLAG (geary_imap_flag_get_type ())
#define GEARY_IMAP_FLAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_FLAG, GearyImapFlag))
#define GEARY_IMAP_FLAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_FLAG, GearyImapFlagClass))
#define GEARY_IMAP_IS_FLAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_FLAG))
#define GEARY_IMAP_IS_FLAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_FLAG))
#define GEARY_IMAP_FLAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_FLAG, GearyImapFlagClass))

typedef struct _GearyImapFlag GearyImapFlag;
typedef struct _GearyImapFlagClass GearyImapFlagClass;

#define GEARY_IMAP_TYPE_MESSAGE_FLAG (geary_imap_message_flag_get_type ())
#define GEARY_IMAP_MESSAGE_FLAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_MESSAGE_FLAG, GearyImapMessageFlag))
#define GEARY_IMAP_MESSAGE_FLAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_MESSAGE_FLAG, GearyImapMessageFlagClass))
#define GEARY_IMAP_IS_MESSAGE_FLAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_MESSAGE_FLAG))
#define GEARY_IMAP_IS_MESSAGE_FLAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_MESSAGE_FLAG))
#define GEARY_IMAP_MESSAGE_FLAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_MESSAGE_FLAG, GearyImapMessageFlagClass))

typedef struct _GearyImapMessageFlag GearyImapMessageFlag;
typedef struct _GearyImapMessageFlagClass GearyImapMessageFlagClass;

#define GEARY_IMAP_TYPE_SELECT_COMMAND (geary_imap_select_command_get_type ())
#define GEARY_IMAP_SELECT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_SELECT_COMMAND, GearyImapSelectCommand))
#define GEARY_IMAP_SELECT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_SELECT_COMMAND, GearyImapSelectCommandClass))
#define GEARY_IMAP_IS_SELECT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_SELECT_COMMAND))
#define GEARY_IMAP_IS_SELECT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_SELECT_COMMAND))
#define GEARY_IMAP_SELECT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_SELECT_COMMAND, GearyImapSelectCommandClass))

typedef struct _GearyImapSelectCommand GearyImapSelectCommand;
typedef struct _GearyImapSelectCommandClass GearyImapSelectCommandClass;
typedef struct _GearyImapSelectCommandPrivate GearyImapSelectCommandPrivate;

#define GEARY_IMAP_TYPE_STARTTLS_COMMAND (geary_imap_starttls_command_get_type ())
#define GEARY_IMAP_STARTTLS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_STARTTLS_COMMAND, GearyImapStarttlsCommand))
#define GEARY_IMAP_STARTTLS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_STARTTLS_COMMAND, GearyImapStarttlsCommandClass))
#define GEARY_IMAP_IS_STARTTLS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_STARTTLS_COMMAND))
#define GEARY_IMAP_IS_STARTTLS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_STARTTLS_COMMAND))
#define GEARY_IMAP_STARTTLS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_STARTTLS_COMMAND, GearyImapStarttlsCommandClass))

typedef struct _GearyImapStarttlsCommand GearyImapStarttlsCommand;
typedef struct _GearyImapStarttlsCommandClass GearyImapStarttlsCommandClass;
typedef struct _GearyImapStarttlsCommandPrivate GearyImapStarttlsCommandPrivate;

#define GEARY_IMAP_TYPE_STATUS_COMMAND (geary_imap_status_command_get_type ())
#define GEARY_IMAP_STATUS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_STATUS_COMMAND, GearyImapStatusCommand))
#define GEARY_IMAP_STATUS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_STATUS_COMMAND, GearyImapStatusCommandClass))
#define GEARY_IMAP_IS_STATUS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_STATUS_COMMAND))
#define GEARY_IMAP_IS_STATUS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_STATUS_COMMAND))
#define GEARY_IMAP_STATUS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_STATUS_COMMAND, GearyImapStatusCommandClass))

typedef struct _GearyImapStatusCommand GearyImapStatusCommand;
typedef struct _GearyImapStatusCommandClass GearyImapStatusCommandClass;
typedef struct _GearyImapStatusCommandPrivate GearyImapStatusCommandPrivate;
typedef enum  {
	GEARY_IMAP_STATUS_DATA_TYPE_MESSAGES,
	GEARY_IMAP_STATUS_DATA_TYPE_RECENT,
	GEARY_IMAP_STATUS_DATA_TYPE_UIDNEXT,
	GEARY_IMAP_STATUS_DATA_TYPE_UIDVALIDITY,
	GEARY_IMAP_STATUS_DATA_TYPE_UNSEEN
} GearyImapStatusDataType;

#define GEARY_IMAP_TYPE_STATUS_DATA_TYPE (geary_imap_status_data_type_get_type ())

#define GEARY_IMAP_TYPE_STORE_COMMAND (geary_imap_store_command_get_type ())
#define GEARY_IMAP_STORE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_STORE_COMMAND, GearyImapStoreCommand))
#define GEARY_IMAP_STORE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_STORE_COMMAND, GearyImapStoreCommandClass))
#define GEARY_IMAP_IS_STORE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_STORE_COMMAND))
#define GEARY_IMAP_IS_STORE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_STORE_COMMAND))
#define GEARY_IMAP_STORE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_STORE_COMMAND, GearyImapStoreCommandClass))

typedef struct _GearyImapStoreCommand GearyImapStoreCommand;
typedef struct _GearyImapStoreCommandClass GearyImapStoreCommandClass;
typedef struct _GearyImapStoreCommandPrivate GearyImapStoreCommandPrivate;
typedef enum  {
	GEARY_IMAP_STORE_COMMAND_MODE_SET_FLAGS,
	GEARY_IMAP_STORE_COMMAND_MODE_ADD_FLAGS,
	GEARY_IMAP_STORE_COMMAND_MODE_REMOVE_FLAGS
} GearyImapStoreCommandMode;

#define GEARY_IMAP_STORE_COMMAND_TYPE_MODE (geary_imap_store_command_mode_get_type ())
typedef enum  {
	GEARY_IMAP_STORE_COMMAND_OPTIONS_NONE = 1 << 0,
	GEARY_IMAP_STORE_COMMAND_OPTIONS_SILENT = 1 << 1
} GearyImapStoreCommandOptions;

#define GEARY_IMAP_STORE_COMMAND_TYPE_OPTIONS (geary_imap_store_command_options_get_type ())
typedef enum  {
	GEARY_IMAP_DATA_FORMAT_QUOTING_REQUIRED,
	GEARY_IMAP_DATA_FORMAT_QUOTING_OPTIONAL,
	GEARY_IMAP_DATA_FORMAT_QUOTING_UNALLOWED
} GearyImapDataFormatQuoting;

#define GEARY_IMAP_DATA_FORMAT_TYPE_QUOTING (geary_imap_data_format_quoting_get_type ())

#define GEARY_IMAP_TYPE_MESSAGE_DATA (geary_imap_message_data_get_type ())
#define GEARY_IMAP_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_MESSAGE_DATA, GearyImapMessageData))
#define GEARY_IMAP_IS_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_MESSAGE_DATA))
#define GEARY_IMAP_MESSAGE_DATA_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_IMAP_TYPE_MESSAGE_DATA, GearyImapMessageDataIface))

typedef struct _GearyImapMessageData GearyImapMessageData;
typedef struct _GearyImapMessageDataIface GearyImapMessageDataIface;

#define GEARY_IMAP_TYPE_ENVELOPE (geary_imap_envelope_get_type ())
#define GEARY_IMAP_ENVELOPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_ENVELOPE, GearyImapEnvelope))
#define GEARY_IMAP_ENVELOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_ENVELOPE, GearyImapEnvelopeClass))
#define GEARY_IMAP_IS_ENVELOPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_ENVELOPE))
#define GEARY_IMAP_IS_ENVELOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_ENVELOPE))
#define GEARY_IMAP_ENVELOPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_ENVELOPE, GearyImapEnvelopeClass))

typedef struct _GearyImapEnvelope GearyImapEnvelope;
typedef struct _GearyImapEnvelopeClass GearyImapEnvelopeClass;
typedef struct _GearyImapEnvelopePrivate GearyImapEnvelopePrivate;
typedef struct _GearyImapFetchBodyDataSpecifierPrivate GearyImapFetchBodyDataSpecifierPrivate;
typedef enum  {
	GEARY_IMAP_FETCH_BODY_DATA_SPECIFIER_SECTION_PART_NONE,
	GEARY_IMAP_FETCH_BODY_DATA_SPECIFIER_SECTION_PART_HEADER,
	GEARY_IMAP_FETCH_BODY_DATA_SPECIFIER_SECTION_PART_HEADER_FIELDS,
	GEARY_IMAP_FETCH_BODY_DATA_SPECIFIER_SECTION_PART_HEADER_FIELDS_NOT,
	GEARY_IMAP_FETCH_BODY_DATA_SPECIFIER_SECTION_PART_MIME,
	GEARY_IMAP_FETCH_BODY_DATA_SPECIFIER_SECTION_PART_TEXT
} GearyImapFetchBodyDataSpecifierSectionPart;

#define GEARY_IMAP_FETCH_BODY_DATA_SPECIFIER_TYPE_SECTION_PART (geary_imap_fetch_body_data_specifier_section_part_get_type ())

#define GEARY_IMAP_TYPE_FETCH_DATA_DECODER (geary_imap_fetch_data_decoder_get_type ())
#define GEARY_IMAP_FETCH_DATA_DECODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_FETCH_DATA_DECODER, GearyImapFetchDataDecoder))
#define GEARY_IMAP_FETCH_DATA_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_FETCH_DATA_DECODER, GearyImapFetchDataDecoderClass))
#define GEARY_IMAP_IS_FETCH_DATA_DECODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_FETCH_DATA_DECODER))
#define GEARY_IMAP_IS_FETCH_DATA_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_FETCH_DATA_DECODER))
#define GEARY_IMAP_FETCH_DATA_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_FETCH_DATA_DECODER, GearyImapFetchDataDecoderClass))

typedef struct _GearyImapFetchDataDecoder GearyImapFetchDataDecoder;
typedef struct _GearyImapFetchDataDecoderClass GearyImapFetchDataDecoderClass;
typedef struct _GearyImapFlagPrivate GearyImapFlagPrivate;
typedef struct _GearyImapFlagsPrivate GearyImapFlagsPrivate;
typedef struct _GearyImapInternalDatePrivate GearyImapInternalDatePrivate;
typedef struct _GearyImapMailboxSpecifierPrivate GearyImapMailboxSpecifierPrivate;
typedef struct _GearyImapRFC822SizePrivate GearyImapRFC822SizePrivate;

#define GEARY_RF_C822_TYPE_ENCODED_MESSAGE_DATA (geary_rf_c822_encoded_message_data_get_type ())
#define GEARY_RF_C822_ENCODED_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_ENCODED_MESSAGE_DATA, GearyRFC822EncodedMessageData))
#define GEARY_RF_C822_IS_ENCODED_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_ENCODED_MESSAGE_DATA))
#define GEARY_RF_C822_ENCODED_MESSAGE_DATA_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_RF_C822_TYPE_ENCODED_MESSAGE_DATA, GearyRFC822EncodedMessageDataIface))

typedef struct _GearyRFC822EncodedMessageData GearyRFC822EncodedMessageData;
typedef struct _GearyRFC822EncodedMessageDataIface GearyRFC822EncodedMessageDataIface;
typedef struct _GearyRFC822HeaderPrivate GearyRFC822HeaderPrivate;

#define GEARY_IMAP_TYPE_RF_C822_HEADER (geary_imap_rf_c822_header_get_type ())
#define GEARY_IMAP_RF_C822_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_RF_C822_HEADER, GearyImapRFC822Header))
#define GEARY_IMAP_RF_C822_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_RF_C822_HEADER, GearyImapRFC822HeaderClass))
#define GEARY_IMAP_IS_RF_C822_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_RF_C822_HEADER))
#define GEARY_IMAP_IS_RF_C822_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_RF_C822_HEADER))
#define GEARY_IMAP_RF_C822_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_RF_C822_HEADER, GearyImapRFC822HeaderClass))

typedef struct _GearyImapRFC822Header GearyImapRFC822Header;
typedef struct _GearyImapRFC822HeaderClass GearyImapRFC822HeaderClass;
typedef struct _GearyImapRFC822HeaderPrivate GearyImapRFC822HeaderPrivate;
typedef struct _GearyRFC822TextPrivate GearyRFC822TextPrivate;

#define GEARY_IMAP_TYPE_RF_C822_TEXT (geary_imap_rf_c822_text_get_type ())
#define GEARY_IMAP_RF_C822_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_RF_C822_TEXT, GearyImapRFC822Text))
#define GEARY_IMAP_RF_C822_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_RF_C822_TEXT, GearyImapRFC822TextClass))
#define GEARY_IMAP_IS_RF_C822_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_RF_C822_TEXT))
#define GEARY_IMAP_IS_RF_C822_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_RF_C822_TEXT))
#define GEARY_IMAP_RF_C822_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_RF_C822_TEXT, GearyImapRFC822TextClass))

typedef struct _GearyImapRFC822Text GearyImapRFC822Text;
typedef struct _GearyImapRFC822TextClass GearyImapRFC822TextClass;
typedef struct _GearyImapRFC822TextPrivate GearyImapRFC822TextPrivate;

#define GEARY_RF_C822_TYPE_FULL (geary_rf_c822_full_get_type ())
#define GEARY_RF_C822_FULL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_FULL, GearyRFC822Full))
#define GEARY_RF_C822_FULL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_FULL, GearyRFC822FullClass))
#define GEARY_RF_C822_IS_FULL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_FULL))
#define GEARY_RF_C822_IS_FULL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_FULL))
#define GEARY_RF_C822_FULL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_FULL, GearyRFC822FullClass))

typedef struct _GearyRFC822Full GearyRFC822Full;
typedef struct _GearyRFC822FullClass GearyRFC822FullClass;
typedef struct _GearyRFC822FullPrivate GearyRFC822FullPrivate;

#define GEARY_IMAP_TYPE_RF_C822_FULL (geary_imap_rf_c822_full_get_type ())
#define GEARY_IMAP_RF_C822_FULL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_RF_C822_FULL, GearyImapRFC822Full))
#define GEARY_IMAP_RF_C822_FULL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_RF_C822_FULL, GearyImapRFC822FullClass))
#define GEARY_IMAP_IS_RF_C822_FULL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_RF_C822_FULL))
#define GEARY_IMAP_IS_RF_C822_FULL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_RF_C822_FULL))
#define GEARY_IMAP_RF_C822_FULL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_RF_C822_FULL, GearyImapRFC822FullClass))

typedef struct _GearyImapRFC822Full GearyImapRFC822Full;
typedef struct _GearyImapRFC822FullClass GearyImapRFC822FullClass;
typedef struct _GearyImapRFC822FullPrivate GearyImapRFC822FullPrivate;
typedef struct _GearyImapMessageFlagPrivate GearyImapMessageFlagPrivate;
typedef struct _GearyImapMessageFlagsPrivate GearyImapMessageFlagsPrivate;

#define GEARY_IMAP_TYPE_NAMESPACE (geary_imap_namespace_get_type ())
#define GEARY_IMAP_NAMESPACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_NAMESPACE, GearyImapNamespace))
#define GEARY_IMAP_NAMESPACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_NAMESPACE, GearyImapNamespaceClass))
#define GEARY_IMAP_IS_NAMESPACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_NAMESPACE))
#define GEARY_IMAP_IS_NAMESPACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_NAMESPACE))
#define GEARY_IMAP_NAMESPACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_NAMESPACE, GearyImapNamespaceClass))

typedef struct _GearyImapNamespace GearyImapNamespace;
typedef struct _GearyImapNamespaceClass GearyImapNamespaceClass;
typedef struct _GearyImapNamespacePrivate GearyImapNamespacePrivate;
typedef struct _GearyImapSequenceNumberPrivate GearyImapSequenceNumberPrivate;
typedef struct _GearyImapStringParameterPrivate GearyImapStringParameterPrivate;
typedef struct _GearyImapUnquotedStringParameterPrivate GearyImapUnquotedStringParameterPrivate;
typedef struct _GearyImapAtomParameterPrivate GearyImapAtomParameterPrivate;
typedef struct _GearyImapTagPrivate GearyImapTagPrivate;
typedef struct _GearyImapUIDPrivate GearyImapUIDPrivate;
typedef struct _GearyImapUIDValidityPrivate GearyImapUIDValidityPrivate;

#define GEARY_IMAP_TYPE_NUMBER_PARAMETER (geary_imap_number_parameter_get_type ())
#define GEARY_IMAP_NUMBER_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_NUMBER_PARAMETER, GearyImapNumberParameter))
#define GEARY_IMAP_NUMBER_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_NUMBER_PARAMETER, GearyImapNumberParameterClass))
#define GEARY_IMAP_IS_NUMBER_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_NUMBER_PARAMETER))
#define GEARY_IMAP_IS_NUMBER_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_NUMBER_PARAMETER))
#define GEARY_IMAP_NUMBER_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_NUMBER_PARAMETER, GearyImapNumberParameterClass))

typedef struct _GearyImapNumberParameter GearyImapNumberParameter;
typedef struct _GearyImapNumberParameterClass GearyImapNumberParameterClass;

#define GEARY_IMAP_TYPE_LITERAL_PARAMETER (geary_imap_literal_parameter_get_type ())
#define GEARY_IMAP_LITERAL_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_LITERAL_PARAMETER, GearyImapLiteralParameter))
#define GEARY_IMAP_LITERAL_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_LITERAL_PARAMETER, GearyImapLiteralParameterClass))
#define GEARY_IMAP_IS_LITERAL_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_LITERAL_PARAMETER))
#define GEARY_IMAP_IS_LITERAL_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_LITERAL_PARAMETER))
#define GEARY_IMAP_LITERAL_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_LITERAL_PARAMETER, GearyImapLiteralParameterClass))

typedef struct _GearyImapLiteralParameter GearyImapLiteralParameter;
typedef struct _GearyImapLiteralParameterClass GearyImapLiteralParameterClass;
typedef struct _GearyImapLiteralParameterPrivate GearyImapLiteralParameterPrivate;

#define GEARY_IMAP_TYPE_NIL_PARAMETER (geary_imap_nil_parameter_get_type ())
#define GEARY_IMAP_NIL_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_NIL_PARAMETER, GearyImapNilParameter))
#define GEARY_IMAP_NIL_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_NIL_PARAMETER, GearyImapNilParameterClass))
#define GEARY_IMAP_IS_NIL_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_NIL_PARAMETER))
#define GEARY_IMAP_IS_NIL_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_NIL_PARAMETER))
#define GEARY_IMAP_NIL_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_NIL_PARAMETER, GearyImapNilParameterClass))

typedef struct _GearyImapNilParameter GearyImapNilParameter;
typedef struct _GearyImapNilParameterClass GearyImapNilParameterClass;
typedef struct _GearyImapNilParameterPrivate GearyImapNilParameterPrivate;
typedef struct _GearyImapNumberParameterPrivate GearyImapNumberParameterPrivate;

#define GEARY_IMAP_TYPE_QUOTED_STRING_PARAMETER (geary_imap_quoted_string_parameter_get_type ())
#define GEARY_IMAP_QUOTED_STRING_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_QUOTED_STRING_PARAMETER, GearyImapQuotedStringParameter))
#define GEARY_IMAP_QUOTED_STRING_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_QUOTED_STRING_PARAMETER, GearyImapQuotedStringParameterClass))
#define GEARY_IMAP_IS_QUOTED_STRING_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_QUOTED_STRING_PARAMETER))
#define GEARY_IMAP_IS_QUOTED_STRING_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_QUOTED_STRING_PARAMETER))
#define GEARY_IMAP_QUOTED_STRING_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_QUOTED_STRING_PARAMETER, GearyImapQuotedStringParameterClass))

typedef struct _GearyImapQuotedStringParameter GearyImapQuotedStringParameter;
typedef struct _GearyImapQuotedStringParameterClass GearyImapQuotedStringParameterClass;
typedef struct _GearyImapQuotedStringParameterPrivate GearyImapQuotedStringParameterPrivate;
typedef struct _GearyImapRootParametersPrivate GearyImapRootParametersPrivate;
typedef struct _GearyImapServerResponsePrivate GearyImapServerResponsePrivate;
typedef struct _GearyImapContinuationResponsePrivate GearyImapContinuationResponsePrivate;
typedef struct _GearyImapFetchDataDecoderPrivate GearyImapFetchDataDecoderPrivate;

#define GEARY_IMAP_TYPE_UID_DECODER (geary_imap_uid_decoder_get_type ())
#define GEARY_IMAP_UID_DECODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_UID_DECODER, GearyImapUIDDecoder))
#define GEARY_IMAP_UID_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_UID_DECODER, GearyImapUIDDecoderClass))
#define GEARY_IMAP_IS_UID_DECODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_UID_DECODER))
#define GEARY_IMAP_IS_UID_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_UID_DECODER))
#define GEARY_IMAP_UID_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_UID_DECODER, GearyImapUIDDecoderClass))

typedef struct _GearyImapUIDDecoder GearyImapUIDDecoder;
typedef struct _GearyImapUIDDecoderClass GearyImapUIDDecoderClass;
typedef struct _GearyImapUIDDecoderPrivate GearyImapUIDDecoderPrivate;

#define GEARY_IMAP_TYPE_MESSAGE_FLAGS_DECODER (geary_imap_message_flags_decoder_get_type ())
#define GEARY_IMAP_MESSAGE_FLAGS_DECODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_MESSAGE_FLAGS_DECODER, GearyImapMessageFlagsDecoder))
#define GEARY_IMAP_MESSAGE_FLAGS_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_MESSAGE_FLAGS_DECODER, GearyImapMessageFlagsDecoderClass))
#define GEARY_IMAP_IS_MESSAGE_FLAGS_DECODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_MESSAGE_FLAGS_DECODER))
#define GEARY_IMAP_IS_MESSAGE_FLAGS_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_MESSAGE_FLAGS_DECODER))
#define GEARY_IMAP_MESSAGE_FLAGS_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_MESSAGE_FLAGS_DECODER, GearyImapMessageFlagsDecoderClass))

typedef struct _GearyImapMessageFlagsDecoder GearyImapMessageFlagsDecoder;
typedef struct _GearyImapMessageFlagsDecoderClass GearyImapMessageFlagsDecoderClass;
typedef struct _GearyImapMessageFlagsDecoderPrivate GearyImapMessageFlagsDecoderPrivate;

#define GEARY_IMAP_TYPE_INTERNAL_DATE_DECODER (geary_imap_internal_date_decoder_get_type ())
#define GEARY_IMAP_INTERNAL_DATE_DECODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_INTERNAL_DATE_DECODER, GearyImapInternalDateDecoder))
#define GEARY_IMAP_INTERNAL_DATE_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_INTERNAL_DATE_DECODER, GearyImapInternalDateDecoderClass))
#define GEARY_IMAP_IS_INTERNAL_DATE_DECODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_INTERNAL_DATE_DECODER))
#define GEARY_IMAP_IS_INTERNAL_DATE_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_INTERNAL_DATE_DECODER))
#define GEARY_IMAP_INTERNAL_DATE_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_INTERNAL_DATE_DECODER, GearyImapInternalDateDecoderClass))

typedef struct _GearyImapInternalDateDecoder GearyImapInternalDateDecoder;
typedef struct _GearyImapInternalDateDecoderClass GearyImapInternalDateDecoderClass;
typedef struct _GearyImapInternalDateDecoderPrivate GearyImapInternalDateDecoderPrivate;

#define GEARY_IMAP_TYPE_RF_C822_SIZE_DECODER (geary_imap_rf_c822_size_decoder_get_type ())
#define GEARY_IMAP_RF_C822_SIZE_DECODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_RF_C822_SIZE_DECODER, GearyImapRFC822SizeDecoder))
#define GEARY_IMAP_RF_C822_SIZE_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_RF_C822_SIZE_DECODER, GearyImapRFC822SizeDecoderClass))
#define GEARY_IMAP_IS_RF_C822_SIZE_DECODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_RF_C822_SIZE_DECODER))
#define GEARY_IMAP_IS_RF_C822_SIZE_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_RF_C822_SIZE_DECODER))
#define GEARY_IMAP_RF_C822_SIZE_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_RF_C822_SIZE_DECODER, GearyImapRFC822SizeDecoderClass))

typedef struct _GearyImapRFC822SizeDecoder GearyImapRFC822SizeDecoder;
typedef struct _GearyImapRFC822SizeDecoderClass GearyImapRFC822SizeDecoderClass;
typedef struct _GearyImapRFC822SizeDecoderPrivate GearyImapRFC822SizeDecoderPrivate;

#define GEARY_IMAP_TYPE_ENVELOPE_DECODER (geary_imap_envelope_decoder_get_type ())
#define GEARY_IMAP_ENVELOPE_DECODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_ENVELOPE_DECODER, GearyImapEnvelopeDecoder))
#define GEARY_IMAP_ENVELOPE_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_ENVELOPE_DECODER, GearyImapEnvelopeDecoderClass))
#define GEARY_IMAP_IS_ENVELOPE_DECODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_ENVELOPE_DECODER))
#define GEARY_IMAP_IS_ENVELOPE_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_ENVELOPE_DECODER))
#define GEARY_IMAP_ENVELOPE_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_ENVELOPE_DECODER, GearyImapEnvelopeDecoderClass))

typedef struct _GearyImapEnvelopeDecoder GearyImapEnvelopeDecoder;
typedef struct _GearyImapEnvelopeDecoderClass GearyImapEnvelopeDecoderClass;
typedef struct _GearyImapEnvelopeDecoderPrivate GearyImapEnvelopeDecoderPrivate;

#define GEARY_IMAP_TYPE_RF_C822_HEADER_DECODER (geary_imap_rf_c822_header_decoder_get_type ())
#define GEARY_IMAP_RF_C822_HEADER_DECODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_RF_C822_HEADER_DECODER, GearyImapRFC822HeaderDecoder))
#define GEARY_IMAP_RF_C822_HEADER_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_RF_C822_HEADER_DECODER, GearyImapRFC822HeaderDecoderClass))
#define GEARY_IMAP_IS_RF_C822_HEADER_DECODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_RF_C822_HEADER_DECODER))
#define GEARY_IMAP_IS_RF_C822_HEADER_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_RF_C822_HEADER_DECODER))
#define GEARY_IMAP_RF_C822_HEADER_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_RF_C822_HEADER_DECODER, GearyImapRFC822HeaderDecoderClass))

typedef struct _GearyImapRFC822HeaderDecoder GearyImapRFC822HeaderDecoder;
typedef struct _GearyImapRFC822HeaderDecoderClass GearyImapRFC822HeaderDecoderClass;
typedef struct _GearyImapRFC822HeaderDecoderPrivate GearyImapRFC822HeaderDecoderPrivate;

#define GEARY_IMAP_TYPE_RF_C822_TEXT_DECODER (geary_imap_rf_c822_text_decoder_get_type ())
#define GEARY_IMAP_RF_C822_TEXT_DECODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_RF_C822_TEXT_DECODER, GearyImapRFC822TextDecoder))
#define GEARY_IMAP_RF_C822_TEXT_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_RF_C822_TEXT_DECODER, GearyImapRFC822TextDecoderClass))
#define GEARY_IMAP_IS_RF_C822_TEXT_DECODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_RF_C822_TEXT_DECODER))
#define GEARY_IMAP_IS_RF_C822_TEXT_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_RF_C822_TEXT_DECODER))
#define GEARY_IMAP_RF_C822_TEXT_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_RF_C822_TEXT_DECODER, GearyImapRFC822TextDecoderClass))

typedef struct _GearyImapRFC822TextDecoder GearyImapRFC822TextDecoder;
typedef struct _GearyImapRFC822TextDecoderClass GearyImapRFC822TextDecoderClass;
typedef struct _GearyImapRFC822TextDecoderPrivate GearyImapRFC822TextDecoderPrivate;

#define GEARY_IMAP_TYPE_RF_C822_FULL_DECODER (geary_imap_rf_c822_full_decoder_get_type ())
#define GEARY_IMAP_RF_C822_FULL_DECODER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_RF_C822_FULL_DECODER, GearyImapRFC822FullDecoder))
#define GEARY_IMAP_RF_C822_FULL_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_RF_C822_FULL_DECODER, GearyImapRFC822FullDecoderClass))
#define GEARY_IMAP_IS_RF_C822_FULL_DECODER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_RF_C822_FULL_DECODER))
#define GEARY_IMAP_IS_RF_C822_FULL_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_RF_C822_FULL_DECODER))
#define GEARY_IMAP_RF_C822_FULL_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_RF_C822_FULL_DECODER, GearyImapRFC822FullDecoderClass))

typedef struct _GearyImapRFC822FullDecoder GearyImapRFC822FullDecoder;
typedef struct _GearyImapRFC822FullDecoderClass GearyImapRFC822FullDecoderClass;
typedef struct _GearyImapRFC822FullDecoderPrivate GearyImapRFC822FullDecoderPrivate;

#define GEARY_IMAP_TYPE_FETCHED_DATA (geary_imap_fetched_data_get_type ())
#define GEARY_IMAP_FETCHED_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_FETCHED_DATA, GearyImapFetchedData))
#define GEARY_IMAP_FETCHED_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_FETCHED_DATA, GearyImapFetchedDataClass))
#define GEARY_IMAP_IS_FETCHED_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_FETCHED_DATA))
#define GEARY_IMAP_IS_FETCHED_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_FETCHED_DATA))
#define GEARY_IMAP_FETCHED_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_FETCHED_DATA, GearyImapFetchedDataClass))

typedef struct _GearyImapFetchedData GearyImapFetchedData;
typedef struct _GearyImapFetchedDataClass GearyImapFetchedDataClass;
typedef struct _GearyImapFetchedDataPrivate GearyImapFetchedDataPrivate;

#define GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTE (geary_imap_mailbox_attribute_get_type ())
#define GEARY_IMAP_MAILBOX_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTE, GearyImapMailboxAttribute))
#define GEARY_IMAP_MAILBOX_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTE, GearyImapMailboxAttributeClass))
#define GEARY_IMAP_IS_MAILBOX_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTE))
#define GEARY_IMAP_IS_MAILBOX_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTE))
#define GEARY_IMAP_MAILBOX_ATTRIBUTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_MAILBOX_ATTRIBUTE, GearyImapMailboxAttributeClass))

typedef struct _GearyImapMailboxAttribute GearyImapMailboxAttribute;
typedef struct _GearyImapMailboxAttributeClass GearyImapMailboxAttributeClass;
typedef struct _GearyImapMailboxAttributePrivate GearyImapMailboxAttributePrivate;
typedef struct _GearyImapMailboxAttributesPrivate GearyImapMailboxAttributesPrivate;

#define GEARY_IMAP_TYPE_MAILBOX_INFORMATION (geary_imap_mailbox_information_get_type ())
#define GEARY_IMAP_MAILBOX_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_MAILBOX_INFORMATION, GearyImapMailboxInformation))
#define GEARY_IMAP_MAILBOX_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_MAILBOX_INFORMATION, GearyImapMailboxInformationClass))
#define GEARY_IMAP_IS_MAILBOX_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_MAILBOX_INFORMATION))
#define GEARY_IMAP_IS_MAILBOX_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_MAILBOX_INFORMATION))
#define GEARY_IMAP_MAILBOX_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_MAILBOX_INFORMATION, GearyImapMailboxInformationClass))

typedef struct _GearyImapMailboxInformation GearyImapMailboxInformation;
typedef struct _GearyImapMailboxInformationClass GearyImapMailboxInformationClass;
typedef struct _GearyImapMailboxInformationPrivate GearyImapMailboxInformationPrivate;

#define GEARY_IMAP_TYPE_NAMESPACE_RESPONSE (geary_imap_namespace_response_get_type ())
#define GEARY_IMAP_NAMESPACE_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_NAMESPACE_RESPONSE, GearyImapNamespaceResponse))
#define GEARY_IMAP_NAMESPACE_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_NAMESPACE_RESPONSE, GearyImapNamespaceResponseClass))
#define GEARY_IMAP_IS_NAMESPACE_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_NAMESPACE_RESPONSE))
#define GEARY_IMAP_IS_NAMESPACE_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_NAMESPACE_RESPONSE))
#define GEARY_IMAP_NAMESPACE_RESPONSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_NAMESPACE_RESPONSE, GearyImapNamespaceResponseClass))

typedef struct _GearyImapNamespaceResponse GearyImapNamespaceResponse;
typedef struct _GearyImapNamespaceResponseClass GearyImapNamespaceResponseClass;
typedef struct _GearyImapNamespaceResponsePrivate GearyImapNamespaceResponsePrivate;

#define GEARY_IMAP_TYPE_RESPONSE_CODE (geary_imap_response_code_get_type ())
#define GEARY_IMAP_RESPONSE_CODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_RESPONSE_CODE, GearyImapResponseCode))
#define GEARY_IMAP_RESPONSE_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_RESPONSE_CODE, GearyImapResponseCodeClass))
#define GEARY_IMAP_IS_RESPONSE_CODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_RESPONSE_CODE))
#define GEARY_IMAP_IS_RESPONSE_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_RESPONSE_CODE))
#define GEARY_IMAP_RESPONSE_CODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_RESPONSE_CODE, GearyImapResponseCodeClass))

typedef struct _GearyImapResponseCode GearyImapResponseCode;
typedef struct _GearyImapResponseCodeClass GearyImapResponseCodeClass;
typedef struct _GearyImapResponseCodePrivate GearyImapResponseCodePrivate;

#define GEARY_IMAP_TYPE_RESPONSE_CODE_TYPE (geary_imap_response_code_type_get_type ())
#define GEARY_IMAP_RESPONSE_CODE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_RESPONSE_CODE_TYPE, GearyImapResponseCodeType))
#define GEARY_IMAP_RESPONSE_CODE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_RESPONSE_CODE_TYPE, GearyImapResponseCodeTypeClass))
#define GEARY_IMAP_IS_RESPONSE_CODE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_RESPONSE_CODE_TYPE))
#define GEARY_IMAP_IS_RESPONSE_CODE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_RESPONSE_CODE_TYPE))
#define GEARY_IMAP_RESPONSE_CODE_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_RESPONSE_CODE_TYPE, GearyImapResponseCodeTypeClass))

typedef struct _GearyImapResponseCodeType GearyImapResponseCodeType;
typedef struct _GearyImapResponseCodeTypeClass GearyImapResponseCodeTypeClass;
typedef struct _GearyImapResponseCodeTypePrivate GearyImapResponseCodeTypePrivate;
typedef struct _GearyImapServerDataPrivate GearyImapServerDataPrivate;
typedef enum  {
	GEARY_IMAP_SERVER_DATA_TYPE_CAPABILITY,
	GEARY_IMAP_SERVER_DATA_TYPE_EXISTS,
	GEARY_IMAP_SERVER_DATA_TYPE_EXPUNGE,
	GEARY_IMAP_SERVER_DATA_TYPE_FETCH,
	GEARY_IMAP_SERVER_DATA_TYPE_FLAGS,
	GEARY_IMAP_SERVER_DATA_TYPE_LIST,
	GEARY_IMAP_SERVER_DATA_TYPE_LSUB,
	GEARY_IMAP_SERVER_DATA_TYPE_NAMESPACE,
	GEARY_IMAP_SERVER_DATA_TYPE_RECENT,
	GEARY_IMAP_SERVER_DATA_TYPE_SEARCH,
	GEARY_IMAP_SERVER_DATA_TYPE_STATUS,
	GEARY_IMAP_SERVER_DATA_TYPE_XLIST
} GearyImapServerDataType;

#define GEARY_IMAP_TYPE_SERVER_DATA_TYPE (geary_imap_server_data_type_get_type ())
typedef enum  {
	GEARY_IMAP_STATUS_OK,
	GEARY_IMAP_STATUS_NO,
	GEARY_IMAP_STATUS_BAD,
	GEARY_IMAP_STATUS_PREAUTH,
	GEARY_IMAP_STATUS_BYE
} GearyImapStatus;

#define GEARY_IMAP_TYPE_STATUS (geary_imap_status_get_type ())
typedef struct _GearyImapStatusDataPrivate GearyImapStatusDataPrivate;
typedef struct _GearyImapStatusResponsePrivate GearyImapStatusResponsePrivate;

#define GEARY_IMAP_TYPE_CLIENT_CONNECTION (geary_imap_client_connection_get_type ())
#define GEARY_IMAP_CLIENT_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_CLIENT_CONNECTION, GearyImapClientConnection))
#define GEARY_IMAP_CLIENT_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_CLIENT_CONNECTION, GearyImapClientConnectionClass))
#define GEARY_IMAP_IS_CLIENT_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_CLIENT_CONNECTION))
#define GEARY_IMAP_IS_CLIENT_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_CLIENT_CONNECTION))
#define GEARY_IMAP_CLIENT_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_CLIENT_CONNECTION, GearyImapClientConnectionClass))

typedef struct _GearyImapClientConnection GearyImapClientConnection;
typedef struct _GearyImapClientConnectionClass GearyImapClientConnectionClass;
typedef struct _GearyImapClientConnectionPrivate GearyImapClientConnectionPrivate;
typedef struct _GearyImapClientSessionPrivate GearyImapClientSessionPrivate;
typedef enum  {
	GEARY_IMAP_CLIENT_SESSION_PROTOCOL_STATE_NOT_CONNECTED,
	GEARY_IMAP_CLIENT_SESSION_PROTOCOL_STATE_CONNECTING,
	GEARY_IMAP_CLIENT_SESSION_PROTOCOL_STATE_UNAUTHORIZED,
	GEARY_IMAP_CLIENT_SESSION_PROTOCOL_STATE_AUTHORIZING,
	GEARY_IMAP_CLIENT_SESSION_PROTOCOL_STATE_AUTHORIZED,
	GEARY_IMAP_CLIENT_SESSION_PROTOCOL_STATE_SELECTING,
	GEARY_IMAP_CLIENT_SESSION_PROTOCOL_STATE_SELECTED,
	GEARY_IMAP_CLIENT_SESSION_PROTOCOL_STATE_CLOSING_MAILBOX
} GearyImapClientSessionProtocolState;

#define GEARY_IMAP_CLIENT_SESSION_TYPE_PROTOCOL_STATE (geary_imap_client_session_protocol_state_get_type ())
typedef enum  {
	GEARY_IMAP_CLIENT_SESSION_DISCONNECT_REASON_NULL,
	GEARY_IMAP_CLIENT_SESSION_DISCONNECT_REASON_LOCAL_CLOSE,
	GEARY_IMAP_CLIENT_SESSION_DISCONNECT_REASON_LOCAL_ERROR,
	GEARY_IMAP_CLIENT_SESSION_DISCONNECT_REASON_REMOTE_CLOSE,
	GEARY_IMAP_CLIENT_SESSION_DISCONNECT_REASON_REMOTE_ERROR
} GearyImapClientSessionDisconnectReason;

#define GEARY_IMAP_CLIENT_SESSION_TYPE_DISCONNECT_REASON (geary_imap_client_session_disconnect_reason_get_type ())

#define GEARY_IMAP_TYPE_DESERIALIZER (geary_imap_deserializer_get_type ())
#define GEARY_IMAP_DESERIALIZER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_TYPE_DESERIALIZER, GearyImapDeserializer))
#define GEARY_IMAP_DESERIALIZER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_TYPE_DESERIALIZER, GearyImapDeserializerClass))
#define GEARY_IMAP_IS_DESERIALIZER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_TYPE_DESERIALIZER))
#define GEARY_IMAP_IS_DESERIALIZER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_TYPE_DESERIALIZER))
#define GEARY_IMAP_DESERIALIZER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_TYPE_DESERIALIZER, GearyImapDeserializerClass))

typedef struct _GearyImapDeserializer GearyImapDeserializer;
typedef struct _GearyImapDeserializerClass GearyImapDeserializerClass;
typedef struct _GearyImapDeserializerPrivate GearyImapDeserializerPrivate;
typedef struct _GearyImapSerializerPrivate GearyImapSerializerPrivate;

#define GEARY_IMAP_ENGINE_TYPE_ACCOUNT_OPERATION (geary_imap_engine_account_operation_get_type ())
#define GEARY_IMAP_ENGINE_ACCOUNT_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_ENGINE_TYPE_ACCOUNT_OPERATION, GearyImapEngineAccountOperation))
#define GEARY_IMAP_ENGINE_ACCOUNT_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_ENGINE_TYPE_ACCOUNT_OPERATION, GearyImapEngineAccountOperationClass))
#define GEARY_IMAP_ENGINE_IS_ACCOUNT_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_ENGINE_TYPE_ACCOUNT_OPERATION))
#define GEARY_IMAP_ENGINE_IS_ACCOUNT_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_ENGINE_TYPE_ACCOUNT_OPERATION))
#define GEARY_IMAP_ENGINE_ACCOUNT_OPERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_ENGINE_TYPE_ACCOUNT_OPERATION, GearyImapEngineAccountOperationClass))

typedef struct _GearyImapEngineAccountOperation GearyImapEngineAccountOperation;
typedef struct _GearyImapEngineAccountOperationClass GearyImapEngineAccountOperationClass;
typedef struct _GearyImapEngineAccountOperationPrivate GearyImapEngineAccountOperationPrivate;

#define GEARY_IMAP_ENGINE_TYPE_FOLDER_OPERATION (geary_imap_engine_folder_operation_get_type ())
#define GEARY_IMAP_ENGINE_FOLDER_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_IMAP_ENGINE_TYPE_FOLDER_OPERATION, GearyImapEngineFolderOperation))
#define GEARY_IMAP_ENGINE_FOLDER_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_IMAP_ENGINE_TYPE_FOLDER_OPERATION, GearyImapEngineFolderOperationClass))
#define GEARY_IMAP_ENGINE_IS_FOLDER_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_IMAP_ENGINE_TYPE_FOLDER_OPERATION))
#define GEARY_IMAP_ENGINE_IS_FOLDER_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_IMAP_ENGINE_TYPE_FOLDER_OPERATION))
#define GEARY_IMAP_ENGINE_FOLDER_OPERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_IMAP_ENGINE_TYPE_FOLDER_OPERATION, GearyImapEngineFolderOperationClass))

typedef struct _GearyImapEngineFolderOperation GearyImapEngineFolderOperation;
typedef struct _GearyImapEngineFolderOperationClass GearyImapEngineFolderOperationClass;
typedef struct _GearyImapEngineFolderOperationPrivate GearyImapEngineFolderOperationPrivate;
typedef struct _GearyMemoryBufferPrivate GearyMemoryBufferPrivate;

#define GEARY_MEMORY_TYPE_UNOWNED_BYTES_BUFFER (geary_memory_unowned_bytes_buffer_get_type ())
#define GEARY_MEMORY_UNOWNED_BYTES_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MEMORY_TYPE_UNOWNED_BYTES_BUFFER, GearyMemoryUnownedBytesBuffer))
#define GEARY_MEMORY_IS_UNOWNED_BYTES_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MEMORY_TYPE_UNOWNED_BYTES_BUFFER))
#define GEARY_MEMORY_UNOWNED_BYTES_BUFFER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_MEMORY_TYPE_UNOWNED_BYTES_BUFFER, GearyMemoryUnownedBytesBufferIface))

typedef struct _GearyMemoryUnownedBytesBuffer GearyMemoryUnownedBytesBuffer;
typedef struct _GearyMemoryUnownedBytesBufferIface GearyMemoryUnownedBytesBufferIface;

#define GEARY_MEMORY_TYPE_BYTE_BUFFER (geary_memory_byte_buffer_get_type ())
#define GEARY_MEMORY_BYTE_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MEMORY_TYPE_BYTE_BUFFER, GearyMemoryByteBuffer))
#define GEARY_MEMORY_BYTE_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MEMORY_TYPE_BYTE_BUFFER, GearyMemoryByteBufferClass))
#define GEARY_MEMORY_IS_BYTE_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MEMORY_TYPE_BYTE_BUFFER))
#define GEARY_MEMORY_IS_BYTE_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MEMORY_TYPE_BYTE_BUFFER))
#define GEARY_MEMORY_BYTE_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MEMORY_TYPE_BYTE_BUFFER, GearyMemoryByteBufferClass))

typedef struct _GearyMemoryByteBuffer GearyMemoryByteBuffer;
typedef struct _GearyMemoryByteBufferClass GearyMemoryByteBufferClass;
typedef struct _GearyMemoryByteBufferPrivate GearyMemoryByteBufferPrivate;

#define GEARY_MEMORY_TYPE_UNOWNED_STRING_BUFFER (geary_memory_unowned_string_buffer_get_type ())
#define GEARY_MEMORY_UNOWNED_STRING_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MEMORY_TYPE_UNOWNED_STRING_BUFFER, GearyMemoryUnownedStringBuffer))
#define GEARY_MEMORY_IS_UNOWNED_STRING_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MEMORY_TYPE_UNOWNED_STRING_BUFFER))
#define GEARY_MEMORY_UNOWNED_STRING_BUFFER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_MEMORY_TYPE_UNOWNED_STRING_BUFFER, GearyMemoryUnownedStringBufferIface))

typedef struct _GearyMemoryUnownedStringBuffer GearyMemoryUnownedStringBuffer;
typedef struct _GearyMemoryUnownedStringBufferIface GearyMemoryUnownedStringBufferIface;

#define GEARY_MEMORY_TYPE_UNOWNED_BYTE_ARRAY_BUFFER (geary_memory_unowned_byte_array_buffer_get_type ())
#define GEARY_MEMORY_UNOWNED_BYTE_ARRAY_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MEMORY_TYPE_UNOWNED_BYTE_ARRAY_BUFFER, GearyMemoryUnownedByteArrayBuffer))
#define GEARY_MEMORY_IS_UNOWNED_BYTE_ARRAY_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MEMORY_TYPE_UNOWNED_BYTE_ARRAY_BUFFER))
#define GEARY_MEMORY_UNOWNED_BYTE_ARRAY_BUFFER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_MEMORY_TYPE_UNOWNED_BYTE_ARRAY_BUFFER, GearyMemoryUnownedByteArrayBufferIface))

typedef struct _GearyMemoryUnownedByteArrayBuffer GearyMemoryUnownedByteArrayBuffer;
typedef struct _GearyMemoryUnownedByteArrayBufferIface GearyMemoryUnownedByteArrayBufferIface;

#define GEARY_MEMORY_TYPE_EMPTY_BUFFER (geary_memory_empty_buffer_get_type ())
#define GEARY_MEMORY_EMPTY_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MEMORY_TYPE_EMPTY_BUFFER, GearyMemoryEmptyBuffer))
#define GEARY_MEMORY_EMPTY_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MEMORY_TYPE_EMPTY_BUFFER, GearyMemoryEmptyBufferClass))
#define GEARY_MEMORY_IS_EMPTY_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MEMORY_TYPE_EMPTY_BUFFER))
#define GEARY_MEMORY_IS_EMPTY_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MEMORY_TYPE_EMPTY_BUFFER))
#define GEARY_MEMORY_EMPTY_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MEMORY_TYPE_EMPTY_BUFFER, GearyMemoryEmptyBufferClass))

typedef struct _GearyMemoryEmptyBuffer GearyMemoryEmptyBuffer;
typedef struct _GearyMemoryEmptyBufferClass GearyMemoryEmptyBufferClass;
typedef struct _GearyMemoryEmptyBufferPrivate GearyMemoryEmptyBufferPrivate;

#define GEARY_MEMORY_TYPE_FILE_BUFFER (geary_memory_file_buffer_get_type ())
#define GEARY_MEMORY_FILE_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MEMORY_TYPE_FILE_BUFFER, GearyMemoryFileBuffer))
#define GEARY_MEMORY_FILE_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MEMORY_TYPE_FILE_BUFFER, GearyMemoryFileBufferClass))
#define GEARY_MEMORY_IS_FILE_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MEMORY_TYPE_FILE_BUFFER))
#define GEARY_MEMORY_IS_FILE_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MEMORY_TYPE_FILE_BUFFER))
#define GEARY_MEMORY_FILE_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MEMORY_TYPE_FILE_BUFFER, GearyMemoryFileBufferClass))

typedef struct _GearyMemoryFileBuffer GearyMemoryFileBuffer;
typedef struct _GearyMemoryFileBufferClass GearyMemoryFileBufferClass;
typedef struct _GearyMemoryFileBufferPrivate GearyMemoryFileBufferPrivate;

#define GEARY_MEMORY_TYPE_GROWABLE_BUFFER (geary_memory_growable_buffer_get_type ())
#define GEARY_MEMORY_GROWABLE_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MEMORY_TYPE_GROWABLE_BUFFER, GearyMemoryGrowableBuffer))
#define GEARY_MEMORY_GROWABLE_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MEMORY_TYPE_GROWABLE_BUFFER, GearyMemoryGrowableBufferClass))
#define GEARY_MEMORY_IS_GROWABLE_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MEMORY_TYPE_GROWABLE_BUFFER))
#define GEARY_MEMORY_IS_GROWABLE_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MEMORY_TYPE_GROWABLE_BUFFER))
#define GEARY_MEMORY_GROWABLE_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MEMORY_TYPE_GROWABLE_BUFFER, GearyMemoryGrowableBufferClass))

typedef struct _GearyMemoryGrowableBuffer GearyMemoryGrowableBuffer;
typedef struct _GearyMemoryGrowableBufferClass GearyMemoryGrowableBufferClass;
typedef struct _GearyMemoryGrowableBufferPrivate GearyMemoryGrowableBufferPrivate;

#define GEARY_MEMORY_TYPE_STRING_BUFFER (geary_memory_string_buffer_get_type ())
#define GEARY_MEMORY_STRING_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MEMORY_TYPE_STRING_BUFFER, GearyMemoryStringBuffer))
#define GEARY_MEMORY_STRING_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MEMORY_TYPE_STRING_BUFFER, GearyMemoryStringBufferClass))
#define GEARY_MEMORY_IS_STRING_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MEMORY_TYPE_STRING_BUFFER))
#define GEARY_MEMORY_IS_STRING_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MEMORY_TYPE_STRING_BUFFER))
#define GEARY_MEMORY_STRING_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MEMORY_TYPE_STRING_BUFFER, GearyMemoryStringBufferClass))

typedef struct _GearyMemoryStringBuffer GearyMemoryStringBuffer;
typedef struct _GearyMemoryStringBufferClass GearyMemoryStringBufferClass;
typedef struct _GearyMemoryStringBufferPrivate GearyMemoryStringBufferPrivate;
typedef struct _GearyMimeContentDispositionPrivate GearyMimeContentDispositionPrivate;
typedef enum  {
	GEARY_MIME_DISPOSITION_TYPE_UNSPECIFIED = -1,
	GEARY_MIME_DISPOSITION_TYPE_ATTACHMENT = 0,
	GEARY_MIME_DISPOSITION_TYPE_INLINE = 1
} GearyMimeDispositionType;

#define GEARY_MIME_TYPE_DISPOSITION_TYPE (geary_mime_disposition_type_get_type ())

#define GEARY_MIME_TYPE_CONTENT_PARAMETERS (geary_mime_content_parameters_get_type ())
#define GEARY_MIME_CONTENT_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_MIME_TYPE_CONTENT_PARAMETERS, GearyMimeContentParameters))
#define GEARY_MIME_CONTENT_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_MIME_TYPE_CONTENT_PARAMETERS, GearyMimeContentParametersClass))
#define GEARY_MIME_IS_CONTENT_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_MIME_TYPE_CONTENT_PARAMETERS))
#define GEARY_MIME_IS_CONTENT_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_MIME_TYPE_CONTENT_PARAMETERS))
#define GEARY_MIME_CONTENT_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_MIME_TYPE_CONTENT_PARAMETERS, GearyMimeContentParametersClass))

typedef struct _GearyMimeContentParameters GearyMimeContentParameters;
typedef struct _GearyMimeContentParametersClass GearyMimeContentParametersClass;
typedef struct _GearyMimeContentParametersPrivate GearyMimeContentParametersPrivate;
typedef struct _GearyMimeContentTypePrivate GearyMimeContentTypePrivate;

#define GEARY_TYPE_MIME_ERROR (geary_mime_error_get_type ())
typedef enum  {
	GEARY_MIME_DATA_FORMAT_ENCODING_QUOTING_REQUIRED,
	GEARY_MIME_DATA_FORMAT_ENCODING_QUOTING_OPTIONAL,
	GEARY_MIME_DATA_FORMAT_ENCODING_UNALLOWED
} GearyMimeDataFormatEncoding;

#define GEARY_MIME_DATA_FORMAT_TYPE_ENCODING (geary_mime_data_format_encoding_get_type ())
typedef enum  {
	GEARY_MIME_MULTIPART_SUBTYPE_UNSPECIFIED,
	GEARY_MIME_MULTIPART_SUBTYPE_MIXED,
	GEARY_MIME_MULTIPART_SUBTYPE_ALTERNATIVE,
	GEARY_MIME_MULTIPART_SUBTYPE_RELATED
} GearyMimeMultipartSubtype;

#define GEARY_MIME_TYPE_MULTIPART_SUBTYPE (geary_mime_multipart_subtype_get_type ())

#define GEARY_NONBLOCKING_TYPE_BATCH_OPERATION (geary_nonblocking_batch_operation_get_type ())
#define GEARY_NONBLOCKING_BATCH_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_NONBLOCKING_TYPE_BATCH_OPERATION, GearyNonblockingBatchOperation))
#define GEARY_NONBLOCKING_BATCH_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_NONBLOCKING_TYPE_BATCH_OPERATION, GearyNonblockingBatchOperationClass))
#define GEARY_NONBLOCKING_IS_BATCH_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_NONBLOCKING_TYPE_BATCH_OPERATION))
#define GEARY_NONBLOCKING_IS_BATCH_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_NONBLOCKING_TYPE_BATCH_OPERATION))
#define GEARY_NONBLOCKING_BATCH_OPERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_NONBLOCKING_TYPE_BATCH_OPERATION, GearyNonblockingBatchOperationClass))

typedef struct _GearyNonblockingBatchOperation GearyNonblockingBatchOperation;
typedef struct _GearyNonblockingBatchOperationClass GearyNonblockingBatchOperationClass;
typedef struct _GearyNonblockingBatchOperationPrivate GearyNonblockingBatchOperationPrivate;

#define GEARY_NONBLOCKING_TYPE_BATCH (geary_nonblocking_batch_get_type ())
#define GEARY_NONBLOCKING_BATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_NONBLOCKING_TYPE_BATCH, GearyNonblockingBatch))
#define GEARY_NONBLOCKING_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_NONBLOCKING_TYPE_BATCH, GearyNonblockingBatchClass))
#define GEARY_NONBLOCKING_IS_BATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_NONBLOCKING_TYPE_BATCH))
#define GEARY_NONBLOCKING_IS_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_NONBLOCKING_TYPE_BATCH))
#define GEARY_NONBLOCKING_BATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_NONBLOCKING_TYPE_BATCH, GearyNonblockingBatchClass))

typedef struct _GearyNonblockingBatch GearyNonblockingBatch;
typedef struct _GearyNonblockingBatchClass GearyNonblockingBatchClass;
typedef struct _GearyNonblockingBatchPrivate GearyNonblockingBatchPrivate;

#define GEARY_NONBLOCKING_TYPE_CONCURRENT (geary_nonblocking_concurrent_get_type ())
#define GEARY_NONBLOCKING_CONCURRENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_NONBLOCKING_TYPE_CONCURRENT, GearyNonblockingConcurrent))
#define GEARY_NONBLOCKING_CONCURRENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_NONBLOCKING_TYPE_CONCURRENT, GearyNonblockingConcurrentClass))
#define GEARY_NONBLOCKING_IS_CONCURRENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_NONBLOCKING_TYPE_CONCURRENT))
#define GEARY_NONBLOCKING_IS_CONCURRENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_NONBLOCKING_TYPE_CONCURRENT))
#define GEARY_NONBLOCKING_CONCURRENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_NONBLOCKING_TYPE_CONCURRENT, GearyNonblockingConcurrentClass))

typedef struct _GearyNonblockingConcurrent GearyNonblockingConcurrent;
typedef struct _GearyNonblockingConcurrentClass GearyNonblockingConcurrentClass;
typedef struct _GearyNonblockingConcurrentPrivate GearyNonblockingConcurrentPrivate;
typedef void (*GearyNonblockingConcurrentConcurrentCallback) (GCancellable* cancellable, gpointer user_data, GError** error);

#define GEARY_NONBLOCKING_TYPE_LOCK (geary_nonblocking_lock_get_type ())
#define GEARY_NONBLOCKING_LOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_NONBLOCKING_TYPE_LOCK, GearyNonblockingLock))
#define GEARY_NONBLOCKING_LOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_NONBLOCKING_TYPE_LOCK, GearyNonblockingLockClass))
#define GEARY_NONBLOCKING_IS_LOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_NONBLOCKING_TYPE_LOCK))
#define GEARY_NONBLOCKING_IS_LOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_NONBLOCKING_TYPE_LOCK))
#define GEARY_NONBLOCKING_LOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_NONBLOCKING_TYPE_LOCK, GearyNonblockingLockClass))

typedef struct _GearyNonblockingLock GearyNonblockingLock;
typedef struct _GearyNonblockingLockClass GearyNonblockingLockClass;
typedef struct _GearyNonblockingLockPrivate GearyNonblockingLockPrivate;

#define GEARY_NONBLOCKING_TYPE_COUNTING_SEMAPHORE (geary_nonblocking_counting_semaphore_get_type ())
#define GEARY_NONBLOCKING_COUNTING_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_NONBLOCKING_TYPE_COUNTING_SEMAPHORE, GearyNonblockingCountingSemaphore))
#define GEARY_NONBLOCKING_COUNTING_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_NONBLOCKING_TYPE_COUNTING_SEMAPHORE, GearyNonblockingCountingSemaphoreClass))
#define GEARY_NONBLOCKING_IS_COUNTING_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_NONBLOCKING_TYPE_COUNTING_SEMAPHORE))
#define GEARY_NONBLOCKING_IS_COUNTING_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_NONBLOCKING_TYPE_COUNTING_SEMAPHORE))
#define GEARY_NONBLOCKING_COUNTING_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_NONBLOCKING_TYPE_COUNTING_SEMAPHORE, GearyNonblockingCountingSemaphoreClass))

typedef struct _GearyNonblockingCountingSemaphore GearyNonblockingCountingSemaphore;
typedef struct _GearyNonblockingCountingSemaphoreClass GearyNonblockingCountingSemaphoreClass;
typedef struct _GearyNonblockingCountingSemaphorePrivate GearyNonblockingCountingSemaphorePrivate;

#define GEARY_TYPE_NONBLOCKING_ERROR (geary_nonblocking_error_get_type ())
typedef struct _GearyNonblockingMutexPrivate GearyNonblockingMutexPrivate;
typedef void (*GearyNonblockingMutexCriticalSection) (gpointer user_data, GError** error);

#define GEARY_NONBLOCKING_TYPE_QUEUE (geary_nonblocking_queue_get_type ())
#define GEARY_NONBLOCKING_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_NONBLOCKING_TYPE_QUEUE, GearyNonblockingQueue))
#define GEARY_NONBLOCKING_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_NONBLOCKING_TYPE_QUEUE, GearyNonblockingQueueClass))
#define GEARY_NONBLOCKING_IS_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_NONBLOCKING_TYPE_QUEUE))
#define GEARY_NONBLOCKING_IS_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_NONBLOCKING_TYPE_QUEUE))
#define GEARY_NONBLOCKING_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_NONBLOCKING_TYPE_QUEUE, GearyNonblockingQueueClass))

typedef struct _GearyNonblockingQueue GearyNonblockingQueue;
typedef struct _GearyNonblockingQueueClass GearyNonblockingQueueClass;
typedef struct _GearyNonblockingQueuePrivate GearyNonblockingQueuePrivate;

#define GEARY_NONBLOCKING_TYPE_SEMAPHORE (geary_nonblocking_semaphore_get_type ())
#define GEARY_NONBLOCKING_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_NONBLOCKING_TYPE_SEMAPHORE, GearyNonblockingSemaphore))
#define GEARY_NONBLOCKING_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_NONBLOCKING_TYPE_SEMAPHORE, GearyNonblockingSemaphoreClass))
#define GEARY_NONBLOCKING_IS_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_NONBLOCKING_TYPE_SEMAPHORE))
#define GEARY_NONBLOCKING_IS_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_NONBLOCKING_TYPE_SEMAPHORE))
#define GEARY_NONBLOCKING_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_NONBLOCKING_TYPE_SEMAPHORE, GearyNonblockingSemaphoreClass))

typedef struct _GearyNonblockingSemaphore GearyNonblockingSemaphore;
typedef struct _GearyNonblockingSemaphoreClass GearyNonblockingSemaphoreClass;
typedef struct _GearyNonblockingSemaphorePrivate GearyNonblockingSemaphorePrivate;

#define GEARY_NONBLOCKING_TYPE_REPORTING_SEMAPHORE (geary_nonblocking_reporting_semaphore_get_type ())
#define GEARY_NONBLOCKING_REPORTING_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_NONBLOCKING_TYPE_REPORTING_SEMAPHORE, GearyNonblockingReportingSemaphore))
#define GEARY_NONBLOCKING_REPORTING_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_NONBLOCKING_TYPE_REPORTING_SEMAPHORE, GearyNonblockingReportingSemaphoreClass))
#define GEARY_NONBLOCKING_IS_REPORTING_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_NONBLOCKING_TYPE_REPORTING_SEMAPHORE))
#define GEARY_NONBLOCKING_IS_REPORTING_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_NONBLOCKING_TYPE_REPORTING_SEMAPHORE))
#define GEARY_NONBLOCKING_REPORTING_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_NONBLOCKING_TYPE_REPORTING_SEMAPHORE, GearyNonblockingReportingSemaphoreClass))

typedef struct _GearyNonblockingReportingSemaphore GearyNonblockingReportingSemaphore;
typedef struct _GearyNonblockingReportingSemaphoreClass GearyNonblockingReportingSemaphoreClass;
typedef struct _GearyNonblockingReportingSemaphorePrivate GearyNonblockingReportingSemaphorePrivate;

#define GEARY_NONBLOCKING_TYPE_EVENT (geary_nonblocking_event_get_type ())
#define GEARY_NONBLOCKING_EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_NONBLOCKING_TYPE_EVENT, GearyNonblockingEvent))
#define GEARY_NONBLOCKING_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_NONBLOCKING_TYPE_EVENT, GearyNonblockingEventClass))
#define GEARY_NONBLOCKING_IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_NONBLOCKING_TYPE_EVENT))
#define GEARY_NONBLOCKING_IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_NONBLOCKING_TYPE_EVENT))
#define GEARY_NONBLOCKING_EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_NONBLOCKING_TYPE_EVENT, GearyNonblockingEventClass))

typedef struct _GearyNonblockingEvent GearyNonblockingEvent;
typedef struct _GearyNonblockingEventClass GearyNonblockingEventClass;
typedef struct _GearyNonblockingEventPrivate GearyNonblockingEventPrivate;

#define GEARY_NONBLOCKING_TYPE_SPINLOCK (geary_nonblocking_spinlock_get_type ())
#define GEARY_NONBLOCKING_SPINLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_NONBLOCKING_TYPE_SPINLOCK, GearyNonblockingSpinlock))
#define GEARY_NONBLOCKING_SPINLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_NONBLOCKING_TYPE_SPINLOCK, GearyNonblockingSpinlockClass))
#define GEARY_NONBLOCKING_IS_SPINLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_NONBLOCKING_TYPE_SPINLOCK))
#define GEARY_NONBLOCKING_IS_SPINLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_NONBLOCKING_TYPE_SPINLOCK))
#define GEARY_NONBLOCKING_SPINLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_NONBLOCKING_TYPE_SPINLOCK, GearyNonblockingSpinlockClass))

typedef struct _GearyNonblockingSpinlock GearyNonblockingSpinlock;
typedef struct _GearyNonblockingSpinlockClass GearyNonblockingSpinlockClass;
typedef struct _GearyNonblockingSpinlockPrivate GearyNonblockingSpinlockPrivate;

#define GEARY_OUTBOX_TYPE_FOLDER (geary_outbox_folder_get_type ())
#define GEARY_OUTBOX_FOLDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_OUTBOX_TYPE_FOLDER, GearyOutboxFolder))
#define GEARY_OUTBOX_FOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_OUTBOX_TYPE_FOLDER, GearyOutboxFolderClass))
#define GEARY_OUTBOX_IS_FOLDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_OUTBOX_TYPE_FOLDER))
#define GEARY_OUTBOX_IS_FOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_OUTBOX_TYPE_FOLDER))
#define GEARY_OUTBOX_FOLDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_OUTBOX_TYPE_FOLDER, GearyOutboxFolderClass))

typedef struct _GearyOutboxFolder GearyOutboxFolder;
typedef struct _GearyOutboxFolderClass GearyOutboxFolderClass;
typedef struct _GearyOutboxFolderPrivate GearyOutboxFolderPrivate;
typedef enum  {
	GEARY_RF_C822_TEXT_FORMAT_PLAIN,
	GEARY_RF_C822_TEXT_FORMAT_HTML
} GearyRFC822TextFormat;

#define GEARY_RF_C822_TYPE_TEXT_FORMAT (geary_rf_c822_text_format_get_type ())

#define GEARY_RF_C822_TYPE_ERROR (geary_rf_c822_error_get_type ())

#define GEARY_RF_C822_TYPE_DECODED_MESSAGE_DATA (geary_rf_c822_decoded_message_data_get_type ())
#define GEARY_RF_C822_DECODED_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_DECODED_MESSAGE_DATA, GearyRFC822DecodedMessageData))
#define GEARY_RF_C822_IS_DECODED_MESSAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_DECODED_MESSAGE_DATA))
#define GEARY_RF_C822_DECODED_MESSAGE_DATA_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_RF_C822_TYPE_DECODED_MESSAGE_DATA, GearyRFC822DecodedMessageDataIface))

typedef struct _GearyRFC822DecodedMessageData GearyRFC822DecodedMessageData;
typedef struct _GearyRFC822DecodedMessageDataIface GearyRFC822DecodedMessageDataIface;
typedef struct _GearyRFC822MailboxAddressesPrivate GearyRFC822MailboxAddressesPrivate;
typedef struct _GearyRFC822MailboxAddressPrivate GearyRFC822MailboxAddressPrivate;
typedef struct _GearyRFC822MessagePrivate GearyRFC822MessagePrivate;
typedef enum  {
	GEARY_RF_C822_MESSAGE_RF_C822_FORMAT_OPTIONS_NONE = 1 << 0,
	GEARY_RF_C822_MESSAGE_RF_C822_FORMAT_OPTIONS_SMTP_FORMAT = 1 << 1
} GearyRFC822MessageRFC822FormatOptions;

#define GEARY_RF_C822_MESSAGE_TYPE_RF_C822_FORMAT_OPTIONS (geary_rf_c822_message_rf_c822_format_options_get_type ())

#define GEARY_RF_C822_TYPE_AUTHENTICATION_RESULTS (geary_rf_c822_authentication_results_get_type ())
#define GEARY_RF_C822_AUTHENTICATION_RESULTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_AUTHENTICATION_RESULTS, GearyRFC822AuthenticationResults))
#define GEARY_RF_C822_AUTHENTICATION_RESULTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_AUTHENTICATION_RESULTS, GearyRFC822AuthenticationResultsClass))
#define GEARY_RF_C822_IS_AUTHENTICATION_RESULTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_AUTHENTICATION_RESULTS))
#define GEARY_RF_C822_IS_AUTHENTICATION_RESULTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_AUTHENTICATION_RESULTS))
#define GEARY_RF_C822_AUTHENTICATION_RESULTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_AUTHENTICATION_RESULTS, GearyRFC822AuthenticationResultsClass))

typedef struct _GearyRFC822AuthenticationResults GearyRFC822AuthenticationResults;
typedef struct _GearyRFC822AuthenticationResultsClass GearyRFC822AuthenticationResultsClass;

#define GEARY_RF_C822_TYPE_PART (geary_rf_c822_part_get_type ())
#define GEARY_RF_C822_PART(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_RF_C822_TYPE_PART, GearyRFC822Part))
#define GEARY_RF_C822_PART_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_RF_C822_TYPE_PART, GearyRFC822PartClass))
#define GEARY_RF_C822_IS_PART(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_RF_C822_TYPE_PART))
#define GEARY_RF_C822_IS_PART_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_RF_C822_TYPE_PART))
#define GEARY_RF_C822_PART_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_RF_C822_TYPE_PART, GearyRFC822PartClass))

typedef struct _GearyRFC822Part GearyRFC822Part;
typedef struct _GearyRFC822PartClass GearyRFC822PartClass;
typedef gchar* (*GearyRFC822MessageInlinePartReplacer) (GearyRFC822Part* part, gpointer user_data);
typedef struct _GearyRFC822MessageIDPrivate GearyRFC822MessageIDPrivate;
typedef struct _GearyRFC822MessageIDListPrivate GearyRFC822MessageIDListPrivate;
typedef struct _GearyRFC822DatePrivate GearyRFC822DatePrivate;
typedef struct _GearyRFC822SubjectPrivate GearyRFC822SubjectPrivate;
typedef struct _GearyRFC822PreviewTextPrivate GearyRFC822PreviewTextPrivate;
typedef struct _GearyRFC822AuthenticationResultsPrivate GearyRFC822AuthenticationResultsPrivate;
typedef struct _GearyRFC822PartPrivate GearyRFC822PartPrivate;
typedef enum  {
	GEARY_RF_C822_PART_ENCODING_CONVERSION_NONE,
	GEARY_RF_C822_PART_ENCODING_CONVERSION_UTF8
} GearyRFC822PartEncodingConversion;

#define GEARY_RF_C822_PART_TYPE_ENCODING_CONVERSION (geary_rf_c822_part_encoding_conversion_get_type ())
typedef enum  {
	GEARY_RF_C822_PART_BODY_FORMATTING_NONE,
	GEARY_RF_C822_PART_BODY_FORMATTING_HTML
} GearyRFC822PartBodyFormatting;

#define GEARY_RF_C822_PART_TYPE_BODY_FORMATTING (geary_rf_c822_part_body_formatting_get_type ())

#define GEARY_SMTP_TYPE_AUTHENTICATOR (geary_smtp_authenticator_get_type ())
#define GEARY_SMTP_AUTHENTICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_AUTHENTICATOR, GearySmtpAuthenticator))
#define GEARY_SMTP_AUTHENTICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_AUTHENTICATOR, GearySmtpAuthenticatorClass))
#define GEARY_SMTP_IS_AUTHENTICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_AUTHENTICATOR))
#define GEARY_SMTP_IS_AUTHENTICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_AUTHENTICATOR))
#define GEARY_SMTP_AUTHENTICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_AUTHENTICATOR, GearySmtpAuthenticatorClass))

typedef struct _GearySmtpAuthenticator GearySmtpAuthenticator;
typedef struct _GearySmtpAuthenticatorClass GearySmtpAuthenticatorClass;
typedef struct _GearySmtpAuthenticatorPrivate GearySmtpAuthenticatorPrivate;

#define GEARY_SMTP_TYPE_REQUEST (geary_smtp_request_get_type ())
#define GEARY_SMTP_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_REQUEST, GearySmtpRequest))
#define GEARY_SMTP_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_REQUEST, GearySmtpRequestClass))
#define GEARY_SMTP_IS_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_REQUEST))
#define GEARY_SMTP_IS_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_REQUEST))
#define GEARY_SMTP_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_REQUEST, GearySmtpRequestClass))

typedef struct _GearySmtpRequest GearySmtpRequest;
typedef struct _GearySmtpRequestClass GearySmtpRequestClass;

#define GEARY_SMTP_TYPE_RESPONSE (geary_smtp_response_get_type ())
#define GEARY_SMTP_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_RESPONSE, GearySmtpResponse))
#define GEARY_SMTP_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_RESPONSE, GearySmtpResponseClass))
#define GEARY_SMTP_IS_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_RESPONSE))
#define GEARY_SMTP_IS_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_RESPONSE))
#define GEARY_SMTP_RESPONSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_RESPONSE, GearySmtpResponseClass))

typedef struct _GearySmtpResponse GearySmtpResponse;
typedef struct _GearySmtpResponseClass GearySmtpResponseClass;

#define GEARY_TYPE_SMTP_ERROR (geary_smtp_error_get_type ())

#define GEARY_SMTP_TYPE_CAPABILITIES (geary_smtp_capabilities_get_type ())
#define GEARY_SMTP_CAPABILITIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_CAPABILITIES, GearySmtpCapabilities))
#define GEARY_SMTP_CAPABILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_CAPABILITIES, GearySmtpCapabilitiesClass))
#define GEARY_SMTP_IS_CAPABILITIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_CAPABILITIES))
#define GEARY_SMTP_IS_CAPABILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_CAPABILITIES))
#define GEARY_SMTP_CAPABILITIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_CAPABILITIES, GearySmtpCapabilitiesClass))

typedef struct _GearySmtpCapabilities GearySmtpCapabilities;
typedef struct _GearySmtpCapabilitiesClass GearySmtpCapabilitiesClass;
typedef struct _GearySmtpCapabilitiesPrivate GearySmtpCapabilitiesPrivate;

#define GEARY_SMTP_TYPE_RESPONSE_LINE (geary_smtp_response_line_get_type ())
#define GEARY_SMTP_RESPONSE_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_RESPONSE_LINE, GearySmtpResponseLine))
#define GEARY_SMTP_RESPONSE_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_RESPONSE_LINE, GearySmtpResponseLineClass))
#define GEARY_SMTP_IS_RESPONSE_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_RESPONSE_LINE))
#define GEARY_SMTP_IS_RESPONSE_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_RESPONSE_LINE))
#define GEARY_SMTP_RESPONSE_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_RESPONSE_LINE, GearySmtpResponseLineClass))

typedef struct _GearySmtpResponseLine GearySmtpResponseLine;
typedef struct _GearySmtpResponseLineClass GearySmtpResponseLineClass;

#define GEARY_SMTP_TYPE_CLIENT_SERVICE (geary_smtp_client_service_get_type ())
#define GEARY_SMTP_CLIENT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_CLIENT_SERVICE, GearySmtpClientService))
#define GEARY_SMTP_CLIENT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_CLIENT_SERVICE, GearySmtpClientServiceClass))
#define GEARY_SMTP_IS_CLIENT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_CLIENT_SERVICE))
#define GEARY_SMTP_IS_CLIENT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_CLIENT_SERVICE))
#define GEARY_SMTP_CLIENT_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_CLIENT_SERVICE, GearySmtpClientServiceClass))

typedef struct _GearySmtpClientService GearySmtpClientService;
typedef struct _GearySmtpClientServiceClass GearySmtpClientServiceClass;
typedef struct _GearySmtpClientServicePrivate GearySmtpClientServicePrivate;

#define GEARY_SMTP_TYPE_CLIENT_SESSION (geary_smtp_client_session_get_type ())
#define GEARY_SMTP_CLIENT_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_CLIENT_SESSION, GearySmtpClientSession))
#define GEARY_SMTP_CLIENT_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_CLIENT_SESSION, GearySmtpClientSessionClass))
#define GEARY_SMTP_IS_CLIENT_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_CLIENT_SESSION))
#define GEARY_SMTP_IS_CLIENT_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_CLIENT_SESSION))
#define GEARY_SMTP_CLIENT_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_CLIENT_SESSION, GearySmtpClientSessionClass))

typedef struct _GearySmtpClientSession GearySmtpClientSession;
typedef struct _GearySmtpClientSessionClass GearySmtpClientSessionClass;
typedef struct _GearySmtpClientSessionPrivate GearySmtpClientSessionPrivate;

#define GEARY_SMTP_TYPE_GREETING (geary_smtp_greeting_get_type ())
#define GEARY_SMTP_GREETING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_GREETING, GearySmtpGreeting))
#define GEARY_SMTP_GREETING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_GREETING, GearySmtpGreetingClass))
#define GEARY_SMTP_IS_GREETING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_GREETING))
#define GEARY_SMTP_IS_GREETING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_GREETING))
#define GEARY_SMTP_GREETING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_GREETING, GearySmtpGreetingClass))

typedef struct _GearySmtpGreeting GearySmtpGreeting;
typedef struct _GearySmtpGreetingClass GearySmtpGreetingClass;
typedef enum  {
	GEARY_SMTP_COMMAND_HELO,
	GEARY_SMTP_COMMAND_EHLO,
	GEARY_SMTP_COMMAND_QUIT,
	GEARY_SMTP_COMMAND_HELP,
	GEARY_SMTP_COMMAND_NOOP,
	GEARY_SMTP_COMMAND_RSET,
	GEARY_SMTP_COMMAND_AUTH,
	GEARY_SMTP_COMMAND_MAIL,
	GEARY_SMTP_COMMAND_RCPT,
	GEARY_SMTP_COMMAND_DATA,
	GEARY_SMTP_COMMAND_STARTTLS
} GearySmtpCommand;

#define GEARY_SMTP_TYPE_COMMAND (geary_smtp_command_get_type ())
typedef struct _GearySmtpResponsePrivate GearySmtpResponsePrivate;
typedef struct _GearySmtpGreetingPrivate GearySmtpGreetingPrivate;
typedef enum  {
	GEARY_SMTP_GREETING_SERVER_FLAVOR_SMTP,
	GEARY_SMTP_GREETING_SERVER_FLAVOR_ESMTP,
	GEARY_SMTP_GREETING_SERVER_FLAVOR_UNSPECIFIED
} GearySmtpGreetingServerFlavor;

#define GEARY_SMTP_GREETING_TYPE_SERVER_FLAVOR (geary_smtp_greeting_server_flavor_get_type ())

#define GEARY_SMTP_TYPE_LOGIN_AUTHENTICATOR (geary_smtp_login_authenticator_get_type ())
#define GEARY_SMTP_LOGIN_AUTHENTICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_LOGIN_AUTHENTICATOR, GearySmtpLoginAuthenticator))
#define GEARY_SMTP_LOGIN_AUTHENTICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_LOGIN_AUTHENTICATOR, GearySmtpLoginAuthenticatorClass))
#define GEARY_SMTP_IS_LOGIN_AUTHENTICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_LOGIN_AUTHENTICATOR))
#define GEARY_SMTP_IS_LOGIN_AUTHENTICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_LOGIN_AUTHENTICATOR))
#define GEARY_SMTP_LOGIN_AUTHENTICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_LOGIN_AUTHENTICATOR, GearySmtpLoginAuthenticatorClass))

typedef struct _GearySmtpLoginAuthenticator GearySmtpLoginAuthenticator;
typedef struct _GearySmtpLoginAuthenticatorClass GearySmtpLoginAuthenticatorClass;
typedef struct _GearySmtpLoginAuthenticatorPrivate GearySmtpLoginAuthenticatorPrivate;

#define GEARY_SMTP_TYPE_OAUTH2_AUTHENTICATOR (geary_smtp_oauth2_authenticator_get_type ())
#define GEARY_SMTP_OAUTH2_AUTHENTICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_OAUTH2_AUTHENTICATOR, GearySmtpOAuth2Authenticator))
#define GEARY_SMTP_OAUTH2_AUTHENTICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_OAUTH2_AUTHENTICATOR, GearySmtpOAuth2AuthenticatorClass))
#define GEARY_SMTP_IS_OAUTH2_AUTHENTICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_OAUTH2_AUTHENTICATOR))
#define GEARY_SMTP_IS_OAUTH2_AUTHENTICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_OAUTH2_AUTHENTICATOR))
#define GEARY_SMTP_OAUTH2_AUTHENTICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_OAUTH2_AUTHENTICATOR, GearySmtpOAuth2AuthenticatorClass))

typedef struct _GearySmtpOAuth2Authenticator GearySmtpOAuth2Authenticator;
typedef struct _GearySmtpOAuth2AuthenticatorClass GearySmtpOAuth2AuthenticatorClass;
typedef struct _GearySmtpOAuth2AuthenticatorPrivate GearySmtpOAuth2AuthenticatorPrivate;

#define GEARY_SMTP_TYPE_PLAIN_AUTHENTICATOR (geary_smtp_plain_authenticator_get_type ())
#define GEARY_SMTP_PLAIN_AUTHENTICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_PLAIN_AUTHENTICATOR, GearySmtpPlainAuthenticator))
#define GEARY_SMTP_PLAIN_AUTHENTICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_PLAIN_AUTHENTICATOR, GearySmtpPlainAuthenticatorClass))
#define GEARY_SMTP_IS_PLAIN_AUTHENTICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_PLAIN_AUTHENTICATOR))
#define GEARY_SMTP_IS_PLAIN_AUTHENTICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_PLAIN_AUTHENTICATOR))
#define GEARY_SMTP_PLAIN_AUTHENTICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_PLAIN_AUTHENTICATOR, GearySmtpPlainAuthenticatorClass))

typedef struct _GearySmtpPlainAuthenticator GearySmtpPlainAuthenticator;
typedef struct _GearySmtpPlainAuthenticatorClass GearySmtpPlainAuthenticatorClass;
typedef struct _GearySmtpPlainAuthenticatorPrivate GearySmtpPlainAuthenticatorPrivate;
typedef struct _GearySmtpRequestPrivate GearySmtpRequestPrivate;

#define GEARY_SMTP_TYPE_HELO_REQUEST (geary_smtp_helo_request_get_type ())
#define GEARY_SMTP_HELO_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_HELO_REQUEST, GearySmtpHeloRequest))
#define GEARY_SMTP_HELO_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_HELO_REQUEST, GearySmtpHeloRequestClass))
#define GEARY_SMTP_IS_HELO_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_HELO_REQUEST))
#define GEARY_SMTP_IS_HELO_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_HELO_REQUEST))
#define GEARY_SMTP_HELO_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_HELO_REQUEST, GearySmtpHeloRequestClass))

typedef struct _GearySmtpHeloRequest GearySmtpHeloRequest;
typedef struct _GearySmtpHeloRequestClass GearySmtpHeloRequestClass;
typedef struct _GearySmtpHeloRequestPrivate GearySmtpHeloRequestPrivate;

#define GEARY_SMTP_TYPE_EHLO_REQUEST (geary_smtp_ehlo_request_get_type ())
#define GEARY_SMTP_EHLO_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_EHLO_REQUEST, GearySmtpEhloRequest))
#define GEARY_SMTP_EHLO_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_EHLO_REQUEST, GearySmtpEhloRequestClass))
#define GEARY_SMTP_IS_EHLO_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_EHLO_REQUEST))
#define GEARY_SMTP_IS_EHLO_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_EHLO_REQUEST))
#define GEARY_SMTP_EHLO_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_EHLO_REQUEST, GearySmtpEhloRequestClass))

typedef struct _GearySmtpEhloRequest GearySmtpEhloRequest;
typedef struct _GearySmtpEhloRequestClass GearySmtpEhloRequestClass;
typedef struct _GearySmtpEhloRequestPrivate GearySmtpEhloRequestPrivate;

#define GEARY_SMTP_TYPE_MAIL_REQUEST (geary_smtp_mail_request_get_type ())
#define GEARY_SMTP_MAIL_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_MAIL_REQUEST, GearySmtpMailRequest))
#define GEARY_SMTP_MAIL_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_MAIL_REQUEST, GearySmtpMailRequestClass))
#define GEARY_SMTP_IS_MAIL_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_MAIL_REQUEST))
#define GEARY_SMTP_IS_MAIL_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_MAIL_REQUEST))
#define GEARY_SMTP_MAIL_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_MAIL_REQUEST, GearySmtpMailRequestClass))

typedef struct _GearySmtpMailRequest GearySmtpMailRequest;
typedef struct _GearySmtpMailRequestClass GearySmtpMailRequestClass;
typedef struct _GearySmtpMailRequestPrivate GearySmtpMailRequestPrivate;

#define GEARY_SMTP_TYPE_RCPT_REQUEST (geary_smtp_rcpt_request_get_type ())
#define GEARY_SMTP_RCPT_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_RCPT_REQUEST, GearySmtpRcptRequest))
#define GEARY_SMTP_RCPT_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_RCPT_REQUEST, GearySmtpRcptRequestClass))
#define GEARY_SMTP_IS_RCPT_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_RCPT_REQUEST))
#define GEARY_SMTP_IS_RCPT_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_RCPT_REQUEST))
#define GEARY_SMTP_RCPT_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_RCPT_REQUEST, GearySmtpRcptRequestClass))

typedef struct _GearySmtpRcptRequest GearySmtpRcptRequest;
typedef struct _GearySmtpRcptRequestClass GearySmtpRcptRequestClass;
typedef struct _GearySmtpRcptRequestPrivate GearySmtpRcptRequestPrivate;

#define GEARY_SMTP_TYPE_RESPONSE_CODE (geary_smtp_response_code_get_type ())
#define GEARY_SMTP_RESPONSE_CODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SMTP_TYPE_RESPONSE_CODE, GearySmtpResponseCode))
#define GEARY_SMTP_RESPONSE_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SMTP_TYPE_RESPONSE_CODE, GearySmtpResponseCodeClass))
#define GEARY_SMTP_IS_RESPONSE_CODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SMTP_TYPE_RESPONSE_CODE))
#define GEARY_SMTP_IS_RESPONSE_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SMTP_TYPE_RESPONSE_CODE))
#define GEARY_SMTP_RESPONSE_CODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SMTP_TYPE_RESPONSE_CODE, GearySmtpResponseCodeClass))

typedef struct _GearySmtpResponseCode GearySmtpResponseCode;
typedef struct _GearySmtpResponseCodeClass GearySmtpResponseCodeClass;
typedef struct _GearySmtpResponseCodePrivate GearySmtpResponseCodePrivate;
typedef enum  {
	GEARY_SMTP_RESPONSE_CODE_STATUS_POSITIVE_PRELIMINARY = 1,
	GEARY_SMTP_RESPONSE_CODE_STATUS_POSITIVE_COMPLETION = 2,
	GEARY_SMTP_RESPONSE_CODE_STATUS_POSITIVE_INTERMEDIATE = 3,
	GEARY_SMTP_RESPONSE_CODE_STATUS_TRANSIENT_NEGATIVE = 4,
	GEARY_SMTP_RESPONSE_CODE_STATUS_PERMANENT_FAILURE = 5,
	GEARY_SMTP_RESPONSE_CODE_STATUS_UNKNOWN = -1
} GearySmtpResponseCodeStatus;

#define GEARY_SMTP_RESPONSE_CODE_TYPE_STATUS (geary_smtp_response_code_status_get_type ())
typedef enum  {
	GEARY_SMTP_RESPONSE_CODE_CONDITION_SYNTAX = 0,
	GEARY_SMTP_RESPONSE_CODE_CONDITION_ADDITIONAL_INFO = 1,
	GEARY_SMTP_RESPONSE_CODE_CONDITION_COMM_CHANNEL = 2,
	GEARY_SMTP_RESPONSE_CODE_CONDITION_MAIL_SYSTEM = 5,
	GEARY_SMTP_RESPONSE_CODE_CONDITION_UNKNOWN = -1
} GearySmtpResponseCodeCondition;

#define GEARY_SMTP_RESPONSE_CODE_TYPE_CONDITION (geary_smtp_response_code_condition_get_type ())
typedef struct _GearySmtpResponseLinePrivate GearySmtpResponseLinePrivate;
typedef gchar* (*GearyStateStateEventToString) (guint state_or_event, gpointer user_data);

#define GEARY_STATE_TYPE_MACHINE_DESCRIPTOR (geary_state_machine_descriptor_get_type ())
#define GEARY_STATE_MACHINE_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_STATE_TYPE_MACHINE_DESCRIPTOR, GearyStateMachineDescriptor))
#define GEARY_STATE_MACHINE_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_STATE_TYPE_MACHINE_DESCRIPTOR, GearyStateMachineDescriptorClass))
#define GEARY_STATE_IS_MACHINE_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_STATE_TYPE_MACHINE_DESCRIPTOR))
#define GEARY_STATE_IS_MACHINE_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_STATE_TYPE_MACHINE_DESCRIPTOR))
#define GEARY_STATE_MACHINE_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_STATE_TYPE_MACHINE_DESCRIPTOR, GearyStateMachineDescriptorClass))

typedef struct _GearyStateMachineDescriptor GearyStateMachineDescriptor;
typedef struct _GearyStateMachineDescriptorClass GearyStateMachineDescriptorClass;
typedef struct _GearyStateMachineDescriptorPrivate GearyStateMachineDescriptorPrivate;

#define GEARY_STATE_TYPE_MACHINE (geary_state_machine_get_type ())
#define GEARY_STATE_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_STATE_TYPE_MACHINE, GearyStateMachine))
#define GEARY_STATE_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_STATE_TYPE_MACHINE, GearyStateMachineClass))
#define GEARY_STATE_IS_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_STATE_TYPE_MACHINE))
#define GEARY_STATE_IS_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_STATE_TYPE_MACHINE))
#define GEARY_STATE_MACHINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_STATE_TYPE_MACHINE, GearyStateMachineClass))

typedef struct _GearyStateMachine GearyStateMachine;
typedef struct _GearyStateMachineClass GearyStateMachineClass;
typedef struct _GearyStateMachinePrivate GearyStateMachinePrivate;

#define GEARY_STATE_TYPE_MAPPING (geary_state_mapping_get_type ())
#define GEARY_STATE_MAPPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_STATE_TYPE_MAPPING, GearyStateMapping))
#define GEARY_STATE_MAPPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_STATE_TYPE_MAPPING, GearyStateMappingClass))
#define GEARY_STATE_IS_MAPPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_STATE_TYPE_MAPPING))
#define GEARY_STATE_IS_MAPPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_STATE_TYPE_MAPPING))
#define GEARY_STATE_MAPPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_STATE_TYPE_MAPPING, GearyStateMappingClass))

typedef struct _GearyStateMapping GearyStateMapping;
typedef struct _GearyStateMappingClass GearyStateMappingClass;
typedef guint (*GearyStateTransition) (guint state, guint event, void* user, GObject* object, GError* err, gpointer user_data);
typedef void (*GearyStatePostTransition) (void* user, GObject* object, GError* err, gpointer user_data);
typedef struct _GearyStateMappingPrivate GearyStateMappingPrivate;
typedef guint8 (*GearyCollectionByteTransformer) (guint8 b, gpointer user_data);

#define GEARY_TYPE_CONFIG_FILE (geary_config_file_get_type ())
#define GEARY_CONFIG_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_CONFIG_FILE, GearyConfigFile))
#define GEARY_CONFIG_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_CONFIG_FILE, GearyConfigFileClass))
#define GEARY_IS_CONFIG_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_CONFIG_FILE))
#define GEARY_IS_CONFIG_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_CONFIG_FILE))
#define GEARY_CONFIG_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_CONFIG_FILE, GearyConfigFileClass))

typedef struct _GearyConfigFile GearyConfigFile;
typedef struct _GearyConfigFileClass GearyConfigFileClass;
typedef struct _GearyConfigFilePrivate GearyConfigFilePrivate;

#define GEARY_CONFIG_FILE_TYPE_GROUP (geary_config_file_group_get_type ())
#define GEARY_CONFIG_FILE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_CONFIG_FILE_TYPE_GROUP, GearyConfigFileGroup))
#define GEARY_CONFIG_FILE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_CONFIG_FILE_TYPE_GROUP, GearyConfigFileGroupClass))
#define GEARY_CONFIG_FILE_IS_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_CONFIG_FILE_TYPE_GROUP))
#define GEARY_CONFIG_FILE_IS_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_CONFIG_FILE_TYPE_GROUP))
#define GEARY_CONFIG_FILE_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_CONFIG_FILE_TYPE_GROUP, GearyConfigFileGroupClass))

typedef struct _GearyConfigFileGroup GearyConfigFileGroup;
typedef struct _GearyConfigFileGroupClass GearyConfigFileGroupClass;
typedef struct _GearyConfigFileGroupPrivate GearyConfigFileGroupPrivate;
typedef gpointer (*GearyConfigFileParser) (const gchar* value, gpointer user_data, GError** error);
typedef struct _GearyConnectivityManagerPrivate GearyConnectivityManagerPrivate;
typedef struct _GearyErrorContextPrivate GearyErrorContextPrivate;

#define GEARY_ERROR_CONTEXT_TYPE_STACK_FRAME (geary_error_context_stack_frame_get_type ())
#define GEARY_ERROR_CONTEXT_STACK_FRAME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_ERROR_CONTEXT_TYPE_STACK_FRAME, GearyErrorContextStackFrame))
#define GEARY_ERROR_CONTEXT_STACK_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_ERROR_CONTEXT_TYPE_STACK_FRAME, GearyErrorContextStackFrameClass))
#define GEARY_ERROR_CONTEXT_IS_STACK_FRAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_ERROR_CONTEXT_TYPE_STACK_FRAME))
#define GEARY_ERROR_CONTEXT_IS_STACK_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_ERROR_CONTEXT_TYPE_STACK_FRAME))
#define GEARY_ERROR_CONTEXT_STACK_FRAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_ERROR_CONTEXT_TYPE_STACK_FRAME, GearyErrorContextStackFrameClass))

typedef struct _GearyErrorContextStackFrame GearyErrorContextStackFrame;
typedef struct _GearyErrorContextStackFrameClass GearyErrorContextStackFrameClass;
typedef struct _GearyErrorContextStackFramePrivate GearyErrorContextStackFramePrivate;

#define GEARY_TYPE_IDLE_MANAGER (geary_idle_manager_get_type ())
#define GEARY_IDLE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_IDLE_MANAGER, GearyIdleManager))
#define GEARY_IDLE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_IDLE_MANAGER, GearyIdleManagerClass))
#define GEARY_IS_IDLE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_IDLE_MANAGER))
#define GEARY_IS_IDLE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_IDLE_MANAGER))
#define GEARY_IDLE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_IDLE_MANAGER, GearyIdleManagerClass))

typedef struct _GearyIdleManager GearyIdleManager;
typedef struct _GearyIdleManagerClass GearyIdleManagerClass;
typedef struct _GearyIdleManagerPrivate GearyIdleManagerPrivate;
typedef enum  {
	GEARY_IDLE_MANAGER_REPEAT_ONCE,
	GEARY_IDLE_MANAGER_REPEAT_FOREVER
} GearyIdleManagerRepeat;

#define GEARY_IDLE_MANAGER_TYPE_REPEAT (geary_idle_manager_repeat_get_type ())
typedef enum  {
	GEARY_IDLE_MANAGER_PRIORITY_HIGH = G_PRIORITY_HIGH,
	GEARY_IDLE_MANAGER_PRIORITY_DEFAULT = G_PRIORITY_DEFAULT,
	GEARY_IDLE_MANAGER_PRIORITY_HIGH_IDLE = G_PRIORITY_HIGH_IDLE,
	GEARY_IDLE_MANAGER_PRIORITY_DEFAULT_IDLE = G_PRIORITY_DEFAULT_IDLE,
	GEARY_IDLE_MANAGER_PRIORITY_LOW = G_PRIORITY_LOW
} GearyIdleManagerPriority;

#define GEARY_IDLE_MANAGER_TYPE_PRIORITY (geary_idle_manager_priority_get_type ())
typedef void (*GearyIdleManagerIdleFunc) (GearyIdleManager* manager, gpointer user_data);

#define GEARY_TYPE_ITERABLE (geary_iterable_get_type ())
#define GEARY_ITERABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_ITERABLE, GearyIterable))
#define GEARY_ITERABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_ITERABLE, GearyIterableClass))
#define GEARY_IS_ITERABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_ITERABLE))
#define GEARY_IS_ITERABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_ITERABLE))
#define GEARY_ITERABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_ITERABLE, GearyIterableClass))

typedef struct _GearyIterable GearyIterable;
typedef struct _GearyIterableClass GearyIterableClass;
typedef struct _GearyIterablePrivate GearyIterablePrivate;
typedef void (*GearyLoggingLogRecord) (GearyLoggingRecord* record, gpointer user_data);

#define GEARY_LOGGING_SOURCE_TYPE_CONTEXT (geary_logging_source_context_get_type ())
typedef struct _GearyLoggingSourceContext GearyLoggingSourceContext;
typedef struct _GearyLoggingStatePrivate GearyLoggingStatePrivate;
typedef struct _GearyLoggingRecordPrivate GearyLoggingRecordPrivate;

#define GEARY_TYPE_REFERENCE_SEMANTICS (geary_reference_semantics_get_type ())
#define GEARY_REFERENCE_SEMANTICS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_REFERENCE_SEMANTICS, GearyReferenceSemantics))
#define GEARY_IS_REFERENCE_SEMANTICS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_REFERENCE_SEMANTICS))
#define GEARY_REFERENCE_SEMANTICS_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEARY_TYPE_REFERENCE_SEMANTICS, GearyReferenceSemanticsIface))

typedef struct _GearyReferenceSemantics GearyReferenceSemantics;
typedef struct _GearyReferenceSemanticsIface GearyReferenceSemanticsIface;

#define GEARY_TYPE_SMART_REFERENCE (geary_smart_reference_get_type ())
#define GEARY_SMART_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_TYPE_SMART_REFERENCE, GearySmartReference))
#define GEARY_SMART_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_TYPE_SMART_REFERENCE, GearySmartReferenceClass))
#define GEARY_IS_SMART_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_TYPE_SMART_REFERENCE))
#define GEARY_IS_SMART_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_TYPE_SMART_REFERENCE))
#define GEARY_SMART_REFERENCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_TYPE_SMART_REFERENCE, GearySmartReferenceClass))

typedef struct _GearySmartReference GearySmartReference;
typedef struct _GearySmartReferenceClass GearySmartReferenceClass;
typedef struct _GearySmartReferencePrivate GearySmartReferencePrivate;

#define GEARY_SCHEDULER_TYPE_SCHEDULED (geary_scheduler_scheduled_get_type ())
#define GEARY_SCHEDULER_SCHEDULED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SCHEDULER_TYPE_SCHEDULED, GearySchedulerScheduled))
#define GEARY_SCHEDULER_SCHEDULED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SCHEDULER_TYPE_SCHEDULED, GearySchedulerScheduledClass))
#define GEARY_SCHEDULER_IS_SCHEDULED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SCHEDULER_TYPE_SCHEDULED))
#define GEARY_SCHEDULER_IS_SCHEDULED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SCHEDULER_TYPE_SCHEDULED))
#define GEARY_SCHEDULER_SCHEDULED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SCHEDULER_TYPE_SCHEDULED, GearySchedulerScheduledClass))

typedef struct _GearySchedulerScheduled GearySchedulerScheduled;
typedef struct _GearySchedulerScheduledClass GearySchedulerScheduledClass;
typedef struct _GearySchedulerScheduledPrivate GearySchedulerScheduledPrivate;

#define GEARY_STREAM_TYPE_MIME_OUTPUT_STREAM (geary_stream_mime_output_stream_get_type ())
#define GEARY_STREAM_MIME_OUTPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_STREAM_TYPE_MIME_OUTPUT_STREAM, GearyStreamMimeOutputStream))
#define GEARY_STREAM_MIME_OUTPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_STREAM_TYPE_MIME_OUTPUT_STREAM, GearyStreamMimeOutputStreamClass))
#define GEARY_STREAM_IS_MIME_OUTPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_STREAM_TYPE_MIME_OUTPUT_STREAM))
#define GEARY_STREAM_IS_MIME_OUTPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_STREAM_TYPE_MIME_OUTPUT_STREAM))
#define GEARY_STREAM_MIME_OUTPUT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_STREAM_TYPE_MIME_OUTPUT_STREAM, GearyStreamMimeOutputStreamClass))

typedef struct _GearyStreamMimeOutputStream GearyStreamMimeOutputStream;
typedef struct _GearyStreamMimeOutputStreamClass GearyStreamMimeOutputStreamClass;
typedef struct _GearyStreamMimeOutputStreamPrivate GearyStreamMimeOutputStreamPrivate;

#define GEARY_SYNCHRONIZATION_TYPE_SPIN_WAITER (geary_synchronization_spin_waiter_get_type ())
#define GEARY_SYNCHRONIZATION_SPIN_WAITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEARY_SYNCHRONIZATION_TYPE_SPIN_WAITER, GearySynchronizationSpinWaiter))
#define GEARY_SYNCHRONIZATION_SPIN_WAITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEARY_SYNCHRONIZATION_TYPE_SPIN_WAITER, GearySynchronizationSpinWaiterClass))
#define GEARY_SYNCHRONIZATION_IS_SPIN_WAITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEARY_SYNCHRONIZATION_TYPE_SPIN_WAITER))
#define GEARY_SYNCHRONIZATION_IS_SPIN_WAITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEARY_SYNCHRONIZATION_TYPE_SPIN_WAITER))
#define GEARY_SYNCHRONIZATION_SPIN_WAITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEARY_SYNCHRONIZATION_TYPE_SPIN_WAITER, GearySynchronizationSpinWaiterClass))

typedef struct _GearySynchronizationSpinWaiter GearySynchronizationSpinWaiter;
typedef struct _GearySynchronizationSpinWaiterClass GearySynchronizationSpinWaiterClass;
typedef struct _GearySynchronizationSpinWaiterPrivate GearySynchronizationSpinWaiterPrivate;
typedef gboolean (*GearySynchronizationSpinWaiterPollService) (gpointer user_data);
typedef struct _GearyTimeoutManagerPrivate GearyTimeoutManagerPrivate;
typedef enum  {
	GEARY_TIMEOUT_MANAGER_REPEAT_ONCE,
	GEARY_TIMEOUT_MANAGER_REPEAT_FOREVER
} GearyTimeoutManagerRepeat;

#define GEARY_TIMEOUT_MANAGER_TYPE_REPEAT (geary_timeout_manager_repeat_get_type ())
typedef enum  {
	GEARY_TIMEOUT_MANAGER_PRIORITY_HIGH = G_PRIORITY_HIGH,
	GEARY_TIMEOUT_MANAGER_PRIORITY_DEFAULT = G_PRIORITY_DEFAULT,
	GEARY_TIMEOUT_MANAGER_PRIORITY_HIGH_IDLE = G_PRIORITY_HIGH_IDLE,
	GEARY_TIMEOUT_MANAGER_PRIORITY_DEFAULT_IDLE = G_PRIORITY_DEFAULT_IDLE,
	GEARY_TIMEOUT_MANAGER_PRIORITY_LOW = G_PRIORITY_LOW
} GearyTimeoutManagerPriority;

#define GEARY_TIMEOUT_MANAGER_TYPE_PRIORITY (geary_timeout_manager_priority_get_type ())
typedef void (*GearyTimeoutManagerTimeoutFunc) (GearyTimeoutManager* manager, gpointer user_data);

struct _GearyBaseInterfaceIface {
	GTypeInterface parent_iface;
};

struct _GearyBaseObject {
	GObject parent_instance;
	GearyBaseObjectPrivate * priv;
};

struct _GearyBaseObjectClass {
	GObjectClass parent_class;
};

struct _GearyLoggingSourceIface {
	GTypeInterface parent_iface;
	const gchar* (*get_logging_domain) (GearyLoggingSource* self);
	GearyLoggingSource* (*get_logging_parent) (GearyLoggingSource* self);
	GearyLoggingState* (*to_logging_state) (GearyLoggingSource* self);
	gchar* (*to_string) (GearyLoggingSource* self);
};

typedef enum  {
	GEARY_ENGINE_ERROR_OPEN_REQUIRED,
	GEARY_ENGINE_ERROR_ALREADY_OPEN,
	GEARY_ENGINE_ERROR_ALREADY_EXISTS,
	GEARY_ENGINE_ERROR_ALREADY_CLOSED,
	GEARY_ENGINE_ERROR_CLOSE_REQUIRED,
	GEARY_ENGINE_ERROR_NOT_FOUND,
	GEARY_ENGINE_ERROR_BAD_PARAMETERS,
	GEARY_ENGINE_ERROR_INCOMPLETE_MESSAGE,
	GEARY_ENGINE_ERROR_SERVER_UNAVAILABLE,
	GEARY_ENGINE_ERROR_CORRUPT,
	GEARY_ENGINE_ERROR_PERMISSIONS,
	GEARY_ENGINE_ERROR_VERSION,
	GEARY_ENGINE_ERROR_UNSUPPORTED
} GearyEngineError;
#define GEARY_ENGINE_ERROR geary_engine_error_quark ()

struct _GearyFolder {
	GearyBaseObject parent_instance;
	GearyFolderPrivate * priv;
};

struct _GearyFolderClass {
	GearyBaseObjectClass parent_class;
	GearyAccount* (*get_account) (GearyFolder* self);
	GearyFolderProperties* (*get_properties) (GearyFolder* self);
	GearyFolderPath* (*get_path) (GearyFolder* self);
	GearyFolderSpecialUse (*get_used_as) (GearyFolder* self);
	GearyProgressMonitor* (*get_opening_monitor) (GearyFolder* self);
	void (*notify_opened) (GearyFolder* self, GearyFolderOpenState state, gint count);
	void (*notify_open_failed) (GearyFolder* self, GearyFolderOpenFailed failure, GError* err);
	void (*notify_closed) (GearyFolder* self, GearyFolderCloseReason reason);
	void (*notify_email_appended) (GearyFolder* self, GeeCollection* ids);
	void (*notify_email_locally_appended) (GearyFolder* self, GeeCollection* ids);
	void (*notify_email_inserted) (GearyFolder* self, GeeCollection* ids);
	void (*notify_email_locally_inserted) (GearyFolder* self, GeeCollection* ids);
	void (*notify_email_removed) (GearyFolder* self, GeeCollection* ids);
	void (*notify_email_count_changed) (GearyFolder* self, gint new_count, GearyFolderCountChangeReason reason);
	void (*notify_email_flags_changed) (GearyFolder* self, GeeMap* flag_map);
	void (*notify_email_locally_complete) (GearyFolder* self, GeeCollection* ids);
	void (*notify_use_changed) (GearyFolder* self, GearyFolderSpecialUse old_use, GearyFolderSpecialUse new_use);
	GearyFolderOpenState (*get_open_state) (GearyFolder* self);
	void (*open_async) (GearyFolder* self, GearyFolderOpenFlags open_flags, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*open_finish) (GearyFolder* self, GAsyncResult* _res_, GError** error);
	void (*close_async) (GearyFolder* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*close_finish) (GearyFolder* self, GAsyncResult* _res_, GError** error);
	void (*wait_for_close_async) (GearyFolder* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*wait_for_close_finish) (GearyFolder* self, GAsyncResult* _res_, GError** error);
	void (*synchronise_remote) (GearyFolder* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*synchronise_remote_finish) (GearyFolder* self, GAsyncResult* _res_, GError** error);
	void (*contains_identifiers) (GearyFolder* self, GeeCollection* ids, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GeeCollection* (*contains_identifiers_finish) (GearyFolder* self, GAsyncResult* _res_, GError** error);
	void (*list_email_by_id_async) (GearyFolder* self, GearyEmailIdentifier* initial_id, gint count, GearyEmailField required_fields, GearyFolderListFlags flags, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GeeList* (*list_email_by_id_finish) (GearyFolder* self, GAsyncResult* _res_, GError** error);
	void (*list_email_by_sparse_id_async) (GearyFolder* self, GeeCollection* ids, GearyEmailField required_fields, GearyFolderListFlags flags, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GeeList* (*list_email_by_sparse_id_finish) (GearyFolder* self, GAsyncResult* _res_, GError** error);
	void (*fetch_email_async) (GearyFolder* self, GearyEmailIdentifier* email_id, GearyEmailField required_fields, GearyFolderListFlags flags, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GearyEmail* (*fetch_email_finish) (GearyFolder* self, GAsyncResult* _res_, GError** error);
	void (*set_used_as_custom) (GearyFolder* self, gboolean enabled, GError** error);
	GearyLoggingState* (*to_logging_state) (GearyFolder* self);
};

struct _GearyAbstractLocalFolder {
	GearyFolder parent_instance;
	GearyAbstractLocalFolderPrivate * priv;
};

struct _GearyAbstractLocalFolderClass {
	GearyFolderClass parent_class;
};

struct _GearyAccount {
	GearyBaseObject parent_instance;
	GearyAccountPrivate * priv;
};

struct _GearyAccountClass {
	GearyBaseObjectClass parent_class;
	void (*open_async) (GearyAccount* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*open_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	void (*close_async) (GearyAccount* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*close_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	gboolean (*is_open) (GearyAccount* self);
	void (*cancel_remote_update) (GearyAccount* self);
	void (*rebuild_async) (GearyAccount* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*rebuild_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	GearyEmailIdentifier* (*to_email_identifier) (GearyAccount* self, GVariant* serialised, GError** error);
	GearyFolderPath* (*to_folder_path) (GearyAccount* self, GVariant* serialised, GError** error);
	gboolean (*has_folder) (GearyAccount* self, GearyFolderPath* path);
	GearyFolder* (*get_folder) (GearyAccount* self, GearyFolderPath* path, GError** error);
	GeeCollection* (*list_folders) (GearyAccount* self);
	GeeCollection* (*list_matching_folders) (GearyAccount* self, GearyFolderPath* parent, GError** error);
	GearyFolder* (*get_special_folder) (GearyAccount* self, GearyFolderSpecialUse use);
	void (*get_required_special_folder_async) (GearyAccount* self, GearyFolderSpecialUse special, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GearyFolder* (*get_required_special_folder_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	void (*create_personal_folder) (GearyAccount* self, const gchar* name, GearyFolderSpecialUse use, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GearyFolder* (*create_personal_folder_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	void (*register_local_folder) (GearyAccount* self, GearyFolder* local, GError** error);
	void (*deregister_local_folder) (GearyAccount* self, GearyFolder* local, GError** error);
	void (*local_search_message_id_async) (GearyAccount* self, GearyRFC822MessageID* message_id, GearyEmailField requested_fields, gboolean partial_ok, GeeCollection* folder_blacklist, GearyEmailFlags* flag_blacklist, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GeeMultiMap* (*local_search_message_id_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	void (*local_fetch_email_async) (GearyAccount* self, GearyEmailIdentifier* email_id, GearyEmailField required_fields, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GearyEmail* (*local_fetch_email_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	void (*list_local_email_async) (GearyAccount* self, GeeCollection* ids, GearyEmailField required_fields, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GeeList* (*list_local_email_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	GearySearchQuery* (*new_search_query) (GearyAccount* self, GeeList* expression, const gchar* text, GError** error);
	void (*local_search_async) (GearyAccount* self, GearySearchQuery* query, gint limit, gint offset, GeeCollection* folder_blacklist, GeeCollection* search_ids, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GeeCollection* (*local_search_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	void (*get_search_matches_async) (GearyAccount* self, GearySearchQuery* query, GeeCollection* ids, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GeeSet* (*get_search_matches_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	void (*get_containing_folders_async) (GearyAccount* self, GeeCollection* ids, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GeeMultiMap* (*get_containing_folders_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	GearyLoggingState* (*to_logging_state) (GearyAccount* self);
	void (*cleanup_storage) (GearyAccount* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*cleanup_storage_finish) (GearyAccount* self, GAsyncResult* _res_, GError** error);
	void (*notify_opened) (GearyAccount* self);
	void (*notify_closed) (GearyAccount* self);
	void (*notify_folders_available_unavailable) (GearyAccount* self, GeeBidirSortedSet* available, GeeBidirSortedSet* unavailable);
	void (*notify_folders_created) (GearyAccount* self, GeeBidirSortedSet* created);
	void (*notify_folders_deleted) (GearyAccount* self, GeeBidirSortedSet* deleted);
	void (*notify_email_appended) (GearyAccount* self, GearyFolder* folder, GeeCollection* ids);
	void (*notify_email_inserted) (GearyAccount* self, GearyFolder* folder, GeeCollection* ids);
	void (*notify_email_removed) (GearyAccount* self, GearyFolder* folder, GeeCollection* ids);
	void (*notify_email_locally_removed) (GearyAccount* self, GearyFolder* folder, GeeCollection* ids);
	void (*notify_email_locally_complete) (GearyAccount* self, GearyFolder* folder, GeeCollection* ids);
	void (*notify_email_discovered) (GearyAccount* self, GearyFolder* folder, GeeCollection* ids);
	void (*notify_email_flags_changed) (GearyAccount* self, GearyFolder* folder, GeeMap* flag_map);
	void (*notify_report_problem) (GearyAccount* self, GearyProblemReport* report);
	void (*notify_account_problem) (GearyAccount* self, GError* err);
	void (*notify_service_problem) (GearyAccount* self, GearyServiceInformation* service, GError* err);
};

struct _GearyContactStoreIface {
	GTypeInterface parent_iface;
	void (*get_by_rfc822) (GearyContactStore* self, GearyRFC822MailboxAddress* address, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GearyContact* (*get_by_rfc822_finish) (GearyContactStore* self, GAsyncResult* _res_, GError** error);
	void (*search) (GearyContactStore* self, const gchar* query, guint min_importance, guint limit, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GeeCollection* (*search_finish) (GearyContactStore* self, GAsyncResult* _res_, GError** error);
	void (*update_contacts) (GearyContactStore* self, GeeCollection* updated, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*update_contacts_finish) (GearyContactStore* self, GAsyncResult* _res_, GError** error);
};

struct _GearyAccountInformation {
	GearyBaseObject parent_instance;
	GearyAccountInformationPrivate * priv;
};

struct _GearyAccountInformationClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyCredentialsMediatorIface {
	GTypeInterface parent_iface;
	void (*load_token) (GearyCredentialsMediator* self, GearyAccountInformation* account, GearyServiceInformation* service, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*load_token_finish) (GearyCredentialsMediator* self, GAsyncResult* _res_, GError** error);
};

struct _GearyAttachment {
	GearyBaseObject parent_instance;
	GearyAttachmentPrivate * priv;
};

struct _GearyAttachmentClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyClientService {
	GearyBaseObject parent_instance;
	GearyClientServicePrivate * priv;
};

struct _GearyClientServiceClass {
	GearyBaseObjectClass parent_class;
	const gchar* (*get_logging_domain) (GearyClientService* self);
	void (*start) (GearyClientService* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*start_finish) (GearyClientService* self, GAsyncResult* _res_, GError** error);
	void (*stop) (GearyClientService* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*stop_finish) (GearyClientService* self, GAsyncResult* _res_, GError** error);
	GearyLoggingState* (*to_logging_state) (GearyClientService* self);
	void (*became_reachable) (GearyClientService* self);
	void (*became_unreachable) (GearyClientService* self);
};

struct _GearyEmailHeaderSetIface {
	GTypeInterface parent_iface;
	GearyRFC822MailboxAddresses* (*get_from) (GearyEmailHeaderSet* self);
	GearyRFC822MailboxAddress* (*get_sender) (GearyEmailHeaderSet* self);
	GearyRFC822MailboxAddresses* (*get_reply_to) (GearyEmailHeaderSet* self);
	GearyRFC822MailboxAddresses* (*get_to) (GearyEmailHeaderSet* self);
	GearyRFC822MailboxAddresses* (*get_cc) (GearyEmailHeaderSet* self);
	GearyRFC822MailboxAddresses* (*get_bcc) (GearyEmailHeaderSet* self);
	GearyRFC822MessageID* (*get_message_id) (GearyEmailHeaderSet* self);
	GearyRFC822MessageIDList* (*get_in_reply_to) (GearyEmailHeaderSet* self);
	GearyRFC822MessageIDList* (*get_references) (GearyEmailHeaderSet* self);
	GearyRFC822Subject* (*get_subject) (GearyEmailHeaderSet* self);
	GearyRFC822Date* (*get_date) (GearyEmailHeaderSet* self);
};

struct _GearyComposedEmail {
	GearyBaseObject parent_instance;
	GearyComposedEmailPrivate * priv;
};

struct _GearyComposedEmailClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyContact {
	GearyBaseObject parent_instance;
	GearyContactPrivate * priv;
};

struct _GearyContactClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyNamedFlags {
	GearyBaseObject parent_instance;
	GeeSet* list;
	GearyNamedFlagsPrivate * priv;
};

struct _GearyNamedFlagsClass {
	GearyBaseObjectClass parent_class;
	void (*added) (GearyNamedFlags* self, GeeCollection* flags);
	void (*removed) (GearyNamedFlags* self, GeeCollection* flags);
	void (*notify_added) (GearyNamedFlags* self, GeeCollection* flags);
	void (*notify_removed) (GearyNamedFlags* self, GeeCollection* flags);
	void (*add) (GearyNamedFlags* self, GearyNamedFlag* flag);
	void (*add_all) (GearyNamedFlags* self, GearyNamedFlags* flags);
	gboolean (*remove) (GearyNamedFlags* self, GearyNamedFlag* flag);
	gboolean (*remove_all) (GearyNamedFlags* self, GearyNamedFlags* flags);
};

struct _GearyContactFlags {
	GearyNamedFlags parent_instance;
	GearyContactFlagsPrivate * priv;
};

struct _GearyContactFlagsClass {
	GearyNamedFlagsClass parent_class;
};

struct _GearyCredentials {
	GearyBaseObject parent_instance;
	GearyCredentialsPrivate * priv;
};

struct _GearyCredentialsClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyEmailFlags {
	GearyNamedFlags parent_instance;
	GearyEmailFlagsPrivate * priv;
};

struct _GearyEmailFlagsClass {
	GearyNamedFlagsClass parent_class;
};

struct _GearyEmailIdentifier {
	GearyBaseObject parent_instance;
	GearyEmailIdentifierPrivate * priv;
};

struct _GearyEmailIdentifierClass {
	GearyBaseObjectClass parent_class;
	guint (*hash) (GearyEmailIdentifier* self);
	gboolean (*equal_to) (GearyEmailIdentifier* self, GearyEmailIdentifier* other);
	GVariant* (*to_variant) (GearyEmailIdentifier* self);
	gchar* (*to_string) (GearyEmailIdentifier* self);
	gint (*stable_sort_comparator) (GearyEmailIdentifier* self, GearyEmailIdentifier* other);
	gint (*natural_sort_comparator) (GearyEmailIdentifier* self, GearyEmailIdentifier* other);
};

struct _GearyEmailProperties {
	GearyBaseObject parent_instance;
	GearyEmailPropertiesPrivate * priv;
};

struct _GearyEmailPropertiesClass {
	GearyBaseObjectClass parent_class;
	gchar* (*to_string) (GearyEmailProperties* self);
};

struct _GearyEmail {
	GearyBaseObject parent_instance;
	GearyEmailPrivate * priv;
};

struct _GearyEmailClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyEndpoint {
	GearyBaseObject parent_instance;
	GearyEndpointPrivate * priv;
};

struct _GearyEndpointClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyEngine {
	GearyBaseObject parent_instance;
	GearyEnginePrivate * priv;
};

struct _GearyEngineClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyFolderPath {
	GearyBaseObject parent_instance;
	GearyFolderPathPrivate * priv;
};

struct _GearyFolderPathClass {
	GearyBaseObjectClass parent_class;
	GearyFolderPath* (*get_child) (GearyFolderPath* self, const gchar* name, GearyTrillian is_case_sensitive);
};

struct _GearyFolderRoot {
	GearyFolderPath parent_instance;
	GearyFolderRootPrivate * priv;
};

struct _GearyFolderRootClass {
	GearyFolderPathClass parent_class;
};

struct _GearyFolderProperties {
	GearyBaseObject parent_instance;
	GearyFolderPropertiesPrivate * priv;
};

struct _GearyFolderPropertiesClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyFolderSupportArchiveIface {
	GTypeInterface parent_iface;
	void (*archive_email_async) (GearyFolderSupportArchive* self, GeeCollection* email_ids, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GearyRevokable* (*archive_email_finish) (GearyFolderSupportArchive* self, GAsyncResult* _res_, GError** error);
};

struct _GearyFolderSupportCopyIface {
	GTypeInterface parent_iface;
	void (*copy_email_async) (GearyFolderSupportCopy* self, GeeCollection* to_copy, GearyFolderPath* destination, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*copy_email_finish) (GearyFolderSupportCopy* self, GAsyncResult* _res_, GError** error);
};

struct _GearyFolderSupportCreateIface {
	GTypeInterface parent_iface;
	void (*create_email_async) (GearyFolderSupportCreate* self, GearyRFC822Message* rfc822, GearyEmailFlags* flags, GDateTime* date_received, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GearyEmailIdentifier* (*create_email_finish) (GearyFolderSupportCreate* self, GAsyncResult* _res_, GError** error);
};

struct _GearyFolderSupportEmptyIface {
	GTypeInterface parent_iface;
	void (*empty_folder_async) (GearyFolderSupportEmpty* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*empty_folder_finish) (GearyFolderSupportEmpty* self, GAsyncResult* _res_, GError** error);
};

struct _GearyFolderSupportMarkIface {
	GTypeInterface parent_iface;
	void (*mark_email_async) (GearyFolderSupportMark* self, GeeCollection* to_mark, GearyEmailFlags* flags_to_add, GearyEmailFlags* flags_to_remove, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*mark_email_finish) (GearyFolderSupportMark* self, GAsyncResult* _res_, GError** error);
};

struct _GearyFolderSupportMoveIface {
	GTypeInterface parent_iface;
	void (*move_email_async) (GearyFolderSupportMove* self, GeeCollection* to_move, GearyFolderPath* destination, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GearyRevokable* (*move_email_finish) (GearyFolderSupportMove* self, GAsyncResult* _res_, GError** error);
};

struct _GearyFolderSupportRemoveIface {
	GTypeInterface parent_iface;
	void (*remove_email_async) (GearyFolderSupportRemove* self, GeeCollection* email_ids, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*remove_email_finish) (GearyFolderSupportRemove* self, GAsyncResult* _res_, GError** error);
};

struct _GearyNamedFlag {
	GearyBaseObject parent_instance;
	GearyNamedFlagPrivate * priv;
};

struct _GearyNamedFlagClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyProblemReport {
	GObject parent_instance;
	GearyProblemReportPrivate * priv;
};

struct _GearyProblemReportClass {
	GObjectClass parent_class;
};

struct _GearyAccountProblemReport {
	GearyProblemReport parent_instance;
	GearyAccountProblemReportPrivate * priv;
};

struct _GearyAccountProblemReportClass {
	GearyProblemReportClass parent_class;
};

struct _GearyServiceProblemReport {
	GearyAccountProblemReport parent_instance;
	GearyServiceProblemReportPrivate * priv;
};

struct _GearyServiceProblemReportClass {
	GearyAccountProblemReportClass parent_class;
};

struct _GearyProgressMonitor {
	GearyBaseObject parent_instance;
	GearyProgressMonitorPrivate * priv;
};

struct _GearyProgressMonitorClass {
	GearyBaseObjectClass parent_class;
	void (*notify_start) (GearyProgressMonitor* self);
	void (*notify_finish) (GearyProgressMonitor* self);
};

struct _GearyReentrantProgressMonitor {
	GearyProgressMonitor parent_instance;
	GearyReentrantProgressMonitorPrivate * priv;
};

struct _GearyReentrantProgressMonitorClass {
	GearyProgressMonitorClass parent_class;
};

struct _GearySimpleProgressMonitor {
	GearyProgressMonitor parent_instance;
	GearySimpleProgressMonitorPrivate * priv;
};

struct _GearySimpleProgressMonitorClass {
	GearyProgressMonitorClass parent_class;
};

struct _GearyIntervalProgressMonitor {
	GearyProgressMonitor parent_instance;
	GearyIntervalProgressMonitorPrivate * priv;
};

struct _GearyIntervalProgressMonitorClass {
	GearyProgressMonitorClass parent_class;
};

struct _GearyAggregateProgressMonitor {
	GearyProgressMonitor parent_instance;
	GearyAggregateProgressMonitorPrivate * priv;
};

struct _GearyAggregateProgressMonitorClass {
	GearyProgressMonitorClass parent_class;
};

struct _GearyRevokable {
	GearyBaseObject parent_instance;
	GearyRevokablePrivate * priv;
};

struct _GearyRevokableClass {
	GearyBaseObjectClass parent_class;
	void (*notify_revoked) (GearyRevokable* self);
	void (*notify_committed) (GearyRevokable* self, GearyRevokable* commit_revokable);
	void (*revoke_async) (GearyRevokable* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*revoke_finish) (GearyRevokable* self, GAsyncResult* _res_, GError** error);
	void (*internal_revoke_async) (GearyRevokable* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*internal_revoke_finish) (GearyRevokable* self, GAsyncResult* _res_, GError** error);
	void (*commit_async) (GearyRevokable* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*commit_finish) (GearyRevokable* self, GAsyncResult* _res_, GError** error);
	void (*internal_commit_async) (GearyRevokable* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*internal_commit_finish) (GearyRevokable* self, GAsyncResult* _res_, GError** error);
};

struct _GearySearchQuery {
	GearyBaseObject parent_instance;
	GearySearchQueryPrivate * priv;
};

struct _GearySearchQueryClass {
	GearyBaseObjectClass parent_class;
};

struct _GearySearchQueryTerm {
	GearyBaseObject parent_instance;
	GearySearchQueryTermPrivate * priv;
};

struct _GearySearchQueryTermClass {
	GearyBaseObjectClass parent_class;
	gboolean (*equal_to) (GearySearchQueryTerm* self, GearySearchQueryTerm* other);
	gchar* (*to_string) (GearySearchQueryTerm* self);
};

struct _GearySearchQueryEmailTextTerm {
	GearySearchQueryTerm parent_instance;
	GearySearchQueryEmailTextTermPrivate * priv;
};

struct _GearySearchQueryEmailTextTermClass {
	GearySearchQueryTermClass parent_class;
};

struct _GearySearchQueryEmailFlagTerm {
	GearySearchQueryTerm parent_instance;
	GearySearchQueryEmailFlagTermPrivate * priv;
};

struct _GearySearchQueryEmailFlagTermClass {
	GearySearchQueryTermClass parent_class;
};

struct _GearyServiceInformation {
	GObject parent_instance;
	GearyServiceInformationPrivate * priv;
};

struct _GearyServiceInformationClass {
	GObjectClass parent_class;
};

struct _GearyAppConversation {
	GearyBaseObject parent_instance;
	GearyAppConversationPrivate * priv;
};

struct _GearyAppConversationClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyAppConversationMonitor {
	GearyBaseObject parent_instance;
	GearyAppConversationMonitorPrivate * priv;
};

struct _GearyAppConversationMonitorClass {
	GearyBaseObjectClass parent_class;
	void (*scan_started) (GearyAppConversationMonitor* self);
	void (*scan_completed) (GearyAppConversationMonitor* self);
	void (*scan_error) (GearyAppConversationMonitor* self, GError* err);
	void (*conversations_added) (GearyAppConversationMonitor* self, GeeCollection* conversations);
	void (*conversations_removed) (GearyAppConversationMonitor* self, GeeCollection* conversations);
	void (*conversation_appended) (GearyAppConversationMonitor* self, GearyAppConversation* conversation, GeeCollection* email);
	void (*conversation_trimmed) (GearyAppConversationMonitor* self, GearyAppConversation* conversation, GeeCollection* email);
	void (*email_flags_changed) (GearyAppConversationMonitor* self, GearyAppConversation* conversation, GearyEmail* email);
	void (*notify_scan_started) (GearyAppConversationMonitor* self);
	void (*notify_scan_error) (GearyAppConversationMonitor* self, GError* err);
	void (*notify_scan_completed) (GearyAppConversationMonitor* self);
	void (*notify_conversations_added) (GearyAppConversationMonitor* self, GeeCollection* conversations);
	void (*notify_conversations_removed) (GearyAppConversationMonitor* self, GeeCollection* conversations);
	void (*notify_conversation_appended) (GearyAppConversationMonitor* self, GearyAppConversation* conversation, GeeCollection* emails);
	void (*notify_conversation_trimmed) (GearyAppConversationMonitor* self, GearyAppConversation* conversation, GeeCollection* emails);
	void (*notify_email_flags_changed) (GearyAppConversationMonitor* self, GearyAppConversation* conversation, GearyEmail* email);
};

struct _GearyAppDraftManager {
	GearyBaseObject parent_instance;
	GearyAppDraftManagerPrivate * priv;
};

struct _GearyAppDraftManagerClass {
	GearyBaseObjectClass parent_class;
	void (*draft_failed) (GearyAppDraftManager* self, GearyRFC822Message* draft, GError* err);
	void (*fatal) (GearyAppDraftManager* self, GError* err);
	void (*notify_stored) (GearyAppDraftManager* self, GearyRFC822Message* draft);
	void (*notify_discarded) (GearyAppDraftManager* self);
};

struct _GearyAppEmailStore {
	GearyBaseObject parent_instance;
	GearyAppEmailStorePrivate * priv;
};

struct _GearyAppEmailStoreClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyAppSearchFolder {
	GearyAbstractLocalFolder parent_instance;
	GearyAppSearchFolderPrivate * priv;
};

struct _GearyAppSearchFolderClass {
	GearyAbstractLocalFolderClass parent_class;
	void (*remove_email_async) (GearyAppSearchFolder* self, GeeCollection* remove, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*remove_email_finish) (GearyAppSearchFolder* self, GAsyncResult* _res_, GError** error);
};

struct _GearyMessageDataAbstractMessageData {
	GearyBaseObject parent_instance;
	GearyMessageDataAbstractMessageDataPrivate * priv;
};

struct _GearyMessageDataAbstractMessageDataClass {
	GearyBaseObjectClass parent_class;
	gchar* (*to_string) (GearyMessageDataAbstractMessageData* self);
};

struct _GearyMessageDataSearchableMessageDataIface {
	GTypeInterface parent_iface;
	gchar* (*to_searchable_string) (GearyMessageDataSearchableMessageData* self);
};

struct _GearyMessageDataStringMessageData {
	GearyMessageDataAbstractMessageData parent_instance;
	GearyMessageDataStringMessageDataPrivate * priv;
};

struct _GearyMessageDataStringMessageDataClass {
	GearyMessageDataAbstractMessageDataClass parent_class;
	gboolean (*equal_to) (GearyMessageDataStringMessageData* self, GearyMessageDataStringMessageData* other);
	guint (*hash) (GearyMessageDataStringMessageData* self);
};

struct _GearyMessageDataIntMessageData {
	GearyMessageDataAbstractMessageData parent_instance;
	GearyMessageDataIntMessageDataPrivate * priv;
};

struct _GearyMessageDataIntMessageDataClass {
	GearyMessageDataAbstractMessageDataClass parent_class;
	gboolean (*equal_to) (GearyMessageDataIntMessageData* self, GearyMessageDataIntMessageData* other);
	guint (*hash) (GearyMessageDataIntMessageData* self);
};

struct _GearyMessageDataInt64MessageData {
	GearyMessageDataAbstractMessageData parent_instance;
	GearyMessageDataInt64MessageDataPrivate * priv;
};

struct _GearyMessageDataInt64MessageDataClass {
	GearyMessageDataAbstractMessageDataClass parent_class;
	gboolean (*equal_to) (GearyMessageDataInt64MessageData* self, GearyMessageDataInt64MessageData* other);
	guint (*hash) (GearyMessageDataInt64MessageData* self);
};

struct _GearyMessageDataBlockMessageData {
	GearyMessageDataAbstractMessageData parent_instance;
	GearyMessageDataBlockMessageDataPrivate * priv;
};

struct _GearyMessageDataBlockMessageDataClass {
	GearyMessageDataAbstractMessageDataClass parent_class;
};

typedef enum  {
	GEARY_DATABASE_ERROR_GENERAL,
	GEARY_DATABASE_ERROR_OPEN_REQUIRED,
	GEARY_DATABASE_ERROR_BUSY,
	GEARY_DATABASE_ERROR_CORRUPT,
	GEARY_DATABASE_ERROR_ACCESS,
	GEARY_DATABASE_ERROR_MEMORY,
	GEARY_DATABASE_ERROR_ABORT,
	GEARY_DATABASE_ERROR_INTERRUPT,
	GEARY_DATABASE_ERROR_LIMITS,
	GEARY_DATABASE_ERROR_TYPESPEC,
	GEARY_DATABASE_ERROR_FINISHED,
	GEARY_DATABASE_ERROR_SCHEMA_VERSION
} GearyDatabaseError;
#define GEARY_DATABASE_ERROR geary_database_error_quark ()

struct _GearyDbConnectionIface {
	GTypeInterface parent_iface;
	GearyDbDatabase* (*get_database) (GearyDbConnection* self);
	sqlite3* (*get_db) (GearyDbConnection* self);
	GearyDbStatement* (*prepare) (GearyDbConnection* self, const gchar* sql, GError** error);
	GearyDbResult* (*query) (GearyDbConnection* self, const gchar* sql, GCancellable* cancellable, GError** error);
	void (*exec) (GearyDbConnection* self, const gchar* sql, GCancellable* cancellable, GError** error);
	void (*exec_file) (GearyDbConnection* self, GFile* file, GCancellable* cancellable, GError** error);
};

struct _GearyDbContext {
	GearyBaseObject parent_instance;
	GearyDbContextPrivate * priv;
};

struct _GearyDbContextClass {
	GearyBaseObjectClass parent_class;
	GearyLoggingSource* (*get_logging_parent) (GearyDbContext* self);
	GearyDbDatabase* (*get_database) (GearyDbContext* self);
	GearyDbDatabaseConnection* (*get_connection) (GearyDbContext* self);
	GearyDbStatement* (*get_statement) (GearyDbContext* self);
	GearyDbResult* (*get_result) (GearyDbContext* self);
	GearyLoggingState* (*to_logging_state) (GearyDbContext* self);
};

struct _GearyDbDatabase {
	GearyDbContext parent_instance;
	GearyDbDatabasePrivate * priv;
};

struct _GearyDbDatabaseClass {
	GearyDbContextClass parent_class;
	void (*open) (GearyDbDatabase* self, GearyDbDatabaseFlags flags, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*open_finish) (GearyDbDatabase* self, GAsyncResult* _res_, GError** error);
	void (*close) (GearyDbDatabase* self, GCancellable* cancellable, GError** error);
	void (*prepare_connection) (GearyDbDatabase* self, GearyDbDatabaseConnection* cx, GError** error);
};

struct _GearyDbDatabaseConnection {
	GearyDbContext parent_instance;
	GearyDbDatabaseConnectionPrivate * priv;
};

struct _GearyDbDatabaseConnectionClass {
	GearyDbContextClass parent_class;
};

struct _GearyDbResult {
	GearyDbContext parent_instance;
	GearyDbResultPrivate * priv;
};

struct _GearyDbResultClass {
	GearyDbContextClass parent_class;
};

struct _GearyDbStatement {
	GearyDbContext parent_instance;
	sqlite3_stmt* stmt;
	GearyDbStatementPrivate * priv;
};

struct _GearyDbStatementClass {
	GearyDbContextClass parent_class;
};

struct _GearyDbVersionedDatabase {
	GearyDbDatabase parent_instance;
	GearyDbVersionedDatabasePrivate * priv;
};

struct _GearyDbVersionedDatabaseClass {
	GearyDbDatabaseClass parent_class;
	void (*starting_upgrade) (GearyDbVersionedDatabase* self, gint current_version, gboolean new_db);
	void (*pre_upgrade) (GearyDbVersionedDatabase* self, gint version, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*pre_upgrade_finish) (GearyDbVersionedDatabase* self, GAsyncResult* _res_, GError** error);
	void (*post_upgrade) (GearyDbVersionedDatabase* self, gint version, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*post_upgrade_finish) (GearyDbVersionedDatabase* self, GAsyncResult* _res_, GError** error);
	void (*completed_upgrade) (GearyDbVersionedDatabase* self, gint final_version);
};

typedef enum  {
	GEARY_IMAP_ERROR_PARSE_ERROR,
	GEARY_IMAP_ERROR_TYPE_ERROR,
	GEARY_IMAP_ERROR_NOT_CONNECTED,
	GEARY_IMAP_ERROR_ALREADY_CONNECTED,
	GEARY_IMAP_ERROR_SERVER_ERROR,
	GEARY_IMAP_ERROR_UNAUTHENTICATED,
	GEARY_IMAP_ERROR_NOT_SUPPORTED,
	GEARY_IMAP_ERROR_INVALID,
	GEARY_IMAP_ERROR_TIMED_OUT,
	GEARY_IMAP_ERROR_UNAVAILABLE
} GearyImapError;
#define GEARY_IMAP_ERROR geary_imap_error_quark ()

struct _GearyGenericCapabilities {
	GearyBaseObject parent_instance;
	GearyGenericCapabilitiesPrivate * priv;
};

struct _GearyGenericCapabilitiesClass {
	GearyBaseObjectClass parent_class;
	gchar* (*to_string) (GearyGenericCapabilities* self);
};

struct _GearyImapCapabilities {
	GearyGenericCapabilities parent_instance;
	GearyImapCapabilitiesPrivate * priv;
};

struct _GearyImapCapabilitiesClass {
	GearyGenericCapabilitiesClass parent_class;
};

struct _GearyImapClientService {
	GearyClientService parent_instance;
	gboolean discard_returned_sessions;
	GearyImapClientServicePrivate * priv;
};

struct _GearyImapClientServiceClass {
	GearyClientServiceClass parent_class;
};

struct _GearyImapEmailFlags {
	GearyEmailFlags parent_instance;
	GearyImapEmailFlagsPrivate * priv;
};

struct _GearyImapEmailFlagsClass {
	GearyEmailFlagsClass parent_class;
};

struct _GearyImapEmailProperties {
	GearyEmailProperties parent_instance;
	GearyImapEmailPropertiesPrivate * priv;
};

struct _GearyImapEmailPropertiesClass {
	GearyEmailPropertiesClass parent_class;
};

struct _GearyImapFolderProperties {
	GearyFolderProperties parent_instance;
	GearyImapFolderPropertiesPrivate * priv;
};

struct _GearyImapFolderPropertiesClass {
	GearyFolderPropertiesClass parent_class;
};

struct _GearyImapFolderRoot {
	GearyFolderRoot parent_instance;
	GearyImapFolderRootPrivate * priv;
};

struct _GearyImapFolderRootClass {
	GearyFolderRootClass parent_class;
};

struct _GearyImapQuirks {
	GearyBaseObject parent_instance;
	GearyImapQuirksPrivate * priv;
};

struct _GearyImapQuirksClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapSessionObject {
	GearyBaseObject parent_instance;
	GearyImapSessionObjectPrivate * priv;
};

struct _GearyImapSessionObjectClass {
	GearyBaseObjectClass parent_class;
	GearyImapClientSession* (*close) (GearyImapSessionObject* self);
	GearyLoggingState* (*to_logging_state) (GearyImapSessionObject* self);
	GearyImapClientSession* (*get_session) (GearyImapSessionObject* self, GError** error);
};

struct _GearyImapCommand {
	GearyBaseObject parent_instance;
	GearyImapCommandPrivate * priv;
};

struct _GearyImapCommandClass {
	GearyBaseObjectClass parent_class;
	void (*send) (GearyImapCommand* self, GearyImapSerializer* ser, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*send_finish) (GearyImapCommand* self, GAsyncResult* _res_, GError** error);
	void (*send_wait) (GearyImapCommand* self, GearyImapSerializer* ser, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*send_wait_finish) (GearyImapCommand* self, GAsyncResult* _res_, GError** error);
	gchar* (*to_string) (GearyImapCommand* self);
	void (*update_response_timer) (GearyImapCommand* self);
	void (*completed) (GearyImapCommand* self, GearyImapStatusResponse* new_status, GError** error);
	void (*cancelled_before_send) (GearyImapCommand* self);
	void (*disconnected) (GearyImapCommand* self, const gchar* reason);
	void (*data_received) (GearyImapCommand* self, GearyImapServerData* data, GError** error);
	void (*continuation_requested) (GearyImapCommand* self, GearyImapContinuationResponse* continuation, GError** error);
	void (*stop_serialisation) (GearyImapCommand* self);
};

struct _GearyImapAppendCommand {
	GearyImapCommand parent_instance;
	GearyImapAppendCommandPrivate * priv;
};

struct _GearyImapAppendCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapAuthenticateCommand {
	GearyImapCommand parent_instance;
	GearyImapAuthenticateCommandPrivate * priv;
};

struct _GearyImapAuthenticateCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapCapabilityCommand {
	GearyImapCommand parent_instance;
	GearyImapCapabilityCommandPrivate * priv;
};

struct _GearyImapCapabilityCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapCloseCommand {
	GearyImapCommand parent_instance;
	GearyImapCloseCommandPrivate * priv;
};

struct _GearyImapCloseCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapCopyCommand {
	GearyImapCommand parent_instance;
	GearyImapCopyCommandPrivate * priv;
};

struct _GearyImapCopyCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapCreateCommand {
	GearyImapCommand parent_instance;
	GearyImapCreateCommandPrivate * priv;
};

struct _GearyImapCreateCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapDeleteCommand {
	GearyImapCommand parent_instance;
	GearyImapDeleteCommandPrivate * priv;
};

struct _GearyImapDeleteCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapExamineCommand {
	GearyImapCommand parent_instance;
	GearyImapExamineCommandPrivate * priv;
};

struct _GearyImapExamineCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapExpungeCommand {
	GearyImapCommand parent_instance;
	GearyImapExpungeCommandPrivate * priv;
};

struct _GearyImapExpungeCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapFetchCommand {
	GearyImapCommand parent_instance;
	GearyImapFetchCommandPrivate * priv;
};

struct _GearyImapFetchCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapIdCommand {
	GearyImapCommand parent_instance;
	GearyImapIdCommandPrivate * priv;
};

struct _GearyImapIdCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapIdleCommand {
	GearyImapCommand parent_instance;
	GearyImapIdleCommandPrivate * priv;
};

struct _GearyImapIdleCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapListCommand {
	GearyImapCommand parent_instance;
	GearyImapListCommandPrivate * priv;
};

struct _GearyImapListCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapParameter {
	GearyBaseObject parent_instance;
	GearyImapParameterPrivate * priv;
};

struct _GearyImapParameterClass {
	GearyBaseObjectClass parent_class;
	void (*serialize) (GearyImapParameter* self, GearyImapSerializer* ser, GCancellable* cancellable, GError** error);
	gchar* (*to_string) (GearyImapParameter* self);
};

struct _GearyImapListParameter {
	GearyImapParameter parent_instance;
	GearyImapListParameterPrivate * priv;
};

struct _GearyImapListParameterClass {
	GearyImapParameterClass parent_class;
};

struct _GearyImapListReturnParameter {
	GearyImapListParameter parent_instance;
	GearyImapListReturnParameterPrivate * priv;
};

struct _GearyImapListReturnParameterClass {
	GearyImapListParameterClass parent_class;
};

struct _GearyImapLoginCommand {
	GearyImapCommand parent_instance;
	GearyImapLoginCommandPrivate * priv;
};

struct _GearyImapLoginCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapLogoutCommand {
	GearyImapCommand parent_instance;
	GearyImapLogoutCommandPrivate * priv;
};

struct _GearyImapLogoutCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapMessageSet {
	GearyBaseObject parent_instance;
	GearyImapMessageSetPrivate * priv;
};

struct _GearyImapMessageSetClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapNamespaceCommand {
	GearyImapCommand parent_instance;
	GearyImapNamespaceCommandPrivate * priv;
};

struct _GearyImapNamespaceCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapNoopCommand {
	GearyImapCommand parent_instance;
	GearyImapNoopCommandPrivate * priv;
};

struct _GearyImapNoopCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapSearchCommand {
	GearyImapCommand parent_instance;
	GearyImapSearchCommandPrivate * priv;
};

struct _GearyImapSearchCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapSearchCriteria {
	GearyImapListParameter parent_instance;
	GearyImapSearchCriteriaPrivate * priv;
};

struct _GearyImapSearchCriteriaClass {
	GearyImapListParameterClass parent_class;
};

struct _GearyImapSearchCriterion {
	GearyBaseObject parent_instance;
	GearyImapSearchCriterionPrivate * priv;
};

struct _GearyImapSearchCriterionClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapSelectCommand {
	GearyImapCommand parent_instance;
	GearyImapSelectCommandPrivate * priv;
};

struct _GearyImapSelectCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapStarttlsCommand {
	GearyImapCommand parent_instance;
	GearyImapStarttlsCommandPrivate * priv;
};

struct _GearyImapStarttlsCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapStatusCommand {
	GearyImapCommand parent_instance;
	GearyImapStatusCommandPrivate * priv;
};

struct _GearyImapStatusCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapStoreCommand {
	GearyImapCommand parent_instance;
	GearyImapStoreCommandPrivate * priv;
};

struct _GearyImapStoreCommandClass {
	GearyImapCommandClass parent_class;
};

struct _GearyImapMessageDataIface {
	GTypeInterface parent_iface;
};

struct _GearyImapEnvelope {
	GearyMessageDataAbstractMessageData parent_instance;
	GearyImapEnvelopePrivate * priv;
};

struct _GearyImapEnvelopeClass {
	GearyMessageDataAbstractMessageDataClass parent_class;
};

struct _GearyImapFetchBodyDataSpecifier {
	GearyBaseObject parent_instance;
	GearyImapFetchBodyDataSpecifierPrivate * priv;
};

struct _GearyImapFetchBodyDataSpecifierClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapFlag {
	GearyBaseObject parent_instance;
	GearyImapFlagPrivate * priv;
};

struct _GearyImapFlagClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapFlags {
	GearyMessageDataAbstractMessageData parent_instance;
	GeeSet* list;
	GearyImapFlagsPrivate * priv;
};

struct _GearyImapFlagsClass {
	GearyMessageDataAbstractMessageDataClass parent_class;
	gchar* (*serialize) (GearyImapFlags* self);
	GearyImapParameter* (*to_parameter) (GearyImapFlags* self);
};

struct _GearyImapInternalDate {
	GearyMessageDataAbstractMessageData parent_instance;
	GearyImapInternalDatePrivate * priv;
};

struct _GearyImapInternalDateClass {
	GearyMessageDataAbstractMessageDataClass parent_class;
};

struct _GearyImapMailboxSpecifier {
	GearyBaseObject parent_instance;
	GearyImapMailboxSpecifierPrivate * priv;
};

struct _GearyImapMailboxSpecifierClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapRFC822Size {
	GearyMessageDataInt64MessageData parent_instance;
	GearyImapRFC822SizePrivate * priv;
};

struct _GearyImapRFC822SizeClass {
	GearyMessageDataInt64MessageDataClass parent_class;
};

struct _GearyRFC822EncodedMessageDataIface {
	GTypeInterface parent_iface;
};

struct _GearyRFC822Header {
	GearyMessageDataBlockMessageData parent_instance;
	GearyRFC822HeaderPrivate * priv;
};

struct _GearyRFC822HeaderClass {
	GearyMessageDataBlockMessageDataClass parent_class;
};

struct _GearyImapRFC822Header {
	GearyRFC822Header parent_instance;
	GearyImapRFC822HeaderPrivate * priv;
};

struct _GearyImapRFC822HeaderClass {
	GearyRFC822HeaderClass parent_class;
};

struct _GearyRFC822Text {
	GearyMessageDataBlockMessageData parent_instance;
	GearyRFC822TextPrivate * priv;
};

struct _GearyRFC822TextClass {
	GearyMessageDataBlockMessageDataClass parent_class;
};

struct _GearyImapRFC822Text {
	GearyRFC822Text parent_instance;
	GearyImapRFC822TextPrivate * priv;
};

struct _GearyImapRFC822TextClass {
	GearyRFC822TextClass parent_class;
};

struct _GearyRFC822Full {
	GearyMessageDataBlockMessageData parent_instance;
	GearyRFC822FullPrivate * priv;
};

struct _GearyRFC822FullClass {
	GearyMessageDataBlockMessageDataClass parent_class;
};

struct _GearyImapRFC822Full {
	GearyRFC822Full parent_instance;
	GearyImapRFC822FullPrivate * priv;
};

struct _GearyImapRFC822FullClass {
	GearyRFC822FullClass parent_class;
};

struct _GearyImapMessageFlag {
	GearyImapFlag parent_instance;
	GearyImapMessageFlagPrivate * priv;
};

struct _GearyImapMessageFlagClass {
	GearyImapFlagClass parent_class;
};

struct _GearyImapMessageFlags {
	GearyImapFlags parent_instance;
	GearyImapMessageFlagsPrivate * priv;
};

struct _GearyImapMessageFlagsClass {
	GearyImapFlagsClass parent_class;
};

struct _GearyImapNamespace {
	GearyBaseObject parent_instance;
	GearyImapNamespacePrivate * priv;
};

struct _GearyImapNamespaceClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapSequenceNumber {
	GearyMessageDataInt64MessageData parent_instance;
	GearyImapSequenceNumberPrivate * priv;
};

struct _GearyImapSequenceNumberClass {
	GearyMessageDataInt64MessageDataClass parent_class;
	gint (*compare_to) (GearyImapSequenceNumber* self, GearyImapSequenceNumber* other);
};

struct _GearyImapStringParameter {
	GearyImapParameter parent_instance;
	GearyImapStringParameterPrivate * priv;
};

struct _GearyImapStringParameterClass {
	GearyImapParameterClass parent_class;
};

struct _GearyImapUnquotedStringParameter {
	GearyImapStringParameter parent_instance;
	GearyImapUnquotedStringParameterPrivate * priv;
};

struct _GearyImapUnquotedStringParameterClass {
	GearyImapStringParameterClass parent_class;
};

struct _GearyImapAtomParameter {
	GearyImapUnquotedStringParameter parent_instance;
	GearyImapAtomParameterPrivate * priv;
};

struct _GearyImapAtomParameterClass {
	GearyImapUnquotedStringParameterClass parent_class;
};

struct _GearyImapTag {
	GearyImapAtomParameter parent_instance;
	GearyImapTagPrivate * priv;
};

struct _GearyImapTagClass {
	GearyImapAtomParameterClass parent_class;
};

struct _GearyImapUID {
	GearyMessageDataInt64MessageData parent_instance;
	GearyImapUIDPrivate * priv;
};

struct _GearyImapUIDClass {
	GearyMessageDataInt64MessageDataClass parent_class;
	gint (*compare_to) (GearyImapUID* self, GearyImapUID* other);
};

struct _GearyImapUIDValidity {
	GearyMessageDataInt64MessageData parent_instance;
	GearyImapUIDValidityPrivate * priv;
};

struct _GearyImapUIDValidityClass {
	GearyMessageDataInt64MessageDataClass parent_class;
};

struct _GearyImapLiteralParameter {
	GearyImapParameter parent_instance;
	GearyImapLiteralParameterPrivate * priv;
};

struct _GearyImapLiteralParameterClass {
	GearyImapParameterClass parent_class;
};

struct _GearyImapNilParameter {
	GearyImapParameter parent_instance;
	GearyImapNilParameterPrivate * priv;
};

struct _GearyImapNilParameterClass {
	GearyImapParameterClass parent_class;
};

struct _GearyImapNumberParameter {
	GearyImapUnquotedStringParameter parent_instance;
	GearyImapNumberParameterPrivate * priv;
};

struct _GearyImapNumberParameterClass {
	GearyImapUnquotedStringParameterClass parent_class;
};

struct _GearyImapQuotedStringParameter {
	GearyImapStringParameter parent_instance;
	GearyImapQuotedStringParameterPrivate * priv;
};

struct _GearyImapQuotedStringParameterClass {
	GearyImapStringParameterClass parent_class;
};

struct _GearyImapRootParameters {
	GearyImapListParameter parent_instance;
	GearyImapRootParametersPrivate * priv;
};

struct _GearyImapRootParametersClass {
	GearyImapListParameterClass parent_class;
};

struct _GearyImapServerResponse {
	GearyImapRootParameters parent_instance;
	GearyImapServerResponsePrivate * priv;
};

struct _GearyImapServerResponseClass {
	GearyImapRootParametersClass parent_class;
};

struct _GearyImapContinuationResponse {
	GearyImapServerResponse parent_instance;
	GearyImapContinuationResponsePrivate * priv;
};

struct _GearyImapContinuationResponseClass {
	GearyImapServerResponseClass parent_class;
};

struct _GearyImapFetchDataDecoder {
	GearyBaseObject parent_instance;
	GearyImapFetchDataDecoderPrivate * priv;
};

struct _GearyImapFetchDataDecoderClass {
	GearyBaseObjectClass parent_class;
	GearyImapMessageData* (*decode) (GearyImapFetchDataDecoder* self, GearyImapParameter* param, GError** error);
	GearyImapMessageData* (*decode_string) (GearyImapFetchDataDecoder* self, GearyImapStringParameter* param, GError** error);
	GearyImapMessageData* (*decode_list) (GearyImapFetchDataDecoder* self, GearyImapListParameter* list, GError** error);
	GearyImapMessageData* (*decode_literal) (GearyImapFetchDataDecoder* self, GearyImapLiteralParameter* literal, GError** error);
	GearyImapMessageData* (*decode_nil) (GearyImapFetchDataDecoder* self, GearyImapNilParameter* nil, GError** error);
};

struct _GearyImapUIDDecoder {
	GearyImapFetchDataDecoder parent_instance;
	GearyImapUIDDecoderPrivate * priv;
};

struct _GearyImapUIDDecoderClass {
	GearyImapFetchDataDecoderClass parent_class;
};

struct _GearyImapMessageFlagsDecoder {
	GearyImapFetchDataDecoder parent_instance;
	GearyImapMessageFlagsDecoderPrivate * priv;
};

struct _GearyImapMessageFlagsDecoderClass {
	GearyImapFetchDataDecoderClass parent_class;
};

struct _GearyImapInternalDateDecoder {
	GearyImapFetchDataDecoder parent_instance;
	GearyImapInternalDateDecoderPrivate * priv;
};

struct _GearyImapInternalDateDecoderClass {
	GearyImapFetchDataDecoderClass parent_class;
};

struct _GearyImapRFC822SizeDecoder {
	GearyImapFetchDataDecoder parent_instance;
	GearyImapRFC822SizeDecoderPrivate * priv;
};

struct _GearyImapRFC822SizeDecoderClass {
	GearyImapFetchDataDecoderClass parent_class;
};

struct _GearyImapEnvelopeDecoder {
	GearyImapFetchDataDecoder parent_instance;
	GearyImapEnvelopeDecoderPrivate * priv;
};

struct _GearyImapEnvelopeDecoderClass {
	GearyImapFetchDataDecoderClass parent_class;
};

struct _GearyImapRFC822HeaderDecoder {
	GearyImapFetchDataDecoder parent_instance;
	GearyImapRFC822HeaderDecoderPrivate * priv;
};

struct _GearyImapRFC822HeaderDecoderClass {
	GearyImapFetchDataDecoderClass parent_class;
};

struct _GearyImapRFC822TextDecoder {
	GearyImapFetchDataDecoder parent_instance;
	GearyImapRFC822TextDecoderPrivate * priv;
};

struct _GearyImapRFC822TextDecoderClass {
	GearyImapFetchDataDecoderClass parent_class;
};

struct _GearyImapRFC822FullDecoder {
	GearyImapFetchDataDecoder parent_instance;
	GearyImapRFC822FullDecoderPrivate * priv;
};

struct _GearyImapRFC822FullDecoderClass {
	GearyImapFetchDataDecoderClass parent_class;
};

struct _GearyImapFetchedData {
	GObject parent_instance;
	GearyImapFetchedDataPrivate * priv;
};

struct _GearyImapFetchedDataClass {
	GObjectClass parent_class;
};

struct _GearyImapMailboxAttribute {
	GearyImapFlag parent_instance;
	GearyImapMailboxAttributePrivate * priv;
};

struct _GearyImapMailboxAttributeClass {
	GearyImapFlagClass parent_class;
};

struct _GearyImapMailboxAttributes {
	GearyImapFlags parent_instance;
	GearyImapMailboxAttributesPrivate * priv;
};

struct _GearyImapMailboxAttributesClass {
	GearyImapFlagsClass parent_class;
};

struct _GearyImapMailboxInformation {
	GearyBaseObject parent_instance;
	GearyImapMailboxInformationPrivate * priv;
};

struct _GearyImapMailboxInformationClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapNamespaceResponse {
	GearyBaseObject parent_instance;
	GearyImapNamespaceResponsePrivate * priv;
};

struct _GearyImapNamespaceResponseClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapResponseCode {
	GearyImapListParameter parent_instance;
	GearyImapResponseCodePrivate * priv;
};

struct _GearyImapResponseCodeClass {
	GearyImapListParameterClass parent_class;
};

struct _GearyImapResponseCodeType {
	GearyBaseObject parent_instance;
	GearyImapResponseCodeTypePrivate * priv;
};

struct _GearyImapResponseCodeTypeClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapServerData {
	GearyImapServerResponse parent_instance;
	GearyImapServerDataPrivate * priv;
};

struct _GearyImapServerDataClass {
	GearyImapServerResponseClass parent_class;
};

struct _GearyImapStatusData {
	GObject parent_instance;
	GearyImapStatusDataPrivate * priv;
};

struct _GearyImapStatusDataClass {
	GObjectClass parent_class;
};

struct _GearyImapStatusResponse {
	GearyImapServerResponse parent_instance;
	GearyImapStatusResponsePrivate * priv;
};

struct _GearyImapStatusResponseClass {
	GearyImapServerResponseClass parent_class;
};

struct _GearyImapClientConnection {
	GearyBaseObject parent_instance;
	GearyImapClientConnectionPrivate * priv;
};

struct _GearyImapClientConnectionClass {
	GearyBaseObjectClass parent_class;
	void (*sent_command) (GearyImapClientConnection* self, GearyImapCommand* cmd);
	void (*received_status_response) (GearyImapClientConnection* self, GearyImapStatusResponse* status_response);
	void (*received_server_data) (GearyImapClientConnection* self, GearyImapServerData* server_data);
	void (*received_continuation_response) (GearyImapClientConnection* self, GearyImapContinuationResponse* continuation_response);
};

struct _GearyImapClientSession {
	GearyBaseObject parent_instance;
	GearyImapMailboxSpecifier* selected_mailbox;
	gboolean selected_readonly;
	GearyImapClientSessionPrivate * priv;
};

struct _GearyImapClientSessionClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapDeserializer {
	GearyBaseObject parent_instance;
	GearyImapDeserializerPrivate * priv;
};

struct _GearyImapDeserializerClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapSerializer {
	GearyBaseObject parent_instance;
	GearyImapSerializerPrivate * priv;
};

struct _GearyImapSerializerClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyImapEngineAccountOperation {
	GearyBaseObject parent_instance;
	GearyImapEngineAccountOperationPrivate * priv;
};

struct _GearyImapEngineAccountOperationClass {
	GearyBaseObjectClass parent_class;
	void (*execute) (GearyImapEngineAccountOperation* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*execute_finish) (GearyImapEngineAccountOperation* self, GAsyncResult* _res_, GError** error);
	gboolean (*equal_to) (GearyImapEngineAccountOperation* self, GearyImapEngineAccountOperation* op);
	GearyLoggingState* (*to_logging_state) (GearyImapEngineAccountOperation* self);
};

struct _GearyImapEngineFolderOperation {
	GearyImapEngineAccountOperation parent_instance;
	GearyImapEngineFolderOperationPrivate * priv;
};

struct _GearyImapEngineFolderOperationClass {
	GearyImapEngineAccountOperationClass parent_class;
};

struct _GearyMemoryBuffer {
	GearyBaseObject parent_instance;
	GearyMemoryBufferPrivate * priv;
};

struct _GearyMemoryBufferClass {
	GearyBaseObjectClass parent_class;
	gsize (*get_size) (GearyMemoryBuffer* self);
	gsize (*get_allocated_size) (GearyMemoryBuffer* self);
	GBytes* (*get_bytes) (GearyMemoryBuffer* self);
	GInputStream* (*get_input_stream) (GearyMemoryBuffer* self);
	GByteArray* (*get_byte_array) (GearyMemoryBuffer* self);
	guint8* (*get_uint8_array) (GearyMemoryBuffer* self, gint* result_length1);
	gchar* (*to_string) (GearyMemoryBuffer* self);
	gchar* (*get_valid_utf8) (GearyMemoryBuffer* self);
};

struct _GearyMemoryUnownedBytesBufferIface {
	GTypeInterface parent_iface;
	guint8* (*to_unowned_uint8_array) (GearyMemoryUnownedBytesBuffer* self, gint* result_length1);
};

struct _GearyMemoryByteBuffer {
	GearyMemoryBuffer parent_instance;
	GearyMemoryByteBufferPrivate * priv;
};

struct _GearyMemoryByteBufferClass {
	GearyMemoryBufferClass parent_class;
};

struct _GearyMemoryUnownedStringBufferIface {
	GTypeInterface parent_iface;
	const gchar* (*to_unowned_string) (GearyMemoryUnownedStringBuffer* self);
};

struct _GearyMemoryUnownedByteArrayBufferIface {
	GTypeInterface parent_iface;
	GByteArray* (*to_unowned_byte_array) (GearyMemoryUnownedByteArrayBuffer* self);
};

struct _GearyMemoryEmptyBuffer {
	GearyMemoryBuffer parent_instance;
	GearyMemoryEmptyBufferPrivate * priv;
};

struct _GearyMemoryEmptyBufferClass {
	GearyMemoryBufferClass parent_class;
};

struct _GearyMemoryFileBuffer {
	GearyMemoryBuffer parent_instance;
	GearyMemoryFileBufferPrivate * priv;
};

struct _GearyMemoryFileBufferClass {
	GearyMemoryBufferClass parent_class;
};

struct _GearyMemoryGrowableBuffer {
	GearyMemoryBuffer parent_instance;
	GearyMemoryGrowableBufferPrivate * priv;
};

struct _GearyMemoryGrowableBufferClass {
	GearyMemoryBufferClass parent_class;
};

struct _GearyMemoryStringBuffer {
	GearyMemoryBuffer parent_instance;
	GearyMemoryStringBufferPrivate * priv;
};

struct _GearyMemoryStringBufferClass {
	GearyMemoryBufferClass parent_class;
};

struct _GearyMimeContentDisposition {
	GearyBaseObject parent_instance;
	GearyMimeContentDispositionPrivate * priv;
};

struct _GearyMimeContentDispositionClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyMimeContentParameters {
	GearyBaseObject parent_instance;
	GearyMimeContentParametersPrivate * priv;
};

struct _GearyMimeContentParametersClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyMimeContentType {
	GearyBaseObject parent_instance;
	GearyMimeContentTypePrivate * priv;
};

struct _GearyMimeContentTypeClass {
	GearyBaseObjectClass parent_class;
};

typedef enum  {
	GEARY_MIME_ERROR_PARSE
} GearyMimeError;
#define GEARY_MIME_ERROR geary_mime_error_quark ()

struct _GearyNonblockingBatchOperation {
	GearyBaseObject parent_instance;
	GearyNonblockingBatchOperationPrivate * priv;
};

struct _GearyNonblockingBatchOperationClass {
	GearyBaseObjectClass parent_class;
	void (*execute_async) (GearyNonblockingBatchOperation* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GObject* (*execute_finish) (GearyNonblockingBatchOperation* self, GAsyncResult* _res_, GError** error);
};

struct _GearyNonblockingBatch {
	GearyBaseObject parent_instance;
	GearyNonblockingBatchPrivate * priv;
};

struct _GearyNonblockingBatchClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyNonblockingConcurrent {
	GearyBaseObject parent_instance;
	GearyNonblockingConcurrentPrivate * priv;
};

struct _GearyNonblockingConcurrentClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyNonblockingLock {
	GearyBaseObject parent_instance;
	GearyNonblockingLockPrivate * priv;
};

struct _GearyNonblockingLockClass {
	GearyBaseObjectClass parent_class;
	void (*notify) (GearyNonblockingLock* self, GError** error);
	void (*wait_async) (GearyNonblockingLock* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*wait_finish) (GearyNonblockingLock* self, GAsyncResult* _res_, GError** error);
	void (*reset) (GearyNonblockingLock* self);
};

struct _GearyNonblockingCountingSemaphore {
	GearyNonblockingLock parent_instance;
	GearyNonblockingCountingSemaphorePrivate * priv;
};

struct _GearyNonblockingCountingSemaphoreClass {
	GearyNonblockingLockClass parent_class;
};

typedef enum  {
	GEARY_NONBLOCKING_ERROR_INVALID
} GearyNonblockingError;
#define GEARY_NONBLOCKING_ERROR geary_nonblocking_error_quark ()

struct _GearyNonblockingMutex {
	GearyBaseObject parent_instance;
	GearyNonblockingMutexPrivate * priv;
};

struct _GearyNonblockingMutexClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyNonblockingQueue {
	GearyBaseObject parent_instance;
	GearyNonblockingQueuePrivate * priv;
};

struct _GearyNonblockingQueueClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyNonblockingSemaphore {
	GearyNonblockingLock parent_instance;
	GearyNonblockingSemaphorePrivate * priv;
};

struct _GearyNonblockingSemaphoreClass {
	GearyNonblockingLockClass parent_class;
};

struct _GearyNonblockingReportingSemaphore {
	GearyNonblockingSemaphore parent_instance;
	GearyNonblockingReportingSemaphorePrivate * priv;
};

struct _GearyNonblockingReportingSemaphoreClass {
	GearyNonblockingSemaphoreClass parent_class;
};

struct _GearyNonblockingEvent {
	GearyNonblockingLock parent_instance;
	GearyNonblockingEventPrivate * priv;
};

struct _GearyNonblockingEventClass {
	GearyNonblockingLockClass parent_class;
};

struct _GearyNonblockingSpinlock {
	GearyNonblockingLock parent_instance;
	GearyNonblockingSpinlockPrivate * priv;
};

struct _GearyNonblockingSpinlockClass {
	GearyNonblockingLockClass parent_class;
};

struct _GearyOutboxFolder {
	GearyAbstractLocalFolder parent_instance;
	GearyOutboxFolderPrivate * priv;
};

struct _GearyOutboxFolderClass {
	GearyAbstractLocalFolderClass parent_class;
	void (*create_email_async) (GearyOutboxFolder* self, GearyRFC822Message* rfc822, GearyEmailFlags* flags, GDateTime* date_received, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GearyEmailIdentifier* (*create_email_finish) (GearyOutboxFolder* self, GAsyncResult* _res_, GError** error);
	void (*mark_email_async) (GearyOutboxFolder* self, GeeCollection* to_mark, GearyEmailFlags* flags_to_add, GearyEmailFlags* flags_to_remove, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*mark_email_finish) (GearyOutboxFolder* self, GAsyncResult* _res_, GError** error);
	void (*remove_email_async) (GearyOutboxFolder* self, GeeCollection* email_ids, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*remove_email_finish) (GearyOutboxFolder* self, GAsyncResult* _res_, GError** error);
};

typedef enum  {
	GEARY_RF_C822_ERROR_INVALID,
	GEARY_RF_C822_ERROR_NOT_FOUND,
	GEARY_RF_C822_ERROR_FAILED
} GearyRFC822Error;
#define GEARY_RF_C822_ERROR geary_rf_c822_error_quark ()

struct _GearyRFC822DecodedMessageDataIface {
	GTypeInterface parent_iface;
	gchar* (*to_rfc822_string) (GearyRFC822DecodedMessageData* self);
};

struct _GearyRFC822MailboxAddresses {
	GearyMessageDataAbstractMessageData parent_instance;
	GearyRFC822MailboxAddressesPrivate * priv;
};

struct _GearyRFC822MailboxAddressesClass {
	GearyMessageDataAbstractMessageDataClass parent_class;
};

struct _GearyRFC822MailboxAddress {
	GearyMessageDataAbstractMessageData parent_instance;
	GearyRFC822MailboxAddressPrivate * priv;
};

struct _GearyRFC822MailboxAddressClass {
	GearyMessageDataAbstractMessageDataClass parent_class;
};

struct _GearyRFC822Message {
	GearyBaseObject parent_instance;
	GearyRFC822MessagePrivate * priv;
};

struct _GearyRFC822MessageClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyRFC822MessageID {
	GearyMessageDataStringMessageData parent_instance;
	GearyRFC822MessageIDPrivate * priv;
};

struct _GearyRFC822MessageIDClass {
	GearyMessageDataStringMessageDataClass parent_class;
};

struct _GearyRFC822MessageIDList {
	GearyMessageDataAbstractMessageData parent_instance;
	GearyRFC822MessageIDListPrivate * priv;
};

struct _GearyRFC822MessageIDListClass {
	GearyMessageDataAbstractMessageDataClass parent_class;
};

struct _GearyRFC822Date {
	GearyMessageDataAbstractMessageData parent_instance;
	GearyRFC822DatePrivate * priv;
};

struct _GearyRFC822DateClass {
	GearyMessageDataAbstractMessageDataClass parent_class;
	gboolean (*equal_to) (GearyRFC822Date* self, GearyRFC822Date* other);
	guint (*hash) (GearyRFC822Date* self);
};

struct _GearyRFC822Subject {
	GearyMessageDataStringMessageData parent_instance;
	GearyRFC822SubjectPrivate * priv;
};

struct _GearyRFC822SubjectClass {
	GearyMessageDataStringMessageDataClass parent_class;
};

struct _GearyRFC822PreviewText {
	GearyRFC822Text parent_instance;
	GearyRFC822PreviewTextPrivate * priv;
};

struct _GearyRFC822PreviewTextClass {
	GearyRFC822TextClass parent_class;
};

struct _GearyRFC822AuthenticationResults {
	GearyMessageDataStringMessageData parent_instance;
	GearyRFC822AuthenticationResultsPrivate * priv;
};

struct _GearyRFC822AuthenticationResultsClass {
	GearyMessageDataStringMessageDataClass parent_class;
};

struct _GearyRFC822Part {
	GObject parent_instance;
	GearyRFC822PartPrivate * priv;
};

struct _GearyRFC822PartClass {
	GObjectClass parent_class;
};

typedef enum  {
	GEARY_SMTP_ERROR_ALREADY_CONNECTED,
	GEARY_SMTP_ERROR_AUTHENTICATION_FAILED,
	GEARY_SMTP_ERROR_NOT_CONNECTED,
	GEARY_SMTP_ERROR_NOT_SUPPORTED,
	GEARY_SMTP_ERROR_PARSE_ERROR,
	GEARY_SMTP_ERROR_REQUIRED_FIELD,
	GEARY_SMTP_ERROR_SERVER_ERROR,
	GEARY_SMTP_ERROR_STARTTLS_FAILED
} GearySmtpError;
#define GEARY_SMTP_ERROR geary_smtp_error_quark ()

struct _GearySmtpAuthenticator {
	GearyBaseObject parent_instance;
	GearySmtpAuthenticatorPrivate * priv;
};

struct _GearySmtpAuthenticatorClass {
	GearyBaseObjectClass parent_class;
	GearySmtpRequest* (*initiate) (GearySmtpAuthenticator* self);
	GearyMemoryBuffer* (*challenge) (GearySmtpAuthenticator* self, gint step, GearySmtpResponse* response, GError** error);
	gchar* (*to_string) (GearySmtpAuthenticator* self);
};

struct _GearySmtpCapabilities {
	GearyGenericCapabilities parent_instance;
	GearySmtpCapabilitiesPrivate * priv;
};

struct _GearySmtpCapabilitiesClass {
	GearyGenericCapabilitiesClass parent_class;
};

struct _GearySmtpClientService {
	GearyClientService parent_instance;
	GearySmtpClientServicePrivate * priv;
};

struct _GearySmtpClientServiceClass {
	GearyClientServiceClass parent_class;
};

struct _GearySmtpClientSession {
	GearyBaseObject parent_instance;
	GearySmtpClientSessionPrivate * priv;
};

struct _GearySmtpClientSessionClass {
	GearyBaseObjectClass parent_class;
	void (*connected) (GearySmtpClientSession* self, GearySmtpGreeting* greeting);
	void (*authenticated) (GearySmtpClientSession* self, GearySmtpAuthenticator* authenticator);
	void (*disconnected) (GearySmtpClientSession* self);
	void (*notify_connected) (GearySmtpClientSession* self, GearySmtpGreeting* greeting);
	void (*notify_authenticated) (GearySmtpClientSession* self, GearySmtpAuthenticator* authenticator);
	void (*notify_disconnected) (GearySmtpClientSession* self);
	GearyLoggingState* (*to_logging_state) (GearySmtpClientSession* self);
};

struct _GearySmtpResponse {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GearySmtpResponsePrivate * priv;
};

struct _GearySmtpResponseClass {
	GTypeClass parent_class;
	void (*finalize) (GearySmtpResponse *self);
};

struct _GearySmtpGreeting {
	GearySmtpResponse parent_instance;
	GearySmtpGreetingPrivate * priv;
};

struct _GearySmtpGreetingClass {
	GearySmtpResponseClass parent_class;
};

struct _GearySmtpLoginAuthenticator {
	GearySmtpAuthenticator parent_instance;
	GearySmtpLoginAuthenticatorPrivate * priv;
};

struct _GearySmtpLoginAuthenticatorClass {
	GearySmtpAuthenticatorClass parent_class;
};

struct _GearySmtpOAuth2Authenticator {
	GearySmtpAuthenticator parent_instance;
	GearySmtpOAuth2AuthenticatorPrivate * priv;
};

struct _GearySmtpOAuth2AuthenticatorClass {
	GearySmtpAuthenticatorClass parent_class;
};

struct _GearySmtpPlainAuthenticator {
	GearySmtpAuthenticator parent_instance;
	GearySmtpPlainAuthenticatorPrivate * priv;
};

struct _GearySmtpPlainAuthenticatorClass {
	GearySmtpAuthenticatorClass parent_class;
};

struct _GearySmtpRequest {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GearySmtpRequestPrivate * priv;
};

struct _GearySmtpRequestClass {
	GTypeClass parent_class;
	void (*finalize) (GearySmtpRequest *self);
};

struct _GearySmtpHeloRequest {
	GearySmtpRequest parent_instance;
	GearySmtpHeloRequestPrivate * priv;
};

struct _GearySmtpHeloRequestClass {
	GearySmtpRequestClass parent_class;
};

struct _GearySmtpEhloRequest {
	GearySmtpRequest parent_instance;
	GearySmtpEhloRequestPrivate * priv;
};

struct _GearySmtpEhloRequestClass {
	GearySmtpRequestClass parent_class;
};

struct _GearySmtpMailRequest {
	GearySmtpRequest parent_instance;
	GearySmtpMailRequestPrivate * priv;
};

struct _GearySmtpMailRequestClass {
	GearySmtpRequestClass parent_class;
};

struct _GearySmtpRcptRequest {
	GearySmtpRequest parent_instance;
	GearySmtpRcptRequestPrivate * priv;
};

struct _GearySmtpRcptRequestClass {
	GearySmtpRequestClass parent_class;
};

struct _GearySmtpResponseCode {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GearySmtpResponseCodePrivate * priv;
};

struct _GearySmtpResponseCodeClass {
	GTypeClass parent_class;
	void (*finalize) (GearySmtpResponseCode *self);
};

struct _GearySmtpResponseLine {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GearySmtpResponseLinePrivate * priv;
};

struct _GearySmtpResponseLineClass {
	GTypeClass parent_class;
	void (*finalize) (GearySmtpResponseLine *self);
};

struct _GearyStateMachineDescriptor {
	GearyBaseObject parent_instance;
	GearyStateMachineDescriptorPrivate * priv;
};

struct _GearyStateMachineDescriptorClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyStateMachine {
	GearyBaseObject parent_instance;
	GearyStateMachinePrivate * priv;
};

struct _GearyStateMachineClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyStateMapping {
	GearyBaseObject parent_instance;
	guint state;
	guint event;
	GearyStateTransition transition;
	gpointer transition_target;
	GearyStateMappingPrivate * priv;
};

struct _GearyStateMappingClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyConfigFile {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GearyConfigFilePrivate * priv;
};

struct _GearyConfigFileClass {
	GTypeClass parent_class;
	void (*finalize) (GearyConfigFile *self);
};

struct _GearyConfigFileGroup {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GearyConfigFileGroupPrivate * priv;
};

struct _GearyConfigFileGroupClass {
	GTypeClass parent_class;
	void (*finalize) (GearyConfigFileGroup *self);
};

struct _GearyConnectivityManager {
	GearyBaseObject parent_instance;
	GearyConnectivityManagerPrivate * priv;
};

struct _GearyConnectivityManagerClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyErrorContext {
	GearyBaseObject parent_instance;
	GearyErrorContextPrivate * priv;
};

struct _GearyErrorContextClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyErrorContextStackFrame {
	GTypeInstance parent_instance;
	volatile int ref_count;
	gchar* name;
	GearyErrorContextStackFramePrivate * priv;
};

struct _GearyErrorContextStackFrameClass {
	GTypeClass parent_class;
	void (*finalize) (GearyErrorContextStackFrame *self);
};

struct _GearyIdleManager {
	GearyBaseObject parent_instance;
	GearyIdleManagerRepeat repetition;
	GearyIdleManagerPriority priority;
	GearyIdleManagerPrivate * priv;
};

struct _GearyIdleManagerClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyIterable {
	GearyBaseObject parent_instance;
	GearyIterablePrivate * priv;
};

struct _GearyIterableClass {
	GearyBaseObjectClass parent_class;
	GeeIterator* (*iterator) (GearyIterable* self);
};

struct _GearyLoggingSourceContext {
	GLogField* fields;
	gint fields_length1;
	guint8 len;
	guint8 count;
	gchar* message;
};

struct _GearyLoggingState {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GearyLoggingStatePrivate * priv;
};

struct _GearyLoggingStateClass {
	GTypeClass parent_class;
	void (*finalize) (GearyLoggingState *self);
};

struct _GearyLoggingRecord {
	GTypeInstance parent_instance;
	volatile int ref_count;
	gchar* message;
	GType* source_type;
	gchar* source_filename;
	gchar* source_line_number;
	gchar* source_function;
	GLogLevelFlags levels;
	gint64 timestamp;
	GearyLoggingRecordPrivate * priv;
};

struct _GearyLoggingRecordClass {
	GTypeClass parent_class;
	void (*finalize) (GearyLoggingRecord *self);
};

struct _GearyReferenceSemanticsIface {
	GTypeInterface parent_iface;
	gint (*get_manual_ref_count) (GearyReferenceSemantics* self);
	void (*set_manual_ref_count) (GearyReferenceSemantics* self, gint value);
};

struct _GearySmartReference {
	GearyBaseObject parent_instance;
	GearySmartReferencePrivate * priv;
};

struct _GearySmartReferenceClass {
	GearyBaseObjectClass parent_class;
	void (*reference_broken) (GearySmartReference* self);
};

struct _GearySchedulerScheduled {
	GearySmartReference parent_instance;
	GearySchedulerScheduledPrivate * priv;
};

struct _GearySchedulerScheduledClass {
	GearySmartReferenceClass parent_class;
};

struct _GearyStreamMimeOutputStream {
	GMimeStream parent_instance;
	GearyStreamMimeOutputStreamPrivate * priv;
};

struct _GearyStreamMimeOutputStreamClass {
	GMimeStreamClass parent_class;
};

struct _GearySynchronizationSpinWaiter {
	GearyBaseObject parent_instance;
	GearySynchronizationSpinWaiterPrivate * priv;
};

struct _GearySynchronizationSpinWaiterClass {
	GearyBaseObjectClass parent_class;
};

struct _GearyTimeoutManager {
	GearyBaseObject parent_instance;
	gboolean use_seconds;
	guint interval;
	GearyTimeoutManagerRepeat repetition;
	GearyTimeoutManagerPriority priority;
	GearyTimeoutManagerPrivate * priv;
};

struct _GearyTimeoutManagerClass {
	GearyBaseObjectClass parent_class;
};

VALA_EXTERN GType geary_base_interface_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_base_object_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyBaseObject, g_object_unref)
VALA_EXTERN gpointer geary_logging_state_ref (gpointer instance);
VALA_EXTERN void geary_logging_state_unref (gpointer instance);
VALA_EXTERN GParamSpec* geary_logging_param_spec_state (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
VALA_EXTERN void geary_logging_value_set_state (GValue* value,
                                    gpointer v_object);
VALA_EXTERN void geary_logging_value_take_state (GValue* value,
                                     gpointer v_object);
VALA_EXTERN gpointer geary_logging_value_get_state (const GValue* value);
VALA_EXTERN GType geary_logging_state_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyLoggingState, geary_logging_state_unref)
VALA_EXTERN GType geary_logging_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyLoggingSource, g_object_unref)
VALA_EXTERN GType geary_folder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyFolder, g_object_unref)
VALA_EXTERN GType geary_account_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyAccount, g_object_unref)
VALA_EXTERN GType geary_folder_properties_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyFolderProperties, g_object_unref)
VALA_EXTERN GType geary_folder_path_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyFolderPath, g_object_unref)
VALA_EXTERN GType geary_folder_special_use_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_progress_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyProgressMonitor, g_object_unref)
VALA_EXTERN GType geary_folder_open_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_folder_open_failed_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_folder_close_reason_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_email_identifier_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyEmailIdentifier, g_object_unref)
VALA_EXTERN GType geary_folder_count_change_reason_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_named_flags_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNamedFlags, g_object_unref)
VALA_EXTERN GType geary_email_flags_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyEmailFlags, g_object_unref)
VALA_EXTERN GType geary_folder_open_flags_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_email_field_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_folder_list_flags_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_email_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyEmail, g_object_unref)
VALA_EXTERN GQuark geary_engine_error_quark (void);
VALA_EXTERN GType geary_engine_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_abstract_local_folder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyAbstractLocalFolder, g_object_unref)
VALA_EXTERN GearyAbstractLocalFolder* geary_abstract_local_folder_construct (GType object_type);
VALA_EXTERN void geary_abstract_local_folder_check_open (GearyAbstractLocalFolder* self,
                                             GError** error);
VALA_EXTERN gboolean geary_abstract_local_folder_is_open (GearyAbstractLocalFolder* self);
VALA_EXTERN GType geary_message_data_abstract_message_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMessageDataAbstractMessageData, g_object_unref)
VALA_EXTERN GType geary_message_data_string_message_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMessageDataStringMessageData, g_object_unref)
VALA_EXTERN GType geary_rf_c822_message_id_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822MessageID, g_object_unref)
VALA_EXTERN GType geary_search_query_term_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySearchQueryTerm, g_object_unref)
VALA_EXTERN GType geary_search_query_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySearchQuery, g_object_unref)
VALA_EXTERN GType geary_problem_report_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyProblemReport, g_object_unref)
VALA_EXTERN GType geary_service_information_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyServiceInformation, g_object_unref)
VALA_EXTERN GType geary_account_status_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gboolean geary_account_status_is_online (GearyAccountStatus self);
VALA_EXTERN gboolean geary_account_status_has_service_problem (GearyAccountStatus self);
VALA_EXTERN GeeBidirSortedSet* geary_account_sort_by_path (GeeCollection* folders);
VALA_EXTERN gint geary_account_folder_path_comparator (GearyFolder* a,
                                           GearyFolder* b);
VALA_EXTERN GType geary_account_information_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyAccountInformation, g_object_unref)
VALA_EXTERN GearyAccountInformation* geary_account_get_information (GearyAccount* self);
VALA_EXTERN void geary_account_set_information (GearyAccount* self,
                                    GearyAccountInformation* value);
VALA_EXTERN GearyAccountStatus geary_account_get_current_status (GearyAccount* self);
VALA_EXTERN void geary_account_set_current_status (GearyAccount* self,
                                       GearyAccountStatus value);
VALA_EXTERN GType geary_client_service_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyClientService, g_object_unref)
VALA_EXTERN GearyClientService* geary_account_get_incoming (GearyAccount* self);
VALA_EXTERN GearyClientService* geary_account_get_outgoing (GearyAccount* self);
VALA_EXTERN GType geary_rf_c822_mailbox_address_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822MailboxAddress, g_object_unref)
VALA_EXTERN GType geary_contact_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyContact, g_object_unref)
VALA_EXTERN GType geary_contact_store_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyContactStore, g_object_unref)
VALA_EXTERN GearyContactStore* geary_account_get_contact_store (GearyAccount* self);
VALA_EXTERN void geary_account_set_contact_store (GearyAccount* self,
                                      GearyContactStore* value);
VALA_EXTERN GType geary_folder_root_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyFolderRoot, g_object_unref)
VALA_EXTERN GearyFolderRoot* geary_account_get_local_folder_root (GearyAccount* self);
VALA_EXTERN GearyProgressMonitor* geary_account_get_background_progress (GearyAccount* self);
VALA_EXTERN void geary_account_set_background_progress (GearyAccount* self,
                                            GearyProgressMonitor* value);
VALA_EXTERN GearyProgressMonitor* geary_account_get_db_upgrade_monitor (GearyAccount* self);
VALA_EXTERN void geary_account_set_db_upgrade_monitor (GearyAccount* self,
                                           GearyProgressMonitor* value);
VALA_EXTERN GearyProgressMonitor* geary_account_get_db_vacuum_monitor (GearyAccount* self);
VALA_EXTERN void geary_account_set_db_vacuum_monitor (GearyAccount* self,
                                          GearyProgressMonitor* value);
VALA_EXTERN GDateTime* geary_account_get_last_storage_cleanup (GearyAccount* self);
VALA_EXTERN void geary_account_set_last_storage_cleanup (GearyAccount* self,
                                             GDateTime* value);
VALA_EXTERN GearyAccount* geary_account_construct (GType object_type,
                                       GearyAccountInformation* information,
                                       GearyClientService* incoming,
                                       GearyClientService* outgoing);
VALA_EXTERN void geary_account_open_async (GearyAccount* self,
                               GCancellable* cancellable,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
VALA_EXTERN void geary_account_open_finish (GearyAccount* self,
                                GAsyncResult* _res_,
                                GError** error);
VALA_EXTERN void geary_account_close_async (GearyAccount* self,
                                GCancellable* cancellable,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);
VALA_EXTERN void geary_account_close_finish (GearyAccount* self,
                                 GAsyncResult* _res_,
                                 GError** error);
VALA_EXTERN gboolean geary_account_is_open (GearyAccount* self);
VALA_EXTERN void geary_account_cancel_remote_update (GearyAccount* self);
VALA_EXTERN void geary_account_rebuild_async (GearyAccount* self,
                                  GCancellable* cancellable,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_);
VALA_EXTERN void geary_account_rebuild_finish (GearyAccount* self,
                                   GAsyncResult* _res_,
                                   GError** error);
VALA_EXTERN GearyEmailIdentifier* geary_account_to_email_identifier (GearyAccount* self,
                                                         GVariant* serialised,
                                                         GError** error);
VALA_EXTERN GearyFolderPath* geary_account_to_folder_path (GearyAccount* self,
                                               GVariant* serialised,
                                               GError** error);
VALA_EXTERN gboolean geary_account_has_folder (GearyAccount* self,
                                   GearyFolderPath* path);
VALA_EXTERN GearyFolder* geary_account_get_folder (GearyAccount* self,
                                       GearyFolderPath* path,
                                       GError** error);
VALA_EXTERN GeeCollection* geary_account_list_folders (GearyAccount* self);
VALA_EXTERN GeeCollection* geary_account_list_matching_folders (GearyAccount* self,
                                                    GearyFolderPath* parent,
                                                    GError** error);
VALA_EXTERN GearyFolder* geary_account_get_special_folder (GearyAccount* self,
                                               GearyFolderSpecialUse use);
VALA_EXTERN void geary_account_get_required_special_folder_async (GearyAccount* self,
                                                      GearyFolderSpecialUse special,
                                                      GCancellable* cancellable,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_);
VALA_EXTERN GearyFolder* geary_account_get_required_special_folder_finish (GearyAccount* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
VALA_EXTERN void geary_account_create_personal_folder (GearyAccount* self,
                                           const gchar* name,
                                           GearyFolderSpecialUse use,
                                           GCancellable* cancellable,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN GearyFolder* geary_account_create_personal_folder_finish (GearyAccount* self,
                                                          GAsyncResult* _res_,
                                                          GError** error);
VALA_EXTERN void geary_account_register_local_folder (GearyAccount* self,
                                          GearyFolder* local,
                                          GError** error);
VALA_EXTERN void geary_account_deregister_local_folder (GearyAccount* self,
                                            GearyFolder* local,
                                            GError** error);
VALA_EXTERN void geary_account_local_search_message_id_async (GearyAccount* self,
                                                  GearyRFC822MessageID* message_id,
                                                  GearyEmailField requested_fields,
                                                  gboolean partial_ok,
                                                  GeeCollection* folder_blacklist,
                                                  GearyEmailFlags* flag_blacklist,
                                                  GCancellable* cancellable,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
VALA_EXTERN GeeMultiMap* geary_account_local_search_message_id_finish (GearyAccount* self,
                                                           GAsyncResult* _res_,
                                                           GError** error);
VALA_EXTERN void geary_account_local_fetch_email_async (GearyAccount* self,
                                            GearyEmailIdentifier* email_id,
                                            GearyEmailField required_fields,
                                            GCancellable* cancellable,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN GearyEmail* geary_account_local_fetch_email_finish (GearyAccount* self,
                                                    GAsyncResult* _res_,
                                                    GError** error);
VALA_EXTERN void geary_account_list_local_email_async (GearyAccount* self,
                                           GeeCollection* ids,
                                           GearyEmailField required_fields,
                                           GCancellable* cancellable,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN GeeList* geary_account_list_local_email_finish (GearyAccount* self,
                                                GAsyncResult* _res_,
                                                GError** error);
VALA_EXTERN GearySearchQuery* geary_account_new_search_query (GearyAccount* self,
                                                  GeeList* expression,
                                                  const gchar* text,
                                                  GError** error);
VALA_EXTERN void geary_account_local_search_async (GearyAccount* self,
                                       GearySearchQuery* query,
                                       gint limit,
                                       gint offset,
                                       GeeCollection* folder_blacklist,
                                       GeeCollection* search_ids,
                                       GCancellable* cancellable,
                                       GAsyncReadyCallback _callback_,
                                       gpointer _user_data_);
VALA_EXTERN GeeCollection* geary_account_local_search_finish (GearyAccount* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN void geary_account_get_search_matches_async (GearyAccount* self,
                                             GearySearchQuery* query,
                                             GeeCollection* ids,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN GeeSet* geary_account_get_search_matches_finish (GearyAccount* self,
                                                 GAsyncResult* _res_,
                                                 GError** error);
VALA_EXTERN void geary_account_get_containing_folders_async (GearyAccount* self,
                                                 GeeCollection* ids,
                                                 GCancellable* cancellable,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN GeeMultiMap* geary_account_get_containing_folders_finish (GearyAccount* self,
                                                          GAsyncResult* _res_,
                                                          GError** error);
VALA_EXTERN GearyLoggingState* geary_account_to_logging_state (GearyAccount* self);
VALA_EXTERN void geary_account_cleanup_storage (GearyAccount* self,
                                    GCancellable* cancellable,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
VALA_EXTERN void geary_account_cleanup_storage_finish (GearyAccount* self,
                                           GAsyncResult* _res_,
                                           GError** error);
VALA_EXTERN void geary_account_notify_opened (GearyAccount* self);
VALA_EXTERN void geary_account_notify_closed (GearyAccount* self);
VALA_EXTERN void geary_account_notify_folders_available_unavailable (GearyAccount* self,
                                                         GeeBidirSortedSet* available,
                                                         GeeBidirSortedSet* unavailable);
VALA_EXTERN void geary_account_notify_folders_created (GearyAccount* self,
                                           GeeBidirSortedSet* created);
VALA_EXTERN void geary_account_notify_folders_deleted (GearyAccount* self,
                                           GeeBidirSortedSet* deleted);
VALA_EXTERN void geary_account_notify_email_appended (GearyAccount* self,
                                          GearyFolder* folder,
                                          GeeCollection* ids);
VALA_EXTERN void geary_account_notify_email_inserted (GearyAccount* self,
                                          GearyFolder* folder,
                                          GeeCollection* ids);
VALA_EXTERN void geary_account_notify_email_removed (GearyAccount* self,
                                         GearyFolder* folder,
                                         GeeCollection* ids);
VALA_EXTERN void geary_account_notify_email_locally_removed (GearyAccount* self,
                                                 GearyFolder* folder,
                                                 GeeCollection* ids);
VALA_EXTERN void geary_account_notify_email_locally_complete (GearyAccount* self,
                                                  GearyFolder* folder,
                                                  GeeCollection* ids);
VALA_EXTERN void geary_account_notify_email_discovered (GearyAccount* self,
                                            GearyFolder* folder,
                                            GeeCollection* ids);
VALA_EXTERN void geary_account_notify_email_flags_changed (GearyAccount* self,
                                               GearyFolder* folder,
                                               GeeMap* flag_map);
VALA_EXTERN void geary_account_notify_report_problem (GearyAccount* self,
                                          GearyProblemReport* report);
VALA_EXTERN void geary_account_notify_account_problem (GearyAccount* self,
                                           GError* err);
VALA_EXTERN void geary_account_notify_service_problem (GearyAccount* self,
                                           GearyServiceInformation* service,
                                           GError* err);
VALA_EXTERN gint geary_account_information_next_ordinal;
VALA_EXTERN gint geary_account_information_compare_ascending (GearyAccountInformation* a,
                                                  GearyAccountInformation* b);
VALA_EXTERN const gchar* geary_account_information_get_id (GearyAccountInformation* self);
VALA_EXTERN gint geary_account_information_get_ordinal (GearyAccountInformation* self);
VALA_EXTERN void geary_account_information_set_ordinal (GearyAccountInformation* self,
                                            gint value);
VALA_EXTERN GType geary_service_provider_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyServiceProvider geary_account_information_get_service_provider (GearyAccountInformation* self);
VALA_EXTERN gchar* geary_account_information_get_service_label (GearyAccountInformation* self);
VALA_EXTERN void geary_account_information_set_service_label (GearyAccountInformation* self,
                                                  const gchar* value);
VALA_EXTERN const gchar* geary_account_information_get_display_name (GearyAccountInformation* self);
VALA_EXTERN const gchar* geary_account_information_get_label (GearyAccountInformation* self);
VALA_EXTERN void geary_account_information_set_label (GearyAccountInformation* self,
                                          const gchar* value);
VALA_EXTERN GearyRFC822MailboxAddress* geary_account_information_get_primary_mailbox (GearyAccountInformation* self);
VALA_EXTERN GeeList* geary_account_information_get_sender_mailboxes (GearyAccountInformation* self);
VALA_EXTERN gboolean geary_account_information_get_has_sender_aliases (GearyAccountInformation* self);
VALA_EXTERN gint geary_account_information_get_prefetch_period_days (GearyAccountInformation* self);
VALA_EXTERN void geary_account_information_set_prefetch_period_days (GearyAccountInformation* self,
                                                         gint value);
VALA_EXTERN gboolean geary_account_information_get_save_sent (GearyAccountInformation* self);
VALA_EXTERN void geary_account_information_set_save_sent (GearyAccountInformation* self,
                                              gboolean value);
VALA_EXTERN gboolean geary_account_information_get_save_drafts (GearyAccountInformation* self);
VALA_EXTERN void geary_account_information_set_save_drafts (GearyAccountInformation* self,
                                                gboolean value);
VALA_EXTERN GType geary_credentials_mediator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyCredentialsMediator, g_object_unref)
VALA_EXTERN GearyCredentialsMediator* geary_account_information_get_mediator (GearyAccountInformation* self);
VALA_EXTERN GearyServiceInformation* geary_account_information_get_incoming (GearyAccountInformation* self);
VALA_EXTERN void geary_account_information_set_incoming (GearyAccountInformation* self,
                                             GearyServiceInformation* value);
VALA_EXTERN GearyServiceInformation* geary_account_information_get_outgoing (GearyAccountInformation* self);
VALA_EXTERN void geary_account_information_set_outgoing (GearyAccountInformation* self,
                                             GearyServiceInformation* value);
VALA_EXTERN GType geary_nonblocking_mutex_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNonblockingMutex, g_object_unref)
VALA_EXTERN GearyNonblockingMutex* geary_account_information_get_write_lock (GearyAccountInformation* self);
VALA_EXTERN gboolean geary_account_information_get_use_signature (GearyAccountInformation* self);
VALA_EXTERN void geary_account_information_set_use_signature (GearyAccountInformation* self,
                                                  gboolean value);
VALA_EXTERN const gchar* geary_account_information_get_signature (GearyAccountInformation* self);
VALA_EXTERN void geary_account_information_set_signature (GearyAccountInformation* self,
                                              const gchar* value);
VALA_EXTERN GFile* geary_account_information_get_config_dir (GearyAccountInformation* self);
VALA_EXTERN GFile* geary_account_information_get_data_dir (GearyAccountInformation* self);
VALA_EXTERN GearyAccountInformation* geary_account_information_new (const gchar* id,
                                                        GearyServiceProvider provider,
                                                        GearyCredentialsMediator* mediator,
                                                        GearyRFC822MailboxAddress* primary_mailbox);
VALA_EXTERN GearyAccountInformation* geary_account_information_construct (GType object_type,
                                                              const gchar* id,
                                                              GearyServiceProvider provider,
                                                              GearyCredentialsMediator* mediator,
                                                              GearyRFC822MailboxAddress* primary_mailbox);
VALA_EXTERN GearyAccountInformation* geary_account_information_new_copy (GearyAccountInformation* other);
VALA_EXTERN GearyAccountInformation* geary_account_information_construct_copy (GType object_type,
                                                                   GearyAccountInformation* other);
VALA_EXTERN void geary_account_information_set_account_directories (GearyAccountInformation* self,
                                                        GFile* config,
                                                        GFile* data);
VALA_EXTERN gboolean geary_account_information_has_sender_mailbox (GearyAccountInformation* self,
                                                       GearyRFC822MailboxAddress* email);
VALA_EXTERN gboolean geary_account_information_append_sender (GearyAccountInformation* self,
                                                  GearyRFC822MailboxAddress* mailbox);
VALA_EXTERN gboolean geary_account_information_insert_sender (GearyAccountInformation* self,
                                                  gint index,
                                                  GearyRFC822MailboxAddress* mailbox);
VALA_EXTERN gboolean geary_account_information_remove_sender (GearyAccountInformation* self,
                                                  GearyRFC822MailboxAddress* mailbox);
VALA_EXTERN void geary_account_information_replace_sender (GearyAccountInformation* self,
                                               gint index,
                                               GearyRFC822MailboxAddress* mailbox);
VALA_EXTERN GeeList* geary_account_information_get_folder_steps_for_use (GearyAccountInformation* self,
                                                             GearyFolderSpecialUse use);
VALA_EXTERN void geary_account_information_set_folder_steps_for_use (GearyAccountInformation* self,
                                                         GearyFolderSpecialUse special,
                                                         GeeList* new_path);
VALA_EXTERN GearyFolderPath* geary_account_information_new_folder_path_for_use (GearyAccountInformation* self,
                                                                    GearyFolderRoot* root,
                                                                    GearyFolderSpecialUse use);
VALA_EXTERN GearyFolderSpecialUse geary_account_information_get_folder_use_for_path (GearyAccountInformation* self,
                                                                         GearyFolderPath* path);
VALA_EXTERN GType geary_credentials_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyCredentials, g_object_unref)
VALA_EXTERN GearyCredentials* geary_account_information_get_outgoing_credentials (GearyAccountInformation* self);
VALA_EXTERN void geary_account_information_load_outgoing_credentials (GearyAccountInformation* self,
                                                          GCancellable* cancellable,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_);
VALA_EXTERN gboolean geary_account_information_load_outgoing_credentials_finish (GearyAccountInformation* self,
                                                                     GAsyncResult* _res_,
                                                                     GError** error);
VALA_EXTERN void geary_account_information_load_incoming_credentials (GearyAccountInformation* self,
                                                          GCancellable* cancellable,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_);
VALA_EXTERN gboolean geary_account_information_load_incoming_credentials_finish (GearyAccountInformation* self,
                                                                     GAsyncResult* _res_,
                                                                     GError** error);
VALA_EXTERN gboolean geary_account_information_equal_to (GearyAccountInformation* self,
                                             GearyAccountInformation* other);
VALA_EXTERN GType geary_attachment_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyAttachment, g_object_unref)
VALA_EXTERN GType geary_mime_content_type_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMimeContentType, g_object_unref)
VALA_EXTERN GearyMimeContentType* geary_attachment_get_content_type (GearyAttachment* self);
VALA_EXTERN const gchar* geary_attachment_get_content_id (GearyAttachment* self);
VALA_EXTERN const gchar* geary_attachment_get_content_description (GearyAttachment* self);
VALA_EXTERN GType geary_mime_content_disposition_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMimeContentDisposition, g_object_unref)
VALA_EXTERN GearyMimeContentDisposition* geary_attachment_get_content_disposition (GearyAttachment* self);
VALA_EXTERN gboolean geary_attachment_get_has_content_filename (GearyAttachment* self);
VALA_EXTERN const gchar* geary_attachment_get_content_filename (GearyAttachment* self);
VALA_EXTERN GFile* geary_attachment_get_file (GearyAttachment* self);
VALA_EXTERN gint64 geary_attachment_get_filesize (GearyAttachment* self);
VALA_EXTERN GearyAttachment* geary_attachment_construct (GType object_type,
                                             GearyMimeContentType* content_type,
                                             const gchar* content_id,
                                             const gchar* content_description,
                                             GearyMimeContentDisposition* content_disposition,
                                             const gchar* content_filename);
VALA_EXTERN void geary_attachment_get_safe_file_name (GearyAttachment* self,
                                          const gchar* alt_file_name,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
VALA_EXTERN gchar* geary_attachment_get_safe_file_name_finish (GearyAttachment* self,
                                                   GAsyncResult* _res_);
VALA_EXTERN void geary_attachment_set_file_info (GearyAttachment* self,
                                     GFile* file,
                                     gint64 file_size);
VALA_EXTERN void geary_base_object_dump_refs (FILE* outs);
VALA_EXTERN GearyBaseObject* geary_base_object_construct (GType object_type);
VALA_EXTERN void geary_base_interface_base_ref (GearyBaseInterface* self);
VALA_EXTERN void geary_base_interface_base_unref (GearyBaseInterface* self);
VALA_EXTERN GType geary_client_service_status_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gboolean geary_client_service_status_automatically_reconnect (GearyClientServiceStatus self);
VALA_EXTERN gboolean geary_client_service_status_is_error (GearyClientServiceStatus self);
VALA_EXTERN gchar* geary_client_service_status_to_value (GearyClientServiceStatus self);
VALA_EXTERN GearyAccountInformation* geary_client_service_get_account (GearyClientService* self);
VALA_EXTERN GearyServiceInformation* geary_client_service_get_configuration (GearyClientService* self);
VALA_EXTERN GearyClientServiceStatus geary_client_service_get_current_status (GearyClientService* self);
VALA_EXTERN void geary_client_service_set_current_status (GearyClientService* self,
                                              GearyClientServiceStatus value);
VALA_EXTERN GType geary_endpoint_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyEndpoint, g_object_unref)
VALA_EXTERN GearyEndpoint* geary_client_service_get_remote (GearyClientService* self);
VALA_EXTERN gboolean geary_client_service_get_is_running (GearyClientService* self);
VALA_EXTERN GType geary_error_context_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyErrorContext, g_object_unref)
VALA_EXTERN GearyErrorContext* geary_client_service_get_last_error (GearyClientService* self);
VALA_EXTERN const gchar* geary_client_service_get_logging_domain (GearyClientService* self);
VALA_EXTERN GearyClientService* geary_client_service_construct (GType object_type,
                                                    GearyAccountInformation* account,
                                                    GearyServiceInformation* configuration,
                                                    GearyEndpoint* remote);
VALA_EXTERN void geary_client_service_update_configuration (GearyClientService* self,
                                                GearyServiceInformation* configuration,
                                                GearyEndpoint* remote,
                                                GCancellable* cancellable,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN void geary_client_service_update_configuration_finish (GearyClientService* self,
                                                       GAsyncResult* _res_,
                                                       GError** error);
VALA_EXTERN void geary_client_service_start (GearyClientService* self,
                                 GCancellable* cancellable,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN void geary_client_service_start_finish (GearyClientService* self,
                                        GAsyncResult* _res_,
                                        GError** error);
VALA_EXTERN void geary_client_service_stop (GearyClientService* self,
                                GCancellable* cancellable,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);
VALA_EXTERN void geary_client_service_stop_finish (GearyClientService* self,
                                       GAsyncResult* _res_,
                                       GError** error);
VALA_EXTERN void geary_client_service_restart (GearyClientService* self,
                                   GCancellable* cancellable,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_);
VALA_EXTERN void geary_client_service_restart_finish (GearyClientService* self,
                                          GAsyncResult* _res_,
                                          GError** error);
VALA_EXTERN GearyLoggingState* geary_client_service_to_logging_state (GearyClientService* self);
VALA_EXTERN void geary_client_service_became_reachable (GearyClientService* self);
VALA_EXTERN void geary_client_service_became_unreachable (GearyClientService* self);
VALA_EXTERN void geary_client_service_notify_started (GearyClientService* self);
VALA_EXTERN void geary_client_service_notify_stopped (GearyClientService* self);
VALA_EXTERN void geary_client_service_notify_connected (GearyClientService* self);
VALA_EXTERN void geary_client_service_notify_connection_failed (GearyClientService* self,
                                                    GearyErrorContext* _error_);
VALA_EXTERN void geary_client_service_notify_authentication_failed (GearyClientService* self);
VALA_EXTERN void geary_client_service_notify_unrecoverable_error (GearyClientService* self,
                                                      GearyErrorContext* _error_);
VALA_EXTERN GType geary_rf_c822_mailbox_addresses_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822MailboxAddresses, g_object_unref)
VALA_EXTERN GType geary_rf_c822_message_id_list_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822MessageIDList, g_object_unref)
VALA_EXTERN GType geary_rf_c822_subject_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822Subject, g_object_unref)
VALA_EXTERN GType geary_rf_c822_date_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822Date, g_object_unref)
VALA_EXTERN GType geary_email_header_set_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyEmailHeaderSet, g_object_unref)
VALA_EXTERN GType geary_composed_email_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyComposedEmail, g_object_unref)
VALA_EXTERN const gchar* geary_composed_email_get_body_text (GearyComposedEmail* self);
VALA_EXTERN void geary_composed_email_set_body_text (GearyComposedEmail* self,
                                         const gchar* value);
VALA_EXTERN const gchar* geary_composed_email_get_body_html (GearyComposedEmail* self);
VALA_EXTERN void geary_composed_email_set_body_html (GearyComposedEmail* self,
                                         const gchar* value);
VALA_EXTERN const gchar* geary_composed_email_get_mailer (GearyComposedEmail* self);
VALA_EXTERN void geary_composed_email_set_mailer (GearyComposedEmail* self,
                                      const gchar* value);
VALA_EXTERN GearyEmail* geary_composed_email_get_reply_to_email (GearyComposedEmail* self);
VALA_EXTERN void geary_composed_email_set_reply_to_email (GearyComposedEmail* self,
                                              GearyEmail* value);
VALA_EXTERN GeeSet* geary_composed_email_get_attached_files (GearyComposedEmail* self);
VALA_EXTERN GType geary_memory_buffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMemoryBuffer, g_object_unref)
VALA_EXTERN GeeMap* geary_composed_email_get_inline_files (GearyComposedEmail* self);
VALA_EXTERN GeeMap* geary_composed_email_get_cid_files (GearyComposedEmail* self);
VALA_EXTERN const gchar* geary_composed_email_get_img_src_prefix (GearyComposedEmail* self);
VALA_EXTERN void geary_composed_email_set_img_src_prefix (GearyComposedEmail* self,
                                              const gchar* value);
VALA_EXTERN GearyComposedEmail* geary_composed_email_new (GDateTime* date,
                                              GearyRFC822MailboxAddresses* from);
VALA_EXTERN GearyComposedEmail* geary_composed_email_construct (GType object_type,
                                                    GDateTime* date,
                                                    GearyRFC822MailboxAddresses* from);
VALA_EXTERN GearyComposedEmail* geary_composed_email_set_date (GearyComposedEmail* self,
                                                   GDateTime* date);
VALA_EXTERN GearyComposedEmail* geary_composed_email_set_sender (GearyComposedEmail* self,
                                                     GearyRFC822MailboxAddress* sender);
VALA_EXTERN GearyComposedEmail* geary_composed_email_set_to (GearyComposedEmail* self,
                                                 GearyRFC822MailboxAddresses* recipients);
VALA_EXTERN GearyComposedEmail* geary_composed_email_set_cc (GearyComposedEmail* self,
                                                 GearyRFC822MailboxAddresses* recipients);
VALA_EXTERN GearyComposedEmail* geary_composed_email_set_bcc (GearyComposedEmail* self,
                                                  GearyRFC822MailboxAddresses* recipients);
VALA_EXTERN GearyComposedEmail* geary_composed_email_set_reply_to (GearyComposedEmail* self,
                                                       GearyRFC822MailboxAddresses* recipients);
VALA_EXTERN GearyComposedEmail* geary_composed_email_set_message_id (GearyComposedEmail* self,
                                                         GearyRFC822MessageID* id);
VALA_EXTERN GearyComposedEmail* geary_composed_email_set_in_reply_to (GearyComposedEmail* self,
                                                          GearyRFC822MessageIDList* messages);
VALA_EXTERN GearyComposedEmail* geary_composed_email_set_references (GearyComposedEmail* self,
                                                         GearyRFC822MessageIDList* messages);
VALA_EXTERN GearyComposedEmail* geary_composed_email_set_subject (GearyComposedEmail* self,
                                                      const gchar* subject);
VALA_EXTERN gboolean geary_composed_email_contains_inline_img_src (GearyComposedEmail* self,
                                                       const gchar* value);
VALA_EXTERN gboolean geary_composed_email_replace_inline_img_src (GearyComposedEmail* self,
                                                      const gchar* orig,
                                                      const gchar* replacement);
VALA_EXTERN GType geary_contact_importance_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* geary_contact_normalise_email (const gchar* address);
VALA_EXTERN const gchar* geary_contact_get_normalized_email (GearyContact* self);
VALA_EXTERN const gchar* geary_contact_get_email (GearyContact* self);
VALA_EXTERN const gchar* geary_contact_get_real_name (GearyContact* self);
VALA_EXTERN void geary_contact_set_real_name (GearyContact* self,
                                  const gchar* value);
VALA_EXTERN gint geary_contact_get_highest_importance (GearyContact* self);
VALA_EXTERN void geary_contact_set_highest_importance (GearyContact* self,
                                           gint value);
VALA_EXTERN GType geary_contact_flags_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyContactFlags, g_object_unref)
VALA_EXTERN GearyContactFlags* geary_contact_get_flags (GearyContact* self);
VALA_EXTERN void geary_contact_set_flags (GearyContact* self,
                              GearyContactFlags* value);
VALA_EXTERN GearyContact* geary_contact_new (const gchar* email,
                                 const gchar* real_name,
                                 gint highest_importance,
                                 const gchar* normalized_email);
VALA_EXTERN GearyContact* geary_contact_construct (GType object_type,
                                       const gchar* email,
                                       const gchar* real_name,
                                       gint highest_importance,
                                       const gchar* normalized_email);
VALA_EXTERN GearyContact* geary_contact_new_from_rfc822_address (GearyRFC822MailboxAddress* address,
                                                     gint highest_importance);
VALA_EXTERN GearyContact* geary_contact_construct_from_rfc822_address (GType object_type,
                                                           GearyRFC822MailboxAddress* address,
                                                           gint highest_importance);
VALA_EXTERN GearyRFC822MailboxAddress* geary_contact_get_rfc822_address (GearyContact* self);
VALA_EXTERN GType geary_named_flag_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNamedFlag, g_object_unref)
VALA_EXTERN GearyNamedFlag* geary_contact_flags_get_ALWAYS_LOAD_REMOTE_IMAGES (void);
VALA_EXTERN gboolean geary_contact_flags_always_load_remote_images (GearyContactFlags* self);
VALA_EXTERN gchar* geary_contact_flags_serialize (GearyContactFlags* self);
VALA_EXTERN void geary_contact_flags_deserialize (GearyContactFlags* self,
                                      const gchar* flags);
VALA_EXTERN GearyContactFlags* geary_contact_flags_new (void);
VALA_EXTERN GearyContactFlags* geary_contact_flags_construct (GType object_type);
VALA_EXTERN void geary_contact_store_get_by_rfc822 (GearyContactStore* self,
                                        GearyRFC822MailboxAddress* address,
                                        GCancellable* cancellable,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN GearyContact* geary_contact_store_get_by_rfc822_finish (GearyContactStore* self,
                                                        GAsyncResult* _res_,
                                                        GError** error);
VALA_EXTERN void geary_contact_store_search (GearyContactStore* self,
                                 const gchar* query,
                                 guint min_importance,
                                 guint limit,
                                 GCancellable* cancellable,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN GeeCollection* geary_contact_store_search_finish (GearyContactStore* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN void geary_contact_store_update_contacts (GearyContactStore* self,
                                          GeeCollection* updated,
                                          GCancellable* cancellable,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
VALA_EXTERN void geary_contact_store_update_contacts_finish (GearyContactStore* self,
                                                 GAsyncResult* _res_,
                                                 GError** error);
VALA_EXTERN GType geary_credentials_method_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* geary_credentials_method_to_string (GearyCredentialsMethod self);
VALA_EXTERN GearyCredentialsMethod geary_credentials_method_from_string (const gchar* str,
                                                             GError** error);
VALA_EXTERN GType geary_credentials_requirement_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyCredentialsRequirement geary_credentials_requirement_for_value (const gchar* value,
                                                                     GError** error);
VALA_EXTERN gchar* geary_credentials_requirement_to_value (GearyCredentialsRequirement self);
VALA_EXTERN GearyCredentialsMethod geary_credentials_get_supported_method (GearyCredentials* self);
VALA_EXTERN const gchar* geary_credentials_get_user (GearyCredentials* self);
VALA_EXTERN const gchar* geary_credentials_get_token (GearyCredentials* self);
VALA_EXTERN GearyCredentials* geary_credentials_new (GearyCredentialsMethod supported_method,
                                         const gchar* user,
                                         const gchar* token);
VALA_EXTERN GearyCredentials* geary_credentials_construct (GType object_type,
                                               GearyCredentialsMethod supported_method,
                                               const gchar* user,
                                               const gchar* token);
VALA_EXTERN gboolean geary_credentials_is_complete (GearyCredentials* self);
VALA_EXTERN GearyCredentials* geary_credentials_copy_with_user (GearyCredentials* self,
                                                    const gchar* user);
VALA_EXTERN GearyCredentials* geary_credentials_copy_with_token (GearyCredentials* self,
                                                     const gchar* token);
VALA_EXTERN GearyCredentials* geary_credentials_copy (GearyCredentials* self);
VALA_EXTERN gchar* geary_credentials_to_string (GearyCredentials* self);
VALA_EXTERN void geary_credentials_mediator_load_token (GearyCredentialsMediator* self,
                                            GearyAccountInformation* account,
                                            GearyServiceInformation* service,
                                            GCancellable* cancellable,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN gboolean geary_credentials_mediator_load_token_finish (GearyCredentialsMediator* self,
                                                       GAsyncResult* _res_,
                                                       GError** error);
VALA_EXTERN GearyNamedFlag* geary_email_flags_get_UNREAD (void);
VALA_EXTERN GearyNamedFlag* geary_email_flags_get_FLAGGED (void);
VALA_EXTERN GearyNamedFlag* geary_email_flags_get_LOAD_REMOTE_IMAGES (void);
VALA_EXTERN GearyNamedFlag* geary_email_flags_get_DRAFT (void);
VALA_EXTERN GearyNamedFlag* geary_email_flags_get_DELETED (void);
VALA_EXTERN GearyNamedFlag* geary_email_flags_get_OUTBOX_SENT (void);
VALA_EXTERN GearyEmailFlags* geary_email_flags_new (void);
VALA_EXTERN GearyEmailFlags* geary_email_flags_construct (GType object_type);
VALA_EXTERN GearyEmailFlags* geary_email_flags_new_with (GearyNamedFlag* flag1,
                                             ...);
VALA_EXTERN GearyEmailFlags* geary_email_flags_construct_with (GType object_type,
                                                   GearyNamedFlag* flag1,
                                                   ...);
VALA_EXTERN GearyEmailFlags* geary_email_flags_constructv_with (GType object_type,
                                                    GearyNamedFlag* flag1,
                                                    va_list _vala_va_list);
VALA_EXTERN gboolean geary_email_flags_is_unread (GearyEmailFlags* self);
VALA_EXTERN gboolean geary_email_flags_is_flagged (GearyEmailFlags* self);
VALA_EXTERN gboolean geary_email_flags_load_remote_images (GearyEmailFlags* self);
VALA_EXTERN gboolean geary_email_flags_is_draft (GearyEmailFlags* self);
VALA_EXTERN gboolean geary_email_flags_is_outbox_sent (GearyEmailFlags* self);
VALA_EXTERN gboolean geary_email_flags_is_deleted (GearyEmailFlags* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_email_header_set_get_from (GearyEmailHeaderSet* self);
VALA_EXTERN GearyRFC822MailboxAddress* geary_email_header_set_get_sender (GearyEmailHeaderSet* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_email_header_set_get_reply_to (GearyEmailHeaderSet* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_email_header_set_get_to (GearyEmailHeaderSet* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_email_header_set_get_cc (GearyEmailHeaderSet* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_email_header_set_get_bcc (GearyEmailHeaderSet* self);
VALA_EXTERN GearyRFC822MessageID* geary_email_header_set_get_message_id (GearyEmailHeaderSet* self);
VALA_EXTERN GearyRFC822MessageIDList* geary_email_header_set_get_in_reply_to (GearyEmailHeaderSet* self);
VALA_EXTERN GearyRFC822MessageIDList* geary_email_header_set_get_references (GearyEmailHeaderSet* self);
VALA_EXTERN GearyRFC822Subject* geary_email_header_set_get_subject (GearyEmailHeaderSet* self);
VALA_EXTERN GearyRFC822Date* geary_email_header_set_get_date (GearyEmailHeaderSet* self);
VALA_EXTERN guint geary_email_identifier_hash (GearyEmailIdentifier* self);
VALA_EXTERN gboolean geary_email_identifier_equal_to (GearyEmailIdentifier* self,
                                          GearyEmailIdentifier* other);
VALA_EXTERN GVariant* geary_email_identifier_to_variant (GearyEmailIdentifier* self);
VALA_EXTERN gchar* geary_email_identifier_to_string (GearyEmailIdentifier* self);
VALA_EXTERN gint geary_email_identifier_stable_sort_comparator (GearyEmailIdentifier* self,
                                                    GearyEmailIdentifier* other);
VALA_EXTERN gint geary_email_identifier_natural_sort_comparator (GearyEmailIdentifier* self,
                                                     GearyEmailIdentifier* other);
VALA_EXTERN GeeSortedSet* geary_email_identifier_sort (GeeCollection* ids);
VALA_EXTERN GeeSortedSet* geary_email_identifier_sort_emails (GeeCollection* emails);
VALA_EXTERN GearyEmailIdentifier* geary_email_identifier_construct (GType object_type);
VALA_EXTERN GType geary_email_properties_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyEmailProperties, g_object_unref)
VALA_EXTERN GDateTime* geary_email_properties_get_date_received (GearyEmailProperties* self);
VALA_EXTERN void geary_email_properties_set_date_received (GearyEmailProperties* self,
                                               GDateTime* value);
VALA_EXTERN gint64 geary_email_properties_get_total_bytes (GearyEmailProperties* self);
VALA_EXTERN void geary_email_properties_set_total_bytes (GearyEmailProperties* self,
                                             gint64 value);
VALA_EXTERN GearyEmailProperties* geary_email_properties_construct (GType object_type,
                                                        GDateTime* date_received,
                                                        gint64 total_bytes);
VALA_EXTERN gchar* geary_email_properties_to_string (GearyEmailProperties* self);
VALA_EXTERN GearyEmailField* geary_email_field_all (gint* result_length1);
VALA_EXTERN gboolean geary_email_field_is_all_set (GearyEmailField self,
                                       GearyEmailField required_fields);
VALA_EXTERN gboolean geary_email_field_is_any_set (GearyEmailField self,
                                       GearyEmailField required_fields);
VALA_EXTERN GearyEmailField geary_email_field_set (GearyEmailField self,
                                       GearyEmailField field);
VALA_EXTERN GearyEmailField geary_email_field_clear (GearyEmailField self,
                                         GearyEmailField field);
VALA_EXTERN gboolean geary_email_field_fulfills (GearyEmailField self,
                                     GearyEmailField required_fields);
VALA_EXTERN gboolean geary_email_field_fulfills_any (GearyEmailField self,
                                         GearyEmailField required_fields);
VALA_EXTERN gboolean geary_email_field_require (GearyEmailField self,
                                    GearyEmailField required_fields);
VALA_EXTERN gboolean geary_email_field_requires_any (GearyEmailField self,
                                         GearyEmailField required_fields);
VALA_EXTERN gchar* geary_email_field_to_string (GearyEmailField self);
VALA_EXTERN GearyEmailIdentifier* geary_email_get_id (GearyEmail* self);
VALA_EXTERN GType geary_message_data_block_message_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMessageDataBlockMessageData, g_object_unref)
VALA_EXTERN GType geary_rf_c822_header_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822Header, g_object_unref)
VALA_EXTERN GearyRFC822Header* geary_email_get_header (GearyEmail* self);
VALA_EXTERN void geary_email_set_header (GearyEmail* self,
                             GearyRFC822Header* value);
VALA_EXTERN GType geary_rf_c822_text_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822Text, g_object_unref)
VALA_EXTERN GearyRFC822Text* geary_email_get_body (GearyEmail* self);
VALA_EXTERN GeeList* geary_email_get_attachments (GearyEmail* self);
VALA_EXTERN GType geary_rf_c822_preview_text_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822PreviewText, g_object_unref)
VALA_EXTERN GearyRFC822PreviewText* geary_email_get_preview (GearyEmail* self);
VALA_EXTERN GearyEmailProperties* geary_email_get_properties (GearyEmail* self);
VALA_EXTERN GearyEmailFlags* geary_email_get_email_flags (GearyEmail* self);
VALA_EXTERN GearyEmailField geary_email_get_fields (GearyEmail* self);
VALA_EXTERN GearyEmail* geary_email_new (GearyEmailIdentifier* id);
VALA_EXTERN GearyEmail* geary_email_construct (GType object_type,
                                   GearyEmailIdentifier* id);
VALA_EXTERN GType geary_rf_c822_message_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822Message, g_object_unref)
VALA_EXTERN GearyEmail* geary_email_new_from_message (GearyEmailIdentifier* id,
                                          GearyRFC822Message* message,
                                          GError** error);
VALA_EXTERN GearyEmail* geary_email_construct_from_message (GType object_type,
                                                GearyEmailIdentifier* id,
                                                GearyRFC822Message* message,
                                                GError** error);
VALA_EXTERN GType geary_trillian_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyTrillian geary_email_is_unread (GearyEmail* self);
VALA_EXTERN GearyTrillian geary_email_is_flagged (GearyEmail* self);
VALA_EXTERN GearyTrillian geary_email_load_remote_images (GearyEmail* self);
VALA_EXTERN void geary_email_set_send_date (GearyEmail* self,
                                GearyRFC822Date* date);
VALA_EXTERN void geary_email_set_originators (GearyEmail* self,
                                  GearyRFC822MailboxAddresses* from,
                                  GearyRFC822MailboxAddress* sender,
                                  GearyRFC822MailboxAddresses* reply_to,
                                  GError** error);
VALA_EXTERN void geary_email_set_receivers (GearyEmail* self,
                                GearyRFC822MailboxAddresses* to,
                                GearyRFC822MailboxAddresses* cc,
                                GearyRFC822MailboxAddresses* bcc);
VALA_EXTERN void geary_email_set_full_references (GearyEmail* self,
                                      GearyRFC822MessageID* message_id,
                                      GearyRFC822MessageIDList* in_reply_to,
                                      GearyRFC822MessageIDList* references);
VALA_EXTERN void geary_email_set_message_subject (GearyEmail* self,
                                      GearyRFC822Subject* subject);
VALA_EXTERN void geary_email_set_message_header (GearyEmail* self,
                                     GearyRFC822Header* header);
VALA_EXTERN void geary_email_set_message_body (GearyEmail* self,
                                   GearyRFC822Text* body);
VALA_EXTERN void geary_email_set_email_properties (GearyEmail* self,
                                       GearyEmailProperties* properties);
VALA_EXTERN void geary_email_set_message_preview (GearyEmail* self,
                                      GearyRFC822PreviewText* preview);
VALA_EXTERN void geary_email_set_flags (GearyEmail* self,
                            GearyEmailFlags* email_flags);
VALA_EXTERN void geary_email_add_attachment (GearyEmail* self,
                                 GearyAttachment* attachment);
VALA_EXTERN void geary_email_add_attachments (GearyEmail* self,
                                  GeeCollection* attachments);
VALA_EXTERN gchar* geary_email_get_searchable_attachment_list (GearyEmail* self);
VALA_EXTERN GearyRFC822Message* geary_email_get_message (GearyEmail* self,
                                             GError** error);
VALA_EXTERN GearyAttachment* geary_email_get_attachment_by_content_id (GearyEmail* self,
                                                           const gchar* cid,
                                                           GError** error);
VALA_EXTERN GeeSet* geary_email_get_ancestors (GearyEmail* self);
VALA_EXTERN gchar* geary_email_get_preview_as_string (GearyEmail* self);
VALA_EXTERN gchar* geary_email_to_string (GearyEmail* self);
VALA_EXTERN GeeMap* geary_email_emails_to_map (GeeCollection* emails);
VALA_EXTERN gint geary_email_compare_sent_date_ascending (GearyEmail* aemail,
                                              GearyEmail* bemail);
VALA_EXTERN gint geary_email_compare_sent_date_descending (GearyEmail* aemail,
                                               GearyEmail* bemail);
VALA_EXTERN gint geary_email_compare_recv_date_ascending (GearyEmail* aemail,
                                              GearyEmail* bemail);
VALA_EXTERN gint geary_email_compare_recv_date_descending (GearyEmail* aemail,
                                               GearyEmail* bemail);
VALA_EXTERN gint geary_email_compare_size_ascending (GearyEmail* aemail,
                                         GearyEmail* bemail);
VALA_EXTERN gint geary_email_compare_size_descending (GearyEmail* aemail,
                                          GearyEmail* bemail);
VALA_EXTERN GTlsDatabase* geary_endpoint_default_tls_database;
VALA_EXTERN gchar* geary_endpoint_tls_flag_to_string (GTlsCertificateFlags flag);
VALA_EXTERN GSocketConnectable* geary_endpoint_get_remote (GearyEndpoint* self);
VALA_EXTERN GType geary_connectivity_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyConnectivityManager, g_object_unref)
VALA_EXTERN GearyConnectivityManager* geary_endpoint_get_connectivity (GearyEndpoint* self);
VALA_EXTERN guint geary_endpoint_get_timeout_sec (GearyEndpoint* self);
VALA_EXTERN GType geary_tls_negotiation_method_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyTlsNegotiationMethod geary_endpoint_get_tls_method (GearyEndpoint* self);
VALA_EXTERN GTlsCertificateFlags geary_endpoint_get_tls_validation_warnings (GearyEndpoint* self);
VALA_EXTERN GTlsCertificate* geary_endpoint_get_untrusted_certificate (GearyEndpoint* self);
VALA_EXTERN GearyEndpoint* geary_endpoint_new (GSocketConnectable* remote,
                                   GearyTlsNegotiationMethod method,
                                   guint timeout_sec);
VALA_EXTERN GearyEndpoint* geary_endpoint_construct (GType object_type,
                                         GSocketConnectable* remote,
                                         GearyTlsNegotiationMethod method,
                                         guint timeout_sec);
VALA_EXTERN void geary_endpoint_connect_async (GearyEndpoint* self,
                                   GCancellable* cancellable,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_);
VALA_EXTERN GSocketConnection* geary_endpoint_connect_finish (GearyEndpoint* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN void geary_endpoint_starttls_handshake_async (GearyEndpoint* self,
                                              GIOStream* base_stream,
                                              GCancellable* cancellable,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN GTlsClientConnection* geary_endpoint_starttls_handshake_finish (GearyEndpoint* self,
                                                                GAsyncResult* _res_,
                                                                GError** error);
VALA_EXTERN gchar* geary_endpoint_to_string (GearyEndpoint* self);
VALA_EXTERN GType geary_engine_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyEngine, g_object_unref)
VALA_EXTERN gboolean geary_engine_get_has_accounts (GearyEngine* self);
VALA_EXTERN guint geary_engine_get_accounts_count (GearyEngine* self);
VALA_EXTERN GFile* geary_engine_get_resource_dir (GearyEngine* self);
VALA_EXTERN GearyEngine* geary_engine_new (GFile* resource_dir);
VALA_EXTERN GearyEngine* geary_engine_construct (GType object_type,
                                     GFile* resource_dir);
VALA_EXTERN void geary_engine_close (GearyEngine* self,
                         GError** error);
VALA_EXTERN gboolean geary_engine_has_account (GearyEngine* self,
                                   GearyAccountInformation* config);
VALA_EXTERN GearyAccount* geary_engine_get_account (GearyEngine* self,
                                        GearyAccountInformation* config,
                                        GError** error);
VALA_EXTERN GearyAccount* geary_engine_get_account_for_id (GearyEngine* self,
                                               const gchar* id,
                                               GError** error);
VALA_EXTERN GeeCollection* geary_engine_get_accounts (GearyEngine* self,
                                          GError** error);
VALA_EXTERN void geary_engine_add_account (GearyEngine* self,
                               GearyAccountInformation* config,
                               GError** error);
VALA_EXTERN void geary_engine_remove_account (GearyEngine* self,
                                  GearyAccountInformation* config,
                                  GError** error);
VALA_EXTERN void geary_engine_validate_imap (GearyEngine* self,
                                 GearyAccountInformation* account,
                                 GearyServiceInformation* service,
                                 GCancellable* cancellable,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN void geary_engine_validate_imap_finish (GearyEngine* self,
                                        GAsyncResult* _res_,
                                        GError** error);
VALA_EXTERN void geary_engine_validate_smtp (GearyEngine* self,
                                 GearyAccountInformation* account,
                                 GearyServiceInformation* service,
                                 GearyCredentials* incoming_credentials,
                                 GCancellable* cancellable,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN void geary_engine_validate_smtp_finish (GearyEngine* self,
                                        GAsyncResult* _res_,
                                        GError** error);
VALA_EXTERN void geary_engine_update_account_service (GearyEngine* self,
                                          GearyAccountInformation* config,
                                          GearyServiceInformation* updated,
                                          GCancellable* cancellable,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
VALA_EXTERN void geary_engine_update_account_service_finish (GearyEngine* self,
                                                 GAsyncResult* _res_,
                                                 GError** error);
VALA_EXTERN gboolean geary_folder_special_use_is_outgoing (GearyFolderSpecialUse self);
VALA_EXTERN gboolean geary_folder_close_reason_is_error (GearyFolderCloseReason self);
VALA_EXTERN gboolean geary_folder_open_flags_is_any_set (GearyFolderOpenFlags self,
                                             GearyFolderOpenFlags flags);
VALA_EXTERN gboolean geary_folder_open_flags_is_all_set (GearyFolderOpenFlags self,
                                             GearyFolderOpenFlags flags);
VALA_EXTERN gboolean geary_folder_list_flags_is_any_set (GearyFolderListFlags self,
                                             GearyFolderListFlags flags);
VALA_EXTERN gboolean geary_folder_list_flags_is_all_set (GearyFolderListFlags self,
                                             GearyFolderListFlags flags);
VALA_EXTERN gboolean geary_folder_list_flags_is_local_only (GearyFolderListFlags self);
VALA_EXTERN gboolean geary_folder_list_flags_is_force_update (GearyFolderListFlags self);
VALA_EXTERN gboolean geary_folder_list_flags_is_including_id (GearyFolderListFlags self);
VALA_EXTERN gboolean geary_folder_list_flags_is_oldest_to_newest (GearyFolderListFlags self);
VALA_EXTERN gboolean geary_folder_list_flags_is_newest_to_oldest (GearyFolderListFlags self);
VALA_EXTERN GearyAccount* geary_folder_get_account (GearyFolder* self);
VALA_EXTERN GearyFolderProperties* geary_folder_get_properties (GearyFolder* self);
VALA_EXTERN GearyFolderPath* geary_folder_get_path (GearyFolder* self);
VALA_EXTERN GearyFolderSpecialUse geary_folder_get_used_as (GearyFolder* self);
VALA_EXTERN GearyProgressMonitor* geary_folder_get_opening_monitor (GearyFolder* self);
VALA_EXTERN void geary_folder_notify_opened (GearyFolder* self,
                                 GearyFolderOpenState state,
                                 gint count);
VALA_EXTERN void geary_folder_notify_open_failed (GearyFolder* self,
                                      GearyFolderOpenFailed failure,
                                      GError* err);
VALA_EXTERN void geary_folder_notify_closed (GearyFolder* self,
                                 GearyFolderCloseReason reason);
VALA_EXTERN void geary_folder_notify_email_appended (GearyFolder* self,
                                         GeeCollection* ids);
VALA_EXTERN void geary_folder_notify_email_locally_appended (GearyFolder* self,
                                                 GeeCollection* ids);
VALA_EXTERN void geary_folder_notify_email_inserted (GearyFolder* self,
                                         GeeCollection* ids);
VALA_EXTERN void geary_folder_notify_email_locally_inserted (GearyFolder* self,
                                                 GeeCollection* ids);
VALA_EXTERN void geary_folder_notify_email_removed (GearyFolder* self,
                                        GeeCollection* ids);
VALA_EXTERN void geary_folder_notify_email_count_changed (GearyFolder* self,
                                              gint new_count,
                                              GearyFolderCountChangeReason reason);
VALA_EXTERN void geary_folder_notify_email_flags_changed (GearyFolder* self,
                                              GeeMap* flag_map);
VALA_EXTERN void geary_folder_notify_email_locally_complete (GearyFolder* self,
                                                 GeeCollection* ids);
VALA_EXTERN void geary_folder_notify_use_changed (GearyFolder* self,
                                      GearyFolderSpecialUse old_use,
                                      GearyFolderSpecialUse new_use);
VALA_EXTERN GearyFolderOpenState geary_folder_get_open_state (GearyFolder* self);
VALA_EXTERN void geary_folder_open_async (GearyFolder* self,
                              GearyFolderOpenFlags open_flags,
                              GCancellable* cancellable,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
VALA_EXTERN gboolean geary_folder_open_finish (GearyFolder* self,
                                   GAsyncResult* _res_,
                                   GError** error);
VALA_EXTERN void geary_folder_close_async (GearyFolder* self,
                               GCancellable* cancellable,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
VALA_EXTERN gboolean geary_folder_close_finish (GearyFolder* self,
                                    GAsyncResult* _res_,
                                    GError** error);
VALA_EXTERN void geary_folder_wait_for_close_async (GearyFolder* self,
                                        GCancellable* cancellable,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN void geary_folder_wait_for_close_finish (GearyFolder* self,
                                         GAsyncResult* _res_,
                                         GError** error);
VALA_EXTERN void geary_folder_synchronise_remote (GearyFolder* self,
                                      GCancellable* cancellable,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
VALA_EXTERN void geary_folder_synchronise_remote_finish (GearyFolder* self,
                                             GAsyncResult* _res_,
                                             GError** error);
VALA_EXTERN void geary_folder_contains_identifiers (GearyFolder* self,
                                        GeeCollection* ids,
                                        GCancellable* cancellable,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN GeeCollection* geary_folder_contains_identifiers_finish (GearyFolder* self,
                                                         GAsyncResult* _res_,
                                                         GError** error);
VALA_EXTERN void geary_folder_list_email_by_id_async (GearyFolder* self,
                                          GearyEmailIdentifier* initial_id,
                                          gint count,
                                          GearyEmailField required_fields,
                                          GearyFolderListFlags flags,
                                          GCancellable* cancellable,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
VALA_EXTERN GeeList* geary_folder_list_email_by_id_finish (GearyFolder* self,
                                               GAsyncResult* _res_,
                                               GError** error);
VALA_EXTERN void geary_folder_list_email_by_sparse_id_async (GearyFolder* self,
                                                 GeeCollection* ids,
                                                 GearyEmailField required_fields,
                                                 GearyFolderListFlags flags,
                                                 GCancellable* cancellable,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN GeeList* geary_folder_list_email_by_sparse_id_finish (GearyFolder* self,
                                                      GAsyncResult* _res_,
                                                      GError** error);
VALA_EXTERN void geary_folder_fetch_email_async (GearyFolder* self,
                                     GearyEmailIdentifier* email_id,
                                     GearyEmailField required_fields,
                                     GearyFolderListFlags flags,
                                     GCancellable* cancellable,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_);
VALA_EXTERN GearyEmail* geary_folder_fetch_email_finish (GearyFolder* self,
                                             GAsyncResult* _res_,
                                             GError** error);
VALA_EXTERN void geary_folder_set_used_as_custom (GearyFolder* self,
                                      gboolean enabled,
                                      GError** error);
VALA_EXTERN GearyLoggingState* geary_folder_to_logging_state (GearyFolder* self);
VALA_EXTERN GearyFolder* geary_folder_construct (GType object_type);
VALA_EXTERN const gchar* geary_folder_path_get_name (GearyFolderPath* self);
VALA_EXTERN guint geary_folder_path_get_length (GearyFolderPath* self);
VALA_EXTERN gboolean geary_folder_path_get_case_sensitive (GearyFolderPath* self);
VALA_EXTERN gboolean geary_folder_path_get_is_root (GearyFolderPath* self);
VALA_EXTERN gboolean geary_folder_path_get_is_top_level (GearyFolderPath* self);
VALA_EXTERN GearyFolderPath* geary_folder_path_get_parent (GearyFolderPath* self);
VALA_EXTERN GearyFolderRoot* geary_folder_path_get_root (GearyFolderPath* self);
VALA_EXTERN gchar** geary_folder_path_as_array (GearyFolderPath* self,
                                    gint* result_length1);
VALA_EXTERN GearyFolderPath* geary_folder_path_get_child (GearyFolderPath* self,
                                              const gchar* name,
                                              GearyTrillian is_case_sensitive);
VALA_EXTERN gboolean geary_folder_path_is_descendant (GearyFolderPath* self,
                                          GearyFolderPath* target);
VALA_EXTERN gint geary_folder_path_compare_normalized_ci (GearyFolderPath* self,
                                              GearyFolderPath* other);
VALA_EXTERN GVariant* geary_folder_path_to_variant (GearyFolderPath* self);
VALA_EXTERN gchar* geary_folder_path_to_string (GearyFolderPath* self);
VALA_EXTERN const gchar* geary_folder_root_get_label (GearyFolderRoot* self);
VALA_EXTERN gboolean geary_folder_root_get_default_case_sensitivity (GearyFolderRoot* self);
VALA_EXTERN GearyFolderRoot* geary_folder_root_new (const gchar* label,
                                        gboolean default_case_sensitivity);
VALA_EXTERN GearyFolderRoot* geary_folder_root_construct (GType object_type,
                                              const gchar* label,
                                              gboolean default_case_sensitivity);
VALA_EXTERN GearyFolderPath* geary_folder_root_copy (GearyFolderRoot* self,
                                         GearyFolderPath* original);
VALA_EXTERN GearyFolderPath* geary_folder_root_from_variant (GearyFolderRoot* self,
                                                 GVariant* serialised,
                                                 GError** error);
VALA_EXTERN gint geary_folder_properties_get_email_total (GearyFolderProperties* self);
VALA_EXTERN void geary_folder_properties_set_email_total (GearyFolderProperties* self,
                                              gint value);
VALA_EXTERN gint geary_folder_properties_get_email_unread (GearyFolderProperties* self);
VALA_EXTERN void geary_folder_properties_set_email_unread (GearyFolderProperties* self,
                                               gint value);
VALA_EXTERN GearyTrillian geary_folder_properties_get_has_children (GearyFolderProperties* self);
VALA_EXTERN void geary_folder_properties_set_has_children (GearyFolderProperties* self,
                                               GearyTrillian value);
VALA_EXTERN GearyTrillian geary_folder_properties_get_supports_children (GearyFolderProperties* self);
VALA_EXTERN void geary_folder_properties_set_supports_children (GearyFolderProperties* self,
                                                    GearyTrillian value);
VALA_EXTERN GearyTrillian geary_folder_properties_get_is_openable (GearyFolderProperties* self);
VALA_EXTERN void geary_folder_properties_set_is_openable (GearyFolderProperties* self,
                                              GearyTrillian value);
VALA_EXTERN gboolean geary_folder_properties_get_is_local_only (GearyFolderProperties* self);
VALA_EXTERN gboolean geary_folder_properties_get_is_virtual (GearyFolderProperties* self);
VALA_EXTERN gboolean geary_folder_properties_get_create_never_returns_id (GearyFolderProperties* self);
VALA_EXTERN void geary_folder_properties_set_create_never_returns_id (GearyFolderProperties* self,
                                                          gboolean value);
VALA_EXTERN GearyFolderProperties* geary_folder_properties_construct (GType object_type,
                                                          gint email_total,
                                                          gint email_unread,
                                                          GearyTrillian has_children,
                                                          GearyTrillian supports_children,
                                                          GearyTrillian is_openable,
                                                          gboolean is_local_only,
                                                          gboolean is_virtual,
                                                          gboolean create_never_returns_id);
VALA_EXTERN GType geary_revokable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRevokable, g_object_unref)
VALA_EXTERN GType geary_folder_support_archive_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyFolderSupportArchive, g_object_unref)
VALA_EXTERN void geary_folder_support_archive_archive_email_async (GearyFolderSupportArchive* self,
                                                       GeeCollection* email_ids,
                                                       GCancellable* cancellable,
                                                       GAsyncReadyCallback _callback_,
                                                       gpointer _user_data_);
VALA_EXTERN GearyRevokable* geary_folder_support_archive_archive_email_finish (GearyFolderSupportArchive* self,
                                                                   GAsyncResult* _res_,
                                                                   GError** error);
VALA_EXTERN GType geary_folder_support_copy_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyFolderSupportCopy, g_object_unref)
VALA_EXTERN void geary_folder_support_copy_copy_email_async (GearyFolderSupportCopy* self,
                                                 GeeCollection* to_copy,
                                                 GearyFolderPath* destination,
                                                 GCancellable* cancellable,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN void geary_folder_support_copy_copy_email_finish (GearyFolderSupportCopy* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN GType geary_folder_support_create_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyFolderSupportCreate, g_object_unref)
VALA_EXTERN void geary_folder_support_create_create_email_async (GearyFolderSupportCreate* self,
                                                     GearyRFC822Message* rfc822,
                                                     GearyEmailFlags* flags,
                                                     GDateTime* date_received,
                                                     GCancellable* cancellable,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_);
VALA_EXTERN GearyEmailIdentifier* geary_folder_support_create_create_email_finish (GearyFolderSupportCreate* self,
                                                                       GAsyncResult* _res_,
                                                                       GError** error);
VALA_EXTERN GType geary_folder_support_empty_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyFolderSupportEmpty, g_object_unref)
VALA_EXTERN void geary_folder_support_empty_empty_folder_async (GearyFolderSupportEmpty* self,
                                                    GCancellable* cancellable,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN void geary_folder_support_empty_empty_folder_finish (GearyFolderSupportEmpty* self,
                                                     GAsyncResult* _res_,
                                                     GError** error);
VALA_EXTERN GType geary_folder_support_mark_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyFolderSupportMark, g_object_unref)
VALA_EXTERN void geary_folder_support_mark_mark_email_async (GearyFolderSupportMark* self,
                                                 GeeCollection* to_mark,
                                                 GearyEmailFlags* flags_to_add,
                                                 GearyEmailFlags* flags_to_remove,
                                                 GCancellable* cancellable,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN void geary_folder_support_mark_mark_email_finish (GearyFolderSupportMark* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN GType geary_folder_support_move_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyFolderSupportMove, g_object_unref)
VALA_EXTERN void geary_folder_support_move_move_email_async (GearyFolderSupportMove* self,
                                                 GeeCollection* to_move,
                                                 GearyFolderPath* destination,
                                                 GCancellable* cancellable,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN GearyRevokable* geary_folder_support_move_move_email_finish (GearyFolderSupportMove* self,
                                                             GAsyncResult* _res_,
                                                             GError** error);
VALA_EXTERN GType geary_folder_support_remove_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyFolderSupportRemove, g_object_unref)
VALA_EXTERN void geary_folder_support_remove_remove_email_async (GearyFolderSupportRemove* self,
                                                     GeeCollection* email_ids,
                                                     GCancellable* cancellable,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_);
VALA_EXTERN void geary_folder_support_remove_remove_email_finish (GearyFolderSupportRemove* self,
                                                      GAsyncResult* _res_,
                                                      GError** error);
VALA_EXTERN const gchar* geary_named_flag_get_name (GearyNamedFlag* self);
VALA_EXTERN GearyNamedFlag* geary_named_flag_new (const gchar* name);
VALA_EXTERN GearyNamedFlag* geary_named_flag_construct (GType object_type,
                                            const gchar* name);
VALA_EXTERN gchar* geary_named_flag_serialise (GearyNamedFlag* self);
VALA_EXTERN gchar* geary_named_flag_to_string (GearyNamedFlag* self);
VALA_EXTERN GearyNamedFlags* geary_named_flags_new (void);
VALA_EXTERN GearyNamedFlags* geary_named_flags_construct (GType object_type);
VALA_EXTERN void geary_named_flags_notify_added (GearyNamedFlags* self,
                                     GeeCollection* flags);
VALA_EXTERN void geary_named_flags_notify_removed (GearyNamedFlags* self,
                                       GeeCollection* flags);
VALA_EXTERN gboolean geary_named_flags_contains (GearyNamedFlags* self,
                                     GearyNamedFlag* flag);
VALA_EXTERN gboolean geary_named_flags_contains_any (GearyNamedFlags* self,
                                         GearyNamedFlags* flags);
VALA_EXTERN GeeSet* geary_named_flags_get_all (GearyNamedFlags* self);
VALA_EXTERN void geary_named_flags_add (GearyNamedFlags* self,
                            GearyNamedFlag* flag);
VALA_EXTERN void geary_named_flags_add_all (GearyNamedFlags* self,
                                GearyNamedFlags* flags);
VALA_EXTERN gboolean geary_named_flags_remove (GearyNamedFlags* self,
                                   GearyNamedFlag* flag);
VALA_EXTERN gboolean geary_named_flags_remove_all (GearyNamedFlags* self,
                                       GearyNamedFlags* flags);
VALA_EXTERN gchar* geary_named_flags_serialise (GearyNamedFlags* self);
VALA_EXTERN gchar* geary_named_flags_to_string (GearyNamedFlags* self);
VALA_EXTERN GearyErrorContext* geary_problem_report_get_error (GearyProblemReport* self);
VALA_EXTERN gpointer geary_logging_record_ref (gpointer instance);
VALA_EXTERN void geary_logging_record_unref (gpointer instance);
VALA_EXTERN GParamSpec* geary_logging_param_spec_record (const gchar* name,
                                             const gchar* nick,
                                             const gchar* blurb,
                                             GType object_type,
                                             GParamFlags flags);
VALA_EXTERN void geary_logging_value_set_record (GValue* value,
                                     gpointer v_object);
VALA_EXTERN void geary_logging_value_take_record (GValue* value,
                                      gpointer v_object);
VALA_EXTERN gpointer geary_logging_value_get_record (const GValue* value);
VALA_EXTERN GType geary_logging_record_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyLoggingRecord, geary_logging_record_unref)
VALA_EXTERN GearyLoggingRecord* geary_problem_report_get_earliest_log (GearyProblemReport* self);
VALA_EXTERN GearyLoggingRecord* geary_problem_report_get_latest_log (GearyProblemReport* self);
VALA_EXTERN GearyProblemReport* geary_problem_report_new (GError* _error_);
VALA_EXTERN GearyProblemReport* geary_problem_report_construct (GType object_type,
                                                    GError* _error_);
VALA_EXTERN gchar* geary_problem_report_to_string (GearyProblemReport* self);
VALA_EXTERN GType geary_account_problem_report_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyAccountProblemReport, g_object_unref)
VALA_EXTERN GearyAccountInformation* geary_account_problem_report_get_account (GearyAccountProblemReport* self);
VALA_EXTERN GearyAccountProblemReport* geary_account_problem_report_new (GearyAccountInformation* account,
                                                             GError* _error_);
VALA_EXTERN GearyAccountProblemReport* geary_account_problem_report_construct (GType object_type,
                                                                   GearyAccountInformation* account,
                                                                   GError* _error_);
VALA_EXTERN gchar* geary_account_problem_report_to_string (GearyAccountProblemReport* self);
VALA_EXTERN GType geary_service_problem_report_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyServiceProblemReport, g_object_unref)
VALA_EXTERN GearyServiceInformation* geary_service_problem_report_get_service (GearyServiceProblemReport* self);
VALA_EXTERN GearyServiceProblemReport* geary_service_problem_report_new (GearyAccountInformation* account,
                                                             GearyServiceInformation* service,
                                                             GError* _error_);
VALA_EXTERN GearyServiceProblemReport* geary_service_problem_report_construct (GType object_type,
                                                                   GearyAccountInformation* account,
                                                                   GearyServiceInformation* service,
                                                                   GError* _error_);
VALA_EXTERN gchar* geary_service_problem_report_to_string (GearyServiceProblemReport* self);
VALA_EXTERN GType geary_progress_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gdouble geary_progress_monitor_get_progress (GearyProgressMonitor* self);
VALA_EXTERN void geary_progress_monitor_set_progress (GearyProgressMonitor* self,
                                          gdouble value);
VALA_EXTERN gboolean geary_progress_monitor_get_is_in_progress (GearyProgressMonitor* self);
VALA_EXTERN void geary_progress_monitor_set_is_in_progress (GearyProgressMonitor* self,
                                                gboolean value);
VALA_EXTERN GearyProgressType geary_progress_monitor_get_progress_type (GearyProgressMonitor* self);
VALA_EXTERN void geary_progress_monitor_set_progress_type (GearyProgressMonitor* self,
                                               GearyProgressType value);
VALA_EXTERN void geary_progress_monitor_notify_start (GearyProgressMonitor* self);
VALA_EXTERN void geary_progress_monitor_notify_finish (GearyProgressMonitor* self);
VALA_EXTERN GearyProgressMonitor* geary_progress_monitor_construct (GType object_type);
VALA_EXTERN GType geary_reentrant_progress_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyReentrantProgressMonitor, g_object_unref)
VALA_EXTERN GearyReentrantProgressMonitor* geary_reentrant_progress_monitor_new (GearyProgressType type);
VALA_EXTERN GearyReentrantProgressMonitor* geary_reentrant_progress_monitor_construct (GType object_type,
                                                                           GearyProgressType type);
VALA_EXTERN GType geary_simple_progress_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySimpleProgressMonitor, g_object_unref)
VALA_EXTERN GearySimpleProgressMonitor* geary_simple_progress_monitor_new (GearyProgressType type);
VALA_EXTERN GearySimpleProgressMonitor* geary_simple_progress_monitor_construct (GType object_type,
                                                                     GearyProgressType type);
VALA_EXTERN void geary_simple_progress_monitor_increment (GearySimpleProgressMonitor* self,
                                              gdouble value);
VALA_EXTERN GType geary_interval_progress_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyIntervalProgressMonitor, g_object_unref)
VALA_EXTERN GearyIntervalProgressMonitor* geary_interval_progress_monitor_new (GearyProgressType type,
                                                                   gint min,
                                                                   gint max);
VALA_EXTERN GearyIntervalProgressMonitor* geary_interval_progress_monitor_construct (GType object_type,
                                                                         GearyProgressType type,
                                                                         gint min,
                                                                         gint max);
VALA_EXTERN void geary_interval_progress_monitor_set_interval (GearyIntervalProgressMonitor* self,
                                                   gint min,
                                                   gint max);
VALA_EXTERN void geary_interval_progress_monitor_increment (GearyIntervalProgressMonitor* self,
                                                gint count);
VALA_EXTERN GType geary_aggregate_progress_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyAggregateProgressMonitor, g_object_unref)
VALA_EXTERN GearyAggregateProgressMonitor* geary_aggregate_progress_monitor_new (void);
VALA_EXTERN GearyAggregateProgressMonitor* geary_aggregate_progress_monitor_construct (GType object_type);
VALA_EXTERN void geary_aggregate_progress_monitor_add (GearyAggregateProgressMonitor* self,
                                           GearyProgressMonitor* pm);
VALA_EXTERN void geary_aggregate_progress_monitor_remove (GearyAggregateProgressMonitor* self,
                                              GearyProgressMonitor* pm);
VALA_EXTERN gboolean geary_revokable_get_valid (GearyRevokable* self);
VALA_EXTERN gboolean geary_revokable_get_in_process (GearyRevokable* self);
VALA_EXTERN void geary_revokable_set_in_process (GearyRevokable* self,
                                     gboolean value);
VALA_EXTERN GearyRevokable* geary_revokable_construct (GType object_type,
                                           gint commit_timeout_sec);
VALA_EXTERN void geary_revokable_notify_revoked (GearyRevokable* self);
VALA_EXTERN void geary_revokable_notify_committed (GearyRevokable* self,
                                       GearyRevokable* commit_revokable);
VALA_EXTERN void geary_revokable_set_invalid (GearyRevokable* self);
VALA_EXTERN void geary_revokable_revoke_async (GearyRevokable* self,
                                   GCancellable* cancellable,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_);
VALA_EXTERN void geary_revokable_revoke_finish (GearyRevokable* self,
                                    GAsyncResult* _res_,
                                    GError** error);
VALA_EXTERN void geary_revokable_internal_revoke_async (GearyRevokable* self,
                                            GCancellable* cancellable,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN void geary_revokable_internal_revoke_finish (GearyRevokable* self,
                                             GAsyncResult* _res_,
                                             GError** error);
VALA_EXTERN void geary_revokable_commit_async (GearyRevokable* self,
                                   GCancellable* cancellable,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_);
VALA_EXTERN void geary_revokable_commit_finish (GearyRevokable* self,
                                    GAsyncResult* _res_,
                                    GError** error);
VALA_EXTERN void geary_revokable_internal_commit_async (GearyRevokable* self,
                                            GCancellable* cancellable,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN void geary_revokable_internal_commit_finish (GearyRevokable* self,
                                             GAsyncResult* _res_,
                                             GError** error);
VALA_EXTERN GType geary_search_query_strategy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GeeList* geary_search_query_get_expression (GearySearchQuery* self);
VALA_EXTERN const gchar* geary_search_query_get_raw (GearySearchQuery* self);
VALA_EXTERN GearySearchQuery* geary_search_query_construct (GType object_type,
                                                GeeCollection* expression,
                                                const gchar* raw);
VALA_EXTERN gboolean geary_search_query_equal_to (GearySearchQuery* self,
                                      GearySearchQuery* other);
VALA_EXTERN gchar* geary_search_query_to_string (GearySearchQuery* self);
VALA_EXTERN gboolean geary_search_query_term_get_is_negated (GearySearchQueryTerm* self);
VALA_EXTERN void geary_search_query_term_set_is_negated (GearySearchQueryTerm* self,
                                             gboolean value);
VALA_EXTERN gboolean geary_search_query_term_equal_to (GearySearchQueryTerm* self,
                                           GearySearchQueryTerm* other);
VALA_EXTERN gchar* geary_search_query_term_to_string (GearySearchQueryTerm* self);
VALA_EXTERN GearySearchQueryTerm* geary_search_query_term_construct (GType object_type);
VALA_EXTERN GType geary_search_query_email_text_term_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySearchQueryEmailTextTerm, g_object_unref)
VALA_EXTERN GType geary_search_query_email_text_term_property_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearySearchQueryEmailTextTermProperty geary_search_query_email_text_term_get_target (GearySearchQueryEmailTextTerm* self);
VALA_EXTERN GearySearchQueryStrategy geary_search_query_email_text_term_get_matching_strategy (GearySearchQueryEmailTextTerm* self);
VALA_EXTERN GeeList* geary_search_query_email_text_term_get_terms (GearySearchQueryEmailTextTerm* self);
VALA_EXTERN GearySearchQueryEmailTextTerm* geary_search_query_email_text_term_new (GearySearchQueryEmailTextTermProperty target,
                                                                       GearySearchQueryStrategy matching_strategy,
                                                                       const gchar* term);
VALA_EXTERN GearySearchQueryEmailTextTerm* geary_search_query_email_text_term_construct (GType object_type,
                                                                             GearySearchQueryEmailTextTermProperty target,
                                                                             GearySearchQueryStrategy matching_strategy,
                                                                             const gchar* term);
VALA_EXTERN GearySearchQueryEmailTextTerm* geary_search_query_email_text_term_new_disjunction (GearySearchQueryEmailTextTermProperty target,
                                                                                   GearySearchQueryStrategy matching_strategy,
                                                                                   GeeList* terms);
VALA_EXTERN GearySearchQueryEmailTextTerm* geary_search_query_email_text_term_construct_disjunction (GType object_type,
                                                                                         GearySearchQueryEmailTextTermProperty target,
                                                                                         GearySearchQueryStrategy matching_strategy,
                                                                                         GeeList* terms);
VALA_EXTERN GType geary_search_query_email_flag_term_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySearchQueryEmailFlagTerm, g_object_unref)
VALA_EXTERN GearyNamedFlag* geary_search_query_email_flag_term_get_value (GearySearchQueryEmailFlagTerm* self);
VALA_EXTERN GearySearchQueryEmailFlagTerm* geary_search_query_email_flag_term_new (GearyNamedFlag* value);
VALA_EXTERN GearySearchQueryEmailFlagTerm* geary_search_query_email_flag_term_construct (GType object_type,
                                                                             GearyNamedFlag* value);
VALA_EXTERN GType geary_protocol_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyProtocol geary_protocol_for_value (const gchar* value,
                                        GError** error);
VALA_EXTERN gchar* geary_protocol_to_value (GearyProtocol self);
VALA_EXTERN GearyTlsNegotiationMethod geary_tls_negotiation_method_for_value (const gchar* value,
                                                                  GError** error);
VALA_EXTERN gchar* geary_tls_negotiation_method_to_value (GearyTlsNegotiationMethod self);
VALA_EXTERN GearyProtocol geary_service_information_get_protocol (GearyServiceInformation* self);
VALA_EXTERN const gchar* geary_service_information_get_host (GearyServiceInformation* self);
VALA_EXTERN void geary_service_information_set_host (GearyServiceInformation* self,
                                         const gchar* value);
VALA_EXTERN guint16 geary_service_information_get_port (GearyServiceInformation* self);
VALA_EXTERN void geary_service_information_set_port (GearyServiceInformation* self,
                                         guint16 value);
VALA_EXTERN GearyTlsNegotiationMethod geary_service_information_get_transport_security (GearyServiceInformation* self);
VALA_EXTERN void geary_service_information_set_transport_security (GearyServiceInformation* self,
                                                       GearyTlsNegotiationMethod value);
VALA_EXTERN GearyCredentialsRequirement geary_service_information_get_credentials_requirement (GearyServiceInformation* self);
VALA_EXTERN void geary_service_information_set_credentials_requirement (GearyServiceInformation* self,
                                                            GearyCredentialsRequirement value);
VALA_EXTERN GearyCredentials* geary_service_information_get_credentials (GearyServiceInformation* self);
VALA_EXTERN void geary_service_information_set_credentials (GearyServiceInformation* self,
                                                GearyCredentials* value);
VALA_EXTERN gboolean geary_service_information_get_remember_password (GearyServiceInformation* self);
VALA_EXTERN void geary_service_information_set_remember_password (GearyServiceInformation* self,
                                                      gboolean value);
VALA_EXTERN GearyServiceInformation* geary_service_information_new (GearyProtocol proto,
                                                        GearyServiceProvider provider);
VALA_EXTERN GearyServiceInformation* geary_service_information_construct (GType object_type,
                                                              GearyProtocol proto,
                                                              GearyServiceProvider provider);
VALA_EXTERN GearyServiceInformation* geary_service_information_new_copy (GearyServiceInformation* other);
VALA_EXTERN GearyServiceInformation* geary_service_information_construct_copy (GType object_type,
                                                                   GearyServiceInformation* other);
VALA_EXTERN guint16 geary_service_information_get_default_port (GearyServiceInformation* self);
VALA_EXTERN gboolean geary_service_information_equal_to (GearyServiceInformation* self,
                                             GearyServiceInformation* other);
VALA_EXTERN GearyServiceProvider geary_service_provider_for_value (const gchar* value,
                                                       GError** error);
VALA_EXTERN gchar* geary_service_provider_to_value (GearyServiceProvider self);
VALA_EXTERN void geary_service_provider_set_account_defaults (GearyServiceProvider self,
                                                  GearyAccountInformation* service);
VALA_EXTERN void geary_service_provider_set_service_defaults (GearyServiceProvider self,
                                                  GearyServiceInformation* service);
VALA_EXTERN GType geary_app_conversation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyAppConversation, g_object_unref)
VALA_EXTERN GType geary_app_conversation_ordering_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_app_conversation_location_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyFolder* geary_app_conversation_get_base_folder (GearyAppConversation* self);
VALA_EXTERN gint geary_app_conversation_get_count (GearyAppConversation* self);
VALA_EXTERN guint geary_app_conversation_get_count_in_folder (GearyAppConversation* self,
                                                  GearyFolderPath* path);
VALA_EXTERN gboolean geary_app_conversation_is_unread (GearyAppConversation* self);
VALA_EXTERN gboolean geary_app_conversation_has_any_read_message (GearyAppConversation* self);
VALA_EXTERN gboolean geary_app_conversation_is_flagged (GearyAppConversation* self);
VALA_EXTERN gboolean geary_app_conversation_has_any_non_deleted_email (GearyAppConversation* self);
VALA_EXTERN GearyEmail* geary_app_conversation_get_earliest_sent_email (GearyAppConversation* self,
                                                            GearyAppConversationLocation location,
                                                            GeeCollection* blacklist);
VALA_EXTERN GearyEmail* geary_app_conversation_get_latest_sent_email (GearyAppConversation* self,
                                                          GearyAppConversationLocation location,
                                                          GeeCollection* blacklist);
VALA_EXTERN GearyEmail* geary_app_conversation_get_earliest_recv_email (GearyAppConversation* self,
                                                            GearyAppConversationLocation location,
                                                            GeeCollection* blacklist);
VALA_EXTERN GearyEmail* geary_app_conversation_get_latest_recv_email (GearyAppConversation* self,
                                                          GearyAppConversationLocation location,
                                                          GeeCollection* blacklist);
VALA_EXTERN GeeCollection* geary_app_conversation_get_emails_flagged_for_deletion (GearyAppConversation* self,
                                                                       GearyAppConversationLocation location,
                                                                       GeeCollection* blacklist);
VALA_EXTERN GeeList* geary_app_conversation_get_emails (GearyAppConversation* self,
                                            GearyAppConversationOrdering ordering,
                                            GearyAppConversationLocation location,
                                            GeeCollection* blacklist,
                                            gboolean filter_deleted);
VALA_EXTERN gboolean geary_app_conversation_is_in_base_folder (GearyAppConversation* self,
                                                   GearyEmailIdentifier* id);
VALA_EXTERN guint geary_app_conversation_get_folder_count (GearyAppConversation* self,
                                               GearyEmailIdentifier* id);
VALA_EXTERN gboolean geary_app_conversation_contains_email_by_id (GearyAppConversation* self,
                                                      GearyEmailIdentifier* id);
VALA_EXTERN GearyEmail* geary_app_conversation_get_email_by_id (GearyAppConversation* self,
                                                    GearyEmailIdentifier* id);
VALA_EXTERN GeeCollection* geary_app_conversation_get_email_ids (GearyAppConversation* self);
VALA_EXTERN GeeCollection* geary_app_conversation_get_message_ids (GearyAppConversation* self);
VALA_EXTERN gchar* geary_app_conversation_to_string (GearyAppConversation* self);
VALA_EXTERN GType geary_app_conversation_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyAppConversationMonitor, g_object_unref)
VALA_EXTERN GeeSet* geary_app_conversation_monitor_get_read_only_view (GearyAppConversationMonitor* self);
VALA_EXTERN gint geary_app_conversation_monitor_get_size (GearyAppConversationMonitor* self);
VALA_EXTERN GearyFolder* geary_app_conversation_monitor_get_base_folder (GearyAppConversationMonitor* self);
VALA_EXTERN gboolean geary_app_conversation_monitor_get_is_monitoring (GearyAppConversationMonitor* self);
VALA_EXTERN gboolean geary_app_conversation_monitor_get_should_load_more (GearyAppConversationMonitor* self);
VALA_EXTERN gboolean geary_app_conversation_monitor_get_can_load_more (GearyAppConversationMonitor* self);
VALA_EXTERN gint geary_app_conversation_monitor_get_min_window_count (GearyAppConversationMonitor* self);
VALA_EXTERN void geary_app_conversation_monitor_set_min_window_count (GearyAppConversationMonitor* self,
                                                          gint value);
VALA_EXTERN GearyProgressMonitor* geary_app_conversation_monitor_get_progress_monitor (GearyAppConversationMonitor* self);
VALA_EXTERN GearyAppConversationMonitor* geary_app_conversation_monitor_new (GearyFolder* base_folder,
                                                                 GearyEmailField required_fields,
                                                                 gint min_window_count);
VALA_EXTERN GearyAppConversationMonitor* geary_app_conversation_monitor_construct (GType object_type,
                                                                       GearyFolder* base_folder,
                                                                       GearyEmailField required_fields,
                                                                       gint min_window_count);
VALA_EXTERN void geary_app_conversation_monitor_start_monitoring (GearyAppConversationMonitor* self,
                                                      GearyFolderOpenFlags open_flags,
                                                      GCancellable* cancellable,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_);
VALA_EXTERN gboolean geary_app_conversation_monitor_start_monitoring_finish (GearyAppConversationMonitor* self,
                                                                 GAsyncResult* _res_,
                                                                 GError** error);
VALA_EXTERN void geary_app_conversation_monitor_stop_monitoring (GearyAppConversationMonitor* self,
                                                     GCancellable* cancellable,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_);
VALA_EXTERN gboolean geary_app_conversation_monitor_stop_monitoring_finish (GearyAppConversationMonitor* self,
                                                                GAsyncResult* _res_,
                                                                GError** error);
VALA_EXTERN void geary_app_conversation_monitor_load_email (GearyAppConversationMonitor* self,
                                                GeeCollection* to_load,
                                                GCancellable* cancellable,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN void geary_app_conversation_monitor_load_email_finish (GearyAppConversationMonitor* self,
                                                       GAsyncResult* _res_,
                                                       GError** error);
VALA_EXTERN GearyAppConversation* geary_app_conversation_monitor_get_by_email_identifier (GearyAppConversationMonitor* self,
                                                                              GearyEmailIdentifier* email_id);
VALA_EXTERN void geary_app_conversation_monitor_notify_scan_started (GearyAppConversationMonitor* self);
VALA_EXTERN void geary_app_conversation_monitor_notify_scan_error (GearyAppConversationMonitor* self,
                                                       GError* err);
VALA_EXTERN void geary_app_conversation_monitor_notify_scan_completed (GearyAppConversationMonitor* self);
VALA_EXTERN void geary_app_conversation_monitor_notify_conversations_added (GearyAppConversationMonitor* self,
                                                                GeeCollection* conversations);
VALA_EXTERN void geary_app_conversation_monitor_notify_conversations_removed (GearyAppConversationMonitor* self,
                                                                  GeeCollection* conversations);
VALA_EXTERN void geary_app_conversation_monitor_notify_conversation_appended (GearyAppConversationMonitor* self,
                                                                  GearyAppConversation* conversation,
                                                                  GeeCollection* emails);
VALA_EXTERN void geary_app_conversation_monitor_notify_conversation_trimmed (GearyAppConversationMonitor* self,
                                                                 GearyAppConversation* conversation,
                                                                 GeeCollection* emails);
VALA_EXTERN void geary_app_conversation_monitor_notify_email_flags_changed (GearyAppConversationMonitor* self,
                                                                GearyAppConversation* conversation,
                                                                GearyEmail* email);
VALA_EXTERN GType geary_app_draft_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyAppDraftManager, g_object_unref)
VALA_EXTERN GType geary_app_draft_manager_draft_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gboolean geary_app_draft_manager_get_is_open (GearyAppDraftManager* self);
VALA_EXTERN GearyAppDraftManagerDraftState geary_app_draft_manager_get_draft_state (GearyAppDraftManager* self);
VALA_EXTERN GearyEmailIdentifier* geary_app_draft_manager_get_current_draft_id (GearyAppDraftManager* self);
VALA_EXTERN gint geary_app_draft_manager_get_versions_saved (GearyAppDraftManager* self);
VALA_EXTERN gint geary_app_draft_manager_get_versions_dropped (GearyAppDraftManager* self);
VALA_EXTERN void geary_app_draft_manager_notify_stored (GearyAppDraftManager* self,
                                            GearyRFC822Message* draft);
VALA_EXTERN void geary_app_draft_manager_notify_discarded (GearyAppDraftManager* self);
VALA_EXTERN void geary_app_draft_manager_new (GearyAccount* account,
                                  GearyFolder* save_to,
                                  GearyEmailFlags* flags,
                                  GearyEmailIdentifier* initial_draft_id,
                                  GCancellable* cancellable,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_);
VALA_EXTERN GearyAppDraftManager* geary_app_draft_manager_new_finish (GAsyncResult* _res_,
                                                          GError** error);
VALA_EXTERN void geary_app_draft_manager_construct (GType object_type,
                                        GearyAccount* account,
                                        GearyFolder* save_to,
                                        GearyEmailFlags* flags,
                                        GearyEmailIdentifier* initial_draft_id,
                                        GCancellable* cancellable,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN GearyAppDraftManager* geary_app_draft_manager_construct_finish (GAsyncResult* _res_,
                                                                GError** error);
VALA_EXTERN void geary_app_draft_manager_close_async (GearyAppDraftManager* self,
                                          GCancellable* cancellable,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
VALA_EXTERN void geary_app_draft_manager_close_finish (GearyAppDraftManager* self,
                                           GAsyncResult* _res_,
                                           GError** error);
VALA_EXTERN void geary_app_draft_manager_update (GearyAppDraftManager* self,
                                     GearyRFC822Message* draft,
                                     GDateTime* date_received,
                                     GCancellable* cancellable,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_);
VALA_EXTERN void geary_app_draft_manager_update_finish (GearyAppDraftManager* self,
                                            GAsyncResult* _res_,
                                            GError** error);
VALA_EXTERN void geary_app_draft_manager_discard (GearyAppDraftManager* self,
                                      GCancellable* cancellable,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
VALA_EXTERN void geary_app_draft_manager_discard_finish (GearyAppDraftManager* self,
                                             GAsyncResult* _res_,
                                             GError** error);
VALA_EXTERN gchar* geary_app_draft_manager_to_string (GearyAppDraftManager* self);
VALA_EXTERN GType geary_app_email_store_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyAppEmailStore, g_object_unref)
VALA_EXTERN GearyAccount* geary_app_email_store_get_account (GearyAppEmailStore* self);
VALA_EXTERN GearyAppEmailStore* geary_app_email_store_new (GearyAccount* account);
VALA_EXTERN GearyAppEmailStore* geary_app_email_store_construct (GType object_type,
                                                     GearyAccount* account);
VALA_EXTERN void geary_app_email_store_get_supported_operations_async (GearyAppEmailStore* self,
                                                           GeeCollection* emails,
                                                           GCancellable* cancellable,
                                                           GAsyncReadyCallback _callback_,
                                                           gpointer _user_data_);
VALA_EXTERN GeeMultiMap* geary_app_email_store_get_supported_operations_finish (GearyAppEmailStore* self,
                                                                    GAsyncResult* _res_,
                                                                    GError** error);
VALA_EXTERN void geary_app_email_store_list_email_by_sparse_id_async (GearyAppEmailStore* self,
                                                          GeeCollection* emails,
                                                          GearyEmailField required_fields,
                                                          GearyFolderListFlags flags,
                                                          GCancellable* cancellable,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_);
VALA_EXTERN GeeCollection* geary_app_email_store_list_email_by_sparse_id_finish (GearyAppEmailStore* self,
                                                                     GAsyncResult* _res_,
                                                                     GError** error);
VALA_EXTERN void geary_app_email_store_fetch_email_async (GearyAppEmailStore* self,
                                              GearyEmailIdentifier* email_id,
                                              GearyEmailField required_fields,
                                              GearyFolderListFlags flags,
                                              GCancellable* cancellable,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN GearyEmail* geary_app_email_store_fetch_email_finish (GearyAppEmailStore* self,
                                                      GAsyncResult* _res_,
                                                      GError** error);
VALA_EXTERN void geary_app_email_store_mark_email_async (GearyAppEmailStore* self,
                                             GeeCollection* emails,
                                             GearyEmailFlags* flags_to_add,
                                             GearyEmailFlags* flags_to_remove,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void geary_app_email_store_mark_email_finish (GearyAppEmailStore* self,
                                              GAsyncResult* _res_,
                                              GError** error);
VALA_EXTERN void geary_app_email_store_copy_email_async (GearyAppEmailStore* self,
                                             GeeCollection* emails,
                                             GearyFolderPath* destination,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void geary_app_email_store_copy_email_finish (GearyAppEmailStore* self,
                                              GAsyncResult* _res_,
                                              GError** error);
VALA_EXTERN GType geary_app_search_folder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyAppSearchFolder, g_object_unref)
VALA_EXTERN GearySearchQuery* geary_app_search_folder_get_query (GearyAppSearchFolder* self);
VALA_EXTERN void geary_app_search_folder_set_query (GearyAppSearchFolder* self,
                                        GearySearchQuery* value);
VALA_EXTERN GearyAppSearchFolder* geary_app_search_folder_new (GearyAccount* account,
                                                   GearyFolderRoot* root);
VALA_EXTERN GearyAppSearchFolder* geary_app_search_folder_construct (GType object_type,
                                                         GearyAccount* account,
                                                         GearyFolderRoot* root);
VALA_EXTERN void geary_app_search_folder_update_query (GearyAppSearchFolder* self,
                                           GearySearchQuery* query);
VALA_EXTERN void geary_app_search_folder_clear_query (GearyAppSearchFolder* self);
VALA_EXTERN void geary_app_search_folder_get_search_matches_async (GearyAppSearchFolder* self,
                                                       GeeCollection* targets,
                                                       GCancellable* cancellable,
                                                       GAsyncReadyCallback _callback_,
                                                       gpointer _user_data_);
VALA_EXTERN GeeSet* geary_app_search_folder_get_search_matches_finish (GearyAppSearchFolder* self,
                                                           GAsyncResult* _res_,
                                                           GError** error);
VALA_EXTERN void geary_app_search_folder_remove_email_async (GearyAppSearchFolder* self,
                                                 GeeCollection* remove,
                                                 GCancellable* cancellable,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN void geary_app_search_folder_remove_email_finish (GearyAppSearchFolder* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN gchar* geary_message_data_abstract_message_data_to_string (GearyMessageDataAbstractMessageData* self);
VALA_EXTERN GearyMessageDataAbstractMessageData* geary_message_data_abstract_message_data_construct (GType object_type);
VALA_EXTERN GType geary_message_data_searchable_message_data_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* geary_message_data_searchable_message_data_to_searchable_string (GearyMessageDataSearchableMessageData* self);
VALA_EXTERN const gchar* geary_message_data_string_message_data_get_value (GearyMessageDataStringMessageData* self);
VALA_EXTERN GearyMessageDataStringMessageData* geary_message_data_string_message_data_construct (GType object_type,
                                                                                     const gchar* value);
VALA_EXTERN gboolean geary_message_data_string_message_data_equal_to (GearyMessageDataStringMessageData* self,
                                                          GearyMessageDataStringMessageData* other);
VALA_EXTERN guint geary_message_data_string_message_data_hash (GearyMessageDataStringMessageData* self);
VALA_EXTERN GType geary_message_data_int_message_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMessageDataIntMessageData, g_object_unref)
VALA_EXTERN gint geary_message_data_int_message_data_get_value (GearyMessageDataIntMessageData* self);
VALA_EXTERN GearyMessageDataIntMessageData* geary_message_data_int_message_data_construct (GType object_type,
                                                                               gint value);
VALA_EXTERN gboolean geary_message_data_int_message_data_equal_to (GearyMessageDataIntMessageData* self,
                                                       GearyMessageDataIntMessageData* other);
VALA_EXTERN guint geary_message_data_int_message_data_hash (GearyMessageDataIntMessageData* self);
VALA_EXTERN GType geary_message_data_int64_message_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMessageDataInt64MessageData, g_object_unref)
VALA_EXTERN gint64 geary_message_data_int64_message_data_get_value (GearyMessageDataInt64MessageData* self);
VALA_EXTERN GearyMessageDataInt64MessageData* geary_message_data_int64_message_data_construct (GType object_type,
                                                                                   gint64 value);
VALA_EXTERN gboolean geary_message_data_int64_message_data_equal_to (GearyMessageDataInt64MessageData* self,
                                                         GearyMessageDataInt64MessageData* other);
VALA_EXTERN guint geary_message_data_int64_message_data_hash (GearyMessageDataInt64MessageData* self);
VALA_EXTERN const gchar* geary_message_data_block_message_data_get_data_name (GearyMessageDataBlockMessageData* self);
VALA_EXTERN GearyMemoryBuffer* geary_message_data_block_message_data_get_buffer (GearyMessageDataBlockMessageData* self);
VALA_EXTERN GearyMessageDataBlockMessageData* geary_message_data_block_message_data_construct (GType object_type,
                                                                                   const gchar* data_name,
                                                                                   GearyMemoryBuffer* buffer);
VALA_EXTERN GType geary_db_database_flags_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_db_reset_scope_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_db_transaction_outcome_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_db_context_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyDbContext, g_object_unref)
VALA_EXTERN GType geary_db_database_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyDbDatabase, g_object_unref)
VALA_EXTERN GType geary_db_statement_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyDbStatement, g_object_unref)
VALA_EXTERN GQuark geary_database_error_quark (void);
VALA_EXTERN GType geary_database_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_db_result_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyDbResult, g_object_unref)
VALA_EXTERN GType geary_db_connection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyDbConnection, g_object_unref)
VALA_EXTERN gboolean geary_db_threadsafe (void);
VALA_EXTERN const gchar* geary_db_sqlite_version (void);
VALA_EXTERN gint geary_db_sqlite_version_number (void);
VALA_EXTERN gboolean geary_db_set_shared_cache_mode (gboolean enabled);
VALA_EXTERN gchar* geary_db_normalise_case_insensitive_query (const gchar* text);
VALA_EXTERN gint64 geary_db_connection_get_last_insert_rowid (GearyDbConnection* self);
VALA_EXTERN gint geary_db_connection_get_last_modified_rows (GearyDbConnection* self);
VALA_EXTERN gint geary_db_connection_get_total_modified_rows (GearyDbConnection* self);
VALA_EXTERN GearyDbDatabase* geary_db_connection_get_database (GearyDbConnection* self);
VALA_EXTERN gboolean geary_db_connection_get_pragma_bool (GearyDbConnection* self,
                                              const gchar* name,
                                              GError** error);
VALA_EXTERN void geary_db_connection_set_pragma_bool (GearyDbConnection* self,
                                          const gchar* name,
                                          gboolean b,
                                          GError** error);
VALA_EXTERN gint geary_db_connection_get_pragma_int (GearyDbConnection* self,
                                         const gchar* name,
                                         GError** error);
VALA_EXTERN void geary_db_connection_set_pragma_int (GearyDbConnection* self,
                                         const gchar* name,
                                         gint d,
                                         GError** error);
VALA_EXTERN gint64 geary_db_connection_get_pragma_int64 (GearyDbConnection* self,
                                             const gchar* name,
                                             GError** error);
VALA_EXTERN void geary_db_connection_set_pragma_int64 (GearyDbConnection* self,
                                           const gchar* name,
                                           gint64 ld,
                                           GError** error);
VALA_EXTERN gchar* geary_db_connection_get_pragma_string (GearyDbConnection* self,
                                              const gchar* name,
                                              GError** error);
VALA_EXTERN void geary_db_connection_set_pragma_string (GearyDbConnection* self,
                                            const gchar* name,
                                            const gchar* str,
                                            GError** error);
VALA_EXTERN gint geary_db_connection_get_user_version_number (GearyDbConnection* self,
                                                  GError** error);
VALA_EXTERN void geary_db_connection_set_user_version_number (GearyDbConnection* self,
                                                  gint version,
                                                  GError** error);
VALA_EXTERN gint geary_db_connection_get_schema_version_number (GearyDbConnection* self,
                                                    GError** error);
VALA_EXTERN void geary_db_connection_set_foreign_keys (GearyDbConnection* self,
                                           gboolean enabled,
                                           GError** error);
VALA_EXTERN gboolean geary_db_connection_get_foreign_keys (GearyDbConnection* self,
                                               GError** error);
VALA_EXTERN void geary_db_connection_set_recursive_triggers (GearyDbConnection* self,
                                                 gboolean enabled,
                                                 GError** error);
VALA_EXTERN gboolean geary_db_connection_get_recursive_triggers (GearyDbConnection* self,
                                                     GError** error);
VALA_EXTERN void geary_db_connection_set_secure_delete (GearyDbConnection* self,
                                            gboolean enabled,
                                            GError** error);
VALA_EXTERN gboolean geary_db_connection_get_secure_delete (GearyDbConnection* self,
                                                GError** error);
VALA_EXTERN GType geary_db_synchronous_mode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void geary_db_connection_set_synchronous (GearyDbConnection* self,
                                          GearyDbSynchronousMode mode,
                                          GError** error);
VALA_EXTERN GearyDbSynchronousMode geary_db_connection_get_synchronous (GearyDbConnection* self,
                                                            GError** error);
VALA_EXTERN gint64 geary_db_connection_get_free_page_count (GearyDbConnection* self,
                                                GError** error);
VALA_EXTERN gint64 geary_db_connection_get_total_page_count (GearyDbConnection* self,
                                                 GError** error);
VALA_EXTERN gint geary_db_connection_get_page_size (GearyDbConnection* self,
                                        GError** error);
VALA_EXTERN GearyDbStatement* geary_db_connection_prepare (GearyDbConnection* self,
                                               const gchar* sql,
                                               GError** error);
VALA_EXTERN GearyDbResult* geary_db_connection_query (GearyDbConnection* self,
                                          const gchar* sql,
                                          GCancellable* cancellable,
                                          GError** error);
VALA_EXTERN void geary_db_connection_exec (GearyDbConnection* self,
                               const gchar* sql,
                               GCancellable* cancellable,
                               GError** error);
VALA_EXTERN void geary_db_connection_exec_file (GearyDbConnection* self,
                                    GFile* file,
                                    GCancellable* cancellable,
                                    GError** error);
VALA_EXTERN GType geary_db_database_connection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyDbDatabaseConnection, g_object_unref)
VALA_EXTERN gboolean geary_db_context_enable_sql_logging;
VALA_EXTERN gboolean geary_db_context_enable_result_logging;
VALA_EXTERN GearyLoggingSource* geary_db_context_get_logging_parent (GearyDbContext* self);
VALA_EXTERN GearyLoggingState* geary_db_context_to_logging_state (GearyDbContext* self);
VALA_EXTERN void geary_db_context_check_elapsed (GearyDbContext* self,
                                     const gchar* message,
                                     GTimer* timer,
                                     GError** error);
VALA_EXTERN gint geary_db_context_throw_on_error (GearyDbContext* self,
                                      const gchar* method,
                                      gint _result_,
                                      const gchar* raw,
                                      GError** error);
VALA_EXTERN GearyDbContext* geary_db_context_construct (GType object_type);
VALA_EXTERN GFile* geary_db_database_get_file (GearyDbDatabase* self);
VALA_EXTERN const gchar* geary_db_database_get_path (GearyDbDatabase* self);
VALA_EXTERN GearyDbDatabaseFlags geary_db_database_get_flags (GearyDbDatabase* self);
VALA_EXTERN gboolean geary_db_database_get_is_open (GearyDbDatabase* self);
VALA_EXTERN GearyDbDatabase* geary_db_database_new_persistent (GFile* db_file);
VALA_EXTERN GearyDbDatabase* geary_db_database_construct_persistent (GType object_type,
                                                         GFile* db_file);
VALA_EXTERN GearyDbDatabase* geary_db_database_new_transient (void);
VALA_EXTERN GearyDbDatabase* geary_db_database_construct_transient (GType object_type);
VALA_EXTERN void geary_db_database_open (GearyDbDatabase* self,
                             GearyDbDatabaseFlags flags,
                             GCancellable* cancellable,
                             GAsyncReadyCallback _callback_,
                             gpointer _user_data_);
VALA_EXTERN void geary_db_database_open_finish (GearyDbDatabase* self,
                                    GAsyncResult* _res_,
                                    GError** error);
VALA_EXTERN void geary_db_database_close (GearyDbDatabase* self,
                              GCancellable* cancellable,
                              GError** error);
VALA_EXTERN void geary_db_database_open_connection (GearyDbDatabase* self,
                                        GCancellable* cancellable,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN GearyDbDatabaseConnection* geary_db_database_open_connection_finish (GearyDbDatabase* self,
                                                                     GAsyncResult* _res_,
                                                                     GError** error);
VALA_EXTERN GearyDbDatabaseConnection* geary_db_database_get_primary_connection (GearyDbDatabase* self,
                                                                     GError** error);
VALA_EXTERN void geary_db_database_exec (GearyDbDatabase* self,
                             const gchar* sql,
                             GCancellable* cancellable,
                             GError** error);
VALA_EXTERN void geary_db_database_exec_file (GearyDbDatabase* self,
                                  GFile* file,
                                  GCancellable* cancellable,
                                  GError** error);
VALA_EXTERN GearyDbStatement* geary_db_database_prepare (GearyDbDatabase* self,
                                             const gchar* sql,
                                             GError** error);
VALA_EXTERN GearyDbResult* geary_db_database_query (GearyDbDatabase* self,
                                        const gchar* sql,
                                        GCancellable* cancellable,
                                        GError** error);
VALA_EXTERN GType geary_db_transaction_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyDbTransactionOutcome geary_db_database_exec_transaction (GearyDbDatabase* self,
                                                              GearyDbTransactionType type,
                                                              GearyDbTransactionMethod cb,
                                                              gpointer cb_target,
                                                              GCancellable* cancellable,
                                                              GError** error);
VALA_EXTERN void geary_db_database_exec_transaction_async (GearyDbDatabase* self,
                                               GearyDbTransactionType type,
                                               GearyDbTransactionMethod cb,
                                               gpointer cb_target,
                                               GCancellable* cancellable,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_);
VALA_EXTERN GearyDbTransactionOutcome geary_db_database_exec_transaction_finish (GearyDbDatabase* self,
                                                                     GAsyncResult* _res_,
                                                                     GError** error);
VALA_EXTERN void geary_db_database_set_logging_parent (GearyDbDatabase* self,
                                           GearyLoggingSource* parent);
VALA_EXTERN void geary_db_database_prepare_connection (GearyDbDatabase* self,
                                           GearyDbDatabaseConnection* cx,
                                           GError** error);
VALA_EXTERN GearyDbDatabase* geary_db_database_new (void);
VALA_EXTERN GearyDbDatabase* geary_db_database_construct (GType object_type);
VALA_EXTERN gint geary_db_database_connection_get_busy_timeout (GearyDbDatabaseConnection* self);
VALA_EXTERN void geary_db_database_connection_set_busy_timeout_msec (GearyDbDatabaseConnection* self,
                                                         gint timeout_msec,
                                                         GError** error);
VALA_EXTERN GearyDbTransactionOutcome geary_db_database_connection_exec_transaction (GearyDbDatabaseConnection* self,
                                                                         GearyDbTransactionType type,
                                                                         GearyDbTransactionMethod cb,
                                                                         gpointer cb_target,
                                                                         GCancellable* cancellable,
                                                                         GError** error);
VALA_EXTERN void geary_db_database_connection_exec_transaction_async (GearyDbDatabaseConnection* self,
                                                          GearyDbTransactionType type,
                                                          GearyDbTransactionMethod cb,
                                                          gpointer cb_target,
                                                          GCancellable* cancellable,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_);
VALA_EXTERN GearyDbTransactionOutcome geary_db_database_connection_exec_transaction_finish (GearyDbDatabaseConnection* self,
                                                                                GAsyncResult* _res_,
                                                                                GError** error);
VALA_EXTERN gboolean geary_db_result_get_finished (GearyDbResult* self);
VALA_EXTERN GearyDbStatement* geary_db_result_get_statement (GearyDbResult* self);
VALA_EXTERN guint64 geary_db_result_get_row (GearyDbResult* self);
VALA_EXTERN gboolean geary_db_result_next (GearyDbResult* self,
                               GCancellable* cancellable,
                               GError** error);
VALA_EXTERN gboolean geary_db_result_is_null_at (GearyDbResult* self,
                                     gint column,
                                     GError** error);
VALA_EXTERN gdouble geary_db_result_double_at (GearyDbResult* self,
                                   gint column,
                                   GError** error);
VALA_EXTERN gint geary_db_result_int_at (GearyDbResult* self,
                             gint column,
                             GError** error);
VALA_EXTERN guint geary_db_result_uint_at (GearyDbResult* self,
                               gint column,
                               GError** error);
VALA_EXTERN glong geary_db_result_long_at (GearyDbResult* self,
                               gint column,
                               GError** error);
VALA_EXTERN gint64 geary_db_result_int64_at (GearyDbResult* self,
                                 gint column,
                                 GError** error);
VALA_EXTERN gboolean geary_db_result_bool_at (GearyDbResult* self,
                                  gint column,
                                  GError** error);
VALA_EXTERN gint64 geary_db_result_rowid_at (GearyDbResult* self,
                                 gint column,
                                 GError** error);
VALA_EXTERN const gchar* geary_db_result_string_at (GearyDbResult* self,
                                        gint column,
                                        GError** error);
VALA_EXTERN const gchar* geary_db_result_nonnull_string_at (GearyDbResult* self,
                                                gint column,
                                                GError** error);
VALA_EXTERN GearyMemoryBuffer* geary_db_result_string_buffer_at (GearyDbResult* self,
                                                     gint column,
                                                     GError** error);
VALA_EXTERN gboolean geary_db_result_is_null_for (GearyDbResult* self,
                                      const gchar* name,
                                      GError** error);
VALA_EXTERN gdouble geary_db_result_double_for (GearyDbResult* self,
                                    const gchar* name,
                                    GError** error);
VALA_EXTERN gint geary_db_result_int_for (GearyDbResult* self,
                              const gchar* name,
                              GError** error);
VALA_EXTERN guint geary_db_result_uint_for (GearyDbResult* self,
                                const gchar* name,
                                GError** error);
VALA_EXTERN glong geary_db_result_long_for (GearyDbResult* self,
                                const gchar* name,
                                GError** error);
VALA_EXTERN gint64 geary_db_result_int64_for (GearyDbResult* self,
                                  const gchar* name,
                                  GError** error);
VALA_EXTERN gboolean geary_db_result_bool_for (GearyDbResult* self,
                                   const gchar* name,
                                   GError** error);
VALA_EXTERN gint64 geary_db_result_rowid_for (GearyDbResult* self,
                                  const gchar* name,
                                  GError** error);
VALA_EXTERN const gchar* geary_db_result_string_for (GearyDbResult* self,
                                         const gchar* name,
                                         GError** error);
VALA_EXTERN const gchar* geary_db_result_nonnull_string_for (GearyDbResult* self,
                                                 const gchar* name,
                                                 GError** error);
VALA_EXTERN GearyMemoryBuffer* geary_db_result_string_buffer_for (GearyDbResult* self,
                                                      const gchar* name,
                                                      GError** error);
VALA_EXTERN const gchar* geary_db_statement_get_sql (GearyDbStatement* self);
VALA_EXTERN gchar* geary_db_statement_get_expanded_sql (GearyDbStatement* self);
VALA_EXTERN GearyDbStatement* geary_db_statement_reset (GearyDbStatement* self,
                                            GearyDbResetScope reset_scope,
                                            GError** error);
VALA_EXTERN gint geary_db_statement_get_column_count (GearyDbStatement* self);
VALA_EXTERN const gchar* geary_db_statement_get_column_name (GearyDbStatement* self,
                                                 gint index);
VALA_EXTERN gint geary_db_statement_get_column_index (GearyDbStatement* self,
                                          const gchar* name);
VALA_EXTERN GearyDbResult* geary_db_statement_exec (GearyDbStatement* self,
                                        GCancellable* cancellable,
                                        GError** error);
VALA_EXTERN gint64 geary_db_statement_exec_insert (GearyDbStatement* self,
                                       GCancellable* cancellable,
                                       GError** error);
VALA_EXTERN gint geary_db_statement_exec_get_modified (GearyDbStatement* self,
                                           GCancellable* cancellable,
                                           GError** error);
VALA_EXTERN GearyDbStatement* geary_db_statement_bind_double (GearyDbStatement* self,
                                                  gint index,
                                                  gdouble d,
                                                  GError** error);
VALA_EXTERN GearyDbStatement* geary_db_statement_bind_int (GearyDbStatement* self,
                                               gint index,
                                               gint i,
                                               GError** error);
VALA_EXTERN GearyDbStatement* geary_db_statement_bind_uint (GearyDbStatement* self,
                                                gint index,
                                                guint u,
                                                GError** error);
VALA_EXTERN GearyDbStatement* geary_db_statement_bind_long (GearyDbStatement* self,
                                                gint index,
                                                glong l,
                                                GError** error);
VALA_EXTERN GearyDbStatement* geary_db_statement_bind_int64 (GearyDbStatement* self,
                                                 gint index,
                                                 gint64 i64,
                                                 GError** error);
VALA_EXTERN GearyDbStatement* geary_db_statement_bind_bool (GearyDbStatement* self,
                                                gint index,
                                                gboolean b,
                                                GError** error);
VALA_EXTERN GearyDbStatement* geary_db_statement_bind_rowid (GearyDbStatement* self,
                                                 gint index,
                                                 gint64 rowid,
                                                 GError** error);
VALA_EXTERN GearyDbStatement* geary_db_statement_bind_null (GearyDbStatement* self,
                                                gint index,
                                                GError** error);
VALA_EXTERN GearyDbStatement* geary_db_statement_bind_string (GearyDbStatement* self,
                                                  gint index,
                                                  const gchar* s,
                                                  GError** error);
VALA_EXTERN GearyDbStatement* geary_db_statement_bind_string_buffer (GearyDbStatement* self,
                                                         gint index,
                                                         GearyMemoryBuffer* buffer,
                                                         GError** error);
VALA_EXTERN const gchar* geary_db_synchronous_mode_sql (GearyDbSynchronousMode self);
VALA_EXTERN GearyDbSynchronousMode geary_db_synchronous_mode_parse (const gchar* str);
VALA_EXTERN const gchar* geary_db_transaction_outcome_sql (GearyDbTransactionOutcome self);
VALA_EXTERN gchar* geary_db_transaction_outcome_to_string (GearyDbTransactionOutcome self);
VALA_EXTERN const gchar* geary_db_transaction_type_sql (GearyDbTransactionType self);
VALA_EXTERN gchar* geary_db_transaction_type_to_string (GearyDbTransactionType self);
VALA_EXTERN GType geary_db_versioned_database_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyDbVersionedDatabase, g_object_unref)
VALA_EXTERN GFile* geary_db_versioned_database_get_schema_dir (GearyDbVersionedDatabase* self);
VALA_EXTERN GearyDbVersionedDatabase* geary_db_versioned_database_new_persistent (GFile* db_file,
                                                                      GFile* schema_dir);
VALA_EXTERN GearyDbVersionedDatabase* geary_db_versioned_database_construct_persistent (GType object_type,
                                                                            GFile* db_file,
                                                                            GFile* schema_dir);
VALA_EXTERN GearyDbVersionedDatabase* geary_db_versioned_database_new_transient (GFile* schema_dir);
VALA_EXTERN GearyDbVersionedDatabase* geary_db_versioned_database_construct_transient (GType object_type,
                                                                           GFile* schema_dir);
VALA_EXTERN gint geary_db_versioned_database_get_schema_version (GearyDbVersionedDatabase* self,
                                                     GError** error);
VALA_EXTERN void geary_db_versioned_database_starting_upgrade (GearyDbVersionedDatabase* self,
                                                   gint current_version,
                                                   gboolean new_db);
VALA_EXTERN void geary_db_versioned_database_pre_upgrade (GearyDbVersionedDatabase* self,
                                              gint version,
                                              GCancellable* cancellable,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN void geary_db_versioned_database_pre_upgrade_finish (GearyDbVersionedDatabase* self,
                                                     GAsyncResult* _res_,
                                                     GError** error);
VALA_EXTERN void geary_db_versioned_database_post_upgrade (GearyDbVersionedDatabase* self,
                                               gint version,
                                               GCancellable* cancellable,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_);
VALA_EXTERN void geary_db_versioned_database_post_upgrade_finish (GearyDbVersionedDatabase* self,
                                                      GAsyncResult* _res_,
                                                      GError** error);
VALA_EXTERN void geary_db_versioned_database_completed_upgrade (GearyDbVersionedDatabase* self,
                                                    gint final_version);
VALA_EXTERN GearyDbVersionedDatabase* geary_db_versioned_database_new (void);
VALA_EXTERN GearyDbVersionedDatabase* geary_db_versioned_database_construct (GType object_type);
VALA_EXTERN GQuark geary_imap_error_quark (void);
VALA_EXTERN GType geary_imap_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_generic_capabilities_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyGenericCapabilities, g_object_unref)
VALA_EXTERN GType geary_imap_capabilities_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapCapabilities, g_object_unref)
VALA_EXTERN gint geary_imap_capabilities_get_revision (GearyImapCapabilities* self);
VALA_EXTERN GType geary_imap_parameter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapParameter, g_object_unref)
VALA_EXTERN GType geary_imap_string_parameter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapStringParameter, g_object_unref)
VALA_EXTERN GearyImapCapabilities* geary_imap_capabilities_new (GearyImapStringParameter** capabilities,
                                                    gint capabilities_length1,
                                                    gint revision);
VALA_EXTERN GearyImapCapabilities* geary_imap_capabilities_construct (GType object_type,
                                                          GearyImapStringParameter** capabilities,
                                                          gint capabilities_length1,
                                                          gint revision);
VALA_EXTERN GearyImapCapabilities* geary_imap_capabilities_new_empty (gint revision);
VALA_EXTERN GearyImapCapabilities* geary_imap_capabilities_construct_empty (GType object_type,
                                                                gint revision);
VALA_EXTERN gboolean geary_imap_capabilities_supports_imap4rev1 (GearyImapCapabilities* self);
VALA_EXTERN gboolean geary_imap_capabilities_supports_idle (GearyImapCapabilities* self);
VALA_EXTERN gboolean geary_imap_capabilities_supports_uidplus (GearyImapCapabilities* self);
VALA_EXTERN gboolean geary_imap_capabilities_supports_special_use (GearyImapCapabilities* self);
VALA_EXTERN GType geary_imap_client_service_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapClientService, g_object_unref)
VALA_EXTERN guint geary_imap_client_service_get_unselected_keepalive_sec (GearyImapClientService* self);
VALA_EXTERN void geary_imap_client_service_set_unselected_keepalive_sec (GearyImapClientService* self,
                                                             guint value);
VALA_EXTERN guint geary_imap_client_service_get_selected_keepalive_sec (GearyImapClientService* self);
VALA_EXTERN void geary_imap_client_service_set_selected_keepalive_sec (GearyImapClientService* self,
                                                           guint value);
VALA_EXTERN guint geary_imap_client_service_get_selected_with_idle_keepalive_sec (GearyImapClientService* self);
VALA_EXTERN void geary_imap_client_service_set_selected_with_idle_keepalive_sec (GearyImapClientService* self,
                                                                     guint value);
VALA_EXTERN gint geary_imap_client_service_get_min_pool_size (GearyImapClientService* self);
VALA_EXTERN void geary_imap_client_service_set_min_pool_size (GearyImapClientService* self,
                                                  gint value);
VALA_EXTERN gint geary_imap_client_service_get_max_free_size (GearyImapClientService* self);
VALA_EXTERN void geary_imap_client_service_set_max_free_size (GearyImapClientService* self,
                                                  gint value);
VALA_EXTERN GearyImapClientService* geary_imap_client_service_new (GearyAccountInformation* account,
                                                       GearyServiceInformation* configuration,
                                                       GearyEndpoint* remote);
VALA_EXTERN GearyImapClientService* geary_imap_client_service_construct (GType object_type,
                                                             GearyAccountInformation* account,
                                                             GearyServiceInformation* configuration,
                                                             GearyEndpoint* remote);
VALA_EXTERN void geary_imap_client_service_claim_authorized_session_async (GearyImapClientService* self,
                                                               GCancellable* cancellable,
                                                               GAsyncReadyCallback _callback_,
                                                               gpointer _user_data_);
VALA_EXTERN GType geary_imap_client_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapClientSession, g_object_unref)
VALA_EXTERN GearyImapClientSession* geary_imap_client_service_claim_authorized_session_finish (GearyImapClientService* self,
                                                                                   GAsyncResult* _res_,
                                                                                   GError** error);
VALA_EXTERN void geary_imap_client_service_release_session_async (GearyImapClientService* self,
                                                      GearyImapClientSession* session,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_);
VALA_EXTERN void geary_imap_client_service_release_session_finish (GearyImapClientService* self,
                                                       GAsyncResult* _res_,
                                                       GError** error);
VALA_EXTERN GType geary_imap_email_flags_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapEmailFlags, g_object_unref)
VALA_EXTERN GType geary_imap_flags_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapFlags, g_object_unref)
VALA_EXTERN GType geary_imap_message_flags_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapMessageFlags, g_object_unref)
VALA_EXTERN GearyImapMessageFlags* geary_imap_email_flags_get_message_flags (GearyImapEmailFlags* self);
VALA_EXTERN GearyImapEmailFlags* geary_imap_email_flags_new (GearyImapMessageFlags* flags);
VALA_EXTERN GearyImapEmailFlags* geary_imap_email_flags_construct (GType object_type,
                                                       GearyImapMessageFlags* flags);
VALA_EXTERN GearyImapEmailFlags* geary_imap_email_flags_from_api_email_flags (GearyEmailFlags* api_flags);
VALA_EXTERN GType geary_imap_email_properties_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapEmailProperties, g_object_unref)
VALA_EXTERN GType geary_imap_internal_date_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapInternalDate, g_object_unref)
VALA_EXTERN GearyImapInternalDate* geary_imap_email_properties_get_internaldate (GearyImapEmailProperties* self);
VALA_EXTERN GType geary_imap_rf_c822_size_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapRFC822Size, g_object_unref)
VALA_EXTERN GearyImapRFC822Size* geary_imap_email_properties_get_rfc822_size (GearyImapEmailProperties* self);
VALA_EXTERN GearyImapEmailProperties* geary_imap_email_properties_new (GearyImapInternalDate* internaldate,
                                                           GearyImapRFC822Size* rfc822_size);
VALA_EXTERN GearyImapEmailProperties* geary_imap_email_properties_construct (GType object_type,
                                                                 GearyImapInternalDate* internaldate,
                                                                 GearyImapRFC822Size* rfc822_size);
VALA_EXTERN GType geary_imap_folder_properties_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapFolderProperties, g_object_unref)
VALA_EXTERN gint geary_imap_folder_properties_get_select_examine_messages (GearyImapFolderProperties* self);
VALA_EXTERN gint geary_imap_folder_properties_get_status_messages (GearyImapFolderProperties* self);
VALA_EXTERN gint geary_imap_folder_properties_get_unseen (GearyImapFolderProperties* self);
VALA_EXTERN gint geary_imap_folder_properties_get_recent (GearyImapFolderProperties* self);
VALA_EXTERN GType geary_imap_uid_validity_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapUIDValidity, g_object_unref)
VALA_EXTERN GearyImapUIDValidity* geary_imap_folder_properties_get_uid_validity (GearyImapFolderProperties* self);
VALA_EXTERN GType geary_imap_uid_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapUID, g_object_unref)
VALA_EXTERN GearyImapUID* geary_imap_folder_properties_get_uid_next (GearyImapFolderProperties* self);
VALA_EXTERN GType geary_imap_mailbox_attributes_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapMailboxAttributes, g_object_unref)
VALA_EXTERN GearyImapMailboxAttributes* geary_imap_folder_properties_get_attrs (GearyImapFolderProperties* self);
VALA_EXTERN GType geary_imap_status_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapStatusData, g_object_unref)
VALA_EXTERN GearyImapFolderProperties* geary_imap_folder_properties_new_selectable (GearyImapMailboxAttributes* attrs,
                                                                        GearyImapStatusData* status,
                                                                        GearyImapCapabilities* capabilities);
VALA_EXTERN GearyImapFolderProperties* geary_imap_folder_properties_construct_selectable (GType object_type,
                                                                              GearyImapMailboxAttributes* attrs,
                                                                              GearyImapStatusData* status,
                                                                              GearyImapCapabilities* capabilities);
VALA_EXTERN GearyImapFolderProperties* geary_imap_folder_properties_new_not_selectable (GearyImapMailboxAttributes* attrs);
VALA_EXTERN GearyImapFolderProperties* geary_imap_folder_properties_construct_not_selectable (GType object_type,
                                                                                  GearyImapMailboxAttributes* attrs);
VALA_EXTERN GearyImapFolderProperties* geary_imap_folder_properties_new (GearyImapMailboxAttributes* attrs,
                                                             gint email_total,
                                                             gint email_unread,
                                                             gboolean supports_uid);
VALA_EXTERN GearyImapFolderProperties* geary_imap_folder_properties_construct (GType object_type,
                                                                   GearyImapMailboxAttributes* attrs,
                                                                   gint email_total,
                                                                   gint email_unread,
                                                                   gboolean supports_uid);
VALA_EXTERN gboolean geary_imap_folder_properties_have_contents_changed (GearyImapFolderProperties* self,
                                                             GearyImapFolderProperties* other,
                                                             const gchar* name);
VALA_EXTERN void geary_imap_folder_properties_update_status (GearyImapFolderProperties* self,
                                                 GearyImapStatusData* status);
VALA_EXTERN void geary_imap_folder_properties_set_status_message_count (GearyImapFolderProperties* self,
                                                            gint messages,
                                                            gboolean force);
VALA_EXTERN void geary_imap_folder_properties_set_select_examine_message_count (GearyImapFolderProperties* self,
                                                                    gint messages);
VALA_EXTERN void geary_imap_folder_properties_set_status_unseen (GearyImapFolderProperties* self,
                                                     gint count);
VALA_EXTERN void geary_imap_folder_properties_set_from_session_capabilities (GearyImapFolderProperties* self,
                                                                 GearyImapCapabilities* capabilities);
VALA_EXTERN GType geary_imap_folder_root_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapFolderRoot, g_object_unref)
VALA_EXTERN GearyFolderPath* geary_imap_folder_root_get_inbox (GearyImapFolderRoot* self);
VALA_EXTERN GearyImapFolderRoot* geary_imap_folder_root_new (const gchar* label);
VALA_EXTERN GearyImapFolderRoot* geary_imap_folder_root_construct (GType object_type,
                                                       const gchar* label);
VALA_EXTERN GType geary_imap_quirks_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapQuirks, g_object_unref)
VALA_EXTERN gboolean geary_imap_quirks_get_fetch_header_part_no_space (GearyImapQuirks* self);
VALA_EXTERN void geary_imap_quirks_set_fetch_header_part_no_space (GearyImapQuirks* self,
                                                       gboolean value);
VALA_EXTERN const gchar* geary_imap_quirks_get_flag_atom_exceptions (GearyImapQuirks* self);
VALA_EXTERN void geary_imap_quirks_set_flag_atom_exceptions (GearyImapQuirks* self,
                                                 const gchar* value);
VALA_EXTERN guint geary_imap_quirks_get_max_pipeline_batch_size (GearyImapQuirks* self);
VALA_EXTERN void geary_imap_quirks_set_max_pipeline_batch_size (GearyImapQuirks* self,
                                                    guint value);
VALA_EXTERN const gchar* geary_imap_quirks_get_empty_envelope_mailbox_name (GearyImapQuirks* self);
VALA_EXTERN void geary_imap_quirks_set_empty_envelope_mailbox_name (GearyImapQuirks* self,
                                                        const gchar* value);
VALA_EXTERN const gchar* geary_imap_quirks_get_empty_envelope_host_name (GearyImapQuirks* self);
VALA_EXTERN void geary_imap_quirks_set_empty_envelope_host_name (GearyImapQuirks* self,
                                                     const gchar* value);
VALA_EXTERN void geary_imap_quirks_update_for_server (GearyImapQuirks* self,
                                          GearyImapClientSession* session);
VALA_EXTERN void geary_imap_quirks_update_for_gmail (GearyImapQuirks* self);
VALA_EXTERN void geary_imap_quirks_update_for_outlook (GearyImapQuirks* self);
VALA_EXTERN void geary_imap_quirks_update_for_dovecot (GearyImapQuirks* self);
VALA_EXTERN GearyImapQuirks* geary_imap_quirks_new (void);
VALA_EXTERN GearyImapQuirks* geary_imap_quirks_construct (GType object_type);
VALA_EXTERN GType geary_imap_session_object_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapSessionObject, g_object_unref)
VALA_EXTERN gboolean geary_imap_session_object_get_is_valid (GearyImapSessionObject* self);
VALA_EXTERN GearyImapSessionObject* geary_imap_session_object_construct (GType object_type,
                                                             GearyImapClientSession* session);
VALA_EXTERN GearyImapClientSession* geary_imap_session_object_close (GearyImapSessionObject* self);
VALA_EXTERN GearyLoggingState* geary_imap_session_object_to_logging_state (GearyImapSessionObject* self);
VALA_EXTERN GearyImapClientSession* geary_imap_session_object_get_session (GearyImapSessionObject* self,
                                                               GError** error);
VALA_EXTERN GType geary_imap_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapCommand, g_object_unref)
VALA_EXTERN GType geary_imap_serializer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapSerializer, g_object_unref)
VALA_EXTERN GType geary_imap_list_parameter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapListParameter, g_object_unref)
VALA_EXTERN GType geary_imap_root_parameters_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapRootParameters, g_object_unref)
VALA_EXTERN GType geary_imap_server_response_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapServerResponse, g_object_unref)
VALA_EXTERN GType geary_imap_status_response_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapStatusResponse, g_object_unref)
VALA_EXTERN GType geary_imap_server_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapServerData, g_object_unref)
VALA_EXTERN GType geary_imap_continuation_response_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapContinuationResponse, g_object_unref)
VALA_EXTERN GType geary_imap_append_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapAppendCommand, g_object_unref)
VALA_EXTERN GType geary_imap_mailbox_specifier_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapMailboxSpecifier, g_object_unref)
VALA_EXTERN GearyImapAppendCommand* geary_imap_append_command_new (GearyImapMailboxSpecifier* mailbox,
                                                       GearyImapMessageFlags* flags,
                                                       GearyImapInternalDate* internal_date,
                                                       GearyMemoryBuffer* message,
                                                       GCancellable* should_send);
VALA_EXTERN GearyImapAppendCommand* geary_imap_append_command_construct (GType object_type,
                                                             GearyImapMailboxSpecifier* mailbox,
                                                             GearyImapMessageFlags* flags,
                                                             GearyImapInternalDate* internal_date,
                                                             GearyMemoryBuffer* message,
                                                             GCancellable* should_send);
VALA_EXTERN GType geary_imap_authenticate_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapAuthenticateCommand, g_object_unref)
VALA_EXTERN const gchar* geary_imap_authenticate_command_get_method (GearyImapAuthenticateCommand* self);
VALA_EXTERN GearyImapAuthenticateCommand* geary_imap_authenticate_command_new_oauth2 (const gchar* user,
                                                                          const gchar* token,
                                                                          GCancellable* should_send);
VALA_EXTERN GearyImapAuthenticateCommand* geary_imap_authenticate_command_construct_oauth2 (GType object_type,
                                                                                const gchar* user,
                                                                                const gchar* token,
                                                                                GCancellable* should_send);
VALA_EXTERN GType geary_imap_capability_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapCapabilityCommand, g_object_unref)
VALA_EXTERN GearyImapCapabilityCommand* geary_imap_capability_command_new (GCancellable* should_send);
VALA_EXTERN GearyImapCapabilityCommand* geary_imap_capability_command_construct (GType object_type,
                                                                     GCancellable* should_send);
VALA_EXTERN GType geary_imap_close_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapCloseCommand, g_object_unref)
VALA_EXTERN GearyImapCloseCommand* geary_imap_close_command_new (GCancellable* should_send);
VALA_EXTERN GearyImapCloseCommand* geary_imap_close_command_construct (GType object_type,
                                                           GCancellable* should_send);
VALA_EXTERN GType geary_imap_unquoted_string_parameter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapUnquotedStringParameter, g_object_unref)
VALA_EXTERN GType geary_imap_atom_parameter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapAtomParameter, g_object_unref)
VALA_EXTERN GType geary_imap_tag_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapTag, g_object_unref)
VALA_EXTERN GearyImapTag* geary_imap_command_get_tag (GearyImapCommand* self);
VALA_EXTERN const gchar* geary_imap_command_get_name (GearyImapCommand* self);
VALA_EXTERN guint geary_imap_command_get_response_timeout (GearyImapCommand* self);
VALA_EXTERN void geary_imap_command_set_response_timeout (GearyImapCommand* self,
                                              guint value);
VALA_EXTERN GearyImapStatusResponse* geary_imap_command_get_status (GearyImapCommand* self);
VALA_EXTERN GCancellable* geary_imap_command_get_should_send (GearyImapCommand* self);
VALA_EXTERN GearyImapListParameter* geary_imap_command_get_args (GearyImapCommand* self);
VALA_EXTERN GType geary_timeout_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyTimeoutManager, g_object_unref)
VALA_EXTERN GearyTimeoutManager* geary_imap_command_get_response_timer (GearyImapCommand* self);
VALA_EXTERN GearyImapCommand* geary_imap_command_construct (GType object_type,
                                                const gchar* name,
                                                gchar** args,
                                                gint args_length1,
                                                GCancellable* should_send);
VALA_EXTERN gboolean geary_imap_command_has_name (GearyImapCommand* self,
                                      const gchar* name);
VALA_EXTERN void geary_imap_command_wait_until_complete (GearyImapCommand* self,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void geary_imap_command_wait_until_complete_finish (GearyImapCommand* self,
                                                    GAsyncResult* _res_,
                                                    GError** error);
VALA_EXTERN gchar* geary_imap_command_to_string (GearyImapCommand* self);
VALA_EXTERN void geary_imap_command_stop_serialisation (GearyImapCommand* self);
VALA_EXTERN GType geary_imap_copy_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapCopyCommand, g_object_unref)
VALA_EXTERN GType geary_imap_message_set_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapMessageSet, g_object_unref)
VALA_EXTERN GearyImapCopyCommand* geary_imap_copy_command_new (GearyImapMessageSet* message_set,
                                                   GearyImapMailboxSpecifier* destination,
                                                   GCancellable* should_send);
VALA_EXTERN GearyImapCopyCommand* geary_imap_copy_command_construct (GType object_type,
                                                         GearyImapMessageSet* message_set,
                                                         GearyImapMailboxSpecifier* destination,
                                                         GCancellable* should_send);
VALA_EXTERN GType geary_imap_create_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapCreateCommand, g_object_unref)
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_create_command_get_mailbox (GearyImapCreateCommand* self);
VALA_EXTERN GearyFolderSpecialUse geary_imap_create_command_get_use (GearyImapCreateCommand* self);
VALA_EXTERN GearyImapCreateCommand* geary_imap_create_command_new (GearyImapMailboxSpecifier* mailbox,
                                                       GCancellable* should_send);
VALA_EXTERN GearyImapCreateCommand* geary_imap_create_command_construct (GType object_type,
                                                             GearyImapMailboxSpecifier* mailbox,
                                                             GCancellable* should_send);
VALA_EXTERN GearyImapCreateCommand* geary_imap_create_command_new_special_use (GearyImapMailboxSpecifier* mailbox,
                                                                   GearyFolderSpecialUse use,
                                                                   GCancellable* should_send);
VALA_EXTERN GearyImapCreateCommand* geary_imap_create_command_construct_special_use (GType object_type,
                                                                         GearyImapMailboxSpecifier* mailbox,
                                                                         GearyFolderSpecialUse use,
                                                                         GCancellable* should_send);
VALA_EXTERN GType geary_imap_delete_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapDeleteCommand, g_object_unref)
VALA_EXTERN GearyImapDeleteCommand* geary_imap_delete_command_new (GearyImapMailboxSpecifier* mailbox,
                                                       GCancellable* should_send);
VALA_EXTERN GearyImapDeleteCommand* geary_imap_delete_command_construct (GType object_type,
                                                             GearyImapMailboxSpecifier* mailbox,
                                                             GCancellable* should_send);
VALA_EXTERN GType geary_imap_examine_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapExamineCommand, g_object_unref)
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_examine_command_get_mailbox (GearyImapExamineCommand* self);
VALA_EXTERN GearyImapExamineCommand* geary_imap_examine_command_new (GearyImapMailboxSpecifier* mailbox,
                                                         GCancellable* should_send);
VALA_EXTERN GearyImapExamineCommand* geary_imap_examine_command_construct (GType object_type,
                                                               GearyImapMailboxSpecifier* mailbox,
                                                               GCancellable* should_send);
VALA_EXTERN GType geary_imap_expunge_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapExpungeCommand, g_object_unref)
VALA_EXTERN GearyImapExpungeCommand* geary_imap_expunge_command_new (GCancellable* should_send);
VALA_EXTERN GearyImapExpungeCommand* geary_imap_expunge_command_construct (GType object_type,
                                                               GCancellable* should_send);
VALA_EXTERN GearyImapExpungeCommand* geary_imap_expunge_command_new_uid (GearyImapMessageSet* message_set,
                                                             GCancellable* should_send);
VALA_EXTERN GearyImapExpungeCommand* geary_imap_expunge_command_construct_uid (GType object_type,
                                                                   GearyImapMessageSet* message_set,
                                                                   GCancellable* should_send);
VALA_EXTERN GType geary_imap_fetch_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapFetchCommand, g_object_unref)
VALA_EXTERN GType geary_imap_fetch_data_specifier_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GeeList* geary_imap_fetch_command_get_for_data_types (GearyImapFetchCommand* self);
VALA_EXTERN GType geary_imap_fetch_body_data_specifier_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapFetchBodyDataSpecifier, g_object_unref)
VALA_EXTERN GeeList* geary_imap_fetch_command_get_for_body_data_specifiers (GearyImapFetchCommand* self);
VALA_EXTERN GearyImapFetchCommand* geary_imap_fetch_command_new (GearyImapMessageSet* msg_set,
                                                     GeeList* data_items,
                                                     GeeList* body_data_items,
                                                     GCancellable* should_send);
VALA_EXTERN GearyImapFetchCommand* geary_imap_fetch_command_construct (GType object_type,
                                                           GearyImapMessageSet* msg_set,
                                                           GeeList* data_items,
                                                           GeeList* body_data_items,
                                                           GCancellable* should_send);
VALA_EXTERN GearyImapFetchCommand* geary_imap_fetch_command_new_data_type (GearyImapMessageSet* msg_set,
                                                               GearyImapFetchDataSpecifier data_type,
                                                               GCancellable* should_send);
VALA_EXTERN GearyImapFetchCommand* geary_imap_fetch_command_construct_data_type (GType object_type,
                                                                     GearyImapMessageSet* msg_set,
                                                                     GearyImapFetchDataSpecifier data_type,
                                                                     GCancellable* should_send);
VALA_EXTERN GearyImapFetchCommand* geary_imap_fetch_command_new_body_data_type (GearyImapMessageSet* msg_set,
                                                                    GearyImapFetchBodyDataSpecifier* body_data_specifier,
                                                                    GCancellable* should_send);
VALA_EXTERN GearyImapFetchCommand* geary_imap_fetch_command_construct_body_data_type (GType object_type,
                                                                          GearyImapMessageSet* msg_set,
                                                                          GearyImapFetchBodyDataSpecifier* body_data_specifier,
                                                                          GCancellable* should_send);
VALA_EXTERN GType geary_imap_id_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapIdCommand, g_object_unref)
VALA_EXTERN GearyImapIdCommand* geary_imap_id_command_new (GeeHashMap* fields,
                                               GCancellable* should_send);
VALA_EXTERN GearyImapIdCommand* geary_imap_id_command_construct (GType object_type,
                                                     GeeHashMap* fields,
                                                     GCancellable* should_send);
VALA_EXTERN GearyImapIdCommand* geary_imap_id_command_new_nil (GCancellable* should_send);
VALA_EXTERN GearyImapIdCommand* geary_imap_id_command_construct_nil (GType object_type,
                                                         GCancellable* should_send);
VALA_EXTERN GType geary_imap_idle_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapIdleCommand, g_object_unref)
VALA_EXTERN gboolean geary_imap_idle_command_get_idle_started (GearyImapIdleCommand* self);
VALA_EXTERN GearyImapIdleCommand* geary_imap_idle_command_new (GCancellable* should_send);
VALA_EXTERN GearyImapIdleCommand* geary_imap_idle_command_construct (GType object_type,
                                                         GCancellable* should_send);
VALA_EXTERN void geary_imap_idle_command_exit_idle (GearyImapIdleCommand* self);
VALA_EXTERN GType geary_imap_list_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapListCommand, g_object_unref)
VALA_EXTERN GType geary_imap_list_return_parameter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapListReturnParameter, g_object_unref)
VALA_EXTERN GearyImapListCommand* geary_imap_list_command_new (GearyImapMailboxSpecifier* mailbox,
                                                   gboolean use_xlist,
                                                   GearyImapListReturnParameter* return_param,
                                                   GCancellable* should_send);
VALA_EXTERN GearyImapListCommand* geary_imap_list_command_construct (GType object_type,
                                                         GearyImapMailboxSpecifier* mailbox,
                                                         gboolean use_xlist,
                                                         GearyImapListReturnParameter* return_param,
                                                         GCancellable* should_send);
VALA_EXTERN GearyImapListCommand* geary_imap_list_command_new_wildcarded (const gchar* reference,
                                                              GearyImapMailboxSpecifier* mailbox,
                                                              gboolean use_xlist,
                                                              GearyImapListReturnParameter* return_param,
                                                              GCancellable* should_send);
VALA_EXTERN GearyImapListCommand* geary_imap_list_command_construct_wildcarded (GType object_type,
                                                                    const gchar* reference,
                                                                    GearyImapMailboxSpecifier* mailbox,
                                                                    gboolean use_xlist,
                                                                    GearyImapListReturnParameter* return_param,
                                                                    GCancellable* should_send);
VALA_EXTERN GearyImapListReturnParameter* geary_imap_list_return_parameter_new (void);
VALA_EXTERN GearyImapListReturnParameter* geary_imap_list_return_parameter_construct (GType object_type);
VALA_EXTERN void geary_imap_list_return_parameter_add_special_use (GearyImapListReturnParameter* self);
VALA_EXTERN GType geary_imap_login_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapLoginCommand, g_object_unref)
VALA_EXTERN GearyImapLoginCommand* geary_imap_login_command_new (const gchar* user,
                                                     const gchar* pass,
                                                     GCancellable* should_send);
VALA_EXTERN GearyImapLoginCommand* geary_imap_login_command_construct (GType object_type,
                                                           const gchar* user,
                                                           const gchar* pass,
                                                           GCancellable* should_send);
VALA_EXTERN GType geary_imap_logout_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapLogoutCommand, g_object_unref)
VALA_EXTERN GearyImapLogoutCommand* geary_imap_logout_command_new (GCancellable* should_send);
VALA_EXTERN GearyImapLogoutCommand* geary_imap_logout_command_construct (GType object_type,
                                                             GCancellable* should_send);
VALA_EXTERN gboolean geary_imap_message_set_get_is_uid (GearyImapMessageSet* self);
VALA_EXTERN GType geary_imap_sequence_number_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapSequenceNumber, g_object_unref)
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_new (GearyImapSequenceNumber* seq_num);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_construct (GType object_type,
                                                       GearyImapSequenceNumber* seq_num);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_new_uid (GearyImapUID* uid);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_construct_uid (GType object_type,
                                                           GearyImapUID* uid);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_new_range_by_count (GearyImapSequenceNumber* low_seq_num,
                                                                gint count);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_construct_range_by_count (GType object_type,
                                                                      GearyImapSequenceNumber* low_seq_num,
                                                                      gint count);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_new_range_by_first_last (GearyImapSequenceNumber* low_seq_num,
                                                                     GearyImapSequenceNumber* high_seq_num);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_construct_range_by_first_last (GType object_type,
                                                                           GearyImapSequenceNumber* low_seq_num,
                                                                           GearyImapSequenceNumber* high_seq_num);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_new_uid_range (GearyImapUID* low,
                                                           GearyImapUID* high);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_construct_uid_range (GType object_type,
                                                                 GearyImapUID* low,
                                                                 GearyImapUID* high);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_new_range_to_highest (GearyImapSequenceNumber* low_seq_num);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_construct_range_to_highest (GType object_type,
                                                                        GearyImapSequenceNumber* low_seq_num);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_new_uid_range_to_highest (GearyImapUID* low);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_construct_uid_range_to_highest (GType object_type,
                                                                            GearyImapUID* low);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_new_custom (const gchar* custom);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_construct_custom (GType object_type,
                                                              const gchar* custom);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_new_uid_custom (const gchar* custom);
VALA_EXTERN GearyImapMessageSet* geary_imap_message_set_construct_uid_custom (GType object_type,
                                                                  const gchar* custom);
VALA_EXTERN GeeList* geary_imap_message_set_parse (const gchar* str,
                                       GError** error);
VALA_EXTERN GeeList* geary_imap_message_set_uid_parse (const gchar* str,
                                           GError** error);
VALA_EXTERN GeeList* geary_imap_message_set_sparse (GeeCollection* seq_nums);
VALA_EXTERN GeeList* geary_imap_message_set_uid_sparse (GeeCollection* msg_uids);
VALA_EXTERN GearyImapParameter* geary_imap_message_set_to_parameter (GearyImapMessageSet* self);
VALA_EXTERN GeeList* geary_imap_message_set_to_list (GearyImapMessageSet* self);
VALA_EXTERN gchar* geary_imap_message_set_to_string (GearyImapMessageSet* self);
VALA_EXTERN GType geary_imap_namespace_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapNamespaceCommand, g_object_unref)
VALA_EXTERN GearyImapNamespaceCommand* geary_imap_namespace_command_new (GCancellable* should_send);
VALA_EXTERN GearyImapNamespaceCommand* geary_imap_namespace_command_construct (GType object_type,
                                                                   GCancellable* should_send);
VALA_EXTERN GType geary_imap_noop_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapNoopCommand, g_object_unref)
VALA_EXTERN GearyImapNoopCommand* geary_imap_noop_command_new (GCancellable* should_send);
VALA_EXTERN GearyImapNoopCommand* geary_imap_noop_command_construct (GType object_type,
                                                         GCancellable* should_send);
VALA_EXTERN GType geary_imap_search_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapSearchCommand, g_object_unref)
VALA_EXTERN GType geary_imap_search_criteria_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapSearchCriteria, g_object_unref)
VALA_EXTERN GearyImapSearchCommand* geary_imap_search_command_new (GearyImapSearchCriteria* criteria,
                                                       GCancellable* should_send);
VALA_EXTERN GearyImapSearchCommand* geary_imap_search_command_construct (GType object_type,
                                                             GearyImapSearchCriteria* criteria,
                                                             GCancellable* should_send);
VALA_EXTERN GearyImapSearchCommand* geary_imap_search_command_new_uid (GearyImapSearchCriteria* criteria,
                                                           GCancellable* should_send);
VALA_EXTERN GearyImapSearchCommand* geary_imap_search_command_construct_uid (GType object_type,
                                                                 GearyImapSearchCriteria* criteria,
                                                                 GCancellable* should_send);
VALA_EXTERN GType geary_imap_search_criterion_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapSearchCriterion, g_object_unref)
VALA_EXTERN GearyImapSearchCriteria* geary_imap_search_criteria_new (GearyImapSearchCriterion* first);
VALA_EXTERN GearyImapSearchCriteria* geary_imap_search_criteria_construct (GType object_type,
                                                               GearyImapSearchCriterion* first);
VALA_EXTERN GearyImapSearchCriteria* geary_imap_search_criteria_is_ (GearyImapSearchCriteria* self,
                                                         GearyImapSearchCriterion* first);
VALA_EXTERN GearyImapSearchCriteria* geary_imap_search_criteria_and (GearyImapSearchCriteria* self,
                                                         GearyImapSearchCriterion* next);
VALA_EXTERN GearyImapSearchCriteria* geary_imap_search_criteria_or (GearyImapSearchCriteria* self,
                                                        GearyImapSearchCriterion* a,
                                                        GearyImapSearchCriterion* b);
VALA_EXTERN GearyImapSearchCriteria* geary_imap_search_criteria_not (GearyImapSearchCriteria* self,
                                                         GearyImapSearchCriterion* next);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_new (GearyImapParameter* parameter);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_construct (GType object_type,
                                                                 GearyImapParameter* parameter);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_new_simple (const gchar* name);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_construct_simple (GType object_type,
                                                                        const gchar* name);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_new_parameter_value (const gchar* name,
                                                                           GearyImapParameter* value);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_construct_parameter_value (GType object_type,
                                                                                 const gchar* name,
                                                                                 GearyImapParameter* value);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_new_string_value (const gchar* name,
                                                                        const gchar* value);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_construct_string_value (GType object_type,
                                                                              const gchar* name,
                                                                              const gchar* value);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_all (void);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_or (GearyImapSearchCriterion* a,
                                                          GearyImapSearchCriterion* b);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_not (GearyImapSearchCriterion* a);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_new_messages (void);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_old_messages (void);
VALA_EXTERN GType geary_imap_flag_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapFlag, g_object_unref)
VALA_EXTERN GType geary_imap_message_flag_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapMessageFlag, g_object_unref)
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_has_flag (GearyImapMessageFlag* flag,
                                                                GError** error);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_has_not_flag (GearyImapMessageFlag* flag,
                                                                    GError** error);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_before_internaldate (GearyImapInternalDate* internaldate);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_on_internaldate (GearyImapInternalDate* internaldate);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_since_internaldate (GearyImapInternalDate* internaldate);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_body (const gchar* value);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_text (const gchar* value);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_smaller (guint32 value);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_larger (guint32 value);
VALA_EXTERN GearyImapSearchCriterion* geary_imap_search_criterion_message_set (GearyImapMessageSet* msg_set);
VALA_EXTERN GeeList* geary_imap_search_criterion_to_parameters (GearyImapSearchCriterion* self);
VALA_EXTERN GearyImapParameter* geary_imap_search_criterion_to_list_parameter (GearyImapSearchCriterion* self);
VALA_EXTERN gchar* geary_imap_search_criterion_to_string (GearyImapSearchCriterion* self);
VALA_EXTERN GType geary_imap_select_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapSelectCommand, g_object_unref)
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_select_command_get_mailbox (GearyImapSelectCommand* self);
VALA_EXTERN GearyImapSelectCommand* geary_imap_select_command_new (GearyImapMailboxSpecifier* mailbox,
                                                       GCancellable* should_send);
VALA_EXTERN GearyImapSelectCommand* geary_imap_select_command_construct (GType object_type,
                                                             GearyImapMailboxSpecifier* mailbox,
                                                             GCancellable* should_send);
VALA_EXTERN GType geary_imap_starttls_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapStarttlsCommand, g_object_unref)
VALA_EXTERN GearyImapStarttlsCommand* geary_imap_starttls_command_new (GCancellable* should_send);
VALA_EXTERN GearyImapStarttlsCommand* geary_imap_starttls_command_construct (GType object_type,
                                                                 GCancellable* should_send);
VALA_EXTERN GType geary_imap_status_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapStatusCommand, g_object_unref)
VALA_EXTERN GType geary_imap_status_data_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyImapStatusCommand* geary_imap_status_command_new (GearyImapMailboxSpecifier* mailbox,
                                                       GearyImapStatusDataType* data_items,
                                                       gint data_items_length1,
                                                       GCancellable* should_send);
VALA_EXTERN GearyImapStatusCommand* geary_imap_status_command_construct (GType object_type,
                                                             GearyImapMailboxSpecifier* mailbox,
                                                             GearyImapStatusDataType* data_items,
                                                             gint data_items_length1,
                                                             GCancellable* should_send);
VALA_EXTERN GType geary_imap_store_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapStoreCommand, g_object_unref)
VALA_EXTERN GType geary_imap_store_command_mode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_imap_store_command_options_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyImapStoreCommand* geary_imap_store_command_new (GearyImapMessageSet* message_set,
                                                     GearyImapStoreCommandMode mode,
                                                     GearyImapStoreCommandOptions options,
                                                     GeeList* flag_list,
                                                     GCancellable* should_send);
VALA_EXTERN GearyImapStoreCommand* geary_imap_store_command_construct (GType object_type,
                                                           GearyImapMessageSet* message_set,
                                                           GearyImapStoreCommandMode mode,
                                                           GearyImapStoreCommandOptions options,
                                                           GeeList* flag_list,
                                                           GCancellable* should_send);
VALA_EXTERN GType geary_imap_data_format_quoting_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gboolean geary_imap_data_format_is_atom_special (gchar ch,
                                                 const gchar* exceptions);
VALA_EXTERN gboolean geary_imap_data_format_is_tag_special (gchar ch,
                                                const gchar* exceptions);
VALA_EXTERN GearyImapDataFormatQuoting geary_imap_data_format_is_quoting_required (const gchar* str);
VALA_EXTERN GType geary_imap_message_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapMessageData, g_object_unref)
VALA_EXTERN GType geary_imap_envelope_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapEnvelope, g_object_unref)
VALA_EXTERN GearyRFC822Date* geary_imap_envelope_get_sent (GearyImapEnvelope* self);
VALA_EXTERN GearyRFC822Subject* geary_imap_envelope_get_subject (GearyImapEnvelope* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_imap_envelope_get_from (GearyImapEnvelope* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_imap_envelope_get_sender (GearyImapEnvelope* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_imap_envelope_get_reply_to (GearyImapEnvelope* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_imap_envelope_get_to (GearyImapEnvelope* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_imap_envelope_get_cc (GearyImapEnvelope* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_imap_envelope_get_bcc (GearyImapEnvelope* self);
VALA_EXTERN GearyRFC822MessageIDList* geary_imap_envelope_get_in_reply_to (GearyImapEnvelope* self);
VALA_EXTERN GearyRFC822MessageID* geary_imap_envelope_get_message_id (GearyImapEnvelope* self);
VALA_EXTERN GearyImapEnvelope* geary_imap_envelope_new (GearyRFC822Date* sent,
                                            GearyRFC822Subject* subject,
                                            GearyRFC822MailboxAddresses* from,
                                            GearyRFC822MailboxAddresses* sender,
                                            GearyRFC822MailboxAddresses* reply_to,
                                            GearyRFC822MailboxAddresses* to,
                                            GearyRFC822MailboxAddresses* cc,
                                            GearyRFC822MailboxAddresses* bcc,
                                            GearyRFC822MessageIDList* in_reply_to,
                                            GearyRFC822MessageID* message_id);
VALA_EXTERN GearyImapEnvelope* geary_imap_envelope_construct (GType object_type,
                                                  GearyRFC822Date* sent,
                                                  GearyRFC822Subject* subject,
                                                  GearyRFC822MailboxAddresses* from,
                                                  GearyRFC822MailboxAddresses* sender,
                                                  GearyRFC822MailboxAddresses* reply_to,
                                                  GearyRFC822MailboxAddresses* to,
                                                  GearyRFC822MailboxAddresses* cc,
                                                  GearyRFC822MailboxAddresses* bcc,
                                                  GearyRFC822MessageIDList* in_reply_to,
                                                  GearyRFC822MessageID* message_id);
VALA_EXTERN GType geary_imap_fetch_body_data_specifier_section_part_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* geary_imap_fetch_body_data_specifier_section_part_serialize (GearyImapFetchBodyDataSpecifierSectionPart self);
VALA_EXTERN GearyImapFetchBodyDataSpecifierSectionPart geary_imap_fetch_body_data_specifier_section_part_deserialize (const gchar* value,
                                                                                                          GError** error);
VALA_EXTERN gchar* geary_imap_fetch_body_data_specifier_section_part_to_string (GearyImapFetchBodyDataSpecifierSectionPart self);
VALA_EXTERN GearyImapFetchBodyDataSpecifierSectionPart geary_imap_fetch_body_data_specifier_get_section_part (GearyImapFetchBodyDataSpecifier* self);
VALA_EXTERN gboolean geary_imap_fetch_body_data_specifier_get_request_header_fields_space (GearyImapFetchBodyDataSpecifier* self);
VALA_EXTERN GearyImapFetchBodyDataSpecifier* geary_imap_fetch_body_data_specifier_new (GearyImapFetchBodyDataSpecifierSectionPart section_part,
                                                                           gint* part_number,
                                                                           gint part_number_length1,
                                                                           gint subset_start,
                                                                           gint subset_count,
                                                                           gchar** field_names,
                                                                           gint field_names_length1);
VALA_EXTERN GearyImapFetchBodyDataSpecifier* geary_imap_fetch_body_data_specifier_construct (GType object_type,
                                                                                 GearyImapFetchBodyDataSpecifierSectionPart section_part,
                                                                                 gint* part_number,
                                                                                 gint part_number_length1,
                                                                                 gint subset_start,
                                                                                 gint subset_count,
                                                                                 gchar** field_names,
                                                                                 gint field_names_length1);
VALA_EXTERN GearyImapFetchBodyDataSpecifier* geary_imap_fetch_body_data_specifier_new_peek (GearyImapFetchBodyDataSpecifierSectionPart section_part,
                                                                                gint* part_number,
                                                                                gint part_number_length1,
                                                                                gint subset_start,
                                                                                gint subset_count,
                                                                                gchar** field_names,
                                                                                gint field_names_length1);
VALA_EXTERN GearyImapFetchBodyDataSpecifier* geary_imap_fetch_body_data_specifier_construct_peek (GType object_type,
                                                                                      GearyImapFetchBodyDataSpecifierSectionPart section_part,
                                                                                      gint* part_number,
                                                                                      gint part_number_length1,
                                                                                      gint subset_start,
                                                                                      gint subset_count,
                                                                                      gchar** field_names,
                                                                                      gint field_names_length1);
VALA_EXTERN GearyImapFetchBodyDataSpecifier* geary_imap_fetch_body_data_specifier_new_response (GearyImapFetchBodyDataSpecifierSectionPart section_part,
                                                                                    gint* part_number,
                                                                                    gint part_number_length1,
                                                                                    gint subset_start,
                                                                                    gchar** field_names,
                                                                                    gint field_names_length1);
VALA_EXTERN GearyImapFetchBodyDataSpecifier* geary_imap_fetch_body_data_specifier_construct_response (GType object_type,
                                                                                          GearyImapFetchBodyDataSpecifierSectionPart section_part,
                                                                                          gint* part_number,
                                                                                          gint part_number_length1,
                                                                                          gint subset_start,
                                                                                          gchar** field_names,
                                                                                          gint field_names_length1);
VALA_EXTERN gchar* geary_imap_fetch_body_data_specifier_serialize_request (GearyImapFetchBodyDataSpecifier* self);
VALA_EXTERN GearyImapParameter* geary_imap_fetch_body_data_specifier_to_request_parameter (GearyImapFetchBodyDataSpecifier* self);
VALA_EXTERN gboolean geary_imap_fetch_body_data_specifier_is_fetch_body_data_specifier (GearyImapStringParameter* stringp);
VALA_EXTERN GearyImapFetchBodyDataSpecifier* geary_imap_fetch_body_data_specifier_deserialize_response (GearyImapStringParameter* stringp,
                                                                                            GError** error);
VALA_EXTERN void geary_imap_fetch_body_data_specifier_omit_request_header_fields_space (GearyImapFetchBodyDataSpecifier* self);
VALA_EXTERN gchar* geary_imap_fetch_body_data_specifier_to_string (GearyImapFetchBodyDataSpecifier* self);
VALA_EXTERN gchar* geary_imap_fetch_data_specifier_to_string (GearyImapFetchDataSpecifier self);
VALA_EXTERN GearyImapFetchDataSpecifier geary_imap_fetch_data_specifier_from_parameter (GearyImapStringParameter* strparam,
                                                                            GError** error);
VALA_EXTERN GearyImapStringParameter* geary_imap_fetch_data_specifier_to_parameter (GearyImapFetchDataSpecifier self);
VALA_EXTERN GType geary_imap_fetch_data_decoder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapFetchDataDecoder, g_object_unref)
VALA_EXTERN GearyImapFetchDataDecoder* geary_imap_fetch_data_specifier_get_decoder (GearyImapFetchDataSpecifier self,
                                                                        GearyImapQuirks* quirks);
VALA_EXTERN const gchar* geary_imap_flag_get_value (GearyImapFlag* self);
VALA_EXTERN GearyImapFlag* geary_imap_flag_construct (GType object_type,
                                          const gchar* name);
VALA_EXTERN gboolean geary_imap_flag_is_system (GearyImapFlag* self);
VALA_EXTERN gboolean geary_imap_flag_equals_string (GearyImapFlag* self,
                                        const gchar* value);
VALA_EXTERN GearyImapStringParameter* geary_imap_flag_to_parameter (GearyImapFlag* self,
                                                        GError** error);
VALA_EXTERN gchar* geary_imap_flag_to_string (GearyImapFlag* self);
VALA_EXTERN gint geary_imap_flags_get_size (GearyImapFlags* self);
VALA_EXTERN GearyImapFlags* geary_imap_flags_construct (GType object_type,
                                            GeeCollection* flags);
VALA_EXTERN gboolean geary_imap_flags_contains (GearyImapFlags* self,
                                    GearyImapFlag* flag);
VALA_EXTERN GeeSet* geary_imap_flags_get_all (GearyImapFlags* self);
VALA_EXTERN gchar* geary_imap_flags_serialize (GearyImapFlags* self);
VALA_EXTERN GearyImapParameter* geary_imap_flags_to_parameter (GearyImapFlags* self);
VALA_EXTERN GDateTime* geary_imap_internal_date_get_value (GearyImapInternalDate* self);
VALA_EXTERN const gchar* geary_imap_internal_date_get_original (GearyImapInternalDate* self);
VALA_EXTERN GearyImapInternalDate* geary_imap_internal_date_new_from_date_time (GDateTime* datetime,
                                                                    GError** error);
VALA_EXTERN GearyImapInternalDate* geary_imap_internal_date_construct_from_date_time (GType object_type,
                                                                          GDateTime* datetime,
                                                                          GError** error);
VALA_EXTERN GearyImapInternalDate* geary_imap_internal_date_decode (const gchar* internaldate,
                                                        GError** error);
VALA_EXTERN GearyImapParameter* geary_imap_internal_date_to_parameter (GearyImapInternalDate* self);
VALA_EXTERN GearyImapParameter* geary_imap_internal_date_to_search_parameter (GearyImapInternalDate* self);
VALA_EXTERN gchar* geary_imap_internal_date_serialize (GearyImapInternalDate* self);
VALA_EXTERN gchar* geary_imap_internal_date_serialize_for_search (GearyImapInternalDate* self);
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_mailbox_specifier_get_inbox (void);
VALA_EXTERN const gchar* geary_imap_mailbox_specifier_get_name (GearyImapMailboxSpecifier* self);
VALA_EXTERN gboolean geary_imap_mailbox_specifier_get_is_inbox (GearyImapMailboxSpecifier* self);
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_mailbox_specifier_new (const gchar* name);
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_mailbox_specifier_construct (GType object_type,
                                                                   const gchar* name);
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_mailbox_specifier_new_from_parameter (GearyImapStringParameter* param);
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_mailbox_specifier_construct_from_parameter (GType object_type,
                                                                                  GearyImapStringParameter* param);
VALA_EXTERN gboolean geary_imap_mailbox_specifier_folder_path_is_inbox (GearyFolderPath* path);
VALA_EXTERN gboolean geary_imap_mailbox_specifier_is_inbox_name (const gchar* name);
VALA_EXTERN gboolean geary_imap_mailbox_specifier_is_canonical_inbox_name (const gchar* name);
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_mailbox_specifier_new_from_folder_path (GearyFolderPath* path,
                                                                              GearyImapMailboxSpecifier* inbox,
                                                                              const gchar* delim,
                                                                              GError** error);
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_mailbox_specifier_construct_from_folder_path (GType object_type,
                                                                                    GearyFolderPath* path,
                                                                                    GearyImapMailboxSpecifier* inbox,
                                                                                    const gchar* delim,
                                                                                    GError** error);
VALA_EXTERN GeeList* geary_imap_mailbox_specifier_to_list (GearyImapMailboxSpecifier* self,
                                               const gchar* delim);
VALA_EXTERN GearyFolderPath* geary_imap_mailbox_specifier_to_folder_path (GearyImapMailboxSpecifier* self,
                                                              GearyImapFolderRoot* root,
                                                              const gchar* delim,
                                                              GearyImapMailboxSpecifier* inbox_specifier);
VALA_EXTERN gchar* geary_imap_mailbox_specifier_get_basename (GearyImapMailboxSpecifier* self,
                                                  const gchar* delim);
VALA_EXTERN GearyImapParameter* geary_imap_mailbox_specifier_to_parameter (GearyImapMailboxSpecifier* self);
VALA_EXTERN gchar* geary_imap_mailbox_specifier_to_string (GearyImapMailboxSpecifier* self);
VALA_EXTERN GearyImapRFC822Size* geary_imap_rf_c822_size_new (gint64 value);
VALA_EXTERN GearyImapRFC822Size* geary_imap_rf_c822_size_construct (GType object_type,
                                                        gint64 value);
VALA_EXTERN GType geary_rf_c822_encoded_message_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822EncodedMessageData, g_object_unref)
VALA_EXTERN GType geary_imap_rf_c822_header_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapRFC822Header, g_object_unref)
VALA_EXTERN GearyImapRFC822Header* geary_imap_rf_c822_header_new (GearyMemoryBuffer* buffer,
                                                      GError** error);
VALA_EXTERN GearyImapRFC822Header* geary_imap_rf_c822_header_construct (GType object_type,
                                                            GearyMemoryBuffer* buffer,
                                                            GError** error);
VALA_EXTERN GType geary_imap_rf_c822_text_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapRFC822Text, g_object_unref)
VALA_EXTERN GearyImapRFC822Text* geary_imap_rf_c822_text_new (GearyMemoryBuffer* buffer);
VALA_EXTERN GearyImapRFC822Text* geary_imap_rf_c822_text_construct (GType object_type,
                                                        GearyMemoryBuffer* buffer);
VALA_EXTERN GType geary_rf_c822_full_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822Full, g_object_unref)
VALA_EXTERN GType geary_imap_rf_c822_full_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapRFC822Full, g_object_unref)
VALA_EXTERN GearyImapRFC822Full* geary_imap_rf_c822_full_new (GearyMemoryBuffer* buffer);
VALA_EXTERN GearyImapRFC822Full* geary_imap_rf_c822_full_construct (GType object_type,
                                                        GearyMemoryBuffer* buffer);
VALA_EXTERN GearyImapMessageFlag* geary_imap_message_flag_get_ANSWERED (void);
VALA_EXTERN GearyImapMessageFlag* geary_imap_message_flag_get_DELETED (void);
VALA_EXTERN GearyImapMessageFlag* geary_imap_message_flag_get_DRAFT (void);
VALA_EXTERN GearyImapMessageFlag* geary_imap_message_flag_get_FLAGGED (void);
VALA_EXTERN GearyImapMessageFlag* geary_imap_message_flag_get_RECENT (void);
VALA_EXTERN GearyImapMessageFlag* geary_imap_message_flag_get_SEEN (void);
VALA_EXTERN GearyImapMessageFlag* geary_imap_message_flag_get_ALLOWS_NEW (void);
VALA_EXTERN GearyImapMessageFlag* geary_imap_message_flag_get_LOAD_REMOTE_IMAGES (void);
VALA_EXTERN GearyImapMessageFlag* geary_imap_message_flag_new (const gchar* value);
VALA_EXTERN GearyImapMessageFlag* geary_imap_message_flag_construct (GType object_type,
                                                         const gchar* value);
VALA_EXTERN void geary_imap_message_flag_from_email_flags (GearyEmailFlags* email_flags_add,
                                               GearyEmailFlags* email_flags_remove,
                                               GeeList** msg_flags_add,
                                               GeeList** msg_flags_remove);
VALA_EXTERN gchar* geary_imap_message_flag_get_search_keyword (GearyImapMessageFlag* self,
                                                   gboolean present);
VALA_EXTERN GearyImapMessageFlags* geary_imap_message_flags_new (GeeCollection* flags);
VALA_EXTERN GearyImapMessageFlags* geary_imap_message_flags_construct (GType object_type,
                                                           GeeCollection* flags);
VALA_EXTERN GearyImapMessageFlags* geary_imap_message_flags_from_list (GearyImapListParameter* listp,
                                                           GError** error);
VALA_EXTERN GearyImapMessageFlags* geary_imap_message_flags_deserialize (const gchar* str);
VALA_EXTERN GType geary_imap_namespace_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapNamespace, g_object_unref)
VALA_EXTERN const gchar* geary_imap_namespace_get_prefix (GearyImapNamespace* self);
VALA_EXTERN const gchar* geary_imap_namespace_get_delim (GearyImapNamespace* self);
VALA_EXTERN GearyImapNamespace* geary_imap_namespace_new (const gchar* prefix,
                                              const gchar* delim);
VALA_EXTERN GearyImapNamespace* geary_imap_namespace_construct (GType object_type,
                                                    const gchar* prefix,
                                                    const gchar* delim);
VALA_EXTERN gchar* geary_imap_namespace_to_string (GearyImapNamespace* self);
VALA_EXTERN GearyImapSequenceNumber* geary_imap_sequence_number_new (gint64 value);
VALA_EXTERN GearyImapSequenceNumber* geary_imap_sequence_number_construct (GType object_type,
                                                               gint64 value);
VALA_EXTERN GearyImapSequenceNumber* geary_imap_sequence_number_new_checked (gint64 value,
                                                                 GError** error);
VALA_EXTERN GearyImapSequenceNumber* geary_imap_sequence_number_construct_checked (GType object_type,
                                                                       gint64 value,
                                                                       GError** error);
VALA_EXTERN gboolean geary_imap_sequence_number_is_value_valid (gint64 value);
VALA_EXTERN gboolean geary_imap_sequence_number_is_valid (GearyImapSequenceNumber* self);
VALA_EXTERN GearyImapSequenceNumber* geary_imap_sequence_number_dec (GearyImapSequenceNumber* self);
VALA_EXTERN GearyImapSequenceNumber* geary_imap_sequence_number_dec_clamped (GearyImapSequenceNumber* self);
VALA_EXTERN GearyImapSequenceNumber* geary_imap_sequence_number_shift_for_removed (GearyImapSequenceNumber* self,
                                                                       GearyImapSequenceNumber* removed);
VALA_EXTERN gint geary_imap_sequence_number_compare_to (GearyImapSequenceNumber* self,
                                            GearyImapSequenceNumber* other);
VALA_EXTERN gchar* geary_imap_sequence_number_serialize (GearyImapSequenceNumber* self);
VALA_EXTERN GearyImapStatusDataType* geary_imap_status_data_type_all (gint* result_length1);
VALA_EXTERN gchar* geary_imap_status_data_type_to_string (GearyImapStatusDataType self);
VALA_EXTERN GearyImapStatusDataType geary_imap_status_data_type_from_parameter (GearyImapStringParameter* stringp,
                                                                    GError** error);
VALA_EXTERN GearyImapStringParameter* geary_imap_status_data_type_to_parameter (GearyImapStatusDataType self);
VALA_EXTERN GearyImapTag* geary_imap_tag_new (const gchar* ascii);
VALA_EXTERN GearyImapTag* geary_imap_tag_construct (GType object_type,
                                        const gchar* ascii);
VALA_EXTERN GearyImapTag* geary_imap_tag_new_from_parameter (GearyImapStringParameter* strparam);
VALA_EXTERN GearyImapTag* geary_imap_tag_construct_from_parameter (GType object_type,
                                                       GearyImapStringParameter* strparam);
VALA_EXTERN GearyImapTag* geary_imap_tag_get_untagged (void);
VALA_EXTERN GearyImapTag* geary_imap_tag_get_continuation (void);
VALA_EXTERN GearyImapTag* geary_imap_tag_get_unassigned (void);
VALA_EXTERN gboolean geary_imap_tag_is_tag (GearyImapStringParameter* stringp);
VALA_EXTERN gboolean geary_imap_tag_is_tagged (GearyImapTag* self);
VALA_EXTERN gboolean geary_imap_tag_is_continuation (GearyImapTag* self);
VALA_EXTERN gboolean geary_imap_tag_is_assigned (GearyImapTag* self);
VALA_EXTERN GearyImapUID* geary_imap_uid_new (gint64 value);
VALA_EXTERN GearyImapUID* geary_imap_uid_construct (GType object_type,
                                        gint64 value);
VALA_EXTERN GearyImapUID* geary_imap_uid_new_checked (gint64 value,
                                          GError** error);
VALA_EXTERN GearyImapUID* geary_imap_uid_construct_checked (GType object_type,
                                                gint64 value,
                                                GError** error);
VALA_EXTERN gboolean geary_imap_uid_is_valid (GearyImapUID* self);
VALA_EXTERN gboolean geary_imap_uid_is_value_valid (gint64 val);
VALA_EXTERN GearyImapUID* geary_imap_uid_next (GearyImapUID* self,
                                   gboolean clamped);
VALA_EXTERN GearyImapUID* geary_imap_uid_previous (GearyImapUID* self,
                                       gboolean clamped);
VALA_EXTERN gint geary_imap_uid_compare_to (GearyImapUID* self,
                                GearyImapUID* other);
VALA_EXTERN gchar* geary_imap_uid_serialize (GearyImapUID* self);
VALA_EXTERN GearyImapUIDValidity* geary_imap_uid_validity_new (gint64 value);
VALA_EXTERN GearyImapUIDValidity* geary_imap_uid_validity_construct (GType object_type,
                                                         gint64 value);
VALA_EXTERN GearyImapUIDValidity* geary_imap_uid_validity_new_checked (gint64 value,
                                                           GError** error);
VALA_EXTERN GearyImapUIDValidity* geary_imap_uid_validity_construct_checked (GType object_type,
                                                                 gint64 value,
                                                                 GError** error);
VALA_EXTERN gboolean geary_imap_uid_validity_is_valid (GearyImapUIDValidity* self);
VALA_EXTERN gboolean geary_imap_uid_validity_is_value_valid (gint64 val);
VALA_EXTERN GearyImapAtomParameter* geary_imap_atom_parameter_new (const gchar* value);
VALA_EXTERN GearyImapAtomParameter* geary_imap_atom_parameter_construct (GType object_type,
                                                             const gchar* value);
VALA_EXTERN gint geary_imap_list_parameter_get_size (GearyImapListParameter* self);
VALA_EXTERN GearyImapListParameter* geary_imap_list_parameter_new (void);
VALA_EXTERN GearyImapListParameter* geary_imap_list_parameter_construct (GType object_type);
VALA_EXTERN GearyImapListParameter* geary_imap_list_parameter_new_single (GearyImapParameter* param);
VALA_EXTERN GearyImapListParameter* geary_imap_list_parameter_construct_single (GType object_type,
                                                                    GearyImapParameter* param);
VALA_EXTERN gboolean geary_imap_list_parameter_add (GearyImapListParameter* self,
                                        GearyImapParameter* param);
VALA_EXTERN gint geary_imap_list_parameter_add_all (GearyImapListParameter* self,
                                        GeeCollection* params);
VALA_EXTERN gint geary_imap_list_parameter_extend (GearyImapListParameter* self,
                                       GearyImapListParameter* listp);
VALA_EXTERN void geary_imap_list_parameter_clear (GearyImapListParameter* self);
VALA_EXTERN GearyImapParameter* geary_imap_list_parameter_get (GearyImapListParameter* self,
                                                   gint index);
VALA_EXTERN GearyImapParameter* geary_imap_list_parameter_get_required (GearyImapListParameter* self,
                                                            gint index,
                                                            GError** error);
VALA_EXTERN GearyImapParameter* geary_imap_list_parameter_get_as (GearyImapListParameter* self,
                                                      gint index,
                                                      GType type,
                                                      GError** error);
VALA_EXTERN GearyImapParameter* geary_imap_list_parameter_get_as_nullable (GearyImapListParameter* self,
                                                               gint index,
                                                               GType type,
                                                               GError** error);
VALA_EXTERN GearyImapParameter* geary_imap_list_parameter_get_if (GearyImapListParameter* self,
                                                      gint index,
                                                      GType type);
VALA_EXTERN GearyImapStringParameter* geary_imap_list_parameter_get_if_string (GearyImapListParameter* self,
                                                                   gint index);
VALA_EXTERN GearyImapStringParameter* geary_imap_list_parameter_get_as_string (GearyImapListParameter* self,
                                                                   gint index,
                                                                   GError** error);
VALA_EXTERN GearyImapStringParameter* geary_imap_list_parameter_get_as_nullable_string (GearyImapListParameter* self,
                                                                            gint index,
                                                                            GError** error);
VALA_EXTERN GearyImapStringParameter* geary_imap_list_parameter_get_as_empty_string (GearyImapListParameter* self,
                                                                         gint index,
                                                                         GError** error);
VALA_EXTERN GType geary_imap_number_parameter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapNumberParameter, g_object_unref)
VALA_EXTERN GearyImapNumberParameter* geary_imap_list_parameter_get_if_number (GearyImapListParameter* self,
                                                                   gint index);
VALA_EXTERN GearyImapNumberParameter* geary_imap_list_parameter_get_as_number (GearyImapListParameter* self,
                                                                   gint index,
                                                                   GError** error);
VALA_EXTERN GearyImapListParameter* geary_imap_list_parameter_get_as_list (GearyImapListParameter* self,
                                                               gint index,
                                                               GError** error);
VALA_EXTERN GearyImapListParameter* geary_imap_list_parameter_get_as_nullable_list (GearyImapListParameter* self,
                                                                        gint index,
                                                                        GError** error);
VALA_EXTERN GearyImapListParameter* geary_imap_list_parameter_get_as_empty_list (GearyImapListParameter* self,
                                                                     gint index,
                                                                     GError** error);
VALA_EXTERN GearyImapListParameter* geary_imap_list_parameter_get_if_list (GearyImapListParameter* self,
                                                               gint index);
VALA_EXTERN GType geary_imap_literal_parameter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapLiteralParameter, g_object_unref)
VALA_EXTERN GearyImapLiteralParameter* geary_imap_list_parameter_get_as_literal (GearyImapListParameter* self,
                                                                     gint index,
                                                                     GError** error);
VALA_EXTERN GearyImapLiteralParameter* geary_imap_list_parameter_get_as_nullable_literal (GearyImapListParameter* self,
                                                                              gint index,
                                                                              GError** error);
VALA_EXTERN GearyImapLiteralParameter* geary_imap_list_parameter_get_if_literal (GearyImapListParameter* self,
                                                                     gint index);
VALA_EXTERN GearyImapLiteralParameter* geary_imap_list_parameter_get_as_empty_literal (GearyImapListParameter* self,
                                                                           gint index,
                                                                           GError** error);
VALA_EXTERN GearyMemoryBuffer* geary_imap_list_parameter_get_as_nullable_buffer (GearyImapListParameter* self,
                                                                     gint index,
                                                                     GError** error);
VALA_EXTERN GearyMemoryBuffer* geary_imap_list_parameter_get_as_empty_buffer (GearyImapListParameter* self,
                                                                  gint index,
                                                                  GError** error);
VALA_EXTERN GeeList* geary_imap_list_parameter_get_all (GearyImapListParameter* self);
VALA_EXTERN GearyImapParameter* geary_imap_list_parameter_replace (GearyImapListParameter* self,
                                                       gint index,
                                                       GearyImapParameter* parameter,
                                                       GError** error);
VALA_EXTERN void geary_imap_list_parameter_adopt_children (GearyImapListParameter* self,
                                               GearyImapListParameter* src);
VALA_EXTERN gchar* geary_imap_list_parameter_stringize_list (GearyImapListParameter* self);
VALA_EXTERN void geary_imap_list_parameter_serialize_list (GearyImapListParameter* self,
                                               GearyImapSerializer* ser,
                                               GCancellable* cancellable,
                                               GError** error);
VALA_EXTERN GearyMemoryBuffer* geary_imap_literal_parameter_get_value (GearyImapLiteralParameter* self);
VALA_EXTERN GearyImapLiteralParameter* geary_imap_literal_parameter_new (GearyMemoryBuffer* value);
VALA_EXTERN GearyImapLiteralParameter* geary_imap_literal_parameter_construct (GType object_type,
                                                                   GearyMemoryBuffer* value);
VALA_EXTERN GearyImapStringParameter* geary_imap_literal_parameter_coerce_to_string_parameter (GearyImapLiteralParameter* self);
VALA_EXTERN GType geary_imap_nil_parameter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapNilParameter, g_object_unref)
VALA_EXTERN GearyImapNilParameter* geary_imap_nil_parameter_get_instance (void);
VALA_EXTERN gboolean geary_imap_nil_parameter_is_nil (GearyImapStringParameter* stringp);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_new (gint num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_construct (GType object_type,
                                                                 gint num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_new_uint (guint num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_construct_uint (GType object_type,
                                                                      guint num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_new_int32 (gint32 num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_construct_int32 (GType object_type,
                                                                       gint32 num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_new_uint32 (guint32 num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_construct_uint32 (GType object_type,
                                                                        guint32 num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_new_int64 (gint64 num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_construct_int64 (GType object_type,
                                                                       gint64 num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_new_uint64 (guint64 num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_construct_uint64 (GType object_type,
                                                                        guint64 num);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_new_from_ascii (const gchar* ascii);
VALA_EXTERN GearyImapNumberParameter* geary_imap_number_parameter_construct_from_ascii (GType object_type,
                                                                            const gchar* ascii);
VALA_EXTERN gboolean geary_imap_number_parameter_is_ascii_numeric (const gchar* ascii,
                                                       gboolean* is_negative);
VALA_EXTERN GearyImapParameter* geary_imap_parameter_get_for_string (const gchar* value);
VALA_EXTERN void geary_imap_parameter_serialize (GearyImapParameter* self,
                                     GearyImapSerializer* ser,
                                     GCancellable* cancellable,
                                     GError** error);
VALA_EXTERN gchar* geary_imap_parameter_to_string (GearyImapParameter* self);
VALA_EXTERN GearyImapParameter* geary_imap_parameter_construct (GType object_type);
VALA_EXTERN GType geary_imap_quoted_string_parameter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapQuotedStringParameter, g_object_unref)
VALA_EXTERN GearyImapQuotedStringParameter* geary_imap_quoted_string_parameter_new (const gchar* ascii);
VALA_EXTERN GearyImapQuotedStringParameter* geary_imap_quoted_string_parameter_construct (GType object_type,
                                                                              const gchar* ascii);
VALA_EXTERN GearyImapRootParameters* geary_imap_root_parameters_new (void);
VALA_EXTERN GearyImapRootParameters* geary_imap_root_parameters_construct (GType object_type);
VALA_EXTERN GearyImapRootParameters* geary_imap_root_parameters_new_migrate (GearyImapRootParameters* root);
VALA_EXTERN GearyImapRootParameters* geary_imap_root_parameters_construct_migrate (GType object_type,
                                                                       GearyImapRootParameters* root);
VALA_EXTERN GearyImapTag* geary_imap_root_parameters_get_tag (GearyImapRootParameters* self);
VALA_EXTERN gboolean geary_imap_root_parameters_has_tag (GearyImapRootParameters* self);
VALA_EXTERN const gchar* geary_imap_string_parameter_get_ascii (GearyImapStringParameter* self);
VALA_EXTERN const gchar* geary_imap_string_parameter_get_nullable_ascii (GearyImapStringParameter* self);
VALA_EXTERN GearyImapStringParameter* geary_imap_string_parameter_construct (GType object_type,
                                                                 const gchar* ascii);
VALA_EXTERN GearyImapStringParameter* geary_imap_string_parameter_get_best_for (const gchar* value,
                                                                    GError** error);
VALA_EXTERN GearyImapStringParameter* geary_imap_string_parameter_get_best_for_unchecked (const gchar* value);
VALA_EXTERN GearyImapStringParameter* geary_imap_string_parameter_try_get_best_for (const gchar* value);
VALA_EXTERN void geary_imap_string_parameter_serialize_string (GearyImapStringParameter* self,
                                                   GearyImapSerializer* ser,
                                                   GCancellable* cancellable,
                                                   GError** error);
VALA_EXTERN GearyMemoryBuffer* geary_imap_string_parameter_as_buffer (GearyImapStringParameter* self);
VALA_EXTERN gboolean geary_imap_string_parameter_is_empty (GearyImapStringParameter* self);
VALA_EXTERN gboolean geary_imap_string_parameter_equals_cs (GearyImapStringParameter* self,
                                                const gchar* value);
VALA_EXTERN gboolean geary_imap_string_parameter_equals_ci (GearyImapStringParameter* self,
                                                const gchar* value);
VALA_EXTERN gchar* geary_imap_string_parameter_as_lower (GearyImapStringParameter* self);
VALA_EXTERN gchar* geary_imap_string_parameter_as_upper (GearyImapStringParameter* self);
VALA_EXTERN gint32 geary_imap_string_parameter_as_int32 (GearyImapStringParameter* self,
                                             gint32 clamp_min,
                                             gint32 clamp_max,
                                             GError** error);
VALA_EXTERN gint64 geary_imap_string_parameter_as_int64 (GearyImapStringParameter* self,
                                             gint64 clamp_min,
                                             gint64 clamp_max,
                                             GError** error);
VALA_EXTERN GearyImapNumberParameter* geary_imap_string_parameter_coerce_to_number_parameter (GearyImapStringParameter* self);
VALA_EXTERN GearyImapUnquotedStringParameter* geary_imap_unquoted_string_parameter_new (const gchar* ascii);
VALA_EXTERN GearyImapUnquotedStringParameter* geary_imap_unquoted_string_parameter_construct (GType object_type,
                                                                                  const gchar* ascii);
VALA_EXTERN GearyImapContinuationResponse* geary_imap_continuation_response_new_migrate (GearyImapRootParameters* root,
                                                                             GearyImapQuirks* quirks,
                                                                             GError** error);
VALA_EXTERN GearyImapContinuationResponse* geary_imap_continuation_response_construct_migrate (GType object_type,
                                                                                   GearyImapRootParameters* root,
                                                                                   GearyImapQuirks* quirks,
                                                                                   GError** error);
VALA_EXTERN gboolean geary_imap_continuation_response_is_continuation_response (GearyImapRootParameters* root);
VALA_EXTERN GearyImapFetchDataSpecifier geary_imap_fetch_data_decoder_get_data_item (GearyImapFetchDataDecoder* self);
VALA_EXTERN GearyImapFetchDataDecoder* geary_imap_fetch_data_decoder_construct (GType object_type,
                                                                    GearyImapFetchDataSpecifier data_item);
VALA_EXTERN GearyImapMessageData* geary_imap_fetch_data_decoder_decode (GearyImapFetchDataDecoder* self,
                                                            GearyImapParameter* param,
                                                            GError** error);
VALA_EXTERN GearyImapMessageData* geary_imap_fetch_data_decoder_decode_string (GearyImapFetchDataDecoder* self,
                                                                   GearyImapStringParameter* param,
                                                                   GError** error);
VALA_EXTERN GearyImapMessageData* geary_imap_fetch_data_decoder_decode_list (GearyImapFetchDataDecoder* self,
                                                                 GearyImapListParameter* list,
                                                                 GError** error);
VALA_EXTERN GearyImapMessageData* geary_imap_fetch_data_decoder_decode_literal (GearyImapFetchDataDecoder* self,
                                                                    GearyImapLiteralParameter* literal,
                                                                    GError** error);
VALA_EXTERN GearyImapMessageData* geary_imap_fetch_data_decoder_decode_nil (GearyImapFetchDataDecoder* self,
                                                                GearyImapNilParameter* nil,
                                                                GError** error);
VALA_EXTERN GType geary_imap_uid_decoder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapUIDDecoder, g_object_unref)
VALA_EXTERN GearyImapUIDDecoder* geary_imap_uid_decoder_new (void);
VALA_EXTERN GearyImapUIDDecoder* geary_imap_uid_decoder_construct (GType object_type);
VALA_EXTERN GType geary_imap_message_flags_decoder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapMessageFlagsDecoder, g_object_unref)
VALA_EXTERN GearyImapMessageFlagsDecoder* geary_imap_message_flags_decoder_new (void);
VALA_EXTERN GearyImapMessageFlagsDecoder* geary_imap_message_flags_decoder_construct (GType object_type);
VALA_EXTERN GType geary_imap_internal_date_decoder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapInternalDateDecoder, g_object_unref)
VALA_EXTERN GearyImapInternalDateDecoder* geary_imap_internal_date_decoder_new (void);
VALA_EXTERN GearyImapInternalDateDecoder* geary_imap_internal_date_decoder_construct (GType object_type);
VALA_EXTERN GType geary_imap_rf_c822_size_decoder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapRFC822SizeDecoder, g_object_unref)
VALA_EXTERN GearyImapRFC822SizeDecoder* geary_imap_rf_c822_size_decoder_new (void);
VALA_EXTERN GearyImapRFC822SizeDecoder* geary_imap_rf_c822_size_decoder_construct (GType object_type);
VALA_EXTERN GType geary_imap_envelope_decoder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapEnvelopeDecoder, g_object_unref)
VALA_EXTERN GearyImapEnvelopeDecoder* geary_imap_envelope_decoder_new (GearyImapQuirks* quirks);
VALA_EXTERN GearyImapEnvelopeDecoder* geary_imap_envelope_decoder_construct (GType object_type,
                                                                 GearyImapQuirks* quirks);
VALA_EXTERN GType geary_imap_rf_c822_header_decoder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapRFC822HeaderDecoder, g_object_unref)
VALA_EXTERN GearyImapRFC822HeaderDecoder* geary_imap_rf_c822_header_decoder_new (void);
VALA_EXTERN GearyImapRFC822HeaderDecoder* geary_imap_rf_c822_header_decoder_construct (GType object_type);
VALA_EXTERN GType geary_imap_rf_c822_text_decoder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapRFC822TextDecoder, g_object_unref)
VALA_EXTERN GearyImapRFC822TextDecoder* geary_imap_rf_c822_text_decoder_new (void);
VALA_EXTERN GearyImapRFC822TextDecoder* geary_imap_rf_c822_text_decoder_construct (GType object_type);
VALA_EXTERN GType geary_imap_rf_c822_full_decoder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapRFC822FullDecoder, g_object_unref)
VALA_EXTERN GearyImapRFC822FullDecoder* geary_imap_rf_c822_full_decoder_new (void);
VALA_EXTERN GearyImapRFC822FullDecoder* geary_imap_rf_c822_full_decoder_construct (GType object_type);
VALA_EXTERN GType geary_imap_fetched_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapFetchedData, g_object_unref)
VALA_EXTERN GearyImapSequenceNumber* geary_imap_fetched_data_get_seq_num (GearyImapFetchedData* self);
VALA_EXTERN GeeMap* geary_imap_fetched_data_get_data_map (GearyImapFetchedData* self);
VALA_EXTERN GeeMap* geary_imap_fetched_data_get_body_data_map (GearyImapFetchedData* self);
VALA_EXTERN GearyImapFetchedData* geary_imap_fetched_data_new (GearyImapSequenceNumber* seq_num);
VALA_EXTERN GearyImapFetchedData* geary_imap_fetched_data_construct (GType object_type,
                                                         GearyImapSequenceNumber* seq_num);
VALA_EXTERN GearyImapFetchedData* geary_imap_fetched_data_decode (GearyImapServerData* server_data,
                                                      GError** error);
VALA_EXTERN GearyImapFetchedData* geary_imap_fetched_data_combine (GearyImapFetchedData* self,
                                                       GearyImapFetchedData* other);
VALA_EXTERN gchar* geary_imap_fetched_data_to_string (GearyImapFetchedData* self);
VALA_EXTERN GType geary_imap_mailbox_attribute_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapMailboxAttribute, g_object_unref)
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_NO_INFERIORS (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_NONEXISTENT (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_NO_SELECT (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_MARKED (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_UNMARKED (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_HAS_NO_CHILDREN (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_HAS_CHILDREN (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_ALLOWS_NEW (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_SPECIAL_FOLDER_ALL (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_SPECIAL_FOLDER_ARCHIVE (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_SPECIAL_FOLDER_DRAFTS (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_SPECIAL_FOLDER_FLAGGED (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_SPECIAL_FOLDER_IMPORTANT (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_SPECIAL_FOLDER_JUNK (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_SPECIAL_FOLDER_SENT (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_SPECIAL_FOLDER_TRASH (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_XLIST_INBOX (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_XLIST_ALL_MAIL (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_XLIST_SPAM (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_get_XLIST_STARRED (void);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_new (const gchar* value);
VALA_EXTERN GearyImapMailboxAttribute* geary_imap_mailbox_attribute_construct (GType object_type,
                                                                   const gchar* value);
VALA_EXTERN gboolean geary_imap_mailbox_attributes_get_is_no_select (GearyImapMailboxAttributes* self);
VALA_EXTERN GearyImapMailboxAttributes* geary_imap_mailbox_attributes_new (GeeCollection* attrs);
VALA_EXTERN GearyImapMailboxAttributes* geary_imap_mailbox_attributes_construct (GType object_type,
                                                                     GeeCollection* attrs);
VALA_EXTERN GearyImapMailboxAttributes* geary_imap_mailbox_attributes_from_list (GearyImapListParameter* listp,
                                                                     GError** error);
VALA_EXTERN GearyImapMailboxAttributes* geary_imap_mailbox_attributes_deserialize (const gchar* str);
VALA_EXTERN GearyFolderSpecialUse geary_imap_mailbox_attributes_get_special_use (GearyImapMailboxAttributes* self);
VALA_EXTERN GType geary_imap_mailbox_information_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapMailboxInformation, g_object_unref)
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_mailbox_information_get_mailbox (GearyImapMailboxInformation* self);
VALA_EXTERN const gchar* geary_imap_mailbox_information_get_delim (GearyImapMailboxInformation* self);
VALA_EXTERN GearyImapMailboxAttributes* geary_imap_mailbox_information_get_attrs (GearyImapMailboxInformation* self);
VALA_EXTERN GearyImapMailboxInformation* geary_imap_mailbox_information_new (GearyImapMailboxSpecifier* mailbox,
                                                                 const gchar* delim,
                                                                 GearyImapMailboxAttributes* attrs);
VALA_EXTERN GearyImapMailboxInformation* geary_imap_mailbox_information_construct (GType object_type,
                                                                       GearyImapMailboxSpecifier* mailbox,
                                                                       const gchar* delim,
                                                                       GearyImapMailboxAttributes* attrs);
VALA_EXTERN GearyImapMailboxInformation* geary_imap_mailbox_information_decode (GearyImapServerData* server_data,
                                                                    gboolean canonical_inbox,
                                                                    GError** error);
VALA_EXTERN gchar* geary_imap_mailbox_information_to_string (GearyImapMailboxInformation* self);
VALA_EXTERN GType geary_imap_namespace_response_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapNamespaceResponse, g_object_unref)
VALA_EXTERN GeeList* geary_imap_namespace_response_get_personal (GearyImapNamespaceResponse* self);
VALA_EXTERN GeeList* geary_imap_namespace_response_get_user (GearyImapNamespaceResponse* self);
VALA_EXTERN GeeList* geary_imap_namespace_response_get_shared (GearyImapNamespaceResponse* self);
VALA_EXTERN GearyImapNamespaceResponse* geary_imap_namespace_response_decode (GearyImapServerData* server_data,
                                                                  GError** error);
VALA_EXTERN GearyImapNamespaceResponse* geary_imap_namespace_response_new (GeeList* personal,
                                                               GeeList* user,
                                                               GeeList* shared);
VALA_EXTERN GearyImapNamespaceResponse* geary_imap_namespace_response_construct (GType object_type,
                                                                     GeeList* personal,
                                                                     GeeList* user,
                                                                     GeeList* shared);
VALA_EXTERN GType geary_imap_response_code_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapResponseCode, g_object_unref)
VALA_EXTERN GearyImapResponseCode* geary_imap_response_code_new (void);
VALA_EXTERN GearyImapResponseCode* geary_imap_response_code_construct (GType object_type);
VALA_EXTERN GType geary_imap_response_code_type_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapResponseCodeType, g_object_unref)
VALA_EXTERN GearyImapResponseCodeType* geary_imap_response_code_get_response_code_type (GearyImapResponseCode* self,
                                                                            GError** error);
VALA_EXTERN GearyImapUID* geary_imap_response_code_get_uid_next (GearyImapResponseCode* self,
                                                     GError** error);
VALA_EXTERN GearyImapUIDValidity* geary_imap_response_code_get_uid_validity (GearyImapResponseCode* self,
                                                                 GError** error);
VALA_EXTERN gint geary_imap_response_code_get_unseen (GearyImapResponseCode* self,
                                          GError** error);
VALA_EXTERN GearyImapMessageFlags* geary_imap_response_code_get_permanent_flags (GearyImapResponseCode* self,
                                                                     GError** error);
VALA_EXTERN GearyImapCapabilities* geary_imap_response_code_get_capabilities (GearyImapResponseCode* self,
                                                                  gint revision,
                                                                  GError** error);
VALA_EXTERN void geary_imap_response_code_get_copyuid (GearyImapResponseCode* self,
                                           GearyImapUIDValidity** uidvalidity,
                                           GeeList** source_uids,
                                           GeeList** destination_uids,
                                           GError** error);
VALA_EXTERN const gchar* geary_imap_response_code_type_get_original (GearyImapResponseCodeType* self);
VALA_EXTERN const gchar* geary_imap_response_code_type_get_value (GearyImapResponseCodeType* self);
VALA_EXTERN GearyImapResponseCodeType* geary_imap_response_code_type_new (const gchar* value,
                                                              GError** error);
VALA_EXTERN GearyImapResponseCodeType* geary_imap_response_code_type_construct (GType object_type,
                                                                    const gchar* value,
                                                                    GError** error);
VALA_EXTERN GearyImapResponseCodeType* geary_imap_response_code_type_new_from_parameter (GearyImapStringParameter* stringp,
                                                                             GError** error);
VALA_EXTERN GearyImapResponseCodeType* geary_imap_response_code_type_construct_from_parameter (GType object_type,
                                                                                   GearyImapStringParameter* stringp,
                                                                                   GError** error);
VALA_EXTERN gboolean geary_imap_response_code_type_is_value (GearyImapResponseCodeType* self,
                                                 const gchar* str);
VALA_EXTERN GearyImapStringParameter* geary_imap_response_code_type_to_parameter (GearyImapResponseCodeType* self);
VALA_EXTERN gchar* geary_imap_response_code_type_to_string (GearyImapResponseCodeType* self);
VALA_EXTERN GType geary_imap_server_data_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyImapServerDataType geary_imap_server_data_get_server_data_type (GearyImapServerData* self);
VALA_EXTERN GearyImapServerData* geary_imap_server_data_new_migrate (GearyImapRootParameters* root,
                                                         GearyImapQuirks* quirks,
                                                         GError** error);
VALA_EXTERN GearyImapServerData* geary_imap_server_data_construct_migrate (GType object_type,
                                                               GearyImapRootParameters* root,
                                                               GearyImapQuirks* quirks,
                                                               GError** error);
VALA_EXTERN gboolean geary_imap_server_data_is_server_data (GearyImapRootParameters* root);
VALA_EXTERN GearyImapCapabilities* geary_imap_server_data_get_capabilities (GearyImapServerData* self,
                                                                gint revision,
                                                                GError** error);
VALA_EXTERN gint geary_imap_server_data_get_exists (GearyImapServerData* self,
                                        GError** error);
VALA_EXTERN GearyImapSequenceNumber* geary_imap_server_data_get_expunge (GearyImapServerData* self,
                                                             GError** error);
VALA_EXTERN GearyImapFetchedData* geary_imap_server_data_get_fetch (GearyImapServerData* self,
                                                        GError** error);
VALA_EXTERN GearyImapMailboxAttributes* geary_imap_server_data_get_flags (GearyImapServerData* self,
                                                              GError** error);
VALA_EXTERN GearyImapMailboxInformation* geary_imap_server_data_get_list (GearyImapServerData* self,
                                                              GError** error);
VALA_EXTERN GearyImapNamespaceResponse* geary_imap_server_data_get_namespace (GearyImapServerData* self,
                                                                  GError** error);
VALA_EXTERN gint geary_imap_server_data_get_recent (GearyImapServerData* self,
                                        GError** error);
VALA_EXTERN gint64* geary_imap_server_data_get_search (GearyImapServerData* self,
                                           gint* result_length1,
                                           GError** error);
VALA_EXTERN GearyImapStatusData* geary_imap_server_data_get_status (GearyImapServerData* self,
                                                        GError** error);
VALA_EXTERN gchar* geary_imap_server_data_type_to_string (GearyImapServerDataType self);
VALA_EXTERN GearyImapServerDataType geary_imap_server_data_type_from_parameter (GearyImapStringParameter* param,
                                                                    GError** error);
VALA_EXTERN GearyImapStringParameter* geary_imap_server_data_type_to_parameter (GearyImapServerDataType self);
VALA_EXTERN GearyImapServerDataType geary_imap_server_data_type_from_response (GearyImapRootParameters* root,
                                                                   GError** error);
VALA_EXTERN GearyImapTag* geary_imap_server_response_get_tag (GearyImapServerResponse* self);
VALA_EXTERN GearyImapQuirks* geary_imap_server_response_get_quirks (GearyImapServerResponse* self);
VALA_EXTERN GearyImapServerResponse* geary_imap_server_response_construct (GType object_type,
                                                               GearyImapTag* tag,
                                                               GearyImapQuirks* quirks);
VALA_EXTERN GearyImapServerResponse* geary_imap_server_response_construct_migrate (GType object_type,
                                                                       GearyImapRootParameters* root,
                                                                       GearyImapQuirks* quirks,
                                                                       GError** error);
VALA_EXTERN GType geary_imap_status_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* geary_imap_status_to_string (GearyImapStatus self);
VALA_EXTERN GearyImapStatus geary_imap_status_from_parameter (GearyImapStringParameter* strparam,
                                                  GError** error);
VALA_EXTERN GearyImapParameter* geary_imap_status_to_parameter (GearyImapStatus self);
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_status_data_get_mailbox (GearyImapStatusData* self);
VALA_EXTERN gint geary_imap_status_data_get_messages (GearyImapStatusData* self);
VALA_EXTERN gint geary_imap_status_data_get_recent (GearyImapStatusData* self);
VALA_EXTERN GearyImapUID* geary_imap_status_data_get_uid_next (GearyImapStatusData* self);
VALA_EXTERN GearyImapUIDValidity* geary_imap_status_data_get_uid_validity (GearyImapStatusData* self);
VALA_EXTERN gint geary_imap_status_data_get_unseen (GearyImapStatusData* self);
VALA_EXTERN GearyImapStatusData* geary_imap_status_data_new (GearyImapMailboxSpecifier* mailbox,
                                                 gint messages,
                                                 gint recent,
                                                 GearyImapUID* uid_next,
                                                 GearyImapUIDValidity* uid_validity,
                                                 gint unseen);
VALA_EXTERN GearyImapStatusData* geary_imap_status_data_construct (GType object_type,
                                                       GearyImapMailboxSpecifier* mailbox,
                                                       gint messages,
                                                       gint recent,
                                                       GearyImapUID* uid_next,
                                                       GearyImapUIDValidity* uid_validity,
                                                       gint unseen);
VALA_EXTERN GearyImapStatusData* geary_imap_status_data_decode (GearyImapServerData* server_data,
                                                    GError** error);
VALA_EXTERN gchar* geary_imap_status_data_to_string (GearyImapStatusData* self);
VALA_EXTERN gboolean geary_imap_status_response_get_is_completion (GearyImapStatusResponse* self);
VALA_EXTERN GearyImapStatus geary_imap_status_response_get_status (GearyImapStatusResponse* self);
VALA_EXTERN GearyImapResponseCode* geary_imap_status_response_get_response_code (GearyImapStatusResponse* self);
VALA_EXTERN GearyImapStatusResponse* geary_imap_status_response_new_migrate (GearyImapRootParameters* root,
                                                                 GearyImapQuirks* quirks,
                                                                 GError** error);
VALA_EXTERN GearyImapStatusResponse* geary_imap_status_response_construct_migrate (GType object_type,
                                                                       GearyImapRootParameters* root,
                                                                       GearyImapQuirks* quirks,
                                                                       GError** error);
VALA_EXTERN gchar* geary_imap_status_response_get_text (GearyImapStatusResponse* self);
VALA_EXTERN gboolean geary_imap_status_response_is_status_response (GearyImapRootParameters* root);
VALA_EXTERN GType geary_imap_client_connection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapClientConnection, g_object_unref)
VALA_EXTERN gboolean geary_imap_client_connection_get_idle_when_quiet (GearyImapClientConnection* self);
VALA_EXTERN GearyImapClientConnection* geary_imap_client_connection_new (GearyEndpoint* endpoint,
                                                             GearyImapQuirks* quirks,
                                                             guint command_timeout,
                                                             guint idle_timeout_sec);
VALA_EXTERN GearyImapClientConnection* geary_imap_client_connection_construct (GType object_type,
                                                                   GearyEndpoint* endpoint,
                                                                   GearyImapQuirks* quirks,
                                                                   guint command_timeout,
                                                                   guint idle_timeout_sec);
VALA_EXTERN GSocketAddress* geary_imap_client_connection_get_remote_address (GearyImapClientConnection* self,
                                                                 GError** error);
VALA_EXTERN GSocketAddress* geary_imap_client_connection_get_local_address (GearyImapClientConnection* self,
                                                                GError** error);
VALA_EXTERN gboolean geary_imap_client_connection_is_in_idle (GearyImapClientConnection* self);
VALA_EXTERN void geary_imap_client_connection_enable_idle_when_quiet (GearyImapClientConnection* self,
                                                          gboolean do_idle);
VALA_EXTERN void geary_imap_client_connection_connect_async (GearyImapClientConnection* self,
                                                 GCancellable* cancellable,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN void geary_imap_client_connection_connect_finish (GearyImapClientConnection* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN void geary_imap_client_connection_disconnect_async (GearyImapClientConnection* self,
                                                    GCancellable* cancellable,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN void geary_imap_client_connection_disconnect_finish (GearyImapClientConnection* self,
                                                     GAsyncResult* _res_,
                                                     GError** error);
VALA_EXTERN void geary_imap_client_connection_starttls_async (GearyImapClientConnection* self,
                                                  GCancellable* cancellable,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
VALA_EXTERN void geary_imap_client_connection_starttls_finish (GearyImapClientConnection* self,
                                                   GAsyncResult* _res_,
                                                   GError** error);
VALA_EXTERN void geary_imap_client_connection_send_command (GearyImapClientConnection* self,
                                                GearyImapCommand* new_command,
                                                GError** error);
VALA_EXTERN GType geary_imap_client_session_protocol_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_imap_client_session_disconnect_reason_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gboolean geary_imap_client_session_disconnect_reason_is_error (GearyImapClientSessionDisconnectReason self);
VALA_EXTERN gboolean geary_imap_client_session_disconnect_reason_is_remote (GearyImapClientSessionDisconnectReason self);
VALA_EXTERN GearyImapClientSessionProtocolState geary_imap_client_session_get_protocol_state (GearyImapClientSession* self);
VALA_EXTERN GearyImapClientSessionDisconnectReason geary_imap_client_session_get_disconnected (GearyImapClientSession* self);
VALA_EXTERN GearyImapCapabilities* geary_imap_client_session_get_capabilities (GearyImapClientSession* self);
VALA_EXTERN gboolean geary_imap_client_session_get_is_idle_supported (GearyImapClientSession* self);
VALA_EXTERN GearyImapStatusResponse* geary_imap_client_session_get_server_greeting (GearyImapClientSession* self);
VALA_EXTERN GearyImapClientSession* geary_imap_client_session_new (GearyEndpoint* imap_endpoint,
                                                       GearyImapQuirks* quirks);
VALA_EXTERN GearyImapClientSession* geary_imap_client_session_construct (GType object_type,
                                                             GearyEndpoint* imap_endpoint,
                                                             GearyImapQuirks* quirks);
VALA_EXTERN GeeList* geary_imap_client_session_get_personal_namespaces (GearyImapClientSession* self);
VALA_EXTERN GeeList* geary_imap_client_session_get_shared_namespaces (GearyImapClientSession* self);
VALA_EXTERN GeeList* geary_imap_client_session_get_other_users_namespaces (GearyImapClientSession* self);
VALA_EXTERN GearyImapMailboxSpecifier* geary_imap_client_session_get_mailbox_for_path (GearyImapClientSession* self,
                                                                           GearyFolderPath* path,
                                                                           GError** error);
VALA_EXTERN GearyFolderPath* geary_imap_client_session_get_path_for_mailbox (GearyImapClientSession* self,
                                                                 GearyImapFolderRoot* root,
                                                                 GearyImapMailboxSpecifier* mailbox,
                                                                 GError** error);
VALA_EXTERN gchar* geary_imap_client_session_get_delimiter_for_path (GearyImapClientSession* self,
                                                         GearyFolderPath* path,
                                                         GError** error);
VALA_EXTERN gchar* geary_imap_client_session_get_delimiter_for_mailbox (GearyImapClientSession* self,
                                                            GearyImapMailboxSpecifier* mailbox,
                                                            GError** error);
VALA_EXTERN void geary_imap_client_session_connect_async (GearyImapClientSession* self,
                                              guint greeting_timeout_sec,
                                              GCancellable* cancellable,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN void geary_imap_client_session_connect_finish (GearyImapClientSession* self,
                                               GAsyncResult* _res_,
                                               GError** error);
VALA_EXTERN void geary_imap_client_session_login_async (GearyImapClientSession* self,
                                            GearyCredentials* credentials,
                                            GCancellable* cancellable,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN GearyImapStatusResponse* geary_imap_client_session_login_finish (GearyImapClientSession* self,
                                                                 GAsyncResult* _res_,
                                                                 GError** error);
VALA_EXTERN void geary_imap_client_session_initiate_session_async (GearyImapClientSession* self,
                                                       GearyCredentials* credentials,
                                                       GCancellable* cancellable,
                                                       GAsyncReadyCallback _callback_,
                                                       gpointer _user_data_);
VALA_EXTERN void geary_imap_client_session_initiate_session_finish (GearyImapClientSession* self,
                                                        GAsyncResult* _res_,
                                                        GError** error);
VALA_EXTERN void geary_imap_client_session_enable_keepalives (GearyImapClientSession* self,
                                                  guint seconds_while_selected,
                                                  guint seconds_while_unselected,
                                                  guint seconds_while_selected_with_idle);
VALA_EXTERN gboolean geary_imap_client_session_disable_keepalives (GearyImapClientSession* self);
VALA_EXTERN void geary_imap_client_session_enable_idle (GearyImapClientSession* self,
                                            GError** error);
VALA_EXTERN void geary_imap_client_session_send_command_async (GearyImapClientSession* self,
                                                   GearyImapCommand* cmd,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_);
VALA_EXTERN GearyImapStatusResponse* geary_imap_client_session_send_command_finish (GearyImapClientSession* self,
                                                                        GAsyncResult* _res_,
                                                                        GError** error);
VALA_EXTERN void geary_imap_client_session_send_multiple_commands_async (GearyImapClientSession* self,
                                                             GeeCollection* cmds,
                                                             GCancellable* cancellable,
                                                             GAsyncReadyCallback _callback_,
                                                             gpointer _user_data_);
VALA_EXTERN GeeMap* geary_imap_client_session_send_multiple_commands_finish (GearyImapClientSession* self,
                                                                 GAsyncResult* _res_,
                                                                 GError** error);
VALA_EXTERN void geary_imap_client_session_select_async (GearyImapClientSession* self,
                                             GearyImapMailboxSpecifier* mailbox,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN GearyImapStatusResponse* geary_imap_client_session_select_finish (GearyImapClientSession* self,
                                                                  GAsyncResult* _res_,
                                                                  GError** error);
VALA_EXTERN void geary_imap_client_session_examine_async (GearyImapClientSession* self,
                                              GearyImapMailboxSpecifier* mailbox,
                                              GCancellable* cancellable,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN GearyImapStatusResponse* geary_imap_client_session_examine_finish (GearyImapClientSession* self,
                                                                   GAsyncResult* _res_,
                                                                   GError** error);
VALA_EXTERN void geary_imap_client_session_select_examine_async (GearyImapClientSession* self,
                                                     GearyImapMailboxSpecifier* mailbox,
                                                     gboolean is_select,
                                                     GCancellable* cancellable,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_);
VALA_EXTERN GearyImapStatusResponse* geary_imap_client_session_select_examine_finish (GearyImapClientSession* self,
                                                                          GAsyncResult* _res_,
                                                                          GError** error);
VALA_EXTERN void geary_imap_client_session_close_mailbox_async (GearyImapClientSession* self,
                                                    GCancellable* cancellable,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN GearyImapStatusResponse* geary_imap_client_session_close_mailbox_finish (GearyImapClientSession* self,
                                                                         GAsyncResult* _res_,
                                                                         GError** error);
VALA_EXTERN void geary_imap_client_session_logout_async (GearyImapClientSession* self,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void geary_imap_client_session_logout_finish (GearyImapClientSession* self,
                                              GAsyncResult* _res_,
                                              GError** error);
VALA_EXTERN void geary_imap_client_session_disconnect_async (GearyImapClientSession* self,
                                                 GCancellable* cancellable,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN void geary_imap_client_session_disconnect_finish (GearyImapClientSession* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN GType geary_imap_deserializer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapDeserializer, g_object_unref)
VALA_EXTERN GearyImapDeserializer* geary_imap_deserializer_new (const gchar* identifier,
                                                    GInputStream* input,
                                                    GearyImapQuirks* quirks);
VALA_EXTERN GearyImapDeserializer* geary_imap_deserializer_construct (GType object_type,
                                                          const gchar* identifier,
                                                          GInputStream* input,
                                                          GearyImapQuirks* quirks);
VALA_EXTERN void geary_imap_deserializer_start_async (GearyImapDeserializer* self,
                                          gint priority,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
VALA_EXTERN void geary_imap_deserializer_start_finish (GearyImapDeserializer* self,
                                           GAsyncResult* _res_,
                                           GError** error);
VALA_EXTERN void geary_imap_deserializer_stop_async (GearyImapDeserializer* self,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
VALA_EXTERN void geary_imap_deserializer_stop_finish (GearyImapDeserializer* self,
                                          GAsyncResult* _res_,
                                          GError** error);
VALA_EXTERN gboolean geary_imap_deserializer_is_halted (GearyImapDeserializer* self);
VALA_EXTERN GearyImapSerializer* geary_imap_serializer_new (GOutputStream* output);
VALA_EXTERN GearyImapSerializer* geary_imap_serializer_construct (GType object_type,
                                                      GOutputStream* output);
VALA_EXTERN void geary_imap_serializer_push_unquoted_string (GearyImapSerializer* self,
                                                 const gchar* str,
                                                 GCancellable* cancellable,
                                                 GError** error);
VALA_EXTERN void geary_imap_serializer_push_quoted_string (GearyImapSerializer* self,
                                               const gchar* str,
                                               GCancellable* cancellable,
                                               GError** error);
VALA_EXTERN void geary_imap_serializer_push_ascii (GearyImapSerializer* self,
                                       gchar ch,
                                       GCancellable* cancellable,
                                       GError** error);
VALA_EXTERN void geary_imap_serializer_push_space (GearyImapSerializer* self,
                                       GCancellable* cancellable,
                                       GError** error);
VALA_EXTERN void geary_imap_serializer_push_nil (GearyImapSerializer* self,
                                     GCancellable* cancellable,
                                     GError** error);
VALA_EXTERN void geary_imap_serializer_push_eol (GearyImapSerializer* self,
                                     GCancellable* cancellable,
                                     GError** error);
VALA_EXTERN void geary_imap_serializer_push_literal_data (GearyImapSerializer* self,
                                              guint8* buffer,
                                              gint buffer_length1,
                                              GCancellable* cancellable,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN void geary_imap_serializer_push_literal_data_finish (GearyImapSerializer* self,
                                                     GAsyncResult* _res_,
                                                     GError** error);
VALA_EXTERN void geary_imap_serializer_flush_stream (GearyImapSerializer* self,
                                         GCancellable* cancellable,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
VALA_EXTERN void geary_imap_serializer_flush_stream_finish (GearyImapSerializer* self,
                                                GAsyncResult* _res_,
                                                GError** error);
VALA_EXTERN void geary_imap_serializer_close_stream (GearyImapSerializer* self,
                                         GCancellable* cancellable,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
VALA_EXTERN void geary_imap_serializer_close_stream_finish (GearyImapSerializer* self,
                                                GAsyncResult* _res_,
                                                GError** error);
VALA_EXTERN GType geary_imap_engine_account_operation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapEngineAccountOperation, g_object_unref)
VALA_EXTERN GearyAccount* geary_imap_engine_account_operation_get_account (GearyImapEngineAccountOperation* self);
VALA_EXTERN GearyImapEngineAccountOperation* geary_imap_engine_account_operation_construct (GType object_type,
                                                                                GearyAccount* account);
VALA_EXTERN void geary_imap_engine_account_operation_execute (GearyImapEngineAccountOperation* self,
                                                  GCancellable* cancellable,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
VALA_EXTERN void geary_imap_engine_account_operation_execute_finish (GearyImapEngineAccountOperation* self,
                                                         GAsyncResult* _res_,
                                                         GError** error);
VALA_EXTERN gboolean geary_imap_engine_account_operation_equal_to (GearyImapEngineAccountOperation* self,
                                                       GearyImapEngineAccountOperation* op);
VALA_EXTERN GearyLoggingState* geary_imap_engine_account_operation_to_logging_state (GearyImapEngineAccountOperation* self);
VALA_EXTERN GType geary_imap_engine_folder_operation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyImapEngineFolderOperation, g_object_unref)
VALA_EXTERN GearyFolder* geary_imap_engine_folder_operation_get_folder (GearyImapEngineFolderOperation* self);
VALA_EXTERN GearyImapEngineFolderOperation* geary_imap_engine_folder_operation_construct (GType object_type,
                                                                              GearyAccount* account,
                                                                              GearyFolder* folder);
VALA_EXTERN gsize geary_memory_buffer_get_size (GearyMemoryBuffer* self);
VALA_EXTERN gsize geary_memory_buffer_get_allocated_size (GearyMemoryBuffer* self);
VALA_EXTERN GBytes* geary_memory_buffer_get_bytes (GearyMemoryBuffer* self);
VALA_EXTERN GInputStream* geary_memory_buffer_get_input_stream (GearyMemoryBuffer* self);
VALA_EXTERN GByteArray* geary_memory_buffer_get_byte_array (GearyMemoryBuffer* self);
VALA_EXTERN guint8* geary_memory_buffer_get_uint8_array (GearyMemoryBuffer* self,
                                             gint* result_length1);
VALA_EXTERN gchar* geary_memory_buffer_to_string (GearyMemoryBuffer* self);
VALA_EXTERN gchar* geary_memory_buffer_get_valid_utf8 (GearyMemoryBuffer* self);
VALA_EXTERN GearyMemoryBuffer* geary_memory_buffer_construct (GType object_type);
VALA_EXTERN GType geary_memory_unowned_bytes_buffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMemoryUnownedBytesBuffer, g_object_unref)
VALA_EXTERN GType geary_memory_byte_buffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMemoryByteBuffer, g_object_unref)
VALA_EXTERN GearyMemoryByteBuffer* geary_memory_byte_buffer_new (guint8* data,
                                                     gint data_length1,
                                                     gsize filled);
VALA_EXTERN GearyMemoryByteBuffer* geary_memory_byte_buffer_construct (GType object_type,
                                                           guint8* data,
                                                           gint data_length1,
                                                           gsize filled);
VALA_EXTERN GearyMemoryByteBuffer* geary_memory_byte_buffer_new_take (guint8* data,
                                                          gint data_length1,
                                                          gsize filled);
VALA_EXTERN GearyMemoryByteBuffer* geary_memory_byte_buffer_construct_take (GType object_type,
                                                                guint8* data,
                                                                gint data_length1,
                                                                gsize filled);
VALA_EXTERN GearyMemoryByteBuffer* geary_memory_byte_buffer_new_from_byte_array (GByteArray* byte_array);
VALA_EXTERN GearyMemoryByteBuffer* geary_memory_byte_buffer_construct_from_byte_array (GType object_type,
                                                                           GByteArray* byte_array);
VALA_EXTERN GearyMemoryByteBuffer* geary_memory_byte_buffer_new_from_memory_output_stream (GMemoryOutputStream* mouts);
VALA_EXTERN GearyMemoryByteBuffer* geary_memory_byte_buffer_construct_from_memory_output_stream (GType object_type,
                                                                                     GMemoryOutputStream* mouts);
VALA_EXTERN GType geary_memory_unowned_string_buffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMemoryUnownedStringBuffer, g_object_unref)
VALA_EXTERN GType geary_memory_unowned_byte_array_buffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMemoryUnownedByteArrayBuffer, g_object_unref)
VALA_EXTERN GType geary_memory_empty_buffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMemoryEmptyBuffer, g_object_unref)
VALA_EXTERN GearyMemoryEmptyBuffer* geary_memory_empty_buffer_get_instance (void);
VALA_EXTERN GType geary_memory_file_buffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMemoryFileBuffer, g_object_unref)
VALA_EXTERN GearyMemoryFileBuffer* geary_memory_file_buffer_new (GFile* file,
                                                     gboolean readonly,
                                                     GError** error);
VALA_EXTERN GearyMemoryFileBuffer* geary_memory_file_buffer_construct (GType object_type,
                                                           GFile* file,
                                                           gboolean readonly,
                                                           GError** error);
VALA_EXTERN GType geary_memory_growable_buffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMemoryGrowableBuffer, g_object_unref)
VALA_EXTERN GearyMemoryGrowableBuffer* geary_memory_growable_buffer_new (void);
VALA_EXTERN GearyMemoryGrowableBuffer* geary_memory_growable_buffer_construct (GType object_type);
VALA_EXTERN void geary_memory_growable_buffer_append (GearyMemoryGrowableBuffer* self,
                                          guint8* buffer,
                                          gint buffer_length1);
VALA_EXTERN guint8* geary_memory_growable_buffer_allocate (GearyMemoryGrowableBuffer* self,
                                               gsize requested_bytes,
                                               gint* result_length1);
VALA_EXTERN void geary_memory_growable_buffer_trim (GearyMemoryGrowableBuffer* self,
                                        guint8* allocation,
                                        gint allocation_length1,
                                        gsize filled_bytes);
VALA_EXTERN GType geary_memory_string_buffer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMemoryStringBuffer, g_object_unref)
VALA_EXTERN GearyMemoryStringBuffer* geary_memory_string_buffer_new (const gchar* str);
VALA_EXTERN GearyMemoryStringBuffer* geary_memory_string_buffer_construct (GType object_type,
                                                               const gchar* str);
VALA_EXTERN GByteArray* geary_memory_unowned_byte_array_buffer_to_unowned_byte_array (GearyMemoryUnownedByteArrayBuffer* self);
VALA_EXTERN guint8* geary_memory_unowned_bytes_buffer_to_unowned_uint8_array (GearyMemoryUnownedBytesBuffer* self,
                                                                  gint* result_length1);
VALA_EXTERN const gchar* geary_memory_unowned_string_buffer_to_unowned_string (GearyMemoryUnownedStringBuffer* self);
VALA_EXTERN GType geary_mime_disposition_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyMimeDispositionType geary_mime_content_disposition_get_disposition_type (GearyMimeContentDisposition* self);
VALA_EXTERN gboolean geary_mime_content_disposition_get_is_unknown_disposition_type (GearyMimeContentDisposition* self);
VALA_EXTERN const gchar* geary_mime_content_disposition_get_original_disposition_type_string (GearyMimeContentDisposition* self);
VALA_EXTERN GType geary_mime_content_parameters_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyMimeContentParameters, g_object_unref)
VALA_EXTERN GearyMimeContentParameters* geary_mime_content_disposition_get_params (GearyMimeContentDisposition* self);
VALA_EXTERN GearyMimeContentDisposition* geary_mime_content_disposition_new (const gchar* disposition,
                                                                 GearyMimeContentParameters* params);
VALA_EXTERN GearyMimeContentDisposition* geary_mime_content_disposition_construct (GType object_type,
                                                                       const gchar* disposition,
                                                                       GearyMimeContentParameters* params);
VALA_EXTERN GearyMimeContentDisposition* geary_mime_content_disposition_new_simple (GearyMimeDispositionType disposition_type);
VALA_EXTERN GearyMimeContentDisposition* geary_mime_content_disposition_construct_simple (GType object_type,
                                                                              GearyMimeDispositionType disposition_type);
VALA_EXTERN gint geary_mime_content_parameters_get_size (GearyMimeContentParameters* self);
VALA_EXTERN GeeCollection* geary_mime_content_parameters_get_attributes (GearyMimeContentParameters* self);
VALA_EXTERN GearyMimeContentParameters* geary_mime_content_parameters_new (GeeMap* params);
VALA_EXTERN GearyMimeContentParameters* geary_mime_content_parameters_construct (GType object_type,
                                                                     GeeMap* params);
VALA_EXTERN GearyMimeContentParameters* geary_mime_content_parameters_new_from_array (gchar** params,
                                                                          gint params_length1,
                                                                          gint params_length2);
VALA_EXTERN GearyMimeContentParameters* geary_mime_content_parameters_construct_from_array (GType object_type,
                                                                                gchar** params,
                                                                                gint params_length1,
                                                                                gint params_length2);
VALA_EXTERN GeeMap* geary_mime_content_parameters_get_parameters (GearyMimeContentParameters* self);
VALA_EXTERN gchar* geary_mime_content_parameters_get_value (GearyMimeContentParameters* self,
                                                const gchar* attribute);
VALA_EXTERN gboolean geary_mime_content_parameters_has_value_ci (GearyMimeContentParameters* self,
                                                     const gchar* attribute,
                                                     const gchar* value);
VALA_EXTERN gboolean geary_mime_content_parameters_has_value_cs (GearyMimeContentParameters* self,
                                                     const gchar* attribute,
                                                     const gchar* value);
VALA_EXTERN GearyMimeContentType* geary_mime_content_type_DISPLAY_DEFAULT;
VALA_EXTERN GearyMimeContentType* geary_mime_content_type_ATTACHMENT_DEFAULT;
VALA_EXTERN GQuark geary_mime_error_quark (void);
VALA_EXTERN GType geary_mime_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyMimeContentType* geary_mime_content_type_parse (const gchar* str,
                                                     GError** error);
VALA_EXTERN GearyMimeContentType* geary_mime_content_type_guess_type (const gchar* file_name,
                                                          GearyMemoryBuffer* buf,
                                                          GError** error);
VALA_EXTERN const gchar* geary_mime_content_type_get_media_type (GearyMimeContentType* self);
VALA_EXTERN const gchar* geary_mime_content_type_get_media_subtype (GearyMimeContentType* self);
VALA_EXTERN GearyMimeContentParameters* geary_mime_content_type_get_params (GearyMimeContentType* self);
VALA_EXTERN GearyMimeContentType* geary_mime_content_type_new (const gchar* media_type,
                                                   const gchar* media_subtype,
                                                   GearyMimeContentParameters* params);
VALA_EXTERN GearyMimeContentType* geary_mime_content_type_construct (GType object_type,
                                                         const gchar* media_type,
                                                         const gchar* media_subtype,
                                                         GearyMimeContentParameters* params);
VALA_EXTERN gboolean geary_mime_content_type_has_media_type (GearyMimeContentType* self,
                                                 const gchar* media_type);
VALA_EXTERN gboolean geary_mime_content_type_has_media_subtype (GearyMimeContentType* self,
                                                    const gchar* media_subtype);
VALA_EXTERN gchar* geary_mime_content_type_get_mime_type (GearyMimeContentType* self);
VALA_EXTERN gchar* geary_mime_content_type_get_file_name_extension (GearyMimeContentType* self);
VALA_EXTERN gboolean geary_mime_content_type_is_type (GearyMimeContentType* self,
                                          const gchar* media_type,
                                          const gchar* media_subtype);
VALA_EXTERN gboolean geary_mime_content_type_is_same (GearyMimeContentType* self,
                                          GearyMimeContentType* other);
VALA_EXTERN gboolean geary_mime_content_type_is_mime_type (GearyMimeContentType* self,
                                               const gchar* mime_type,
                                               GError** error);
VALA_EXTERN gchar* geary_mime_content_type_serialize (GearyMimeContentType* self);
VALA_EXTERN gchar* geary_mime_content_type_to_string (GearyMimeContentType* self);
VALA_EXTERN GType geary_mime_data_format_encoding_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyMimeDataFormatEncoding geary_mime_data_format_get_encoding_requirement (const gchar* str);
VALA_EXTERN GearyMimeDispositionType geary_mime_disposition_type_deserialize (const gchar* str,
                                                                  gboolean* is_unknown);
VALA_EXTERN gchar* geary_mime_disposition_type_serialize (GearyMimeDispositionType self);
VALA_EXTERN GType geary_mime_multipart_subtype_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyMimeMultipartSubtype geary_mime_multipart_subtype_from_content_type (GearyMimeContentType* content_type,
                                                                          gboolean* is_unknown);
VALA_EXTERN GType geary_nonblocking_batch_operation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNonblockingBatchOperation, g_object_unref)
VALA_EXTERN void geary_nonblocking_batch_operation_execute_async (GearyNonblockingBatchOperation* self,
                                                      GCancellable* cancellable,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_);
VALA_EXTERN GObject* geary_nonblocking_batch_operation_execute_finish (GearyNonblockingBatchOperation* self,
                                                           GAsyncResult* _res_,
                                                           GError** error);
VALA_EXTERN GearyNonblockingBatchOperation* geary_nonblocking_batch_operation_construct (GType object_type);
VALA_EXTERN GType geary_nonblocking_batch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNonblockingBatch, g_object_unref)
VALA_EXTERN gint geary_nonblocking_batch_get_size (GearyNonblockingBatch* self);
VALA_EXTERN GError* geary_nonblocking_batch_get_first_exception (GearyNonblockingBatch* self);
VALA_EXTERN GearyNonblockingBatch* geary_nonblocking_batch_new (void);
VALA_EXTERN GearyNonblockingBatch* geary_nonblocking_batch_construct (GType object_type);
VALA_EXTERN gint geary_nonblocking_batch_add (GearyNonblockingBatch* self,
                                  GearyNonblockingBatchOperation* op);
VALA_EXTERN void geary_nonblocking_batch_execute_all_async (GearyNonblockingBatch* self,
                                                GCancellable* cancellable,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN void geary_nonblocking_batch_execute_all_finish (GearyNonblockingBatch* self,
                                                 GAsyncResult* _res_,
                                                 GError** error);
VALA_EXTERN GeeSet* geary_nonblocking_batch_get_ids (GearyNonblockingBatch* self);
VALA_EXTERN GearyNonblockingBatchOperation* geary_nonblocking_batch_get_operation (GearyNonblockingBatch* self,
                                                                       gint id);
VALA_EXTERN GObject* geary_nonblocking_batch_get_result (GearyNonblockingBatch* self,
                                             gint id,
                                             GError** error);
VALA_EXTERN void geary_nonblocking_batch_throw_first_exception (GearyNonblockingBatch* self,
                                                    GError** error);
VALA_EXTERN gchar* geary_nonblocking_batch_get_first_exception_message (GearyNonblockingBatch* self);
VALA_EXTERN GType geary_nonblocking_concurrent_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNonblockingConcurrent, g_object_unref)
VALA_EXTERN GearyNonblockingConcurrent* geary_nonblocking_concurrent_get_global (void);
VALA_EXTERN GearyNonblockingConcurrent* geary_nonblocking_concurrent_new (gint max_threads);
VALA_EXTERN GearyNonblockingConcurrent* geary_nonblocking_concurrent_construct (GType object_type,
                                                                    gint max_threads);
VALA_EXTERN void geary_nonblocking_concurrent_schedule_async (GearyNonblockingConcurrent* self,
                                                  GearyNonblockingConcurrentConcurrentCallback cb,
                                                  gpointer cb_target,
                                                  GCancellable* cancellable,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
VALA_EXTERN void geary_nonblocking_concurrent_schedule_finish (GearyNonblockingConcurrent* self,
                                                   GAsyncResult* _res_,
                                                   GError** error);
VALA_EXTERN GType geary_nonblocking_lock_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNonblockingLock, g_object_unref)
VALA_EXTERN GType geary_nonblocking_counting_semaphore_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNonblockingCountingSemaphore, g_object_unref)
VALA_EXTERN gint geary_nonblocking_counting_semaphore_get_count (GearyNonblockingCountingSemaphore* self);
VALA_EXTERN GearyNonblockingCountingSemaphore* geary_nonblocking_counting_semaphore_new (GCancellable* cancellable);
VALA_EXTERN GearyNonblockingCountingSemaphore* geary_nonblocking_counting_semaphore_construct (GType object_type,
                                                                                   GCancellable* cancellable);
VALA_EXTERN gint geary_nonblocking_counting_semaphore_acquire (GearyNonblockingCountingSemaphore* self);
VALA_EXTERN GQuark geary_nonblocking_error_quark (void);
VALA_EXTERN GType geary_nonblocking_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gboolean geary_nonblocking_lock_get_can_pass (GearyNonblockingLock* self);
VALA_EXTERN gboolean geary_nonblocking_lock_get_is_cancelled (GearyNonblockingLock* self);
VALA_EXTERN GearyNonblockingLock* geary_nonblocking_lock_construct (GType object_type,
                                                        gboolean broadcast,
                                                        gboolean autoreset,
                                                        GCancellable* cancellable);
VALA_EXTERN void geary_nonblocking_lock_notify (GearyNonblockingLock* self,
                                    GError** error);
VALA_EXTERN void geary_nonblocking_lock_blind_notify (GearyNonblockingLock* self);
VALA_EXTERN void geary_nonblocking_lock_wait_async (GearyNonblockingLock* self,
                                        GCancellable* cancellable,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN void geary_nonblocking_lock_wait_finish (GearyNonblockingLock* self,
                                         GAsyncResult* _res_,
                                         GError** error);
VALA_EXTERN void geary_nonblocking_lock_reset (GearyNonblockingLock* self);
VALA_EXTERN gboolean geary_nonblocking_mutex_is_locked (GearyNonblockingMutex* self);
VALA_EXTERN void geary_nonblocking_mutex_execute_locked (GearyNonblockingMutex* self,
                                             GearyNonblockingMutexCriticalSection target,
                                             gpointer target_target,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void geary_nonblocking_mutex_execute_locked_finish (GearyNonblockingMutex* self,
                                                    GAsyncResult* _res_,
                                                    GError** error);
VALA_EXTERN void geary_nonblocking_mutex_claim_async (GearyNonblockingMutex* self,
                                          GCancellable* cancellable,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
VALA_EXTERN gint geary_nonblocking_mutex_claim_finish (GearyNonblockingMutex* self,
                                           GAsyncResult* _res_,
                                           GError** error);
VALA_EXTERN void geary_nonblocking_mutex_release (GearyNonblockingMutex* self,
                                      gint* token,
                                      GError** error);
VALA_EXTERN GearyNonblockingMutex* geary_nonblocking_mutex_new (void);
VALA_EXTERN GearyNonblockingMutex* geary_nonblocking_mutex_construct (GType object_type);
VALA_EXTERN GType geary_nonblocking_queue_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNonblockingQueue, g_object_unref)
VALA_EXTERN gint geary_nonblocking_queue_get_size (GearyNonblockingQueue* self);
VALA_EXTERN gboolean geary_nonblocking_queue_get_is_empty (GearyNonblockingQueue* self);
VALA_EXTERN gboolean geary_nonblocking_queue_get_allow_duplicates (GearyNonblockingQueue* self);
VALA_EXTERN void geary_nonblocking_queue_set_allow_duplicates (GearyNonblockingQueue* self,
                                                   gboolean value);
VALA_EXTERN gboolean geary_nonblocking_queue_get_requeue_duplicate (GearyNonblockingQueue* self);
VALA_EXTERN void geary_nonblocking_queue_set_requeue_duplicate (GearyNonblockingQueue* self,
                                                    gboolean value);
VALA_EXTERN gboolean geary_nonblocking_queue_get_is_paused (GearyNonblockingQueue* self);
VALA_EXTERN void geary_nonblocking_queue_set_is_paused (GearyNonblockingQueue* self,
                                            gboolean value);
VALA_EXTERN GearyNonblockingQueue* geary_nonblocking_queue_new_fifo (GType g_type,
                                                         GBoxedCopyFunc g_dup_func,
                                                         GDestroyNotify g_destroy_func,
                                                         GeeEqualDataFunc equalator,
                                                         gpointer equalator_target,
                                                         GDestroyNotify equalator_target_destroy_notify);
VALA_EXTERN GearyNonblockingQueue* geary_nonblocking_queue_construct_fifo (GType object_type,
                                                               GType g_type,
                                                               GBoxedCopyFunc g_dup_func,
                                                               GDestroyNotify g_destroy_func,
                                                               GeeEqualDataFunc equalator,
                                                               gpointer equalator_target,
                                                               GDestroyNotify equalator_target_destroy_notify);
VALA_EXTERN GearyNonblockingQueue* geary_nonblocking_queue_new_priority (GType g_type,
                                                             GBoxedCopyFunc g_dup_func,
                                                             GDestroyNotify g_destroy_func,
                                                             GCompareDataFunc comparator,
                                                             gpointer comparator_target,
                                                             GDestroyNotify comparator_target_destroy_notify);
VALA_EXTERN GearyNonblockingQueue* geary_nonblocking_queue_construct_priority (GType object_type,
                                                                   GType g_type,
                                                                   GBoxedCopyFunc g_dup_func,
                                                                   GDestroyNotify g_destroy_func,
                                                                   GCompareDataFunc comparator,
                                                                   gpointer comparator_target,
                                                                   GDestroyNotify comparator_target_destroy_notify);
VALA_EXTERN GearyNonblockingQueue* geary_nonblocking_queue_new (GType g_type,
                                                    GBoxedCopyFunc g_dup_func,
                                                    GDestroyNotify g_destroy_func,
                                                    GeeQueue* queue);
VALA_EXTERN GearyNonblockingQueue* geary_nonblocking_queue_construct (GType object_type,
                                                          GType g_type,
                                                          GBoxedCopyFunc g_dup_func,
                                                          GDestroyNotify g_destroy_func,
                                                          GeeQueue* queue);
VALA_EXTERN gboolean geary_nonblocking_queue_send (GearyNonblockingQueue* self,
                                       gconstpointer msg);
VALA_EXTERN void geary_nonblocking_queue_receive (GearyNonblockingQueue* self,
                                      GCancellable* cancellable,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
VALA_EXTERN gpointer geary_nonblocking_queue_receive_finish (GearyNonblockingQueue* self,
                                                 GAsyncResult* _res_,
                                                 GError** error);
VALA_EXTERN void geary_nonblocking_queue_peek (GearyNonblockingQueue* self,
                                   GCancellable* cancellable,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_);
VALA_EXTERN gpointer geary_nonblocking_queue_peek_finish (GearyNonblockingQueue* self,
                                              GAsyncResult* _res_,
                                              GError** error);
VALA_EXTERN gint geary_nonblocking_queue_clear (GearyNonblockingQueue* self);
VALA_EXTERN gboolean geary_nonblocking_queue_revoke (GearyNonblockingQueue* self,
                                         gconstpointer msg);
VALA_EXTERN GeeCollection* geary_nonblocking_queue_revoke_matching (GearyNonblockingQueue* self,
                                                        GeePredicate predicate,
                                                        gpointer predicate_target,
                                                        GDestroyNotify predicate_target_destroy_notify);
VALA_EXTERN GeeCollection* geary_nonblocking_queue_get_all (GearyNonblockingQueue* self);
VALA_EXTERN GType geary_nonblocking_semaphore_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNonblockingSemaphore, g_object_unref)
VALA_EXTERN GType geary_nonblocking_reporting_semaphore_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNonblockingReportingSemaphore, g_object_unref)
VALA_EXTERN gconstpointer geary_nonblocking_reporting_semaphore_get_result (GearyNonblockingReportingSemaphore* self);
VALA_EXTERN GError* geary_nonblocking_reporting_semaphore_get_err (GearyNonblockingReportingSemaphore* self);
VALA_EXTERN GearyNonblockingReportingSemaphore* geary_nonblocking_reporting_semaphore_new (GType g_type,
                                                                               GBoxedCopyFunc g_dup_func,
                                                                               GDestroyNotify g_destroy_func,
                                                                               gconstpointer default_result,
                                                                               GCancellable* cancellable);
VALA_EXTERN GearyNonblockingReportingSemaphore* geary_nonblocking_reporting_semaphore_construct (GType object_type,
                                                                                     GType g_type,
                                                                                     GBoxedCopyFunc g_dup_func,
                                                                                     GDestroyNotify g_destroy_func,
                                                                                     gconstpointer default_result,
                                                                                     GCancellable* cancellable);
VALA_EXTERN void geary_nonblocking_reporting_semaphore_notify_result (GearyNonblockingReportingSemaphore* self,
                                                          gconstpointer _result_,
                                                          GError* err,
                                                          GError** error);
VALA_EXTERN void geary_nonblocking_reporting_semaphore_throw_if_error (GearyNonblockingReportingSemaphore* self,
                                                           GError** error);
VALA_EXTERN void geary_nonblocking_reporting_semaphore_wait_for_result_async (GearyNonblockingReportingSemaphore* self,
                                                                  GCancellable* cancellable,
                                                                  GAsyncReadyCallback _callback_,
                                                                  gpointer _user_data_);
VALA_EXTERN gpointer geary_nonblocking_reporting_semaphore_wait_for_result_finish (GearyNonblockingReportingSemaphore* self,
                                                                       GAsyncResult* _res_,
                                                                       GError** error);
VALA_EXTERN GearyNonblockingSemaphore* geary_nonblocking_semaphore_new (GCancellable* cancellable);
VALA_EXTERN GearyNonblockingSemaphore* geary_nonblocking_semaphore_construct (GType object_type,
                                                                  GCancellable* cancellable);
VALA_EXTERN GType geary_nonblocking_event_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNonblockingEvent, g_object_unref)
VALA_EXTERN GearyNonblockingEvent* geary_nonblocking_event_new (GCancellable* cancellable);
VALA_EXTERN GearyNonblockingEvent* geary_nonblocking_event_construct (GType object_type,
                                                          GCancellable* cancellable);
VALA_EXTERN GType geary_nonblocking_spinlock_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyNonblockingSpinlock, g_object_unref)
VALA_EXTERN GearyNonblockingSpinlock* geary_nonblocking_spinlock_new (GCancellable* cancellable);
VALA_EXTERN GearyNonblockingSpinlock* geary_nonblocking_spinlock_construct (GType object_type,
                                                                GCancellable* cancellable);
VALA_EXTERN GType geary_outbox_folder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyOutboxFolder, g_object_unref)
VALA_EXTERN void geary_outbox_folder_create_email_async (GearyOutboxFolder* self,
                                             GearyRFC822Message* rfc822,
                                             GearyEmailFlags* flags,
                                             GDateTime* date_received,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN GearyEmailIdentifier* geary_outbox_folder_create_email_finish (GearyOutboxFolder* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
VALA_EXTERN void geary_outbox_folder_mark_email_async (GearyOutboxFolder* self,
                                           GeeCollection* to_mark,
                                           GearyEmailFlags* flags_to_add,
                                           GearyEmailFlags* flags_to_remove,
                                           GCancellable* cancellable,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN void geary_outbox_folder_mark_email_finish (GearyOutboxFolder* self,
                                            GAsyncResult* _res_,
                                            GError** error);
VALA_EXTERN void geary_outbox_folder_remove_email_async (GearyOutboxFolder* self,
                                             GeeCollection* email_ids,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void geary_outbox_folder_remove_email_finish (GearyOutboxFolder* self,
                                              GAsyncResult* _res_,
                                              GError** error);
VALA_EXTERN GType geary_rf_c822_text_format_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void geary_rf_c822_init (void);
VALA_EXTERN GMimeFormatOptions* geary_rf_c822_get_format_options (void);
VALA_EXTERN GMimeParserOptions* geary_rf_c822_get_parser_options (void);
VALA_EXTERN gchar* geary_rf_c822_get_charset (void);
VALA_EXTERN GQuark geary_rf_c822_error_quark (void);
VALA_EXTERN GType geary_rf_c822_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_rf_c822_decoded_message_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822DecodedMessageData, g_object_unref)
VALA_EXTERN gint geary_rf_c822_mailbox_addresses_get_size (GearyRFC822MailboxAddresses* self);
VALA_EXTERN gboolean geary_rf_c822_mailbox_addresses_get_is_empty (GearyRFC822MailboxAddresses* self);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_new (GeeCollection* addrs);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_construct (GType object_type,
                                                                        GeeCollection* addrs);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_new_single (GearyRFC822MailboxAddress* addr);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_construct_single (GType object_type,
                                                                               GearyRFC822MailboxAddress* addr);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_new_from_rfc822_string (const gchar* rfc822,
                                                                                     GError** error);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_construct_from_rfc822_string (GType object_type,
                                                                                           const gchar* rfc822,
                                                                                           GError** error);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_new_from_gmime (InternetAddressList* list,
                                                                             GError** error);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_construct_from_gmime (GType object_type,
                                                                                   InternetAddressList* list,
                                                                                   GError** error);
VALA_EXTERN GearyRFC822MailboxAddress* geary_rf_c822_mailbox_addresses_get (GearyRFC822MailboxAddresses* self,
                                                                gint index);
VALA_EXTERN GeeIterator* geary_rf_c822_mailbox_addresses_iterator (GearyRFC822MailboxAddresses* self);
VALA_EXTERN GeeList* geary_rf_c822_mailbox_addresses_get_all (GearyRFC822MailboxAddresses* self);
VALA_EXTERN gboolean geary_rf_c822_mailbox_addresses_contains_normalized (GearyRFC822MailboxAddresses* self,
                                                              const gchar* address);
VALA_EXTERN gboolean geary_rf_c822_mailbox_addresses_contains (GearyRFC822MailboxAddresses* self,
                                                   const gchar* address);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_merge_mailbox (GearyRFC822MailboxAddresses* self,
                                                                            GearyRFC822MailboxAddress* other);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_merge_list (GearyRFC822MailboxAddresses* self,
                                                                         GearyRFC822MailboxAddresses* other);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_concatenate_mailbox (GearyRFC822MailboxAddresses* self,
                                                                                  GearyRFC822MailboxAddress* other);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_mailbox_addresses_concatenate_list (GearyRFC822MailboxAddresses* self,
                                                                               GearyRFC822MailboxAddresses* others);
VALA_EXTERN gchar* geary_rf_c822_mailbox_addresses_to_full_display (GearyRFC822MailboxAddresses* self);
VALA_EXTERN gboolean geary_rf_c822_mailbox_addresses_contains_all (GearyRFC822MailboxAddresses* self,
                                                       GearyRFC822MailboxAddresses* other);
VALA_EXTERN gboolean geary_rf_c822_mailbox_address_is_valid_address (const gchar* address);
VALA_EXTERN const gchar* geary_rf_c822_mailbox_address_get_name (GearyRFC822MailboxAddress* self);
VALA_EXTERN const gchar* geary_rf_c822_mailbox_address_get_source_route (GearyRFC822MailboxAddress* self);
VALA_EXTERN const gchar* geary_rf_c822_mailbox_address_get_mailbox (GearyRFC822MailboxAddress* self);
VALA_EXTERN const gchar* geary_rf_c822_mailbox_address_get_domain (GearyRFC822MailboxAddress* self);
VALA_EXTERN const gchar* geary_rf_c822_mailbox_address_get_address (GearyRFC822MailboxAddress* self);
VALA_EXTERN GearyRFC822MailboxAddress* geary_rf_c822_mailbox_address_new (const gchar* name,
                                                              const gchar* address);
VALA_EXTERN GearyRFC822MailboxAddress* geary_rf_c822_mailbox_address_construct (GType object_type,
                                                                    const gchar* name,
                                                                    const gchar* address);
VALA_EXTERN GearyRFC822MailboxAddress* geary_rf_c822_mailbox_address_new_imap (const gchar* name,
                                                                   const gchar* source_route,
                                                                   const gchar* mailbox,
                                                                   const gchar* domain);
VALA_EXTERN GearyRFC822MailboxAddress* geary_rf_c822_mailbox_address_construct_imap (GType object_type,
                                                                         const gchar* name,
                                                                         const gchar* source_route,
                                                                         const gchar* mailbox,
                                                                         const gchar* domain);
VALA_EXTERN GearyRFC822MailboxAddress* geary_rf_c822_mailbox_address_new_from_rfc822_string (const gchar* rfc822,
                                                                                 GError** error);
VALA_EXTERN GearyRFC822MailboxAddress* geary_rf_c822_mailbox_address_construct_from_rfc822_string (GType object_type,
                                                                                       const gchar* rfc822,
                                                                                       GError** error);
VALA_EXTERN GearyRFC822MailboxAddress* geary_rf_c822_mailbox_address_new_from_gmime (InternetAddressMailbox* mailbox);
VALA_EXTERN GearyRFC822MailboxAddress* geary_rf_c822_mailbox_address_construct_from_gmime (GType object_type,
                                                                               InternetAddressMailbox* mailbox);
VALA_EXTERN gchar* geary_rf_c822_mailbox_address_to_full_display (GearyRFC822MailboxAddress* self,
                                                      const gchar* open,
                                                      const gchar* close);
VALA_EXTERN gchar* geary_rf_c822_mailbox_address_to_short_display (GearyRFC822MailboxAddress* self);
VALA_EXTERN gchar* geary_rf_c822_mailbox_address_to_address_display (GearyRFC822MailboxAddress* self,
                                                         const gchar* open,
                                                         const gchar* close);
VALA_EXTERN gboolean geary_rf_c822_mailbox_address_is_valid (GearyRFC822MailboxAddress* self);
VALA_EXTERN gboolean geary_rf_c822_mailbox_address_is_spoofed (GearyRFC822MailboxAddress* self);
VALA_EXTERN gboolean geary_rf_c822_mailbox_address_has_distinct_name (GearyRFC822MailboxAddress* self);
VALA_EXTERN gchar* geary_rf_c822_mailbox_address_to_rfc822_address (GearyRFC822MailboxAddress* self);
VALA_EXTERN gboolean geary_rf_c822_mailbox_address_equal_normalized (GearyRFC822MailboxAddress* self,
                                                         const gchar* address);
VALA_EXTERN GType geary_rf_c822_message_rf_c822_format_options_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_rf_c822_authentication_results_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822AuthenticationResults, g_object_unref)
VALA_EXTERN GearyRFC822AuthenticationResults* geary_rf_c822_message_get_auth_results (GearyRFC822Message* self);
VALA_EXTERN const gchar* geary_rf_c822_message_get_mailer (GearyRFC822Message* self);
VALA_EXTERN void geary_rf_c822_message_set_mailer (GearyRFC822Message* self,
                                       const gchar* value);
VALA_EXTERN GearyRFC822Message* geary_rf_c822_message_new (GearyRFC822Full* full,
                                               GError** error);
VALA_EXTERN GearyRFC822Message* geary_rf_c822_message_construct (GType object_type,
                                                     GearyRFC822Full* full,
                                                     GError** error);
VALA_EXTERN GearyRFC822Message* geary_rf_c822_message_new_from_gmime_message (GMimeMessage* message,
                                                                  GError** error);
VALA_EXTERN GearyRFC822Message* geary_rf_c822_message_construct_from_gmime_message (GType object_type,
                                                                        GMimeMessage* message,
                                                                        GError** error);
VALA_EXTERN GearyRFC822Message* geary_rf_c822_message_new_from_buffer (GearyMemoryBuffer* full_email,
                                                           GError** error);
VALA_EXTERN GearyRFC822Message* geary_rf_c822_message_construct_from_buffer (GType object_type,
                                                                 GearyMemoryBuffer* full_email,
                                                                 GError** error);
VALA_EXTERN GearyRFC822Message* geary_rf_c822_message_new_from_parts (GearyRFC822Header* header,
                                                          GearyRFC822Text* body,
                                                          GError** error);
VALA_EXTERN GearyRFC822Message* geary_rf_c822_message_construct_from_parts (GType object_type,
                                                                GearyRFC822Header* header,
                                                                GearyRFC822Text* body,
                                                                GError** error);
VALA_EXTERN void geary_rf_c822_message_new_from_composed_email (GearyComposedEmail* email,
                                                    const gchar* message_id,
                                                    GCancellable* cancellable,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN GearyRFC822Message* geary_rf_c822_message_new_from_composed_email_finish (GAsyncResult* _res_,
                                                                          GError** error);
VALA_EXTERN void geary_rf_c822_message_construct_from_composed_email (GType object_type,
                                                          GearyComposedEmail* email,
                                                          const gchar* message_id,
                                                          GCancellable* cancellable,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_);
VALA_EXTERN GearyRFC822Message* geary_rf_c822_message_construct_from_composed_email_finish (GAsyncResult* _res_,
                                                                                GError** error);
VALA_EXTERN gchar* geary_rf_c822_message_get_preview (GearyRFC822Message* self);
VALA_EXTERN GeeList* geary_rf_c822_message_get_recipients (GearyRFC822Message* self);
VALA_EXTERN GearyRFC822Header* geary_rf_c822_message_get_header (GearyRFC822Message* self);
VALA_EXTERN GearyRFC822Text* geary_rf_c822_message_get_body (GearyRFC822Message* self);
VALA_EXTERN GearyMemoryBuffer* geary_rf_c822_message_get_native_buffer (GearyRFC822Message* self,
                                                            GError** error);
VALA_EXTERN GearyMemoryBuffer* geary_rf_c822_message_get_rfc822_buffer (GearyRFC822Message* self,
                                                            GearyRFC822MessageRFC822FormatOptions options,
                                                            GError** error);
VALA_EXTERN gboolean geary_rf_c822_message_has_html_body (GearyRFC822Message* self);
VALA_EXTERN gboolean geary_rf_c822_message_has_plain_body (GearyRFC822Message* self);
VALA_EXTERN GType geary_rf_c822_part_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyRFC822Part, g_object_unref)
VALA_EXTERN gchar* geary_rf_c822_message_get_html_body (GearyRFC822Message* self,
                                            GearyRFC822MessageInlinePartReplacer replacer,
                                            gpointer replacer_target,
                                            GError** error);
VALA_EXTERN gchar* geary_rf_c822_message_get_plain_body (GearyRFC822Message* self,
                                             gboolean convert_to_html,
                                             GearyRFC822MessageInlinePartReplacer replacer,
                                             gpointer replacer_target,
                                             GError** error);
VALA_EXTERN gchar* geary_rf_c822_message_get_searchable_body (GearyRFC822Message* self,
                                                  gboolean include_sub_messages,
                                                  GError** error);
VALA_EXTERN gchar* geary_rf_c822_message_get_searchable_recipients (GearyRFC822Message* self);
VALA_EXTERN GeeList* geary_rf_c822_message_get_sub_messages (GearyRFC822Message* self,
                                                 GError** error);
VALA_EXTERN gchar* geary_rf_c822_message_to_string (GearyRFC822Message* self);
VALA_EXTERN gchar* geary_rf_c822_decoded_message_data_to_rfc822_string (GearyRFC822DecodedMessageData* self);
VALA_EXTERN GearyRFC822MessageID* geary_rf_c822_message_id_new (const gchar* value);
VALA_EXTERN GearyRFC822MessageID* geary_rf_c822_message_id_construct (GType object_type,
                                                          const gchar* value);
VALA_EXTERN GearyRFC822MessageID* geary_rf_c822_message_id_new_from_rfc822_string (const gchar* rfc822,
                                                                       GError** error);
VALA_EXTERN GearyRFC822MessageID* geary_rf_c822_message_id_construct_from_rfc822_string (GType object_type,
                                                                             const gchar* rfc822,
                                                                             GError** error);
VALA_EXTERN gint geary_rf_c822_message_id_list_get_size (GearyRFC822MessageIDList* self);
VALA_EXTERN gboolean geary_rf_c822_message_id_list_get_is_empty (GearyRFC822MessageIDList* self);
VALA_EXTERN GearyRFC822MessageIDList* geary_rf_c822_message_id_list_new (GeeCollection* collection);
VALA_EXTERN GearyRFC822MessageIDList* geary_rf_c822_message_id_list_construct (GType object_type,
                                                                   GeeCollection* collection);
VALA_EXTERN GearyRFC822MessageIDList* geary_rf_c822_message_id_list_new_single (GearyRFC822MessageID* msg_id);
VALA_EXTERN GearyRFC822MessageIDList* geary_rf_c822_message_id_list_construct_single (GType object_type,
                                                                          GearyRFC822MessageID* msg_id);
VALA_EXTERN GearyRFC822MessageIDList* geary_rf_c822_message_id_list_new_from_rfc822_string (const gchar* rfc822,
                                                                                GError** error);
VALA_EXTERN GearyRFC822MessageIDList* geary_rf_c822_message_id_list_construct_from_rfc822_string (GType object_type,
                                                                                      const gchar* rfc822,
                                                                                      GError** error);
VALA_EXTERN GearyRFC822MessageID* geary_rf_c822_message_id_list_get (GearyRFC822MessageIDList* self,
                                                         gint index);
VALA_EXTERN GeeIterator* geary_rf_c822_message_id_list_iterator (GearyRFC822MessageIDList* self);
VALA_EXTERN GeeList* geary_rf_c822_message_id_list_get_all (GearyRFC822MessageIDList* self);
VALA_EXTERN GearyRFC822MessageIDList* geary_rf_c822_message_id_list_merge_id (GearyRFC822MessageIDList* self,
                                                                  GearyRFC822MessageID* other);
VALA_EXTERN GearyRFC822MessageIDList* geary_rf_c822_message_id_list_merge_list (GearyRFC822MessageIDList* self,
                                                                    GearyRFC822MessageIDList* other);
VALA_EXTERN GearyRFC822MessageIDList* geary_rf_c822_message_id_list_concatenate_id (GearyRFC822MessageIDList* self,
                                                                        GearyRFC822MessageID* other);
VALA_EXTERN GearyRFC822MessageIDList* geary_rf_c822_message_id_list_concatenate_list (GearyRFC822MessageIDList* self,
                                                                          GearyRFC822MessageIDList* others);
VALA_EXTERN GDateTime* geary_rf_c822_date_get_value (GearyRFC822Date* self);
VALA_EXTERN GearyRFC822Date* geary_rf_c822_date_new (GDateTime* datetime);
VALA_EXTERN GearyRFC822Date* geary_rf_c822_date_construct (GType object_type,
                                               GDateTime* datetime);
VALA_EXTERN GearyRFC822Date* geary_rf_c822_date_new_from_rfc822_string (const gchar* rfc822,
                                                            GError** error);
VALA_EXTERN GearyRFC822Date* geary_rf_c822_date_construct_from_rfc822_string (GType object_type,
                                                                  const gchar* rfc822,
                                                                  GError** error);
VALA_EXTERN gboolean geary_rf_c822_date_equal_to (GearyRFC822Date* self,
                                      GearyRFC822Date* other);
VALA_EXTERN guint geary_rf_c822_date_hash (GearyRFC822Date* self);
VALA_EXTERN GearyRFC822Subject* geary_rf_c822_subject_new (const gchar* value);
VALA_EXTERN GearyRFC822Subject* geary_rf_c822_subject_construct (GType object_type,
                                                     const gchar* value);
VALA_EXTERN GearyRFC822Subject* geary_rf_c822_subject_new_from_rfc822_string (const gchar* rfc822);
VALA_EXTERN GearyRFC822Subject* geary_rf_c822_subject_construct_from_rfc822_string (GType object_type,
                                                                        const gchar* rfc822);
VALA_EXTERN gboolean geary_rf_c822_subject_is_reply (GearyRFC822Subject* self);
VALA_EXTERN GearyRFC822Subject* geary_rf_c822_subject_create_reply (GearyRFC822Subject* self);
VALA_EXTERN gboolean geary_rf_c822_subject_is_forward (GearyRFC822Subject* self);
VALA_EXTERN GearyRFC822Subject* geary_rf_c822_subject_create_forward (GearyRFC822Subject* self);
VALA_EXTERN gchar* geary_rf_c822_subject_strip_prefixes (GearyRFC822Subject* self);
VALA_EXTERN GearyRFC822Header* geary_rf_c822_header_new (GearyMemoryBuffer* buffer,
                                             GError** error);
VALA_EXTERN GearyRFC822Header* geary_rf_c822_header_construct (GType object_type,
                                                   GearyMemoryBuffer* buffer,
                                                   GError** error);
VALA_EXTERN GearyRFC822Header* geary_rf_c822_header_new_from_gmime (GMimeObject* gmime);
VALA_EXTERN GearyRFC822Header* geary_rf_c822_header_construct_from_gmime (GType object_type,
                                                              GMimeObject* gmime);
VALA_EXTERN gchar* geary_rf_c822_header_get_header (GearyRFC822Header* self,
                                        const gchar* name);
VALA_EXTERN gchar* geary_rf_c822_header_get_raw_header (GearyRFC822Header* self,
                                            const gchar* name);
VALA_EXTERN gchar** geary_rf_c822_header_get_header_names (GearyRFC822Header* self,
                                               gint* result_length1);
VALA_EXTERN GearyRFC822Text* geary_rf_c822_text_new (GearyMemoryBuffer* buffer);
VALA_EXTERN GearyRFC822Text* geary_rf_c822_text_construct (GType object_type,
                                               GearyMemoryBuffer* buffer);
VALA_EXTERN GearyRFC822Text* geary_rf_c822_text_new_from_gmime (GMimeStream* gmime);
VALA_EXTERN GearyRFC822Text* geary_rf_c822_text_construct_from_gmime (GType object_type,
                                                          GMimeStream* gmime);
VALA_EXTERN GearyRFC822Full* geary_rf_c822_full_new (GearyMemoryBuffer* buffer);
VALA_EXTERN GearyRFC822Full* geary_rf_c822_full_construct (GType object_type,
                                               GearyMemoryBuffer* buffer);
VALA_EXTERN GearyRFC822PreviewText* geary_rf_c822_preview_text_new (GearyMemoryBuffer* _buffer);
VALA_EXTERN GearyRFC822PreviewText* geary_rf_c822_preview_text_construct (GType object_type,
                                                              GearyMemoryBuffer* _buffer);
VALA_EXTERN GearyRFC822PreviewText* geary_rf_c822_preview_text_new_with_header (GearyMemoryBuffer* preview_header,
                                                                    GearyMemoryBuffer* preview);
VALA_EXTERN GearyRFC822PreviewText* geary_rf_c822_preview_text_construct_with_header (GType object_type,
                                                                          GearyMemoryBuffer* preview_header,
                                                                          GearyMemoryBuffer* preview);
VALA_EXTERN GearyRFC822PreviewText* geary_rf_c822_preview_text_new_from_string (const gchar* preview);
VALA_EXTERN GearyRFC822PreviewText* geary_rf_c822_preview_text_construct_from_string (GType object_type,
                                                                          const gchar* preview);
VALA_EXTERN GearyRFC822AuthenticationResults* geary_rf_c822_authentication_results_new (const gchar* value);
VALA_EXTERN GearyRFC822AuthenticationResults* geary_rf_c822_authentication_results_construct (GType object_type,
                                                                                  const gchar* value);
VALA_EXTERN gboolean geary_rf_c822_authentication_results_is_dkim_valid (GearyRFC822AuthenticationResults* self);
VALA_EXTERN gboolean geary_rf_c822_authentication_results_is_dmarc_valid (GearyRFC822AuthenticationResults* self);
VALA_EXTERN GType geary_rf_c822_part_encoding_conversion_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_rf_c822_part_body_formatting_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyMimeContentType* geary_rf_c822_part_get_content_type (GearyRFC822Part* self);
VALA_EXTERN const gchar* geary_rf_c822_part_get_content_id (GearyRFC822Part* self);
VALA_EXTERN const gchar* geary_rf_c822_part_get_content_description (GearyRFC822Part* self);
VALA_EXTERN GearyMimeContentDisposition* geary_rf_c822_part_get_content_disposition (GearyRFC822Part* self);
VALA_EXTERN gchar* geary_rf_c822_part_get_clean_filename (GearyRFC822Part* self);
VALA_EXTERN GearyMemoryBuffer* geary_rf_c822_part_write_to_buffer (GearyRFC822Part* self,
                                                       GearyRFC822PartEncodingConversion conversion,
                                                       GearyRFC822PartBodyFormatting format,
                                                       GError** error);
VALA_EXTERN gchar* geary_rf_c822_utils_create_subject_for_reply (GearyEmail* email);
VALA_EXTERN gchar* geary_rf_c822_utils_create_subject_for_forward (GearyEmail* email);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_utils_create_to_addresses_for_reply (GearyEmail* email,
                                                                                GeeList* sender_addresses);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_utils_create_cc_addresses_for_reply_all (GearyEmail* email,
                                                                                    GeeList* sender_addresses);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_utils_merge_addresses (GearyRFC822MailboxAddresses* first,
                                                                  GearyRFC822MailboxAddresses* second);
VALA_EXTERN GearyRFC822MailboxAddresses* geary_rf_c822_utils_remove_addresses (GearyRFC822MailboxAddresses* from_addresses,
                                                                   GearyRFC822MailboxAddresses* remove_addresses);
VALA_EXTERN GearyRFC822MessageIDList* geary_rf_c822_utils_reply_references (GearyEmail* source);
VALA_EXTERN gchar* geary_rf_c822_utils_email_addresses_for_reply (GearyRFC822MailboxAddresses* addresses,
                                                      GearyRFC822TextFormat format);
VALA_EXTERN gchar* geary_rf_c822_utils_to_preview_text (const gchar* text,
                                            GearyRFC822TextFormat format);
VALA_EXTERN GType geary_smtp_authenticator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpAuthenticator, g_object_unref)
VALA_EXTERN gpointer geary_smtp_request_ref (gpointer instance);
VALA_EXTERN void geary_smtp_request_unref (gpointer instance);
VALA_EXTERN GParamSpec* geary_smtp_param_spec_request (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
VALA_EXTERN void geary_smtp_value_set_request (GValue* value,
                                   gpointer v_object);
VALA_EXTERN void geary_smtp_value_take_request (GValue* value,
                                    gpointer v_object);
VALA_EXTERN gpointer geary_smtp_value_get_request (const GValue* value);
VALA_EXTERN GType geary_smtp_request_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpRequest, geary_smtp_request_unref)
VALA_EXTERN gpointer geary_smtp_response_ref (gpointer instance);
VALA_EXTERN void geary_smtp_response_unref (gpointer instance);
VALA_EXTERN GParamSpec* geary_smtp_param_spec_response (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
VALA_EXTERN void geary_smtp_value_set_response (GValue* value,
                                    gpointer v_object);
VALA_EXTERN void geary_smtp_value_take_response (GValue* value,
                                     gpointer v_object);
VALA_EXTERN gpointer geary_smtp_value_get_response (const GValue* value);
VALA_EXTERN GType geary_smtp_response_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpResponse, geary_smtp_response_unref)
VALA_EXTERN GQuark geary_smtp_error_quark (void);
VALA_EXTERN GType geary_smtp_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN const gchar* geary_smtp_authenticator_get_name (GearySmtpAuthenticator* self);
VALA_EXTERN GearyCredentials* geary_smtp_authenticator_get_credentials (GearySmtpAuthenticator* self);
VALA_EXTERN GearySmtpAuthenticator* geary_smtp_authenticator_construct (GType object_type,
                                                            const gchar* name,
                                                            GearyCredentials* credentials);
VALA_EXTERN GearySmtpRequest* geary_smtp_authenticator_initiate (GearySmtpAuthenticator* self);
VALA_EXTERN GearyMemoryBuffer* geary_smtp_authenticator_challenge (GearySmtpAuthenticator* self,
                                                       gint step,
                                                       GearySmtpResponse* response,
                                                       GError** error);
VALA_EXTERN gchar* geary_smtp_authenticator_to_string (GearySmtpAuthenticator* self);
VALA_EXTERN GType geary_smtp_capabilities_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpCapabilities, g_object_unref)
VALA_EXTERN GearySmtpCapabilities* geary_smtp_capabilities_new (void);
VALA_EXTERN GearySmtpCapabilities* geary_smtp_capabilities_construct (GType object_type);
VALA_EXTERN gint geary_smtp_capabilities_add_ehlo_response (GearySmtpCapabilities* self,
                                                GearySmtpResponse* response);
VALA_EXTERN gpointer geary_smtp_response_line_ref (gpointer instance);
VALA_EXTERN void geary_smtp_response_line_unref (gpointer instance);
VALA_EXTERN GParamSpec* geary_smtp_param_spec_response_line (const gchar* name,
                                                 const gchar* nick,
                                                 const gchar* blurb,
                                                 GType object_type,
                                                 GParamFlags flags);
VALA_EXTERN void geary_smtp_value_set_response_line (GValue* value,
                                         gpointer v_object);
VALA_EXTERN void geary_smtp_value_take_response_line (GValue* value,
                                          gpointer v_object);
VALA_EXTERN gpointer geary_smtp_value_get_response_line (const GValue* value);
VALA_EXTERN GType geary_smtp_response_line_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpResponseLine, geary_smtp_response_line_unref)
VALA_EXTERN gboolean geary_smtp_capabilities_add_response_line (GearySmtpCapabilities* self,
                                                    GearySmtpResponseLine* line);
VALA_EXTERN GType geary_smtp_client_service_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpClientService, g_object_unref)
VALA_EXTERN GearyOutboxFolder* geary_smtp_client_service_get_outbox (GearySmtpClientService* self);
VALA_EXTERN GearyProgressMonitor* geary_smtp_client_service_get_sending_monitor (GearySmtpClientService* self);
VALA_EXTERN GearySmtpClientService* geary_smtp_client_service_new (GearyAccountInformation* account,
                                                       GearyServiceInformation* service,
                                                       GearyEndpoint* remote);
VALA_EXTERN GearySmtpClientService* geary_smtp_client_service_construct (GType object_type,
                                                             GearyAccountInformation* account,
                                                             GearyServiceInformation* service,
                                                             GearyEndpoint* remote);
VALA_EXTERN void geary_smtp_client_service_send_email (GearySmtpClientService* self,
                                           GearyComposedEmail* composed,
                                           GCancellable* cancellable,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN void geary_smtp_client_service_send_email_finish (GearySmtpClientService* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN void geary_smtp_client_service_save_email (GearySmtpClientService* self,
                                           GearyComposedEmail* composed,
                                           GCancellable* cancellable,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN GearyEmailIdentifier* geary_smtp_client_service_save_email_finish (GearySmtpClientService* self,
                                                                   GAsyncResult* _res_,
                                                                   GError** error);
VALA_EXTERN void geary_smtp_client_service_queue_email (GearySmtpClientService* self,
                                            GearyEmailIdentifier* outbox_identifier);
VALA_EXTERN GType geary_smtp_client_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpClientSession, g_object_unref)
VALA_EXTERN GType geary_smtp_greeting_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpGreeting, geary_smtp_response_unref)
VALA_EXTERN GearySmtpClientSession* geary_smtp_client_session_new (GearyEndpoint* endpoint);
VALA_EXTERN GearySmtpClientSession* geary_smtp_client_session_construct (GType object_type,
                                                             GearyEndpoint* endpoint);
VALA_EXTERN void geary_smtp_client_session_notify_connected (GearySmtpClientSession* self,
                                                 GearySmtpGreeting* greeting);
VALA_EXTERN void geary_smtp_client_session_notify_authenticated (GearySmtpClientSession* self,
                                                     GearySmtpAuthenticator* authenticator);
VALA_EXTERN void geary_smtp_client_session_notify_disconnected (GearySmtpClientSession* self);
VALA_EXTERN void geary_smtp_client_session_login_async (GearySmtpClientSession* self,
                                            GearyCredentials* creds,
                                            GCancellable* cancellable,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN GearySmtpGreeting* geary_smtp_client_session_login_finish (GearySmtpClientSession* self,
                                                           GAsyncResult* _res_,
                                                           GError** error);
VALA_EXTERN void geary_smtp_client_session_logout_async (GearySmtpClientSession* self,
                                             gboolean force,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN GearySmtpResponse* geary_smtp_client_session_logout_finish (GearySmtpClientSession* self,
                                                            GAsyncResult* _res_,
                                                            GError** error);
VALA_EXTERN void geary_smtp_client_session_send_email_async (GearySmtpClientSession* self,
                                                 GearyRFC822MailboxAddress* reverse_path,
                                                 GearyRFC822Message* email,
                                                 GCancellable* cancellable,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN void geary_smtp_client_session_send_email_finish (GearySmtpClientSession* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN GearyLoggingState* geary_smtp_client_session_to_logging_state (GearySmtpClientSession* self);
VALA_EXTERN GType geary_smtp_command_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* geary_smtp_command_serialize (GearySmtpCommand self);
VALA_EXTERN GearySmtpCommand geary_smtp_command_deserialize (const gchar* str,
                                                 GError** error);
VALA_EXTERN GType geary_smtp_greeting_server_flavor_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* geary_smtp_greeting_server_flavor_serialize (GearySmtpGreetingServerFlavor self);
VALA_EXTERN GearySmtpGreetingServerFlavor geary_smtp_greeting_server_flavor_deserialize (const gchar* str);
VALA_EXTERN const gchar* geary_smtp_greeting_get_domain (GearySmtpGreeting* self);
VALA_EXTERN GearySmtpGreetingServerFlavor geary_smtp_greeting_get_flavor (GearySmtpGreeting* self);
VALA_EXTERN const gchar* geary_smtp_greeting_get_message (GearySmtpGreeting* self);
VALA_EXTERN GearySmtpGreeting* geary_smtp_greeting_new (GeeList* lines);
VALA_EXTERN GearySmtpGreeting* geary_smtp_greeting_construct (GType object_type,
                                                  GeeList* lines);
VALA_EXTERN GType geary_smtp_login_authenticator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpLoginAuthenticator, g_object_unref)
VALA_EXTERN GearySmtpLoginAuthenticator* geary_smtp_login_authenticator_new (GearyCredentials* credentials);
VALA_EXTERN GearySmtpLoginAuthenticator* geary_smtp_login_authenticator_construct (GType object_type,
                                                                       GearyCredentials* credentials);
VALA_EXTERN GType geary_smtp_oauth2_authenticator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpOAuth2Authenticator, g_object_unref)
VALA_EXTERN GearySmtpOAuth2Authenticator* geary_smtp_oauth2_authenticator_new (GearyCredentials* credentials);
VALA_EXTERN GearySmtpOAuth2Authenticator* geary_smtp_oauth2_authenticator_construct (GType object_type,
                                                                         GearyCredentials* credentials);
VALA_EXTERN GType geary_smtp_plain_authenticator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpPlainAuthenticator, g_object_unref)
VALA_EXTERN GearySmtpPlainAuthenticator* geary_smtp_plain_authenticator_new (GearyCredentials* credentials);
VALA_EXTERN GearySmtpPlainAuthenticator* geary_smtp_plain_authenticator_construct (GType object_type,
                                                                       GearyCredentials* credentials);
VALA_EXTERN GearySmtpCommand geary_smtp_request_get_cmd (GearySmtpRequest* self);
VALA_EXTERN gchar** geary_smtp_request_get_args (GearySmtpRequest* self,
                                     gint* result_length1);
VALA_EXTERN GearySmtpRequest* geary_smtp_request_new (GearySmtpCommand cmd,
                                          gchar** args,
                                          gint args_length1);
VALA_EXTERN GearySmtpRequest* geary_smtp_request_construct (GType object_type,
                                                GearySmtpCommand cmd,
                                                gchar** args,
                                                gint args_length1);
VALA_EXTERN gchar* geary_smtp_request_serialize (GearySmtpRequest* self);
VALA_EXTERN gchar* geary_smtp_request_to_string (GearySmtpRequest* self);
VALA_EXTERN GType geary_smtp_helo_request_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpHeloRequest, geary_smtp_request_unref)
VALA_EXTERN GearySmtpHeloRequest* geary_smtp_helo_request_new (const gchar* domain);
VALA_EXTERN GearySmtpHeloRequest* geary_smtp_helo_request_construct (GType object_type,
                                                         const gchar* domain);
VALA_EXTERN GearySmtpHeloRequest* geary_smtp_helo_request_new_for_local_address (GInetAddress* local_addr);
VALA_EXTERN GearySmtpHeloRequest* geary_smtp_helo_request_construct_for_local_address (GType object_type,
                                                                           GInetAddress* local_addr);
VALA_EXTERN GType geary_smtp_ehlo_request_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpEhloRequest, geary_smtp_request_unref)
VALA_EXTERN GearySmtpEhloRequest* geary_smtp_ehlo_request_new (const gchar* domain);
VALA_EXTERN GearySmtpEhloRequest* geary_smtp_ehlo_request_construct (GType object_type,
                                                         const gchar* domain);
VALA_EXTERN GearySmtpEhloRequest* geary_smtp_ehlo_request_new_for_local_address (GInetAddress* local_addr);
VALA_EXTERN GearySmtpEhloRequest* geary_smtp_ehlo_request_construct_for_local_address (GType object_type,
                                                                           GInetAddress* local_addr);
VALA_EXTERN GType geary_smtp_mail_request_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpMailRequest, geary_smtp_request_unref)
VALA_EXTERN GearySmtpMailRequest* geary_smtp_mail_request_new (GearyRFC822MailboxAddress* reverse_path);
VALA_EXTERN GearySmtpMailRequest* geary_smtp_mail_request_construct (GType object_type,
                                                         GearyRFC822MailboxAddress* reverse_path);
VALA_EXTERN GType geary_smtp_rcpt_request_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpRcptRequest, geary_smtp_request_unref)
VALA_EXTERN GearySmtpRcptRequest* geary_smtp_rcpt_request_new (GearyRFC822MailboxAddress* to);
VALA_EXTERN GearySmtpRcptRequest* geary_smtp_rcpt_request_construct (GType object_type,
                                                         GearyRFC822MailboxAddress* to);
VALA_EXTERN gpointer geary_smtp_response_code_ref (gpointer instance);
VALA_EXTERN void geary_smtp_response_code_unref (gpointer instance);
VALA_EXTERN GParamSpec* geary_smtp_param_spec_response_code (const gchar* name,
                                                 const gchar* nick,
                                                 const gchar* blurb,
                                                 GType object_type,
                                                 GParamFlags flags);
VALA_EXTERN void geary_smtp_value_set_response_code (GValue* value,
                                         gpointer v_object);
VALA_EXTERN void geary_smtp_value_take_response_code (GValue* value,
                                          gpointer v_object);
VALA_EXTERN gpointer geary_smtp_value_get_response_code (const GValue* value);
VALA_EXTERN GType geary_smtp_response_code_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmtpResponseCode, geary_smtp_response_code_unref)
VALA_EXTERN GearySmtpResponseCode* geary_smtp_response_get_code (GearySmtpResponse* self);
VALA_EXTERN GearySmtpResponseLine* geary_smtp_response_get_first_line (GearySmtpResponse* self);
VALA_EXTERN GeeList* geary_smtp_response_get_lines (GearySmtpResponse* self);
VALA_EXTERN GearySmtpResponse* geary_smtp_response_new (GeeList* lines);
VALA_EXTERN GearySmtpResponse* geary_smtp_response_construct (GType object_type,
                                                  GeeList* lines);
VALA_EXTERN void geary_smtp_response_throw_error (GearySmtpResponse* self,
                                      const gchar* msg,
                                      GError** error);
VALA_EXTERN gchar* geary_smtp_response_to_string (GearySmtpResponse* self);
VALA_EXTERN GType geary_smtp_response_code_status_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_smtp_response_code_condition_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearySmtpResponseCode* geary_smtp_response_code_new (const gchar* str,
                                                     GError** error);
VALA_EXTERN GearySmtpResponseCode* geary_smtp_response_code_construct (GType object_type,
                                                           const gchar* str,
                                                           GError** error);
VALA_EXTERN GearySmtpResponseCodeStatus geary_smtp_response_code_get_status (GearySmtpResponseCode* self);
VALA_EXTERN GearySmtpResponseCodeCondition geary_smtp_response_code_get_condition (GearySmtpResponseCode* self);
VALA_EXTERN gboolean geary_smtp_response_code_is_success_completed (GearySmtpResponseCode* self);
VALA_EXTERN gboolean geary_smtp_response_code_is_success_intermediate (GearySmtpResponseCode* self);
VALA_EXTERN gboolean geary_smtp_response_code_is_failure (GearySmtpResponseCode* self);
VALA_EXTERN gboolean geary_smtp_response_code_is_start_data (GearySmtpResponseCode* self);
VALA_EXTERN gboolean geary_smtp_response_code_is_starttls_ready (GearySmtpResponseCode* self);
VALA_EXTERN gboolean geary_smtp_response_code_is_denied (GearySmtpResponseCode* self);
VALA_EXTERN gboolean geary_smtp_response_code_is_syntax_error (GearySmtpResponseCode* self);
VALA_EXTERN gchar* geary_smtp_response_code_serialize (GearySmtpResponseCode* self);
VALA_EXTERN gchar* geary_smtp_response_code_to_string (GearySmtpResponseCode* self);
VALA_EXTERN GearySmtpResponseCode* geary_smtp_response_line_get_code (GearySmtpResponseLine* self);
VALA_EXTERN const gchar* geary_smtp_response_line_get_explanation (GearySmtpResponseLine* self);
VALA_EXTERN gboolean geary_smtp_response_line_get_continued (GearySmtpResponseLine* self);
VALA_EXTERN GearySmtpResponseLine* geary_smtp_response_line_new (GearySmtpResponseCode* code,
                                                     const gchar* explanation,
                                                     gboolean continued);
VALA_EXTERN GearySmtpResponseLine* geary_smtp_response_line_construct (GType object_type,
                                                           GearySmtpResponseCode* code,
                                                           const gchar* explanation,
                                                           gboolean continued);
VALA_EXTERN GearySmtpResponseLine* geary_smtp_response_line_deserialize (const gchar* line,
                                                             GError** error);
VALA_EXTERN gchar* geary_smtp_response_line_serialize (GearySmtpResponseLine* self);
VALA_EXTERN gchar* geary_smtp_response_line_to_string (GearySmtpResponseLine* self);
VALA_EXTERN GType geary_state_machine_descriptor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyStateMachineDescriptor, g_object_unref)
VALA_EXTERN const gchar* geary_state_machine_descriptor_get_name (GearyStateMachineDescriptor* self);
VALA_EXTERN guint geary_state_machine_descriptor_get_start_state (GearyStateMachineDescriptor* self);
VALA_EXTERN guint geary_state_machine_descriptor_get_state_count (GearyStateMachineDescriptor* self);
VALA_EXTERN guint geary_state_machine_descriptor_get_event_count (GearyStateMachineDescriptor* self);
VALA_EXTERN GearyStateMachineDescriptor* geary_state_machine_descriptor_new (const gchar* name,
                                                                 guint start_state,
                                                                 guint state_count,
                                                                 guint event_count,
                                                                 GearyStateStateEventToString state_to_string,
                                                                 gpointer state_to_string_target,
                                                                 GearyStateStateEventToString event_to_string,
                                                                 gpointer event_to_string_target);
VALA_EXTERN GearyStateMachineDescriptor* geary_state_machine_descriptor_construct (GType object_type,
                                                                       const gchar* name,
                                                                       guint start_state,
                                                                       guint state_count,
                                                                       guint event_count,
                                                                       GearyStateStateEventToString state_to_string,
                                                                       gpointer state_to_string_target,
                                                                       GearyStateStateEventToString event_to_string,
                                                                       gpointer event_to_string_target);
VALA_EXTERN gchar* geary_state_machine_descriptor_get_state_string (GearyStateMachineDescriptor* self,
                                                        guint state);
VALA_EXTERN gchar* geary_state_machine_descriptor_get_event_string (GearyStateMachineDescriptor* self,
                                                        guint event);
VALA_EXTERN GType geary_state_machine_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyStateMachine, g_object_unref)
VALA_EXTERN guint geary_state_machine_get_state (GearyStateMachine* self);
VALA_EXTERN gboolean geary_state_machine_get_abort_on_no_transition (GearyStateMachine* self);
VALA_EXTERN void geary_state_machine_set_abort_on_no_transition (GearyStateMachine* self,
                                                     gboolean value);
VALA_EXTERN gboolean geary_state_machine_get_logging (GearyStateMachine* self);
VALA_EXTERN GType geary_state_mapping_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyStateMapping, g_object_unref)
VALA_EXTERN GearyStateMachine* geary_state_machine_new (GearyStateMachineDescriptor* descriptor,
                                            GearyStateMapping** mappings,
                                            gint mappings_length1,
                                            GearyStateTransition default_transition,
                                            gpointer default_transition_target);
VALA_EXTERN GearyStateMachine* geary_state_machine_construct (GType object_type,
                                                  GearyStateMachineDescriptor* descriptor,
                                                  GearyStateMapping** mappings,
                                                  gint mappings_length1,
                                                  GearyStateTransition default_transition,
                                                  gpointer default_transition_target);
VALA_EXTERN guint geary_state_machine_issue (GearyStateMachine* self,
                                 guint event,
                                 void* user,
                                 GObject* object,
                                 GError* err);
VALA_EXTERN gboolean geary_state_machine_do_post_transition (GearyStateMachine* self,
                                                 GearyStatePostTransition post_transition,
                                                 gpointer post_transition_target,
                                                 void* user,
                                                 GObject* object,
                                                 GError* err);
VALA_EXTERN gchar* geary_state_machine_get_state_string (GearyStateMachine* self,
                                             guint state);
VALA_EXTERN gchar* geary_state_machine_get_event_string (GearyStateMachine* self,
                                             guint event);
VALA_EXTERN gchar* geary_state_machine_get_event_issued_string (GearyStateMachine* self,
                                                    guint state,
                                                    guint event);
VALA_EXTERN gchar* geary_state_machine_get_transition_string (GearyStateMachine* self,
                                                  guint old_state,
                                                  guint event,
                                                  guint new_state);
VALA_EXTERN gchar* geary_state_machine_to_string (GearyStateMachine* self);
VALA_EXTERN GearyStateMapping* geary_state_mapping_new (guint state,
                                            guint event,
                                            GearyStateTransition transition,
                                            gpointer transition_target);
VALA_EXTERN GearyStateMapping* geary_state_mapping_construct (GType object_type,
                                                  guint state,
                                                  guint event,
                                                  GearyStateTransition transition,
                                                  gpointer transition_target);
VALA_EXTERN guint geary_state_nop (guint state,
                       guint event);
VALA_EXTERN gint geary_ascii_index_of (const gchar* str,
                           gchar ch);
VALA_EXTERN gint geary_ascii_last_index_of (const gchar* str,
                                gchar ch);
VALA_EXTERN gboolean geary_ascii_get_next_char (const gchar* str,
                                    gint* index,
                                    gchar* ch);
VALA_EXTERN gint geary_ascii_strcmp (const gchar* a,
                         const gchar* b);
VALA_EXTERN gint geary_ascii_stricmp (const gchar* a,
                          const gchar* b);
VALA_EXTERN gboolean geary_ascii_str_equal (const gchar* a,
                                const gchar* b);
VALA_EXTERN gboolean geary_ascii_stri_equal (const gchar* a,
                                 const gchar* b);
VALA_EXTERN gboolean geary_ascii_nullable_stri_equal (const gchar* a,
                                          const gchar* b);
VALA_EXTERN guint geary_ascii_str_hash (const gchar* str);
VALA_EXTERN guint geary_ascii_stri_hash (const gchar* str);
VALA_EXTERN guint geary_ascii_nullable_stri_hash (const gchar* str);
VALA_EXTERN gchar* geary_ascii_strdown (const gchar* str);
VALA_EXTERN gchar* geary_ascii_strup (const gchar* str);
VALA_EXTERN gboolean geary_ascii_is_numeric (const gchar* str);
VALA_EXTERN gint geary_ascii_digit_to_int (gchar ch);
VALA_EXTERN GeeCollection* geary_collection_single (GType t_type,
                                        GBoxedCopyFunc t_dup_func,
                                        GDestroyNotify t_destroy_func,
                                        gconstpointer element);
VALA_EXTERN GeeMap* geary_collection_single_map (GType k_type,
                                     GBoxedCopyFunc k_dup_func,
                                     GDestroyNotify k_destroy_func,
                                     GType v_type,
                                     GBoxedCopyFunc v_dup_func,
                                     GDestroyNotify v_destroy_func,
                                     gconstpointer key,
                                     gconstpointer value);
VALA_EXTERN GeeCollection* geary_collection_copy (GType v_type,
                                      GBoxedCopyFunc v_dup_func,
                                      GDestroyNotify v_destroy_func,
                                      GeeCollection* original);
VALA_EXTERN gpointer geary_collection_first (GType g_type,
                                 GBoxedCopyFunc g_dup_func,
                                 GDestroyNotify g_destroy_func,
                                 GeeCollection* c);
VALA_EXTERN GeeCollection* geary_collection_remove_if (GType g_type,
                                           GBoxedCopyFunc g_dup_func,
                                           GDestroyNotify g_destroy_func,
                                           GeeCollection* c,
                                           GeePredicate pred,
                                           gpointer pred_target,
                                           GDestroyNotify pred_target_destroy_notify);
VALA_EXTERN void geary_collection_map_set_all (GType k_type,
                                   GBoxedCopyFunc k_dup_func,
                                   GDestroyNotify k_destroy_func,
                                   GType v_type,
                                   GBoxedCopyFunc v_dup_func,
                                   GDestroyNotify v_destroy_func,
                                   GeeMap* dest,
                                   GeeMap* src);
VALA_EXTERN void geary_collection_multi_map_set_all (GType k_type,
                                         GBoxedCopyFunc k_dup_func,
                                         GDestroyNotify k_destroy_func,
                                         GType v_type,
                                         GBoxedCopyFunc v_dup_func,
                                         GDestroyNotify v_destroy_func,
                                         GeeMultiMap* dest,
                                         gconstpointer key,
                                         GeeCollection* values);
VALA_EXTERN void geary_collection_map_unset_all_keys (GType k_type,
                                          GBoxedCopyFunc k_dup_func,
                                          GDestroyNotify k_destroy_func,
                                          GType v_type,
                                          GBoxedCopyFunc v_dup_func,
                                          GDestroyNotify v_destroy_func,
                                          GeeMap* map,
                                          GeeCollection* keys);
VALA_EXTERN GeeMultiMap* geary_collection_reverse_multi_map (GType k_type,
                                                 GBoxedCopyFunc k_dup_func,
                                                 GDestroyNotify k_destroy_func,
                                                 GType v_type,
                                                 GBoxedCopyFunc v_dup_func,
                                                 GDestroyNotify v_destroy_func,
                                                 GeeMultiMap* map);
VALA_EXTERN guint geary_collection_int64_hash (gint64 value);
VALA_EXTERN guint geary_collection_int64_hash_func (gint64* n);
VALA_EXTERN gboolean geary_collection_int64_equal_func (gint64* a,
                                            gint64* b);
VALA_EXTERN guint geary_collection_hash_memory (void* ptr,
                                    gsize bytes);
VALA_EXTERN guint geary_collection_hash_memory_stream (void* ptr,
                                           guint8 terminator,
                                           GearyCollectionByteTransformer cb,
                                           gpointer cb_target);
VALA_EXTERN gpointer geary_config_file_ref (gpointer instance);
VALA_EXTERN void geary_config_file_unref (gpointer instance);
VALA_EXTERN GParamSpec* geary_param_spec_config_file (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
VALA_EXTERN void geary_value_set_config_file (GValue* value,
                                  gpointer v_object);
VALA_EXTERN void geary_value_take_config_file (GValue* value,
                                   gpointer v_object);
VALA_EXTERN gpointer geary_value_get_config_file (const GValue* value);
VALA_EXTERN GType geary_config_file_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyConfigFile, geary_config_file_unref)
VALA_EXTERN GFile* geary_config_file_get_file (GearyConfigFile* self);
VALA_EXTERN GearyConfigFile* geary_config_file_new (GFile* config_file);
VALA_EXTERN GearyConfigFile* geary_config_file_construct (GType object_type,
                                              GFile* config_file);
VALA_EXTERN gpointer geary_config_file_group_ref (gpointer instance);
VALA_EXTERN void geary_config_file_group_unref (gpointer instance);
VALA_EXTERN GParamSpec* geary_config_file_param_spec_group (const gchar* name,
                                                const gchar* nick,
                                                const gchar* blurb,
                                                GType object_type,
                                                GParamFlags flags);
VALA_EXTERN void geary_config_file_value_set_group (GValue* value,
                                        gpointer v_object);
VALA_EXTERN void geary_config_file_value_take_group (GValue* value,
                                         gpointer v_object);
VALA_EXTERN gpointer geary_config_file_value_get_group (const GValue* value);
VALA_EXTERN GType geary_config_file_group_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyConfigFileGroup, geary_config_file_group_unref)
VALA_EXTERN GearyConfigFileGroup* geary_config_file_get_group (GearyConfigFile* self,
                                                   const gchar* name);
VALA_EXTERN void geary_config_file_load (GearyConfigFile* self,
                             GCancellable* cancellable,
                             GAsyncReadyCallback _callback_,
                             gpointer _user_data_);
VALA_EXTERN void geary_config_file_load_finish (GearyConfigFile* self,
                                    GAsyncResult* _res_,
                                    GError** error);
VALA_EXTERN void geary_config_file_save (GearyConfigFile* self,
                             GCancellable* cancellable,
                             GAsyncReadyCallback _callback_,
                             gpointer _user_data_);
VALA_EXTERN void geary_config_file_save_finish (GearyConfigFile* self,
                                    GAsyncResult* _res_,
                                    GError** error);
VALA_EXTERN GearyConfigFile* geary_config_file_group_get_file (GearyConfigFileGroup* self);
VALA_EXTERN const gchar* geary_config_file_group_get_name (GearyConfigFileGroup* self);
VALA_EXTERN gboolean geary_config_file_group_get_exists (GearyConfigFileGroup* self);
VALA_EXTERN void geary_config_file_group_set_fallback (GearyConfigFileGroup* self,
                                           const gchar* group,
                                           const gchar* prefix);
VALA_EXTERN gboolean geary_config_file_group_has_key (GearyConfigFileGroup* self,
                                          const gchar* name);
VALA_EXTERN gchar* geary_config_file_group_get_string (GearyConfigFileGroup* self,
                                           const gchar* key,
                                           const gchar* def);
VALA_EXTERN gchar* geary_config_file_group_get_required_string (GearyConfigFileGroup* self,
                                                    const gchar* key,
                                                    GError** error);
VALA_EXTERN void geary_config_file_group_set_string (GearyConfigFileGroup* self,
                                         const gchar* key,
                                         const gchar* value);
VALA_EXTERN GeeList* geary_config_file_group_get_string_list (GearyConfigFileGroup* self,
                                                  const gchar* key);
VALA_EXTERN GeeList* geary_config_file_group_get_required_string_list (GearyConfigFileGroup* self,
                                                           const gchar* key,
                                                           GError** error);
VALA_EXTERN void geary_config_file_group_set_string_list (GearyConfigFileGroup* self,
                                              const gchar* key,
                                              GeeList* value);
VALA_EXTERN gboolean geary_config_file_group_get_bool (GearyConfigFileGroup* self,
                                           const gchar* key,
                                           gboolean def);
VALA_EXTERN void geary_config_file_group_set_bool (GearyConfigFileGroup* self,
                                       const gchar* key,
                                       gboolean value);
VALA_EXTERN gint geary_config_file_group_get_int (GearyConfigFileGroup* self,
                                      const gchar* key,
                                      gint def);
VALA_EXTERN void geary_config_file_group_set_int (GearyConfigFileGroup* self,
                                      const gchar* key,
                                      gint value);
VALA_EXTERN guint16 geary_config_file_group_get_uint16 (GearyConfigFileGroup* self,
                                            const gchar* key,
                                            guint16 def);
VALA_EXTERN void geary_config_file_group_set_uint16 (GearyConfigFileGroup* self,
                                         const gchar* key,
                                         guint16 value);
VALA_EXTERN gpointer geary_config_file_group_parse_value (GearyConfigFileGroup* self,
                                              GType t_type,
                                              GBoxedCopyFunc t_dup_func,
                                              GDestroyNotify t_destroy_func,
                                              const gchar* key,
                                              GearyConfigFileParser parser,
                                              gpointer parser_target,
                                              gconstpointer def);
VALA_EXTERN gpointer geary_config_file_group_parse_required_value (GearyConfigFileGroup* self,
                                                       GType t_type,
                                                       GBoxedCopyFunc t_dup_func,
                                                       GDestroyNotify t_destroy_func,
                                                       const gchar* key,
                                                       GearyConfigFileParser parser,
                                                       gpointer parser_target,
                                                       GError** error);
VALA_EXTERN void geary_config_file_group_remove_key (GearyConfigFileGroup* self,
                                         const gchar* name,
                                         GError** error);
VALA_EXTERN void geary_config_file_group_remove (GearyConfigFileGroup* self,
                                     GError** error);
VALA_EXTERN GSocketConnectable* geary_connectivity_manager_get_remote (GearyConnectivityManager* self);
VALA_EXTERN GearyTrillian geary_connectivity_manager_get_is_reachable (GearyConnectivityManager* self);
VALA_EXTERN GearyTrillian geary_connectivity_manager_get_is_valid (GearyConnectivityManager* self);
VALA_EXTERN GearyConnectivityManager* geary_connectivity_manager_new (GSocketConnectable* remote);
VALA_EXTERN GearyConnectivityManager* geary_connectivity_manager_construct (GType object_type,
                                                                GSocketConnectable* remote);
VALA_EXTERN void geary_connectivity_manager_check_reachable (GearyConnectivityManager* self,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN void geary_connectivity_manager_check_reachable_finish (GearyConnectivityManager* self,
                                                        GAsyncResult* _res_);
VALA_EXTERN void geary_connectivity_manager_cancel_check (GearyConnectivityManager* self);
VALA_EXTERN GError* geary_error_context_get_thrown (GearyErrorContext* self);
VALA_EXTERN gpointer geary_error_context_stack_frame_ref (gpointer instance);
VALA_EXTERN void geary_error_context_stack_frame_unref (gpointer instance);
VALA_EXTERN GParamSpec* geary_error_context_param_spec_stack_frame (const gchar* name,
                                                        const gchar* nick,
                                                        const gchar* blurb,
                                                        GType object_type,
                                                        GParamFlags flags);
VALA_EXTERN void geary_error_context_value_set_stack_frame (GValue* value,
                                                gpointer v_object);
VALA_EXTERN void geary_error_context_value_take_stack_frame (GValue* value,
                                                 gpointer v_object);
VALA_EXTERN gpointer geary_error_context_value_get_stack_frame (const GValue* value);
VALA_EXTERN GType geary_error_context_stack_frame_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyErrorContextStackFrame, geary_error_context_stack_frame_unref)
VALA_EXTERN GeeList* geary_error_context_get_backtrace (GearyErrorContext* self);
VALA_EXTERN GearyErrorContext* geary_error_context_new (GError* thrown);
VALA_EXTERN GearyErrorContext* geary_error_context_construct (GType object_type,
                                                  GError* thrown);
VALA_EXTERN gchar* geary_error_context_format_error_type (GearyErrorContext* self);
VALA_EXTERN gchar* geary_error_context_format_full_error (GearyErrorContext* self);
VALA_EXTERN gchar* geary_error_context_stack_frame_to_string (GearyErrorContextStackFrame* self);
VALA_EXTERN void geary_files_recursive_delete_async (GFile* folder,
                                         gint priority,
                                         GCancellable* cancellable,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
VALA_EXTERN void geary_files_recursive_delete_finish (GAsyncResult* _res_,
                                          GError** error);
VALA_EXTERN void geary_files_query_exists_async (GFile* file,
                                     GCancellable* cancellable,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_);
VALA_EXTERN gboolean geary_files_query_exists_finish (GAsyncResult* _res_,
                                          GError** error);
VALA_EXTERN void geary_files_query_file_type_async (GFile* file,
                                        gboolean follow_symlinks,
                                        GCancellable* cancellable,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN GFileType geary_files_query_file_type_finish (GAsyncResult* _res_,
                                              GError** error);
VALA_EXTERN void geary_files_make_directory_with_parents (GFile* dir,
                                              GCancellable* cancellable,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN gboolean geary_files_make_directory_with_parents_finish (GAsyncResult* _res_,
                                                         GError** error);
VALA_EXTERN guint geary_files_hash (GFile* file);
VALA_EXTERN gboolean geary_files_equal (GFile* a,
                            GFile* b);
VALA_EXTERN guint geary_files_nullable_hash (GFile* file);
VALA_EXTERN gboolean geary_files_nullable_equal (GFile* a,
                                     GFile* b);
VALA_EXTERN const gchar* geary_generic_capabilities_get_name_separator (GearyGenericCapabilities* self);
VALA_EXTERN const gchar* geary_generic_capabilities_get_value_separator (GearyGenericCapabilities* self);
VALA_EXTERN GearyGenericCapabilities* geary_generic_capabilities_new (const gchar* name_separator,
                                                          const gchar* value_separator);
VALA_EXTERN GearyGenericCapabilities* geary_generic_capabilities_construct (GType object_type,
                                                                const gchar* name_separator,
                                                                const gchar* value_separator);
VALA_EXTERN gboolean geary_generic_capabilities_is_empty (GearyGenericCapabilities* self);
VALA_EXTERN gboolean geary_generic_capabilities_has_capability (GearyGenericCapabilities* self,
                                                    const gchar* name);
VALA_EXTERN gboolean geary_generic_capabilities_has_setting (GearyGenericCapabilities* self,
                                                 const gchar* name,
                                                 const gchar* setting);
VALA_EXTERN GeeCollection* geary_generic_capabilities_get_settings (GearyGenericCapabilities* self,
                                                        const gchar* name);
VALA_EXTERN GeeSet* geary_generic_capabilities_get_all_names (GearyGenericCapabilities* self);
VALA_EXTERN gchar* geary_generic_capabilities_to_string (GearyGenericCapabilities* self);
VALA_EXTERN gboolean geary_generic_capabilities_parse_and_add_capability (GearyGenericCapabilities* self,
                                                              const gchar* text);
VALA_EXTERN void geary_html_init (void);
VALA_EXTERN gchar* geary_html_escape_markup (const gchar* plain);
VALA_EXTERN gchar* geary_html_preserve_whitespace (const gchar* text);
VALA_EXTERN gchar* geary_html_smart_escape (const gchar* text);
VALA_EXTERN gchar* geary_html_html_to_text (const gchar* html,
                                gboolean include_blockquotes,
                                const gchar* encoding);
VALA_EXTERN GType geary_idle_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyIdleManager, g_object_unref)
VALA_EXTERN GType geary_idle_manager_repeat_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_idle_manager_priority_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gboolean geary_idle_manager_get_is_running (GearyIdleManager* self);
VALA_EXTERN GearyIdleManager* geary_idle_manager_new (GearyIdleManagerIdleFunc callback,
                                          gpointer callback_target);
VALA_EXTERN GearyIdleManager* geary_idle_manager_construct (GType object_type,
                                                GearyIdleManagerIdleFunc callback,
                                                gpointer callback_target);
VALA_EXTERN void geary_idle_manager_schedule (GearyIdleManager* self);
VALA_EXTERN gboolean geary_idle_manager_reset (GearyIdleManager* self);
VALA_EXTERN gchar* geary_imap_utf7_utf8_to_imap_utf7 (const gchar* str);
VALA_EXTERN gchar* geary_imap_utf7_imap_utf7_to_utf8 (const gchar* str,
                                          GError** error);
VALA_EXTERN gchar* geary_inet_address_to_string (GInetSocketAddress* addr);
VALA_EXTERN gboolean geary_inet_is_valid_display_host (gchar* name);
VALA_EXTERN GType geary_iterable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyIterable, g_object_unref)
VALA_EXTERN GearyIterable* geary_traverse (GType g_type,
                               GBoxedCopyFunc g_dup_func,
                               GDestroyNotify g_destroy_func,
                               GeeIterable* i);
VALA_EXTERN GearyIterable* geary_iterate (GType g_type,
                              GBoxedCopyFunc g_dup_func,
                              GDestroyNotify g_destroy_func,
                              gconstpointer g,
                              ...);
VALA_EXTERN GearyIterable* geary_iterate_array (GType g_type,
                                    GBoxedCopyFunc g_dup_func,
                                    GDestroyNotify g_destroy_func,
                                    gpointer* a,
                                    gint a_length1,
                                    GeeEqualDataFunc equal_func,
                                    gpointer equal_func_target,
                                    GDestroyNotify equal_func_target_destroy_notify);
VALA_EXTERN GeeIterator* geary_iterable_iterator (GearyIterable* self);
VALA_EXTERN GearyIterable* geary_iterable_map (GearyIterable* self,
                                   GType a_type,
                                   GBoxedCopyFunc a_dup_func,
                                   GDestroyNotify a_destroy_func,
                                   GeeMapFunc f,
                                   gpointer f_target);
VALA_EXTERN GearyIterable* geary_iterable_scan (GearyIterable* self,
                                    GType a_type,
                                    GBoxedCopyFunc a_dup_func,
                                    GDestroyNotify a_destroy_func,
                                    GeeFoldFunc f,
                                    gpointer f_target,
                                    gpointer seed);
VALA_EXTERN GearyIterable* geary_iterable_filter (GearyIterable* self,
                                      GeePredicate f,
                                      gpointer f_target,
                                      GDestroyNotify f_target_destroy_notify);
VALA_EXTERN GearyIterable* geary_iterable_chop (GearyIterable* self,
                                    gint offset,
                                    gint length);
VALA_EXTERN GearyIterable* geary_iterable_map_nonnull (GearyIterable* self,
                                           GType a_type,
                                           GBoxedCopyFunc a_dup_func,
                                           GDestroyNotify a_destroy_func,
                                           GeeMapFunc f,
                                           gpointer f_target);
VALA_EXTERN GearyIterable* geary_iterable_cast_object (GearyIterable* self,
                                           GType a_type,
                                           GBoxedCopyFunc a_dup_func,
                                           GDestroyNotify a_destroy_func);
VALA_EXTERN gpointer geary_iterable_first (GearyIterable* self);
VALA_EXTERN gpointer geary_iterable_first_matching (GearyIterable* self,
                                        GeePredicate f,
                                        gpointer f_target,
                                        GDestroyNotify f_target_destroy_notify);
VALA_EXTERN gboolean geary_iterable_any (GearyIterable* self,
                             GeePredicate f,
                             gpointer f_target,
                             GDestroyNotify f_target_destroy_notify);
VALA_EXTERN gboolean geary_iterable_all (GearyIterable* self,
                             GeePredicate f,
                             gpointer f_target,
                             GDestroyNotify f_target_destroy_notify);
VALA_EXTERN gint geary_iterable_count_matching (GearyIterable* self,
                                    GeePredicate f,
                                    gpointer f_target,
                                    GDestroyNotify f_target_destroy_notify);
VALA_EXTERN GeeIterable* geary_iterable_to_gee_iterable (GearyIterable* self);
VALA_EXTERN GeeCollection* geary_iterable_add_all_to (GearyIterable* self,
                                          GeeCollection* c);
VALA_EXTERN GeeMap* geary_iterable_add_all_to_map (GearyIterable* self,
                                       GType k_type,
                                       GBoxedCopyFunc k_dup_func,
                                       GDestroyNotify k_destroy_func,
                                       GeeMap* c,
                                       GeeMapFunc key_func,
                                       gpointer key_func_target);
VALA_EXTERN GeeArrayList* geary_iterable_to_array_list (GearyIterable* self,
                                            GeeEqualDataFunc equal_func,
                                            gpointer equal_func_target,
                                            GDestroyNotify equal_func_target_destroy_notify);
VALA_EXTERN GeeArrayList* geary_iterable_to_sorted_list (GearyIterable* self,
                                             GCompareDataFunc comparator,
                                             gpointer comparator_target,
                                             GDestroyNotify comparator_target_destroy_notify,
                                             GeeEqualDataFunc equal_func,
                                             gpointer equal_func_target,
                                             GDestroyNotify equal_func_target_destroy_notify);
VALA_EXTERN GeeLinkedList* geary_iterable_to_linked_list (GearyIterable* self,
                                              GeeEqualDataFunc equal_func,
                                              gpointer equal_func_target,
                                              GDestroyNotify equal_func_target_destroy_notify);
VALA_EXTERN GeeHashSet* geary_iterable_to_hash_set (GearyIterable* self,
                                        GeeHashDataFunc hash_func,
                                        gpointer hash_func_target,
                                        GDestroyNotify hash_func_target_destroy_notify,
                                        GeeEqualDataFunc equal_func,
                                        gpointer equal_func_target,
                                        GDestroyNotify equal_func_target_destroy_notify);
VALA_EXTERN GeeTreeSet* geary_iterable_to_tree_set (GearyIterable* self,
                                        GCompareDataFunc compare_func,
                                        gpointer compare_func_target,
                                        GDestroyNotify compare_func_target_destroy_notify);
VALA_EXTERN GeeHashMap* geary_iterable_to_hash_map (GearyIterable* self,
                                        GType k_type,
                                        GBoxedCopyFunc k_dup_func,
                                        GDestroyNotify k_destroy_func,
                                        GeeMapFunc key_func,
                                        gpointer key_func_target,
                                        GeeHashDataFunc key_hash_func,
                                        gpointer key_hash_func_target,
                                        GDestroyNotify key_hash_func_target_destroy_notify,
                                        GeeEqualDataFunc key_equal_func,
                                        gpointer key_equal_func_target,
                                        GDestroyNotify key_equal_func_target_destroy_notify,
                                        GeeEqualDataFunc value_equal_func,
                                        gpointer value_equal_func_target,
                                        GDestroyNotify value_equal_func_target_destroy_notify);
VALA_EXTERN void geary_logging_init (void);
VALA_EXTERN void geary_logging_set_log_listener (GearyLoggingLogRecord new_listener,
                                     gpointer new_listener_target);
VALA_EXTERN GearyLoggingRecord* geary_logging_get_earliest_record (void);
VALA_EXTERN GearyLoggingRecord* geary_logging_get_latest_record (void);
VALA_EXTERN void geary_logging_clear (void);
VALA_EXTERN gboolean geary_logging_suppress_domain (const gchar* domain);
VALA_EXTERN gboolean geary_logging_is_suppressed_domain (const gchar* domain);
VALA_EXTERN gboolean geary_logging_unsuppress_domain (const gchar* domain);
VALA_EXTERN void geary_logging_log_to (FILE* stream);
VALA_EXTERN GLogWriterOutput geary_logging_default_log_writer (GLogLevelFlags levels,
                                                   GLogField* fields,
                                                   gint fields_length1);
VALA_EXTERN gchar* geary_logging_source_default_to_string (GearyLoggingSource* source,
                                               const gchar* extra_values);
VALA_EXTERN const gchar* geary_logging_source_get_logging_domain (GearyLoggingSource* self);
VALA_EXTERN GearyLoggingSource* geary_logging_source_get_logging_parent (GearyLoggingSource* self);
VALA_EXTERN GearyLoggingState* geary_logging_source_to_logging_state (GearyLoggingSource* self);
VALA_EXTERN gchar* geary_logging_source_to_string (GearyLoggingSource* self);
VALA_EXTERN void geary_logging_source_debug (GearyLoggingSource* self,
                                 const gchar* fmt,
                                 ...)  G_GNUC_PRINTF(2,3) ;
VALA_EXTERN void geary_logging_source_message (GearyLoggingSource* self,
                                   const gchar* fmt,
                                   ...)  G_GNUC_PRINTF(2,3) ;
VALA_EXTERN void geary_logging_source_warning (GearyLoggingSource* self,
                                   const gchar* fmt,
                                   ...)  G_GNUC_PRINTF(2,3) ;
VALA_EXTERN void geary_logging_source_error (GearyLoggingSource* self,
                                 const gchar* fmt,
                                 ...)  G_GNUC_PRINTF(2,3) ;
VALA_EXTERN void geary_logging_source_critical (GearyLoggingSource* self,
                                    const gchar* fmt,
                                    ...)  G_GNUC_PRINTF(2,3) ;
VALA_EXTERN GType geary_logging_source_context_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GearyLoggingSourceContext* geary_logging_source_context_dup (const GearyLoggingSourceContext* self);
VALA_EXTERN void geary_logging_source_context_free (GearyLoggingSourceContext* self);
VALA_EXTERN void geary_logging_source_context_copy (const GearyLoggingSourceContext* self,
                                        GearyLoggingSourceContext* dest);
VALA_EXTERN void geary_logging_source_context_destroy (GearyLoggingSourceContext* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (GearyLoggingSourceContext, geary_logging_source_context_destroy)
VALA_EXTERN void geary_logging_source_context_append (GearyLoggingSourceContext *self,
                                          GType t_type,
                                          GBoxedCopyFunc t_dup_func,
                                          GDestroyNotify t_destroy_func,
                                          const gchar* key,
                                          gconstpointer value);
VALA_EXTERN void geary_logging_source_context_append_source (GearyLoggingSourceContext *self,
                                                 GearyLoggingSource* value);
VALA_EXTERN GLogField* geary_logging_source_context_to_array (GearyLoggingSourceContext *self,
                                                  gint* result_length1);
VALA_EXTERN GearyLoggingSource* geary_logging_state_get_source (GearyLoggingState* self);
VALA_EXTERN GearyLoggingState* geary_logging_state_new (GearyLoggingSource* source,
                                            const gchar* message,
                                            ...)  G_GNUC_PRINTF(2,3) ;
VALA_EXTERN GearyLoggingState* geary_logging_state_construct (GType object_type,
                                                  GearyLoggingSource* source,
                                                  const gchar* message,
                                                  ...)  G_GNUC_PRINTF(3,4) ;
VALA_EXTERN GearyLoggingState* geary_logging_state_constructv (GType object_type,
                                                   GearyLoggingSource* source,
                                                   const gchar* message,
                                                   va_list _vala_va_list)  G_GNUC_PRINTF(3,0) ;
VALA_EXTERN gchar* geary_logging_state_format_message (GearyLoggingState* self);
VALA_EXTERN const gchar* geary_logging_record_get_domain (GearyLoggingRecord* self);
VALA_EXTERN GearyAccount* geary_logging_record_get_account (GearyLoggingRecord* self);
VALA_EXTERN GearyClientService* geary_logging_record_get_service (GearyLoggingRecord* self);
VALA_EXTERN GearyFolder* geary_logging_record_get_folder (GearyLoggingRecord* self);
VALA_EXTERN GearyLoggingRecord* geary_logging_record_get_next (GearyLoggingRecord* self);
VALA_EXTERN GearyLoggingRecord* geary_logging_record_new_copy (GearyLoggingRecord* other);
VALA_EXTERN GearyLoggingRecord* geary_logging_record_construct_copy (GType object_type,
                                                         GearyLoggingRecord* other);
VALA_EXTERN void geary_logging_record_fill_well_known_sources (GearyLoggingRecord* self);
VALA_EXTERN gchar* geary_logging_record_format (GearyLoggingRecord* self);
VALA_EXTERN gint geary_numeric_int_floor (gint value,
                              gint floor);
VALA_EXTERN gint64 geary_numeric_int64_floor (gint64 value,
                                  gint64 floor);
VALA_EXTERN gint geary_numeric_int_ceiling (gint value,
                                gint ceiling);
VALA_EXTERN gint64 geary_numeric_int64_ceiling (gint64 value,
                                    gint64 ceiling);
VALA_EXTERN guint geary_numeric_uint_ceiling (guint value,
                                  guint ceiling);
VALA_EXTERN gboolean geary_numeric_int_in_range_inclusive (gint value,
                                               gint min,
                                               gint max);
VALA_EXTERN gboolean geary_numeric_int64_in_range_inclusive (gint64 value,
                                                 gint64 min,
                                                 gint64 max);
VALA_EXTERN gboolean geary_numeric_int_in_range_exclusive (gint value,
                                               gint min,
                                               gint max);
VALA_EXTERN gboolean geary_numeric_int64_in_range_exclusive (gint64 value,
                                                 gint64 min,
                                                 gint64 max);
VALA_EXTERN gint geary_numeric_int_round_up (gint value,
                                 gint multiple_of);
VALA_EXTERN gint geary_numeric_int64_compare (void* a,
                                  void* b);
VALA_EXTERN GeeList* geary_object_utils_mirror_properties (GObject* source,
                                               GObject* dest,
                                               GBindingFlags flags);
VALA_EXTERN void geary_object_utils_unmirror_properties (GeeList* bindings);
VALA_EXTERN gchar* geary_object_utils_to_enum_nick (GType e_type,
                                        GBoxedCopyFunc e_dup_func,
                                        GDestroyNotify e_destroy_func,
                                        GType type,
                                        gconstpointer value);
VALA_EXTERN gpointer geary_object_utils_from_enum_nick (GType e_type,
                                            GBoxedCopyFunc e_dup_func,
                                            GDestroyNotify e_destroy_func,
                                            GType type,
                                            const gchar* nick,
                                            GError** error);
VALA_EXTERN GType geary_reference_semantics_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyReferenceSemantics, g_object_unref)
VALA_EXTERN gint geary_reference_semantics_get_manual_ref_count (GearyReferenceSemantics* self);
VALA_EXTERN void geary_reference_semantics_set_manual_ref_count (GearyReferenceSemantics* self,
                                                     gint value);
VALA_EXTERN gboolean geary_reference_semantics_is_freed (GearyReferenceSemantics* self);
VALA_EXTERN GType geary_smart_reference_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySmartReference, g_object_unref)
VALA_EXTERN GearySmartReference* geary_smart_reference_construct (GType object_type,
                                                      GearyReferenceSemantics* reffed);
VALA_EXTERN GearyReferenceSemantics* geary_smart_reference_get_reference (GearySmartReference* self);
VALA_EXTERN GType geary_scheduler_scheduled_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySchedulerScheduled, g_object_unref)
VALA_EXTERN void geary_scheduler_scheduled_cancel (GearySchedulerScheduled* self);
VALA_EXTERN GearySchedulerScheduled* geary_scheduler_on_idle (GSourceFunc cb,
                                                  gpointer cb_target,
                                                  gint priority);
VALA_EXTERN GearySchedulerScheduled* geary_scheduler_after_msec (guint msec,
                                                     GSourceFunc cb,
                                                     gpointer cb_target,
                                                     gint priority);
VALA_EXTERN GearySchedulerScheduled* geary_scheduler_after_sec (guint sec,
                                                    GSourceFunc cb,
                                                    gpointer cb_target,
                                                    gint priority);
VALA_EXTERN void geary_scheduler_sleep_async (guint seconds,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_);
VALA_EXTERN void geary_scheduler_sleep_finish (GAsyncResult* _res_);
VALA_EXTERN void geary_scheduler_sleep_ms_async (guint milliseconds,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_);
VALA_EXTERN void geary_scheduler_sleep_ms_finish (GAsyncResult* _res_);
VALA_EXTERN void geary_stream_write_all_async (GOutputStream* outs,
                                   GearyMemoryBuffer* buffer,
                                   GCancellable* cancellable,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_);
VALA_EXTERN void geary_stream_write_all_finish (GAsyncResult* _res_,
                                    GError** error);
VALA_EXTERN void geary_stream_write_string_async (GOutputStream* outs,
                                      const gchar* str,
                                      GCancellable* cancellable,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
VALA_EXTERN void geary_stream_write_string_finish (GAsyncResult* _res_,
                                       GError** error);
VALA_EXTERN GType geary_stream_mime_output_stream_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearyStreamMimeOutputStream, g_object_unref)
VALA_EXTERN GearyStreamMimeOutputStream* geary_stream_mime_output_stream_new (GOutputStream* dest);
VALA_EXTERN GearyStreamMimeOutputStream* geary_stream_mime_output_stream_construct (GType object_type,
                                                                        GOutputStream* dest);
VALA_EXTERN gboolean geary_string_is_empty_or_whitespace (const gchar* str);
VALA_EXTERN gboolean geary_string_is_empty (const gchar* str);
VALA_EXTERN gint geary_string_count_char (const gchar* s,
                              gunichar c);
VALA_EXTERN gboolean geary_string_contains_any_char (const gchar* str,
                                         gunichar* chars,
                                         gint chars_length1);
VALA_EXTERN guint geary_string_stri_hash (const gchar* str);
VALA_EXTERN gboolean geary_string_stri_equal (const gchar* a,
                                  const gchar* b);
VALA_EXTERN gint geary_string_stri_cmp (const gchar* a,
                            const gchar* b);
VALA_EXTERN gchar* geary_string_reduce_whitespace (const gchar* str);
VALA_EXTERN gchar* geary_string_safe_byte_substring (const gchar* s,
                                         gssize max_length);
VALA_EXTERN GType geary_synchronization_spin_waiter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GearySynchronizationSpinWaiter, g_object_unref)
VALA_EXTERN GearySynchronizationSpinWaiter* geary_synchronization_spin_waiter_new (gint poll_msec,
                                                                       GearySynchronizationSpinWaiterPollService cb,
                                                                       gpointer cb_target,
                                                                       GDestroyNotify cb_target_destroy_notify);
VALA_EXTERN GearySynchronizationSpinWaiter* geary_synchronization_spin_waiter_construct (GType object_type,
                                                                             gint poll_msec,
                                                                             GearySynchronizationSpinWaiterPollService cb,
                                                                             gpointer cb_target,
                                                                             GDestroyNotify cb_target_destroy_notify);
VALA_EXTERN gboolean geary_synchronization_spin_waiter_wait (GearySynchronizationSpinWaiter* self,
                                                 GCancellable* cancellable,
                                                 GError** error);
VALA_EXTERN void geary_synchronization_spin_waiter_notify (GearySynchronizationSpinWaiter* self);
VALA_EXTERN gboolean geary_synchronization_spin_waiter_is_notified (GearySynchronizationSpinWaiter* self);
VALA_EXTERN GType geary_timeout_manager_repeat_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType geary_timeout_manager_priority_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gboolean geary_timeout_manager_get_is_running (GearyTimeoutManager* self);
VALA_EXTERN GearyTimeoutManager* geary_timeout_manager_new (GearyTimeoutManagerTimeoutFunc callback,
                                                gpointer callback_target);
VALA_EXTERN GearyTimeoutManager* geary_timeout_manager_construct (GType object_type,
                                                      GearyTimeoutManagerTimeoutFunc callback,
                                                      gpointer callback_target);
VALA_EXTERN GearyTimeoutManager* geary_timeout_manager_new_seconds (guint interval,
                                                        GearyTimeoutManagerTimeoutFunc callback,
                                                        gpointer callback_target);
VALA_EXTERN GearyTimeoutManager* geary_timeout_manager_construct_seconds (GType object_type,
                                                              guint interval,
                                                              GearyTimeoutManagerTimeoutFunc callback,
                                                              gpointer callback_target);
VALA_EXTERN GearyTimeoutManager* geary_timeout_manager_new_milliseconds (guint interval,
                                                             GearyTimeoutManagerTimeoutFunc callback,
                                                             gpointer callback_target);
VALA_EXTERN GearyTimeoutManager* geary_timeout_manager_construct_milliseconds (GType object_type,
                                                                   guint interval,
                                                                   GearyTimeoutManagerTimeoutFunc callback,
                                                                   gpointer callback_target);
VALA_EXTERN void geary_timeout_manager_start_ms (GearyTimeoutManager* self,
                                     guint interval);
VALA_EXTERN void geary_timeout_manager_start (GearyTimeoutManager* self);
VALA_EXTERN gboolean geary_timeout_manager_reset (GearyTimeoutManager* self);
VALA_EXTERN gboolean geary_trillian_to_boolean (GearyTrillian self,
                                    gboolean if_unknown);
VALA_EXTERN GearyTrillian geary_trillian_from_boolean (gboolean b);
VALA_EXTERN gint geary_trillian_to_int (GearyTrillian self);
VALA_EXTERN GearyTrillian geary_trillian_from_int (gint i);
VALA_EXTERN gboolean geary_trillian_is_certain (GearyTrillian self);
VALA_EXTERN gboolean geary_trillian_is_uncertain (GearyTrillian self);
VALA_EXTERN gboolean geary_trillian_is_possible (GearyTrillian self);
VALA_EXTERN gboolean geary_trillian_is_impossible (GearyTrillian self);
VALA_EXTERN gchar* geary_trillian_to_string (GearyTrillian self);

G_END_DECLS

#endif
