CamelIMAPXServer: Convert API to CamelIMAPXMailbox.
authorMatthew Barnes <mbarnes@redhat.com>
Tue, 3 Sep 2013 11:05:22 +0000 (07:05 -0400)
committerMatthew Barnes <mbarnes@redhat.com>
Sun, 27 Oct 2013 12:24:41 +0000 (08:24 -0400)
commitd2f9832495a9c2401e404f45c7f342c81fba1a95
treeb4c6ac5f5498215c379039008754ac113c71b21d
parentb7f6576ccb65ba01edb027339c12688a17c3bc08
CamelIMAPXServer: Convert API to CamelIMAPXMailbox.

Convert CamelIMAPXServer to primarily use CamelIMAPXMailbox instead of
CamelIMAPXFolder, the idea being to keep all the Camel-specific policy
and limitations relegated to CamelIMAPXStore and CamelIMAPXFolder, and
just have CamelIMAPXServer be a pure IMAP client implementation.

This is a huge commit which I don't like doing, but CamelIMAPXServer,
CamelIMAPXCommand and CamelIMAPXJob are so tightly intertwined that I
was unable to split this into smaller steps.

Added functions:

  camel_imapx_command_ref_mailbox()
  camel_imapx_job_has_mailbox()
  camel_imapx_job_ref_mailbox()
  camel_imapx_job_set_mailbox()
  camel_imapx_server_create_mailbox()
  camel_imapx_server_delete_mailbox()
  camel_imapx_server_rename_mailbox()
  camel_imapx_server_subscribe_mailbox()
  camel_imapx_server_unsubscribe_mailbox()

Removed functions:

  camel_imapx_job_has_folder()
  camel_imapx_job_ref_folder()
  camel_imapx_job_set_mailbox()
  camel_imapx_server_manage_subscription()
  camel_imapx_server_create_folder()
  camel_imapx_server_delete_folder()
  camel_imapx_server_rename_folder()

Modified function signatures:

  camel_imapx_command_new()
  camel_imapx_job_matches()
  camel_imapx_server_refresh_info()
  camel_imapx_server_sync_changes()
  camel_imapx_server_expunge()
  camel_imapx_server_fetch_messages()
  camel_imapx_server_noop()
  camel_imapx_server_get_message()
  camel_imapx_server_copy_message()
  camel_imapx_server_append_message()
  camel_imapx_server_sync_message()
  camel_imapx_server_manage_subscription()
  camel_imapx_server_update_quota_info()
  camel_imapx_server_uid_search()
  imapx_parse_status()
13 files changed:
camel/camel-imapx-command.c
camel/camel-imapx-command.h
camel/camel-imapx-folder.c
camel/camel-imapx-folder.h
camel/camel-imapx-job.c
camel/camel-imapx-job.h
camel/camel-imapx-search.c
camel/camel-imapx-server.c
camel/camel-imapx-server.h
camel/camel-imapx-store.c
camel/camel-imapx-utils.c
camel/camel-imapx-utils.h
docs/reference/camel/camel-sections.txt