diff options
author | Milan Crha <mcrha@redhat.com> | 2016-10-11 11:47:14 +0200 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2016-10-11 11:47:14 +0200 |
commit | d7931c6dd9db1e090f4bb466983c3dced19e2201 (patch) | |
tree | 31e31eef195355e800c63be6b4dcfefe6e37bb84 /src/camel/providers/imapx/camel-imapx-job.h | |
parent | 4febe3ae82e850ca9f17229dd2dbd9cdd8708a8f (diff) | |
download | evolution-data-server-d7931c6dd9db1e090f4bb466983c3dced19e2201.tar.gz |
Reorganize directory structure
Let's have it as it's common to be, which means top level src/ for
sources, single data/ for data, and so on.
Diffstat (limited to 'src/camel/providers/imapx/camel-imapx-job.h')
-rw-r--r-- | src/camel/providers/imapx/camel-imapx-job.h | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/src/camel/providers/imapx/camel-imapx-job.h b/src/camel/providers/imapx/camel-imapx-job.h new file mode 100644 index 000000000..de0c5d133 --- /dev/null +++ b/src/camel/providers/imapx/camel-imapx-job.h @@ -0,0 +1,124 @@ +/* + * camel-imapx-job.h + * + * This library is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +#ifndef CAMEL_IMAPX_JOB_H +#define CAMEL_IMAPX_JOB_H + +#include "camel-imapx-server.h" + +G_BEGIN_DECLS + +typedef struct _CamelIMAPXJob CamelIMAPXJob; + +struct _CamelIMAPXJob; + +typedef enum { + CAMEL_IMAPX_JOB_UNKNOWN = 0, + CAMEL_IMAPX_JOB_CAPABILITY, + CAMEL_IMAPX_JOB_STARTTLS, + CAMEL_IMAPX_JOB_AUTHENTICATE, + CAMEL_IMAPX_JOB_LOGIN, + CAMEL_IMAPX_JOB_NAMESPACE, + CAMEL_IMAPX_JOB_SELECT, + CAMEL_IMAPX_JOB_STATUS, + CAMEL_IMAPX_JOB_ENABLE, + CAMEL_IMAPX_JOB_NOTIFY, + CAMEL_IMAPX_JOB_GET_MESSAGE, + CAMEL_IMAPX_JOB_SYNC_MESSAGE, + CAMEL_IMAPX_JOB_APPEND_MESSAGE, + CAMEL_IMAPX_JOB_COPY_MESSAGE, + CAMEL_IMAPX_JOB_MOVE_MESSAGE, + CAMEL_IMAPX_JOB_FETCH_NEW_MESSAGES, + CAMEL_IMAPX_JOB_REFRESH_INFO, + CAMEL_IMAPX_JOB_SYNC_CHANGES, + CAMEL_IMAPX_JOB_EXPUNGE, + CAMEL_IMAPX_JOB_NOOP, + CAMEL_IMAPX_JOB_IDLE, + CAMEL_IMAPX_JOB_DONE, + CAMEL_IMAPX_JOB_LIST, + CAMEL_IMAPX_JOB_LSUB, + CAMEL_IMAPX_JOB_CREATE_MAILBOX, + CAMEL_IMAPX_JOB_DELETE_MAILBOX, + CAMEL_IMAPX_JOB_RENAME_MAILBOX, + CAMEL_IMAPX_JOB_SUBSCRIBE_MAILBOX, + CAMEL_IMAPX_JOB_UNSUBSCRIBE_MAILBOX, + CAMEL_IMAPX_JOB_UPDATE_QUOTA_INFO, + CAMEL_IMAPX_JOB_UID_SEARCH, + CAMEL_IMAPX_JOB_LAST +} CamelIMAPXJobKind; + +typedef const gchar * (* CamelIMAPXJobGetKindNameFunc)(guint32 job_kind); + +const gchar * camel_imapx_job_get_kind_name (guint32 job_kind); +void camel_imapx_job_register_get_kind_name_func + (CamelIMAPXJobGetKindNameFunc get_kind_name); +void camel_imapx_job_unregister_get_kind_name_func + (CamelIMAPXJobGetKindNameFunc get_kind_name); + +typedef gboolean (* CamelIMAPXJobRunSyncFunc) (CamelIMAPXJob *job, + CamelIMAPXServer *server, + GCancellable *cancellable, + GError **error); +typedef gboolean (* CamelIMAPXJobMatchesFunc) (CamelIMAPXJob *job, + CamelIMAPXJob *other_job); +typedef void (* CamelIMAPXJobCopyResultFunc) (CamelIMAPXJob *job, + gconstpointer set_result, + gpointer *out_result); + +CamelIMAPXJob * camel_imapx_job_new (guint32 job_kind, + CamelIMAPXMailbox *mailbox, + CamelIMAPXJobRunSyncFunc run_sync, + CamelIMAPXJobMatchesFunc matches, + CamelIMAPXJobCopyResultFunc copy_result); +CamelIMAPXJob * camel_imapx_job_ref (CamelIMAPXJob *job); +void camel_imapx_job_unref (CamelIMAPXJob *job); +guint32 camel_imapx_job_get_kind (CamelIMAPXJob *job); +CamelIMAPXMailbox * + camel_imapx_job_get_mailbox (CamelIMAPXJob *job); +gpointer camel_imapx_job_get_user_data (CamelIMAPXJob *job); +void camel_imapx_job_set_user_data (CamelIMAPXJob *job, + gpointer user_data, + GDestroyNotify destroy_user_data); +gboolean camel_imapx_job_was_cancelled (CamelIMAPXJob *job); +void camel_imapx_job_set_result (CamelIMAPXJob *job, + gboolean success, + gpointer result, + const GError *error, + GDestroyNotify destroy_result); +gboolean camel_imapx_job_copy_result (CamelIMAPXJob *job, + gboolean *out_success, + gpointer *out_result, + GError **out_error, + GDestroyNotify *out_destroy_result); +gboolean camel_imapx_job_take_result_data + (CamelIMAPXJob *job, + gpointer *out_result); +gboolean camel_imapx_job_matches (CamelIMAPXJob *job, + CamelIMAPXJob *other_job); +gboolean camel_imapx_job_run_sync (CamelIMAPXJob *job, + CamelIMAPXServer *server, + GCancellable *cancellable, + GError **error); +void camel_imapx_job_done (CamelIMAPXJob *job); +void camel_imapx_job_abort (CamelIMAPXJob *job); +void camel_imapx_job_wait_sync (CamelIMAPXJob *job, + GCancellable *cancellable); + +G_END_DECLS + +#endif /* CAMEL_IMAPX_JOB_H */ + |