[evolution-data-server] Bug 760780 - [Camel] Make some bare structures boxed types



commit 2ab9c17b7e29d8d72f880f22099c821e590d62db
Author: Corentin Noël <corentin elementary io>
Date:   Tue Jan 26 19:39:44 2016 +0100

    Bug 760780 - [Camel] Make some bare structures boxed types

 camel/Makefile.am                          |    1 +
 camel/camel-certdb.c                       |   11 ++-
 camel/camel-certdb.h                       |    3 +-
 camel/camel-folder-summary.c               |   19 ++++--
 camel/camel-folder-summary.h               |    1 +
 camel/camel-folder.c                       |    5 ++
 camel/camel-folder.h                       |    4 +-
 camel/camel-internet-address.c             |    4 +-
 camel/camel-mime-message.c                 |    2 +-
 camel/camel-mime-utils.c                   |   96 ++++++++++++++++++----------
 camel/camel-mime-utils.h                   |   46 +++++++------
 camel/camel-provider.c                     |    2 +-
 camel/camel-session.c                      |    1 +
 camel/camel-store.h                        |    3 +-
 camel/providers/imapx/camel-imapx-utils.c  |    8 +-
 camel/providers/imapx/camel-imapx-utils.h  |    2 +-
 configure.ac                               |    2 +-
 vala/Camel-1.2.metadata                    |    8 ++
 vala/Makefile.am                           |    9 ++-
 vala/{libcamel-1.2.deps => camel-1.2.deps} |    0
 20 files changed, 144 insertions(+), 83 deletions(-)
---
diff --git a/camel/Makefile.am b/camel/Makefile.am
index c15566f..995e598 100644
--- a/camel/Makefile.am
+++ b/camel/Makefile.am
@@ -416,6 +416,7 @@ dist-hook:
 INTROSPECTION_GIRS =
 INTROSPECTION_SCANNER_ARGS = \
        --identifier-prefix Camel \
+       --identifier-prefix camel \
        --pkg-export libcamel-1.2 \
        --c-include="camel/camel.h" \
        $(NULL)
diff --git a/camel/camel-certdb.c b/camel/camel-certdb.c
index 2bd6475..0b77c05 100644
--- a/camel/camel-certdb.c
+++ b/camel/camel-certdb.c
@@ -55,6 +55,10 @@ struct _CamelCertDBPrivate {
 };
 
 G_DEFINE_TYPE (CamelCertDB, camel_certdb, G_TYPE_OBJECT)
+G_DEFINE_BOXED_TYPE (CamelCert,
+               camel_cert,
+               camel_cert_ref,
+               camel_cert_unref)
 
 typedef struct {
        gchar *hostname;
@@ -270,13 +274,14 @@ camel_cert_new (void)
        return cert;
 }
 
-void
+CamelCert *
 camel_cert_ref (CamelCert *cert)
 {
-       g_return_if_fail (cert != NULL);
-       g_return_if_fail (cert->refcount > 0);
+       g_return_val_if_fail (cert != NULL, NULL);
+       g_return_val_if_fail (cert->refcount > 0, NULL);
 
        g_atomic_int_inc (&cert->refcount);
+       return cert;
 }
 
 void
diff --git a/camel/camel-certdb.h b/camel/camel-certdb.h
index 517e67f..6f0b092 100644
--- a/camel/camel-certdb.h
+++ b/camel/camel-certdb.h
@@ -93,8 +93,9 @@ struct _CamelCertDBClass {
                                                 FILE *ostream);
 };
 
+GType          camel_cert_get_type             (void) G_GNUC_CONST;
 CamelCert *    camel_cert_new                  (void);
-void           camel_cert_ref                  (CamelCert *cert);
+CamelCert *    camel_cert_ref                  (CamelCert *cert);
 void           camel_cert_unref                (CamelCert *cert);
 gboolean       camel_cert_load_cert_file       (CamelCert *cert,
                                                 GError **error);
diff --git a/camel/camel-folder-summary.c b/camel/camel-folder-summary.c
index b8c53a9..9c15582 100644
--- a/camel/camel-folder-summary.c
+++ b/camel/camel-folder-summary.c
@@ -156,6 +156,11 @@ enum {
 
 G_DEFINE_TYPE (CamelFolderSummary, camel_folder_summary, G_TYPE_OBJECT)
 
+G_DEFINE_BOXED_TYPE (CamelMessageInfo,
+               camel_message_info,
+               camel_message_info_ref,
+               camel_message_info_unref)
+
 static gboolean
 remove_each_item (gpointer uid,
                   gpointer mi,
@@ -3551,7 +3556,7 @@ summary_format_address (struct _camel_header_raw *h,
                         const gchar *name,
                         const gchar *charset)
 {
-       struct _camel_header_address *addr;
+       CamelHeaderAddress *addr;
        gchar *text, *str;
 
        if (!(text = (gchar *) camel_header_raw_find (&h, name, NULL)))
@@ -4476,7 +4481,7 @@ camel_system_flag_get (CamelMessageFlags flags,
  *
  * Create a new #CamelMessageInfo.
  *
- * Returns: (transfer full): a new #CamelMessageInfo
+ * Returns: (transfer full) (type CamelMessageInfo): a new #CamelMessageInfo
  **/
 gpointer
 camel_message_info_new (CamelFolderSummary *summary)
@@ -4505,10 +4510,10 @@ camel_message_info_new (CamelFolderSummary *summary)
 
 /**
  * camel_message_info_ref:
- * @info: a #CamelMessageInfo
+ * @info: (type CamelMessageInfo): a #CamelMessageInfo
  *
  * Reference an info.
- * Returns: (transfer full):
+ * Returns: (transfer full) (type CamelMessageInfo):
  **/
 gpointer
 camel_message_info_ref (gpointer o)
@@ -4546,7 +4551,7 @@ camel_message_info_new_from_header (CamelFolderSummary *summary,
 
 /**
  * camel_message_info_unref:
- * @info: a #CamelMessageInfo
+ * @info: (type CamelMessageInfo): a #CamelMessageInfo
  *
  * Unref's and potentially frees a #CamelMessageInfo and its contents.
  **/
@@ -4584,11 +4589,11 @@ camel_message_info_unref (gpointer o)
 
 /**
  * camel_message_info_clone:
- * @info: a #CamelMessageInfo
+ * @info: (type CamelMessageInfo): a #CamelMessageInfo
  *
  * Duplicate a #CamelMessageInfo.
  *
- * Returns: (transfer full): the duplicated #CamelMessageInfo
+ * Returns: (transfer full) (type CamelMessageInfo): the duplicated #CamelMessageInfo
  **/
 gpointer
 camel_message_info_clone (gconstpointer o)
diff --git a/camel/camel-folder-summary.h b/camel/camel-folder-summary.h
index 1a4da5e..9fcd658 100644
--- a/camel/camel-folder-summary.h
+++ b/camel/camel-folder-summary.h
@@ -528,6 +528,7 @@ void                camel_tag_list_free             (CamelTag **list);
 
 /* Summary may be null */
 /* Use anonymous pointers to avoid tons of cast crap */
+GType          camel_message_info_get_type     (void) G_GNUC_CONST;
 gpointer       camel_message_info_new          (CamelFolderSummary *summary);
 gpointer       camel_message_info_ref          (gpointer info);
 CamelMessageInfo *
diff --git a/camel/camel-folder.c b/camel/camel-folder.c
index 093f271..cb489e3 100644
--- a/camel/camel-folder.c
+++ b/camel/camel-folder.c
@@ -125,6 +125,11 @@ static guint signals[LAST_SIGNAL];
 
 G_DEFINE_ABSTRACT_TYPE (CamelFolder, camel_folder, CAMEL_TYPE_OBJECT)
 
+G_DEFINE_BOXED_TYPE (CamelFolderQuotaInfo,
+               camel_folder_quota_info,
+               camel_folder_quota_info_clone,
+               camel_folder_quota_info_free)
+
 static void
 async_context_free (AsyncContext *async_context)
 {
diff --git a/camel/camel-folder.h b/camel/camel-folder.h
index 1ff1e6e..7fbd062 100644
--- a/camel/camel-folder.h
+++ b/camel/camel-folder.h
@@ -169,7 +169,7 @@ struct _CamelFolderClass {
                                                 GPtrArray *uids);
        GPtrArray *     (*get_summary)          (CamelFolder *folder);
        void            (*free_summary)         (CamelFolder *folder,
-                                                GPtrArray *summary);
+                                                GPtrArray *array);
        gboolean        (*has_search_capability)(CamelFolder *folder);
        GPtrArray *     (*search_by_expression) (CamelFolder *folder,
                                                 const gchar *expression,
@@ -369,6 +369,8 @@ void                camel_folder_freeze             (CamelFolder *folder);
 void           camel_folder_thaw               (CamelFolder *folder);
 gboolean       camel_folder_is_frozen          (CamelFolder *folder);
 gint           camel_folder_get_frozen_count   (CamelFolder *folder);
+
+GType          camel_folder_quota_info_get_type        (void) G_GNUC_CONST;
 CamelFolderQuotaInfo *
                camel_folder_quota_info_new     (const gchar *name,
                                                 guint64 used,
diff --git a/camel/camel-internet-address.c b/camel/camel-internet-address.c
index 9516fcc..42f87ca 100644
--- a/camel/camel-internet-address.c
+++ b/camel/camel-internet-address.c
@@ -36,7 +36,7 @@ static gint
 internet_address_decode (CamelAddress *a,
                          const gchar *raw)
 {
-       struct _camel_header_address *ha, *n;
+       CamelHeaderAddress *ha, *n;
        gint count = a->addresses->len;
 
        /* Should probably use its own decoder or something */
@@ -47,7 +47,7 @@ internet_address_decode (CamelAddress *a,
                        if (n->type == CAMEL_HEADER_ADDRESS_NAME) {
                                camel_internet_address_add ((CamelInternetAddress *) a, n->name, n->v.addr);
                        } else if (n->type == CAMEL_HEADER_ADDRESS_GROUP) {
-                               struct _camel_header_address *g = n->v.members;
+                               CamelHeaderAddress *g = n->v.members;
                                while (g) {
                                        if (g->type == CAMEL_HEADER_ADDRESS_NAME)
                                                camel_internet_address_add ((CamelInternetAddress *) a, 
g->name, g->v.addr);
diff --git a/camel/camel-mime-message.c b/camel/camel-mime-message.c
index 2b54c98..c877a7a 100644
--- a/camel/camel-mime-message.c
+++ b/camel/camel-mime-message.c
@@ -1231,7 +1231,7 @@ camel_mime_message_build_mbox_from (CamelMimeMessage *message)
        if (tmp == NULL)
                tmp = camel_header_raw_find (&header, "From", NULL);
        if (tmp != NULL) {
-               struct _camel_header_address *addr = camel_header_address_decode (tmp, NULL);
+               CamelHeaderAddress *addr = camel_header_address_decode (tmp, NULL);
 
                tmp = NULL;
                if (addr) {
diff --git a/camel/camel-mime-utils.c b/camel/camel-mime-utils.c
index 142af9c..6736f7c 100644
--- a/camel/camel-mime-utils.c
+++ b/camel/camel-mime-utils.c
@@ -89,6 +89,21 @@ localtime_r (t,
 #define d(x)
 #define d2(x)
 
+G_DEFINE_BOXED_TYPE (CamelContentType,
+               camel_content_type,
+               camel_content_type_ref,
+               camel_content_type_unref)
+
+G_DEFINE_BOXED_TYPE (CamelContentDisposition,
+               camel_content_disposition,
+               camel_content_disposition_ref,
+               camel_content_disposition_unref)
+
+G_DEFINE_BOXED_TYPE (CamelHeaderAddress,
+               camel_header_address,
+               camel_header_address_ref,
+               camel_header_address_unref)
+
 /**
  * camel_mktime_utc:
  * @tm: the #tm to convert to a calendar time representation
@@ -2313,7 +2328,7 @@ camel_header_param (struct _camel_header_param *params,
  *
  * Set a parameter in the list.
  *
- * Returns: the set param
+ * Returns: (transfer none): the set param
  **/
 struct _camel_header_param *
 camel_header_set_param (struct _camel_header_param **l,
@@ -2470,11 +2485,13 @@ camel_content_type_new (const gchar *type,
  *
  * Refs the content type.
  **/
-void
+CamelContentType *
 camel_content_type_ref (CamelContentType *ct)
 {
        if (ct)
                ct->refcount++;
+
+       return ct;
 }
 
 /**
@@ -2619,7 +2636,7 @@ header_decode_addrspec (const gchar **in)
  * *(word) '<' [ *('@' domain ) ':' ] word *( '.' word) @ domain
  * */
 
-static struct _camel_header_address *
+static CamelHeaderAddress *
 header_decode_mailbox (const gchar **in,
                        const gchar *charset)
 {
@@ -2628,7 +2645,7 @@ header_decode_mailbox (const gchar **in,
        gint closeme = FALSE;
        GString *addr;
        GString *name = NULL;
-       struct _camel_header_address *address = NULL;
+       CamelHeaderAddress *address = NULL;
        const gchar *comment = NULL;
 
        addr = g_string_new ("");
@@ -2881,14 +2898,14 @@ header_decode_mailbox (const gchar **in,
        return address;
 }
 
-static struct _camel_header_address *
+static CamelHeaderAddress *
 header_decode_address (const gchar **in,
                        const gchar *charset)
 {
        const gchar *inptr = *in;
        gchar *pre;
        GString *group = g_string_new ("");
-       struct _camel_header_address *addr = NULL, *member;
+       CamelHeaderAddress *addr = NULL, *member;
 
        /* pre-scan, trying to work out format, discard results */
        header_decode_lwsp (&inptr);
@@ -3171,7 +3188,7 @@ camel_header_references_dup (const struct _camel_header_references *list)
        return new;
 }
 
-struct _camel_header_address *
+CamelHeaderAddress *
 camel_header_mailbox_decode (const gchar *in,
                              const gchar *charset)
 {
@@ -3181,12 +3198,12 @@ camel_header_mailbox_decode (const gchar *in,
        return header_decode_mailbox (&in, charset);
 }
 
-struct _camel_header_address *
+CamelHeaderAddress *
 camel_header_address_decode (const gchar *in,
                              const gchar *charset)
 {
        const gchar *inptr = in, *last;
-       struct _camel_header_address *list = NULL, *addr;
+       CamelHeaderAddress *list = NULL, *addr;
 
        d (printf ("decoding To: '%s'\n", in));
 
@@ -3484,6 +3501,11 @@ header_decode_param_list (const gchar **in)
        return head;
 }
 
+/**
+ * camel_header_param_list_decode:
+ *
+ * Returns: (transfer full):
+ **/
 struct _camel_header_param *
 camel_header_param_list_decode (const gchar *in)
 {
@@ -3822,11 +3844,13 @@ camel_content_disposition_decode (const gchar *in)
        return d;
 }
 
-void
+CamelContentDisposition *
 camel_content_disposition_ref (CamelContentDisposition *d)
 {
        if (d)
                d->refcount++;
+
+       return d;
 }
 
 void
@@ -4872,21 +4896,21 @@ camel_header_raw_check_mailing_list (struct _camel_header_raw **list)
 }
 
 /* ok, here's the address stuff, what a mess ... */
-struct _camel_header_address *
+CamelHeaderAddress *
 camel_header_address_new (void)
 {
-       struct _camel_header_address *h;
+       CamelHeaderAddress *h;
        h = g_malloc0 (sizeof (*h));
        h->type = CAMEL_HEADER_ADDRESS_NONE;
        h->refcount = 1;
        return h;
 }
 
-struct _camel_header_address *
+CamelHeaderAddress *
 camel_header_address_new_name (const gchar *name,
                                const gchar *addr)
 {
-       struct _camel_header_address *h;
+       CamelHeaderAddress *h;
        h = camel_header_address_new ();
        h->type = CAMEL_HEADER_ADDRESS_NAME;
        h->name = g_strdup (name);
@@ -4894,10 +4918,10 @@ camel_header_address_new_name (const gchar *name,
        return h;
 }
 
-struct _camel_header_address *
+CamelHeaderAddress *
 camel_header_address_new_group (const gchar *name)
 {
-       struct _camel_header_address *h;
+       CamelHeaderAddress *h;
 
        h = camel_header_address_new ();
        h->type = CAMEL_HEADER_ADDRESS_GROUP;
@@ -4905,15 +4929,17 @@ camel_header_address_new_group (const gchar *name)
        return h;
 }
 
-void
-camel_header_address_ref (struct _camel_header_address *h)
+CamelHeaderAddress *
+camel_header_address_ref (CamelHeaderAddress *h)
 {
        if (h)
                h->refcount++;
+
+       return h;
 }
 
 void
-camel_header_address_unref (struct _camel_header_address *h)
+camel_header_address_unref (CamelHeaderAddress *h)
 {
        if (h) {
                if (h->refcount <= 1) {
@@ -4931,7 +4957,7 @@ camel_header_address_unref (struct _camel_header_address *h)
 }
 
 void
-camel_header_address_set_name (struct _camel_header_address *h,
+camel_header_address_set_name (CamelHeaderAddress *h,
                                const gchar *name)
 {
        if (h) {
@@ -4941,7 +4967,7 @@ camel_header_address_set_name (struct _camel_header_address *h,
 }
 
 void
-camel_header_address_set_addr (struct _camel_header_address *h,
+camel_header_address_set_addr (CamelHeaderAddress *h,
                                const gchar *addr)
 {
        if (h) {
@@ -4957,8 +4983,8 @@ camel_header_address_set_addr (struct _camel_header_address *h,
 }
 
 void
-camel_header_address_set_members (struct _camel_header_address *h,
-                                  struct _camel_header_address *group)
+camel_header_address_set_members (CamelHeaderAddress *h,
+                                  CamelHeaderAddress *group)
 {
        if (h) {
                if (h->type == CAMEL_HEADER_ADDRESS_GROUP
@@ -4974,8 +5000,8 @@ camel_header_address_set_members (struct _camel_header_address *h,
 }
 
 void
-camel_header_address_add_member (struct _camel_header_address *h,
-                                 struct _camel_header_address *member)
+camel_header_address_add_member (CamelHeaderAddress *h,
+                                 CamelHeaderAddress *member)
 {
        if (h) {
                if (h->type == CAMEL_HEADER_ADDRESS_GROUP
@@ -4987,11 +5013,11 @@ camel_header_address_add_member (struct _camel_header_address *h,
 }
 
 void
-camel_header_address_list_append_list (struct _camel_header_address **l,
-                                       struct _camel_header_address **h)
+camel_header_address_list_append_list (CamelHeaderAddress **l,
+                                       CamelHeaderAddress **h)
 {
        if (l) {
-               struct _camel_header_address *n = (struct _camel_header_address *) l;
+               CamelHeaderAddress *n = (CamelHeaderAddress *) l;
 
                while (n->next)
                        n = n->next;
@@ -5000,8 +5026,8 @@ camel_header_address_list_append_list (struct _camel_header_address **l,
 }
 
 void
-camel_header_address_list_append (struct _camel_header_address **l,
-                                  struct _camel_header_address *h)
+camel_header_address_list_append (CamelHeaderAddress **l,
+                                  CamelHeaderAddress *h)
 {
        if (h) {
                camel_header_address_list_append_list (l, &h);
@@ -5010,9 +5036,9 @@ camel_header_address_list_append (struct _camel_header_address **l,
 }
 
 void
-camel_header_address_list_clear (struct _camel_header_address **l)
+camel_header_address_list_clear (CamelHeaderAddress **l)
 {
-       struct _camel_header_address *a, *n;
+       CamelHeaderAddress *a, *n;
        a = *l;
        while (a) {
                n = a->next;
@@ -5027,7 +5053,7 @@ camel_header_address_list_clear (struct _camel_header_address **l)
 static void
 header_address_list_encode_append (GString *out,
                                    gint encode,
-                                   struct _camel_header_address *a)
+                                   CamelHeaderAddress *a)
 {
        gchar *text;
 
@@ -5067,7 +5093,7 @@ header_address_list_encode_append (GString *out,
 }
 
 gchar *
-camel_header_address_list_encode (struct _camel_header_address *a)
+camel_header_address_list_encode (CamelHeaderAddress *a)
 {
        GString *out;
        gchar *ret;
@@ -5084,7 +5110,7 @@ camel_header_address_list_encode (struct _camel_header_address *a)
 }
 
 gchar *
-camel_header_address_list_format (struct _camel_header_address *a)
+camel_header_address_list_format (CamelHeaderAddress *a)
 {
        GString *out;
        gchar *ret;
diff --git a/camel/camel-mime-utils.h b/camel/camel-mime-utils.h
index a0981c6..a07796a 100644
--- a/camel/camel-mime-utils.h
+++ b/camel/camel-mime-utils.h
@@ -27,6 +27,7 @@
 
 #include <time.h>
 #include <glib.h>
+#include <glib-object.h>
 #include <camel/camel-enums.h>
 
 /* maximum recommended size of a line from camel_header_fold() */
@@ -82,7 +83,7 @@ typedef enum _camel_header_address_t {
        CAMEL_HEADER_ADDRESS_GROUP
 } camel_header_address_t;
 
-struct _camel_header_address {
+typedef struct _camel_header_address {
        struct _camel_header_address *next;
        camel_header_address_t type;
        gchar *name;
@@ -91,7 +92,7 @@ struct _camel_header_address {
                struct _camel_header_address *members;
        } v;
        guint refcount;
-};
+} CamelHeaderAddress;
 
 struct _camel_header_newsgroup {
        struct _camel_header_newsgroup *next;
@@ -106,25 +107,26 @@ void              camel_localtime_with_offset     (time_t tt,
                                                 gint *offset);
 
 /* Address lists */
-struct _camel_header_address *camel_header_address_new (void);
-struct _camel_header_address *camel_header_address_new_name (const gchar *name, const gchar *addr);
-struct _camel_header_address *camel_header_address_new_group (const gchar *name);
-void camel_header_address_ref (struct _camel_header_address *addrlist);
-void camel_header_address_unref (struct _camel_header_address *addrlist);
-void camel_header_address_set_name (struct _camel_header_address *addrlist, const gchar *name);
-void camel_header_address_set_addr (struct _camel_header_address *addrlist, const gchar *addr);
-void camel_header_address_set_members (struct _camel_header_address *addrlist, struct _camel_header_address 
*group);
-void camel_header_address_add_member (struct _camel_header_address *addrlist, struct _camel_header_address 
*member);
-void camel_header_address_list_append_list (struct _camel_header_address **addrlistp, struct 
_camel_header_address **addrs);
-void camel_header_address_list_append (struct _camel_header_address **addrlistp, struct 
_camel_header_address *addr);
-void camel_header_address_list_clear (struct _camel_header_address **addrlistp);
-
-struct _camel_header_address *camel_header_address_decode (const gchar *in, const gchar *charset);
-struct _camel_header_address *camel_header_mailbox_decode (const gchar *in, const gchar *charset);
+GType camel_header_address_get_type (void) G_GNUC_CONST;
+CamelHeaderAddress *camel_header_address_new (void);
+CamelHeaderAddress *camel_header_address_new_name (const gchar *name, const gchar *addr);
+CamelHeaderAddress *camel_header_address_new_group (const gchar *name);
+CamelHeaderAddress *camel_header_address_ref (CamelHeaderAddress *addrlist);
+void camel_header_address_unref (CamelHeaderAddress *addrlist);
+void camel_header_address_set_name (CamelHeaderAddress *addrlist, const gchar *name);
+void camel_header_address_set_addr (CamelHeaderAddress *addrlist, const gchar *addr);
+void camel_header_address_set_members (CamelHeaderAddress *addrlist, CamelHeaderAddress *group);
+void camel_header_address_add_member (CamelHeaderAddress *addrlist, CamelHeaderAddress *member);
+void camel_header_address_list_append_list (CamelHeaderAddress **addrlistp, CamelHeaderAddress **addrs);
+void camel_header_address_list_append (CamelHeaderAddress **addrlistp, CamelHeaderAddress *addr);
+void camel_header_address_list_clear (CamelHeaderAddress **addrlistp);
+
+CamelHeaderAddress *camel_header_address_decode (const gchar *in, const gchar *charset);
+CamelHeaderAddress *camel_header_mailbox_decode (const gchar *in, const gchar *charset);
 /* for mailing */
-gchar *camel_header_address_list_encode (struct _camel_header_address *addrlist);
+gchar *camel_header_address_list_encode (CamelHeaderAddress *addrlist);
 /* for display */
-gchar *camel_header_address_list_format (struct _camel_header_address *addrlist);
+gchar *camel_header_address_list_format (CamelHeaderAddress *addrlist);
 
 /* structured header prameters */
 struct _camel_header_param *camel_header_param_list_decode (const gchar *in);
@@ -135,10 +137,11 @@ gchar *camel_header_param_list_format (struct _camel_header_param *params);
 void camel_header_param_list_free (struct _camel_header_param *params);
 
 /* Content-Type header */
+GType camel_content_type_get_type (void) G_GNUC_CONST;
 CamelContentType *camel_content_type_new (const gchar *type, const gchar *subtype);
 CamelContentType *camel_content_type_decode (const gchar *in);
 void camel_content_type_unref (CamelContentType *content_type);
-void camel_content_type_ref (CamelContentType *content_type);
+CamelContentType *camel_content_type_ref (CamelContentType *content_type);
 const gchar *camel_content_type_param (CamelContentType *content_type, const gchar *name);
 void camel_content_type_set_param (CamelContentType *content_type, const gchar *name, const gchar *value);
 gint camel_content_type_is (CamelContentType *content_type, const gchar *type, const gchar *subtype);
@@ -149,8 +152,9 @@ gchar *camel_content_type_simple (CamelContentType *content_type);
 void camel_content_type_dump (CamelContentType *content_type);
 
 /* Content-Disposition header */
+GType camel_content_disposition_get_type (void) G_GNUC_CONST;
 CamelContentDisposition *camel_content_disposition_decode (const gchar *in);
-void camel_content_disposition_ref (CamelContentDisposition *disposition);
+CamelContentDisposition *camel_content_disposition_ref (CamelContentDisposition *disposition);
 void camel_content_disposition_unref (CamelContentDisposition *disposition);
 gchar *camel_content_disposition_format (CamelContentDisposition *disposition);
 
diff --git a/camel/camel-provider.c b/camel/camel-provider.c
index 33b760c..c469270 100644
--- a/camel/camel-provider.c
+++ b/camel/camel-provider.c
@@ -433,7 +433,7 @@ fail:
  * camel_provider_auto_detect:
  * @provider: camel provider
  * @url: a #CamelURL
- * @auto_detected: output hash table of auto-detected values
+ * @auto_detected: (inout): output hash table of auto-detected values
  * @error: return location for a #GError, or %NULL
  *
  * After filling in the standard Username/Hostname/Port/Path settings
diff --git a/camel/camel-session.c b/camel/camel-session.c
index 9fd8c80..fc47260 100644
--- a/camel/camel-session.c
+++ b/camel/camel-session.c
@@ -1492,6 +1492,7 @@ camel_session_set_junk_headers (CamelSession *session,
  * camel_session_get_junk_headers:
  *
  * Since: 2.22
+ * Returns: (element-type utf8 utf8) (transfer none):
  **/
 const GHashTable *
 camel_session_get_junk_headers (CamelSession *session)
diff --git a/camel/camel-store.h b/camel/camel-store.h
index 570f08c..ddc5f84 100644
--- a/camel/camel-store.h
+++ b/camel/camel-store.h
@@ -62,6 +62,7 @@
        (camel_store_error_quark ())
 
 /**
+ * CAMEL_STORE_SETUP
  * @CAMEL_STORE_SETUP_ARCHIVE_FOLDER: Name of an Archive folder key
  * @CAMEL_STORE_SETUP_DRAFTS_FOLDER: Name of a Drafts folder key
  * @CAMEL_STORE_SETUP_SENT_FOLDER: Name of a Sent folder key
@@ -203,7 +204,7 @@ struct _CamelStoreClass {
                                                 GCancellable *cancellable,
                                                 GError **error);
        gboolean        (*initial_setup_sync)   (CamelStore *store,
-                                                GHashTable *save_setup,
+                                                GHashTable *out_save_setup,
                                                 GCancellable *cancellable,
                                                 GError **error);
 
diff --git a/camel/providers/imapx/camel-imapx-utils.c b/camel/providers/imapx/camel-imapx-utils.c
index 67b5b52..7a94724 100644
--- a/camel/providers/imapx/camel-imapx-utils.c
+++ b/camel/providers/imapx/camel-imapx-utils.c
@@ -1035,7 +1035,7 @@ error:
        return cinfo;
 }
 
-struct _camel_header_address *
+CamelHeaderAddress *
 imapx_parse_address_list (CamelIMAPXInputStream *stream,
                           GCancellable *cancellable,
                           GError **error)
@@ -1044,7 +1044,7 @@ imapx_parse_address_list (CamelIMAPXInputStream *stream,
        guint len;
        guchar *token, *host;
        gchar *mbox;
-       struct _camel_header_address *list = NULL;
+       CamelHeaderAddress *list = NULL;
        GError *local_error = NULL;
 
        /* "(" 1*address ")" / nil */
@@ -1057,7 +1057,7 @@ imapx_parse_address_list (CamelIMAPXInputStream *stream,
        }
 
        if (tok == '(') {
-               struct _camel_header_address *addr, *group = NULL;
+               CamelHeaderAddress *addr, *group = NULL;
                while (1) {
                        /* address         ::= "(" addr_name SPACE addr_adl SPACE addr_mailbox
                         * SPACE addr_host ")" */
@@ -1163,7 +1163,7 @@ imapx_parse_envelope (CamelIMAPXInputStream *stream,
        gint tok;
        guint len;
        guchar *token;
-       struct _camel_header_address *addr, *addr_from;
+       CamelHeaderAddress *addr, *addr_from;
        gchar *addrstr;
        struct _CamelMessageInfoBase *minfo = NULL;
        GError *local_error = NULL;
diff --git a/camel/providers/imapx/camel-imapx-utils.h b/camel/providers/imapx/camel-imapx-utils.h
index dba0235..7fc055b 100644
--- a/camel/providers/imapx/camel-imapx-utils.h
+++ b/camel/providers/imapx/camel-imapx-utils.h
@@ -214,7 +214,7 @@ struct _CamelMessageContentInfo *
                imapx_parse_body_fields         (CamelIMAPXInputStream *stream,
                                                 GCancellable *cancellable,
                                                 GError **error);
-struct _camel_header_address *
+CamelHeaderAddress *
                imapx_parse_address_list        (CamelIMAPXInputStream *stream,
                                                 GCancellable *cancellable,
                                                 GError **error);
diff --git a/configure.ac b/configure.ac
index b244ff1..5761d08 100644
--- a/configure.ac
+++ b/configure.ac
@@ -136,7 +136,7 @@ LIBEBOOK_CONTACTS_CURRENT=2
 LIBEBOOK_CONTACTS_REVISION=0
 LIBEBOOK_CONTACTS_AGE=0
 
-LIBCAMEL_CURRENT=55
+LIBCAMEL_CURRENT=56
 LIBCAMEL_REVISION=0
 LIBCAMEL_AGE=0
 
diff --git a/vala/Camel-1.2.metadata b/vala/Camel-1.2.metadata
index 8c3232c..51f996c 100644
--- a/vala/Camel-1.2.metadata
+++ b/vala/Camel-1.2.metadata
@@ -18,3 +18,11 @@ MessageContentInfo.next type="void*"
 MessageContentInfo.childs type="void*"
 MessageContentInfo.parent type="void*"
 SExpTerm.value.func.terms type="void*[]"
+
+MessageInfo.ptr name="get_ptr"
+MessageInfo.uint32 name="get_uint32"
+MessageInfo.time name="get_time" type="Posix.tm"
+localtime_with_offset.tm type="Posix.tm"
+mktime_utc.tm type="Posix.tm"
+
+HeaderAddress.new_name#constructor name="with_name"
diff --git a/vala/Makefile.am b/vala/Makefile.am
index c39b9da..e9a7374 100644
--- a/vala/Makefile.am
+++ b/vala/Makefile.am
@@ -2,13 +2,13 @@ NULL =
 
 vapidir = $(datarootdir)/vala/vapi
 vapi_DATA = \
-       libcamel-1.2.vapi \
+       camel-1.2.vapi \
        libedataserver-1.2.vapi \
        libebook-1.2.vapi \
        libebook-contacts-1.2.vapi \
        $(NULL)
 dist_vapi_DATA = \
-       libcamel-1.2.deps \
+       camel-1.2.deps \
        libedataserver-1.2.deps \
        libebook-1.2.deps \
        libebook-contacts-1.2.deps \
@@ -28,14 +28,15 @@ BUILT_SOURCES = \
 
 pkgconfigdir = ${libdir}/pkgconfig
 
-libcamel-1.2.vapi: $(top_builddir)/camel/Camel-1.2.gir libcamel-1.2.deps
+camel-1.2.vapi: $(top_builddir)/camel/Camel-1.2.gir camel-1.2.deps
        $(VAPIGEN_V)$(VAPIGEN) \
                --vapidir=. \
                --vapidir=$(srcdir) \
                --girdir=$(top_builddir)/camel \
                --pkg gio-2.0 \
                --pkg libxml-2.0 \
-               --library libcamel-1.2 \
+               --pkg posix \
+               --library camel-1.2 \
                --metadatadir=$(srcdir) \
                $< \
                $(NULL)
diff --git a/vala/libcamel-1.2.deps b/vala/camel-1.2.deps
similarity index 100%
rename from vala/libcamel-1.2.deps
rename to vala/camel-1.2.deps


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]