[gnome-keyring/introspection: 5/5] gcr: Complete introspection annotations for gcr library



commit 28c0f14a101d7513fd60c2c3759f6c0d95dff211
Author: Stef Walter <stefw collabora co uk>
Date:   Wed Sep 28 14:26:14 2011 +0200

    gcr: Complete introspection annotations for gcr library
    
    https://bugzilla.gnome.org/show_bug.cgi?id=655651

 gcr/Makefile.am                      |   26 ++++++------
 gcr/gcr-certificate-basics-widget.c  |   14 +++++-
 gcr/gcr-certificate-chain.c          |   11 +++--
 gcr/gcr-certificate-details-widget.c |   15 +++++++
 gcr/gcr-certificate-renderer.c       |    4 +-
 gcr/gcr-certificate-widget.c         |    4 +-
 gcr/gcr-certificate.c                |   74 +++++++++++++++-------------------
 gcr/gcr-certificate.h                |    6 +-
 gcr/gcr-collection-model.c           |   14 +++---
 gcr/gcr-collection.c                 |   39 +++---------------
 gcr/gcr-combo-selector.c             |    8 ++--
 gcr/gcr-deprecated-base.h            |    2 +
 gcr/gcr-deprecated.h                 |    2 +
 gcr/gcr-failure-renderer.c           |   17 ++++++++
 gcr/gcr-icons.c                      |   10 ++++-
 gcr/gcr-icons.h                      |    2 +-
 gcr/gcr-importer.c                   |   12 +++---
 gcr/gcr-key-renderer.c               |    2 +-
 gcr/gcr-library.c                    |   16 ++++---
 gcr/gcr-list-selector.c              |    9 ++--
 gcr/gcr-parser.c                     |   15 ++++---
 gcr/gcr-parser.h                     |    4 +-
 gcr/gcr-pkcs11-certificate.c         |   12 +++---
 gcr/gcr-pkcs11-importer.c            |    2 +-
 gcr/gcr-renderer.c                   |   28 ++++---------
 gcr/gcr-renderer.h                   |    1 +
 gcr/gcr-simple-certificate.c         |    8 ++--
 gcr/gcr-simple-collection.c          |    6 +-
 gcr/gcr-tree-selector.c              |   19 +++++----
 gcr/gcr-types.h                      |   13 ++++++
 gcr/gcr-union-collection.c           |    6 +-
 gcr/gcr-viewer.c                     |   12 +++---
 32 files changed, 220 insertions(+), 193 deletions(-)
---
diff --git a/gcr/Makefile.am b/gcr/Makefile.am
index 63c4636..6101f16 100644
--- a/gcr/Makefile.am
+++ b/gcr/Makefile.am
@@ -294,19 +294,19 @@ if HAVE_INTROSPECTION
 
 include $(INTROSPECTION_MAKEFILE)
 
-INTROSPECTION_GIRS = Gcr- GCR_MAJOR@  GCR_MINOR@.gir
-INTROSPECTION_SCANNER_ARGS = --warn-all --add-include-path=$(srcdir) --add-include-path=.
-INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) --includedir=.
-
-Gcr- GCR_MAJOR@  GCR_MINOR@.gir: libgcr- GCR_MAJOR@.la
-
-Gcr_ GCR_MAJOR@_ GCR_MINOR@_gir_PACKAGES = gobject-2.0 gtk+-3.0 p11-kit-1
-Gcr_ GCR_MAJOR@_ GCR_MINOR@_gir_EXPORT_PACKAGES = gcr-3
-Gcr_ GCR_MAJOR@_ GCR_MINOR@_gir_INCLUDES = GObject-2.0 Gtk-3.0
-Gcr_ GCR_MAJOR@_ GCR_MINOR@_gir_LIBS = libgcr- GCR_MAJOR@.la
-Gcr_ GCR_MAJOR@_ GCR_MINOR@_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) -DGCR_COMPILATION -DGCR_API_SUBJECT_TO_CHANGE
-Gcr_ GCR_MAJOR@_ GCR_MINOR@_gir_FILES = $(libgcr_ GCR_MAJOR@_la_SOURCES)
-Gcr_ GCR_MAJOR@_ GCR_MINOR@_gir_SCANNERFLAGS = --c-include "gcr.h"
+INTROSPECTION_GIRS = Gcr- GCR_MAJOR@.gir
+INTROSPECTION_SCANNER_ARGS = $(INTROSPECTION_FLAGS) --warn-all --add-include-path=$(srcdir) --add-include-path=$(top_builddir)/gck
+INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) --includedir=$(top_builddir)/gck
+
+Gcr- GCR_MAJOR@.gir: libgcr- GCR_MAJOR@.la
+
+Gcr_ GCR_MAJOR@_gir_PACKAGES = gobject-2.0 gtk+-3.0 p11-kit-1
+Gcr_ GCR_MAJOR@_gir_EXPORT_PACKAGES = gcr-3
+Gcr_ GCR_MAJOR@_gir_INCLUDES = GObject-2.0 Gtk-3.0 Gck- GCK_MAJOR@
+Gcr_ GCR_MAJOR@_gir_LIBS = libgcr-base- GCR_MAJOR@.la libgcr- GCR_MAJOR@.la
+Gcr_ GCR_MAJOR@_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) -DGCR_COMPILATION -DGCR_API_SUBJECT_TO_CHANGE
+Gcr_ GCR_MAJOR@_gir_FILES = $(libgcr_base_ GCR_MAJOR@_la_SOURCES) $(libgcr_ GCR_MAJOR@_la_SOURCES)
+Gcr_ GCR_MAJOR@_gir_SCANNERFLAGS = --c-include "gcr.h" --c-include "gcr-base.h"
 
 girdir = $(datadir)/gir-1.0
 gir_DATA = $(INTROSPECTION_GIRS)
diff --git a/gcr/gcr-certificate-basics-widget.c b/gcr/gcr-certificate-basics-widget.c
index b0a4158..1638b33 100644
--- a/gcr/gcr-certificate-basics-widget.c
+++ b/gcr/gcr-certificate-basics-widget.c
@@ -32,13 +32,23 @@ gcr_certificate_basics_widget_get_type (void)
 	return gcr_certificate_widget_get_type ();
 }
 
-GcrCertificateBasicsWidget*
+/**
+ * gcr_certificate_basics_widget_new: (skip):
+ *
+ * Deprecated
+ */
+GcrCertificateBasicsWidget *
 gcr_certificate_basics_widget_new (GcrCertificate *cert)
 {
 	return gcr_certificate_widget_new (cert);
 }
 
-GcrCertificate*
+/**
+ * gcr_certificate_basics_widget_get_certificate: (skip):
+ *
+ * Deprecated
+ */
+GcrCertificate *
 gcr_certificate_basics_widget_get_certificate (GcrCertificateBasicsWidget *basics)
 {
 	return gcr_certificate_widget_get_certificate (basics);
diff --git a/gcr/gcr-certificate-chain.c b/gcr/gcr-certificate-chain.c
index f993c74..5e425c9 100644
--- a/gcr/gcr-certificate-chain.c
+++ b/gcr/gcr-certificate-chain.c
@@ -583,9 +583,9 @@ gcr_certificate_chain_get_status (GcrCertificateChain *self)
  * If an anchor is returned it does not mean that the certificate chain has
  * been verified, but merely that an anchor has been found.
  *
- * Returns: the anchor certificate, or NULL if not anchored.
+ * Returns: (transfer full): the anchor certificate, or NULL if not anchored.
  */
-GcrCertificate*
+GcrCertificate *
 gcr_certificate_chain_get_anchor (GcrCertificateChain *self)
 {
 	g_return_val_if_fail (GCR_IS_CERTIFICATE_CHAIN (self), NULL);
@@ -603,7 +603,8 @@ gcr_certificate_chain_get_anchor (GcrCertificateChain *self)
  * Get the endpoint certificate in the chain. This is always the first
  * certificate in the chain. The endpoint certificate cannot be anchored.
  *
- * Returns: the endpoint certificate, or NULL if the chain is empty.
+ * Returns: (transfer none): the endpoint certificate, or %NULL if the chain
+ *          is empty
  */
 GcrCertificate*
 gcr_certificate_chain_get_endpoint (GcrCertificateChain *self)
@@ -637,9 +638,9 @@ gcr_certificate_chain_get_length (GcrCertificateChain *self)
  * Get a certificate in the chain. It is an error to call this function
  * with an invalid index.
  *
- * Returns: the certificate
+ * Returns: (transfer none): the certificate
  */
-GcrCertificate*
+GcrCertificate *
 gcr_certificate_chain_get_certificate (GcrCertificateChain *self, guint index)
 {
 	g_return_val_if_fail (GCR_IS_CERTIFICATE_CHAIN (self), NULL);
diff --git a/gcr/gcr-certificate-details-widget.c b/gcr/gcr-certificate-details-widget.c
index 590f498..870acbb 100644
--- a/gcr/gcr-certificate-details-widget.c
+++ b/gcr/gcr-certificate-details-widget.c
@@ -32,18 +32,33 @@ gcr_certificate_details_widget_get_type (void)
 	return gcr_certificate_widget_get_type ();
 }
 
+/**
+ * gcr_certificate_details_widget_new: (skip):
+ *
+ * Deprecated
+ */
 GcrCertificateDetailsWidget*
 gcr_certificate_details_widget_new (GcrCertificate *cert)
 {
 	return gcr_certificate_widget_new (cert);
 }
 
+/**
+ * gcr_certificate_details_widget_get_certificate: (skip):
+ *
+ * Deprecated
+ */
 GcrCertificate*
 gcr_certificate_details_widget_get_certificate (GcrCertificateDetailsWidget *details)
 {
 	return gcr_certificate_widget_get_certificate (details);
 }
 
+/**
+ * gcr_certificate_details_widget_set_certificate: (skip):
+ *
+ * Deprecated
+ */
 void
 gcr_certificate_details_widget_set_certificate (GcrCertificateDetailsWidget *details,
                                                 GcrCertificate *cert)
diff --git a/gcr/gcr-certificate-renderer.c b/gcr/gcr-certificate-renderer.c
index 4516199..f374536 100644
--- a/gcr/gcr-certificate-renderer.c
+++ b/gcr/gcr-certificate-renderer.c
@@ -824,9 +824,9 @@ gcr_certificate_renderer_new_for_attributes (const gchar *label, struct _GckAttr
  * explicitly set, then the renderer will return itself since it acts as
  * a valid certificate.
  *
- * Returns: The certificate, owned by the renderer.
+ * Returns: (transfer full): The certificate, owned by the renderer.
  */
-GcrCertificate*
+GcrCertificate *
 gcr_certificate_renderer_get_certificate (GcrCertificateRenderer *self)
 {
 	g_return_val_if_fail (GCR_IS_CERTIFICATE_RENDERER (self), NULL);
diff --git a/gcr/gcr-certificate-widget.c b/gcr/gcr-certificate-widget.c
index 533f065..24dc6ee 100644
--- a/gcr/gcr-certificate-widget.c
+++ b/gcr/gcr-certificate-widget.c
@@ -211,9 +211,9 @@ gcr_certificate_widget_new (GcrCertificate *certificate)
  *
  * Get the certificate displayed in the widget.
  *
- * Returns: The certificate.
+ * Returns: (transfer full): The certificate.
  */
-GcrCertificate*
+GcrCertificate *
 gcr_certificate_widget_get_certificate (GcrCertificateWidget *self)
 {
 	g_return_val_if_fail (GCR_IS_CERTIFICATE_WIDGET (self), NULL);
diff --git a/gcr/gcr-certificate.c b/gcr/gcr-certificate.c
index c4728ea..ea0609d 100644
--- a/gcr/gcr-certificate.c
+++ b/gcr/gcr-certificate.c
@@ -312,7 +312,7 @@ on_transform_date_to_string (const GValue *src, GValue *dest)
  */
 
 static void
-gcr_certificate_iface_init (gpointer gobject_iface)
+gcr_certificate_default_init (GcrCertificateIface *iface)
 {
 	static volatile gsize initialized = 0;
 
@@ -321,31 +321,31 @@ gcr_certificate_iface_init (gpointer gobject_iface)
 
 		CERTIFICATE_INFO = g_quark_from_static_string ("_gcr_certificate_certificate_info");
 
-		g_object_interface_install_property (gobject_iface,
+		g_object_interface_install_property (iface,
 		         g_param_spec_string ("label", "Label", "Certificate label",
 		                              "", G_PARAM_READABLE));
 
-		g_object_interface_install_property (gobject_iface,
+		g_object_interface_install_property (iface,
 		         g_param_spec_string ("description", "Description", "Description of object being rendered",
 		                              "", G_PARAM_READABLE));
 
-		g_object_interface_install_property (gobject_iface,
+		g_object_interface_install_property (iface,
 		         g_param_spec_string ("markup", "Markup", "Markup which describes object being rendered",
 		                              "", G_PARAM_READABLE));
 
-		g_object_interface_install_property (gobject_iface,
+		g_object_interface_install_property (iface,
 		         g_param_spec_object ("icon", "Icon", "Icon for the object being rendered",
 		                              G_TYPE_ICON, G_PARAM_READABLE));
 
-		g_object_interface_install_property (gobject_iface,
+		g_object_interface_install_property (iface,
 		           g_param_spec_string ("subject", "Subject", "Common name of subject",
 		                                "", G_PARAM_READABLE));
 
-		g_object_interface_install_property (gobject_iface,
+		g_object_interface_install_property (iface,
 		           g_param_spec_string ("issuer", "Issuer", "Common name of issuer",
 		                                "", G_PARAM_READABLE));
 
-		g_object_interface_install_property (gobject_iface,
+		g_object_interface_install_property (iface,
 		           g_param_spec_boxed ("expiry", "Expiry", "Certificate expiry",
 		                               G_TYPE_DATE, G_PARAM_READABLE));
 
@@ -353,33 +353,21 @@ gcr_certificate_iface_init (gpointer gobject_iface)
 	}
 }
 
-GType
-gcr_certificate_get_type (void)
-{
-	static GType type = 0;
-	if (!type) {
-		static const GTypeInfo info = {
-			sizeof (GcrCertificateIface),
-			gcr_certificate_iface_init,               /* base init */
-			NULL,             /* base finalize */
-			NULL,             /* class_init */
-			NULL,             /* class finalize */
-			NULL,             /* class data */
-			0,
-			0,                /* n_preallocs */
-			NULL,             /* instance init */
-		};
-		type = g_type_register_static (G_TYPE_INTERFACE, "GcrCertificateIface", &info, 0);
-		g_type_interface_add_prerequisite (type, GCR_TYPE_COMPARABLE);
-	}
-	
-	return type;
-}
+typedef GcrCertificateIface GcrCertificateInterface;
+
+G_DEFINE_INTERFACE (GcrCertificate, gcr_certificate, GCR_TYPE_COMPARABLE);
 
 /* -----------------------------------------------------------------------------
  * PUBLIC 
  */
 
+/**
+ * gcr_certificate_get_columns: (skip):
+ *
+ * Get the columns appropriate for a certificate
+ *
+ * Returns: the columns
+ */
 const GcrColumn*
 gcr_certificate_get_columns (void)
 {
@@ -445,10 +433,11 @@ gcr_certificate_compare (GcrComparable *first, GcrComparable *other)
  * 
  * Gets the raw DER data for an X.509 certificate.
  * 
- * Returns: raw DER data of the X.509 certificate.
+ * Returns: (array length=n_data): raw DER data of the X.509 certificate
  **/
-gconstpointer
-gcr_certificate_get_der_data (GcrCertificate *self, gsize *n_data)
+const guchar *
+gcr_certificate_get_der_data (GcrCertificate *self,
+                              gsize *n_data)
 {
 	g_return_val_if_fail (GCR_IS_CERTIFICATE (self), NULL);
 	g_return_val_if_fail (GCR_CERTIFICATE_GET_INTERFACE (self)->get_der_data, NULL);
@@ -521,10 +510,12 @@ _gcr_certificate_get_issuer_const (GcrCertificate *self, gsize *n_data)
  *
  * The data should be freed by using g_free() when no longer required.
  *
- * Returns: allocated memory containing the raw issuer.
+ * Returns: (transfer full) (array length=n_data): allocated memory containing
+ *          the raw issuer
  */
-gpointer
-gcr_certificate_get_issuer_raw (GcrCertificate *self, gsize *n_data)
+guchar *
+gcr_certificate_get_issuer_raw (GcrCertificate *self,
+                                gsize *n_data)
 {
 	gconstpointer data;
 
@@ -682,9 +673,10 @@ _gcr_certificate_get_subject_const (GcrCertificate *self, gsize *n_data)
  *
  * The data should be freed by using g_free() when no longer required.
  *
- * Returns: allocated memory containing the raw subject.
+ * Returns: (transfer full) (array length=n_data): allocated memory containing
+ *          the raw subject
  */
-gpointer
+guchar *
 gcr_certificate_get_subject_raw (GcrCertificate *self, gsize *n_data)
 {
 	GcrCertificateInfo *info;
@@ -926,10 +918,10 @@ gcr_certificate_get_serial_number_hex (GcrCertificate *self)
  *
  * Get the icon for a certificate.
  *
- * Returns: The icon for this certificate, which should be released with
- *     g_object_unref().
+ * Returns: (transfer full): the icon for this certificate, which should be
+ *          released with g_object_unref()
  */
-GIcon*
+GIcon *
 gcr_certificate_get_icon (GcrCertificate *self)
 {
 	g_return_val_if_fail (GCR_IS_CERTIFICATE (self), FALSE);
diff --git a/gcr/gcr-certificate.h b/gcr/gcr-certificate.h
index 43cba42..b574a23 100644
--- a/gcr/gcr-certificate.h
+++ b/gcr/gcr-certificate.h
@@ -61,7 +61,7 @@ struct _GcrCertificateIface {
 
 GType               gcr_certificate_get_type               (void);
 
-gconstpointer       gcr_certificate_get_der_data           (GcrCertificate *self,
+const guchar *      gcr_certificate_get_der_data           (GcrCertificate *self,
                                                             gsize *n_data);
 
 const GcrColumn*    gcr_certificate_get_columns            (void);
@@ -76,7 +76,7 @@ gchar*              gcr_certificate_get_issuer_dn          (GcrCertificate *self
 gchar*              gcr_certificate_get_issuer_part        (GcrCertificate *self, 
                                                             const gchar *part);
 
-gpointer            gcr_certificate_get_issuer_raw         (GcrCertificate *self,
+guchar *            gcr_certificate_get_issuer_raw         (GcrCertificate *self,
                                                             gsize *n_data);
 
 gboolean            gcr_certificate_is_issuer              (GcrCertificate *self,
@@ -89,7 +89,7 @@ gchar*              gcr_certificate_get_subject_dn         (GcrCertificate *self
 gchar*              gcr_certificate_get_subject_part       (GcrCertificate *self, 
                                                             const gchar *part);
 
-gpointer            gcr_certificate_get_subject_raw        (GcrCertificate *self,
+guchar *            gcr_certificate_get_subject_raw        (GcrCertificate *self,
                                                             gsize *n_data);
 
 GDate*              gcr_certificate_get_issued_date        (GcrCertificate *self);
diff --git a/gcr/gcr-collection-model.c b/gcr/gcr-collection-model.c
index 21b3fef..b229929 100644
--- a/gcr/gcr-collection-model.c
+++ b/gcr/gcr-collection-model.c
@@ -1280,7 +1280,7 @@ gcr_collection_model_new (GcrCollection *collection, ...)
 }
 
 /**
- * gcr_collection_model_new_full:
+ * gcr_collection_model_new_full: (skip):
  * @collection: The collection to represent
  * @columns: The columns the model should contain
  *
@@ -1297,7 +1297,7 @@ gcr_collection_model_new_full (GcrCollection *collection, const GcrColumn *colum
 }
 
 /**
- * gcr_collection_model_set_columns:
+ * gcr_collection_model_set_columns: (skip):
  * @self: The model
  * @columns: The columns the model should contain
  *
@@ -1358,9 +1358,9 @@ gcr_collection_model_get_collection (GcrCollectionModel *self)
  *
  * Get the object that is represented by the given row in the model.
  *
- * Returns: The object, owned by the model.
+ * Returns: (transfer none): The object, owned by the model.
  */
-GObject*
+GObject *
 gcr_collection_model_object_for_iter (GcrCollectionModel *self, const GtkTreeIter *iter)
 {
 	g_return_val_if_fail (GCR_IS_COLLECTION_MODEL (self), NULL);
@@ -1507,8 +1507,8 @@ gcr_collection_model_is_selected (GcrCollectionModel *self, GtkTreeIter *iter)
  *
  * Get a list of checked/selected objects.
  *
- * Returns: a list of selected objects, which should be freed with
- *          g_list_free().
+ * Returns: (transfer container) (element-type GLib.Object): a list of selected
+ *          objects, which should be freed with g_list_free()
  */
 GList *
 gcr_collection_model_get_selected_objects (GcrCollectionModel *self)
@@ -1531,7 +1531,7 @@ gcr_collection_model_get_selected_objects (GcrCollectionModel *self)
 /**
  * gcr_collection_model_set_selected_objects:
  * @self: the collection model
- * @selected: a list of objects to select
+ * @selected: (element-type GLib.Object): a list of objects to select
  *
  * Set the checked/selected objects.
  */
diff --git a/gcr/gcr-collection.c b/gcr/gcr-collection.c
index 61b75cc..3b7bca4 100644
--- a/gcr/gcr-collection.c
+++ b/gcr/gcr-collection.c
@@ -50,16 +50,13 @@ enum {
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
-/* -----------------------------------------------------------------------------
- * INTERNAL
- */
 
-/* ---------------------------------------------------------------------------------
- * INTERFACE
- */
+typedef GcrCollectionIface GcrCollectionInterface;
+
+G_DEFINE_INTERFACE (GcrCollection, gcr_collection, G_TYPE_OBJECT);
 
 static void
-gcr_collection_base_init (gpointer g_class)
+gcr_collection_default_init (GcrCollectionIface *iface)
 {
 	static volatile gsize initialized = 0;
 
@@ -79,30 +76,6 @@ gcr_collection_base_init (gpointer g_class)
 	}
 }
 
-GType
-gcr_collection_get_type (void)
-{
-	static GType type = 0;
-	if (!type) {
-		static const GTypeInfo info = {
-			sizeof (GcrCollectionIface),
-			gcr_collection_base_init,               /* base init */
-			NULL,             /* base finalize */
-			NULL,             /* class_init */
-			NULL,             /* class finalize */
-			NULL,             /* class data */
-			0,
-			0,                /* n_preallocs */
-			NULL,             /* instance init */
-		};
-		type = g_type_register_static (G_TYPE_INTERFACE, "GcrCollectionIface", &info, 0);
-		g_type_interface_add_prerequisite (type, G_TYPE_OBJECT);
-	}
-
-	return type;
-}
-
-
 /* -----------------------------------------------------------------------------
  * PUBLIC
  */
@@ -130,8 +103,8 @@ gcr_collection_get_length (GcrCollection *self)
  *
  * Get a list of the objects in this collection.
  *
- * Returns: A list of the objects in this collection, which should be freed
- *     with g_list_free().
+ * Returns: (transfer container) (element-type GLib.Object): a list of the objects
+ *          in this collection, which should be freed with g_list_free()
  */
 GList*
 gcr_collection_get_objects (GcrCollection *self)
diff --git a/gcr/gcr-combo-selector.c b/gcr/gcr-combo-selector.c
index bc33e78..302cc16 100644
--- a/gcr/gcr-combo-selector.c
+++ b/gcr/gcr-combo-selector.c
@@ -216,9 +216,9 @@ gcr_combo_selector_new (GcrCollection *collection)
  *
  * Get the collection that this selector is displaying objects from.
  *
- * Returns: The collection, owned by the selector.
+ * Returns: (transfer none): The collection, owned by the selector.
  */
-GcrCollection*
+GcrCollection *
 gcr_combo_selector_get_collection (GcrComboSelector *self)
 {
 	g_return_val_if_fail (GCR_IS_COMBO_SELECTOR (self), NULL);
@@ -231,9 +231,9 @@ gcr_combo_selector_get_collection (GcrComboSelector *self)
  *
  * Get the selected object in the selector, or %NULL if nothing selected.
  *
- * Returns: The selected object, owned by the selector, or %NULL.
+ * Returns: (transfer none): the selected object, owned by the selector, or %NULL
  */
-GObject*
+GObject *
 gcr_combo_selector_get_selected (GcrComboSelector *self)
 {
 	GtkTreeIter iter;
diff --git a/gcr/gcr-deprecated-base.h b/gcr/gcr-deprecated-base.h
index 9f52535..6ecfd90 100644
--- a/gcr/gcr-deprecated-base.h
+++ b/gcr/gcr-deprecated-base.h
@@ -28,6 +28,7 @@
 #ifndef GCR_BASE_DEPRECATED_H_
 #define GCR_BASE_DEPRECATED_H_
 #ifndef GCR_DISABLE_DEPRECATED
+#ifndef __GI_SCANNER__
 
 #include <glib.h>
 
@@ -67,5 +68,6 @@ void                       gcr_importer_set_prompt_behavior   (GcrImporter *self
 
 G_END_DECLS
 
+#endif /* __GI_SCANNER__ */
 #endif /* GCR_DISABLE_DEPRECATED */
 #endif /* GCRTYPES_H_ */
diff --git a/gcr/gcr-deprecated.h b/gcr/gcr-deprecated.h
index 25cbc1d..9a21af7 100644
--- a/gcr/gcr-deprecated.h
+++ b/gcr/gcr-deprecated.h
@@ -28,6 +28,7 @@
 #ifndef GCR_DEPRECATED_H_
 #define GCR_DEPRECATED_H_
 #ifndef GCR_DISABLE_DEPRECATED
+#ifndef __GI_SCANNER__
 
 #include <glib.h>
 
@@ -43,5 +44,6 @@ void              gcr_renderer_render                         (GcrRenderer *self
 
 G_END_DECLS
 
+#endif /* __GI_SCANNER__ */
 #endif /* GCR_DISABLE_DEPRECATED */
 #endif /* GCRTYPES_H_ */
diff --git a/gcr/gcr-failure-renderer.c b/gcr/gcr-failure-renderer.c
index 8417307..035c97f 100644
--- a/gcr/gcr-failure-renderer.c
+++ b/gcr/gcr-failure-renderer.c
@@ -177,6 +177,15 @@ gcr_renderer_iface_init (GcrRendererIface *iface)
 	iface->render_view = gcr_failure_renderer_render;
 }
 
+/**
+ * gcr_failure_renderer_new:
+ * @label: the label for the failure
+ * @error: the error to display
+ *
+ * Create a new renderer for an error.
+ *
+ * Returns: (transfer full): the new renderer
+ */
 GcrRenderer *
 gcr_failure_renderer_new (const gchar *label,
                           GError *error)
@@ -191,6 +200,14 @@ gcr_failure_renderer_new (const gchar *label,
 	return GCR_RENDERER (renderer);
 }
 
+/**
+ * gcr_failure_renderer_new_unsupported:
+ * @label: the label for the failure
+ *
+ * Create a new renderer for unsupported data.
+ *
+ * Returns: (transfer full): the new renderer
+ */
 GcrRenderer *
 gcr_failure_renderer_new_unsupported (const gchar *label)
 {
diff --git a/gcr/gcr-icons.c b/gcr/gcr-icons.c
index ba946f7..40f3798 100644
--- a/gcr/gcr-icons.c
+++ b/gcr/gcr-icons.c
@@ -26,8 +26,16 @@
 #include "gcr-base.h"
 #include "gcr-icons.h"
 
+/**
+ * gcr_icon_for_token:
+ * @token_info: the token info
+ *
+ * Get an appropriate icon for the token
+ *
+ * Returns: (transfer full): the icon
+ */
 GIcon *
-gcr_icon_for_token_info (GckTokenInfo *token_info)
+gcr_icon_for_token (GckTokenInfo *token_info)
 {
 	GIcon *icon;
 
diff --git a/gcr/gcr-icons.h b/gcr/gcr-icons.h
index 4e603b0..ae2b952 100644
--- a/gcr/gcr-icons.h
+++ b/gcr/gcr-icons.h
@@ -35,7 +35,7 @@ G_BEGIN_DECLS
 #define GCR_ICON_SMART_CARD     "gcr-smart-card"
 #define GCR_ICON_HOME_DIRECTORY "user-home"
 
-GIcon *          gcr_icon_for_token_info                (GckTokenInfo *token_info);
+GIcon *          gcr_icon_for_token                (GckTokenInfo *token_info);
 
 G_END_DECLS
 
diff --git a/gcr/gcr-importer.c b/gcr/gcr-importer.c
index e44647c..d67a96f 100644
--- a/gcr/gcr-importer.c
+++ b/gcr/gcr-importer.c
@@ -172,9 +172,9 @@ check_if_seen_or_add (GHashTable *seen,
  * The parsed item is represented by the state of the GcrParser at the
  * time of calling this method.
  *
- * Returns: a list of importers which can import the parsed item, which
- *          should be freed with g_object_unref(), or %NULL if no types
- *          of importers can be created.
+ * Returns: (element-type Gcr.Importer) (transfer full): a list of importers
+ *          which can import the parsed item, which should be freed with
+ *          g_object_unref(), or %NULL if no types of importers can be created
  */
 GList *
 gcr_importer_create_for_parsed (GcrParsed *parsed)
@@ -274,7 +274,7 @@ gcr_importer_queue_for_parsed (GcrImporter *importer,
 
 /**
  * gcr_importer_queue_and_filter_for_parsed:
- * @importers: a set of importers
+ * @importers: (element-type Gcr.Importer): a set of importers
  * @parsed: a parsed item
  *
  * Queues an additional item to be imported in all compattible importers
@@ -284,8 +284,8 @@ gcr_importer_queue_for_parsed (GcrImporter *importer,
  * If the parsed item is incompatible with an importer, then that the item
  * will not be queued on that importer.
  *
- * Returns: a new set of importers that queued the item, which should be freed
- *          with gck_list_unref_free().
+ * Returns: (transfer full) (element-type Gcr.Importer): a new set of importers
+ *          that queued the item, which should be freed with gck_list_unref_free()
  */
 GList *
 gcr_importer_queue_and_filter_for_parsed (GList *importers,
diff --git a/gcr/gcr-key-renderer.c b/gcr/gcr-key-renderer.c
index b9248fd..cbbdab4 100644
--- a/gcr/gcr-key-renderer.c
+++ b/gcr/gcr-key-renderer.c
@@ -394,7 +394,7 @@ gcr_key_renderer_set_attributes (GcrKeyRenderer *self, GckAttributes *attrs)
  *
  * Get the attributes displayed in the renderer.
  *
- * Returns: The attributes, owned by the renderer.
+ * Returns: (transfer none): the attributes, owned by the renderer
  */
 GckAttributes*
 gcr_key_renderer_get_attributes (GcrKeyRenderer *self)
diff --git a/gcr/gcr-library.c b/gcr/gcr-library.c
index 342407a..f94aa0a 100644
--- a/gcr/gcr-library.c
+++ b/gcr/gcr-library.c
@@ -289,7 +289,8 @@ gcr_pkcs11_initialize (GCancellable *cancellable,
  *
  * When done with the list, free it with gck_list_unref_free().
  *
- * Returns: A newly allocated list of #GckModule objects.
+ * Returns: (transfer full) (element-type Gck.Module): a newly allocated list
+ *          of #GckModule objects
  */
 GList*
 gcr_pkcs11_get_modules (void)
@@ -302,7 +303,7 @@ gcr_pkcs11_get_modules (void)
 
 /**
  * gcr_pkcs11_set_modules:
- * @modules: a list of #GckModule
+ * @modules: (element-type Gck.Module): a list of #GckModule
  *
  * Set the list of PKCS\#11 modules that are used by the GCR library.
  * Each module in the list is a #GckModule object.
@@ -392,9 +393,9 @@ gcr_pkcs11_add_module_from_file (const gchar *module_path, gpointer unused,
  *
  * When done with the #GckSlot, use g_object_unref() to release it.
  *
- * Returns: the #GckSlot to use for trust assertions.
+ * Returns: (transfer full): the #GckSlot to use for trust assertions.
  */
-GckSlot*
+GckSlot *
 gcr_pkcs11_get_trust_store_slot (void)
 {
 	GckSlot *slot;
@@ -425,7 +426,8 @@ gcr_pkcs11_get_trust_store_slot (void)
  *
  * When done with the list, free it with gck_list_unref_free().
  *
- * Returns: a list of #GckSlot objects to use for lookup of trust.
+ * Returns: (transfer full) (element-type Gck.Slot): a list of #GckSlot objects
+ *          to use for lookup of trust.
  */
 GList*
 gcr_pkcs11_get_trust_lookup_slots (void)
@@ -496,9 +498,9 @@ gcr_pkcs11_set_trust_store_uri (const gchar *pkcs11_uri)
  * Get the PKCS\#11 URIs that are used to identify which slots to use for
  * lookup trust assertions.
  *
- * Returns: the uri which identifies trust storage slot
+ * Returns: (transfer none): the uri which identifies trust storage slot
  */
-const gchar**
+const gchar **
 gcr_pkcs11_get_trust_lookup_uris (void)
 {
 	initialize_uris ();
diff --git a/gcr/gcr-list-selector.c b/gcr/gcr-list-selector.c
index c9cdbca..b878541 100644
--- a/gcr/gcr-list-selector.c
+++ b/gcr/gcr-list-selector.c
@@ -380,9 +380,9 @@ gcr_list_selector_new (GcrCollection *collection)
  *
  * Get the collection that this selector is displaying objects from.
  *
- * Returns: The collection, owned by the selector.
+ * Returns: (transfer none): The collection, owned by the selector.
  */
-GcrCollection*
+GcrCollection *
 gcr_list_selector_get_collection (GcrListSelector *self)
 {
 	g_return_val_if_fail (GCR_IS_LIST_SELECTOR (self), NULL);
@@ -395,7 +395,8 @@ gcr_list_selector_get_collection (GcrListSelector *self)
  *
  * Get a list of selected objects.
  *
- * Returns: The list of selected objects, to be released with g_list_free().
+ * Returns: (transfer container) (element-type GLib.Object): the list of
+ *          selected objects, to be released with g_list_free()
  */
 GList*
 gcr_list_selector_get_selected (GcrListSelector *self)
@@ -407,7 +408,7 @@ gcr_list_selector_get_selected (GcrListSelector *self)
 /**
  * gcr_list_selector_set_selected:
  * @self: The selector
- * @selected: The list of objects to select.
+ * @selected: (element-type GLib.Object): the list of objects to select
  *
  * Select certain objects in the selector.
  */
diff --git a/gcr/gcr-parser.c b/gcr/gcr-parser.c
index 95624d0..483c8ab 100644
--- a/gcr/gcr-parser.c
+++ b/gcr/gcr-parser.c
@@ -2372,8 +2372,8 @@ gcr_parsed_get_description (GcrParsed *parsed)
  * Get the attributes which make up the currently parsed item. This is generally
  * only valid during the GcrParser::parsed signal.
  *
- * Returns: The attributes for the current item. These are owned by the parser
- *     and should not be freed.
+ * Returns: (transfer none): the attributes for the current item, which are
+ *          owned by the parser and should not be freed
  */
 GckAttributes *
 gcr_parser_get_parsed_attributes (GcrParser *self)
@@ -2452,10 +2452,10 @@ gcr_parsed_get_label (GcrParsed *parsed)
  * Get the raw data block that represents this parsed object. This is only
  * valid during the GcrParser::parsed signal.
  *
- * Returns: The raw data block of the currently parsed item. The value is
- *      owned by the parser and should not be freed.
+ * Returns: (transfer none) (array length=n_block): the raw data block of the
+ *      currently parsed item; the value is owned by the parser and should not be freed
  */
-gconstpointer
+const guchar *
 gcr_parser_get_parsed_block (GcrParser *self,
                              gsize *n_block)
 {
@@ -2473,9 +2473,10 @@ gcr_parser_get_parsed_block (GcrParser *self,
  *
  * Get the raw data block for the parsed item.
  *
- * Returns: the raw data of the parsed item, or %NULL
+ * Returns: (transfer full) (array length=n_data): the raw data of the parsed
+ *          item, or %NULL
  */
-gconstpointer
+const guchar *
 gcr_parsed_get_data (GcrParsed *parsed,
                      gsize *n_data)
 {
diff --git a/gcr/gcr-parser.h b/gcr/gcr-parser.h
index cb2676c..09c0687 100644
--- a/gcr/gcr-parser.h
+++ b/gcr/gcr-parser.h
@@ -107,7 +107,7 @@ const gchar*             gcr_parser_get_parsed_description (GcrParser *self);
 
 GckAttributes*           gcr_parser_get_parsed_attributes  (GcrParser *self);
 
-gconstpointer            gcr_parser_get_parsed_block       (GcrParser *self,
+const guchar *           gcr_parser_get_parsed_block       (GcrParser *self,
                                                             gsize *n_block);
 
 GcrDataFormat            gcr_parser_get_parsed_format      (GcrParser *self);
@@ -126,7 +126,7 @@ const gchar*             gcr_parsed_get_description        (GcrParsed *parsed);
 
 GckAttributes*           gcr_parsed_get_attributes         (GcrParsed *parsed);
 
-gconstpointer            gcr_parsed_get_data               (GcrParsed *parsed,
+const guchar *           gcr_parsed_get_data               (GcrParsed *parsed,
                                                             gsize *n_data);
 
 GcrDataFormat            gcr_parsed_get_format             (GcrParsed *parsed);
diff --git a/gcr/gcr-pkcs11-certificate.c b/gcr/gcr-pkcs11-certificate.c
index cb8b107..8e256b0 100644
--- a/gcr/gcr-pkcs11-certificate.c
+++ b/gcr/gcr-pkcs11-certificate.c
@@ -330,9 +330,9 @@ gcr_certificate_iface (GcrCertificateIface *iface)
  *
  * Access the automatically loaded attributes for this certificate.
  *
- * Returns: the certificate attributes
+ * Returns: (transfer none): the certificate attributes
  */
-GckAttributes*
+GckAttributes *
 gcr_pkcs11_certificate_get_attributes (GcrPkcs11Certificate *self)
 {
 	g_return_val_if_fail (GCR_IS_PKCS11_CERTIFICATE (self), NULL);
@@ -355,9 +355,9 @@ gcr_pkcs11_certificate_get_attributes (GcrPkcs11Certificate *self)
  * Will return %NULL if no issuer certificate is found. Use @error to determine
  * if an error occurred.
  *
- * Returns: a new #GcrPkcs11Certificate, or %NULL
+ * Returns: (transfer full): a new #GcrPkcs11Certificate, or %NULL
  */
-GcrCertificate*
+GcrCertificate *
 gcr_pkcs11_certificate_lookup_issuer (GcrCertificate *certificate, GCancellable *cancellable,
                                       GError **error)
 {
@@ -426,9 +426,9 @@ gcr_pkcs11_certificate_lookup_issuer_async (GcrCertificate *certificate, GCancel
  * Will return %NULL if no issuer certificate is found. Use @error to determine
  * if an error occurred.
  *
- * Returns: a new #GcrPkcs11Certificate, or %NULL
+ * Returns: (transfer full): a new #GcrPkcs11Certificate, or %NULL
  */
-GcrCertificate*
+GcrCertificate *
 gcr_pkcs11_certificate_lookup_issuer_finish (GAsyncResult *result, GError **error)
 {
 	lookup_issuer_closure *closure;
diff --git a/gcr/gcr-pkcs11-importer.c b/gcr/gcr-pkcs11-importer.c
index f3757ad..7edbf85 100644
--- a/gcr/gcr-pkcs11-importer.c
+++ b/gcr/gcr-pkcs11-importer.c
@@ -335,7 +335,7 @@ calculate_icon (GcrPkcs11Importer *self,
 
 	if (token_info == NULL)
 		info = token_info = gck_slot_get_token_info (self->pv->slot);
-	result = gcr_icon_for_token_info (token_info);
+	result = gcr_icon_for_token (token_info);
 	gck_token_info_free (info);
 
 	return result;
diff --git a/gcr/gcr-renderer.c b/gcr/gcr-renderer.c
index dc542a2..5d78585 100644
--- a/gcr/gcr-renderer.c
+++ b/gcr/gcr-renderer.c
@@ -76,7 +76,7 @@ static GArray *registered_renderers = NULL;
 static gboolean registered_sorted = FALSE;
 
 static void
-gcr_renderer_base_init (gpointer gobject_iface)
+gcr_renderer_default_init (GcrRendererIface *iface)
 {
 	static gboolean initialized = FALSE;
 	if (!initialized) {
@@ -86,7 +86,7 @@ gcr_renderer_base_init (gpointer gobject_iface)
 		 *
 		 * The label to display.
 		 */
-		g_object_interface_install_property (gobject_iface,
+		g_object_interface_install_property (iface,
 		         g_param_spec_string ("label", "Label", "The label for the renderer",
 		                              "", G_PARAM_READWRITE));
 
@@ -95,7 +95,7 @@ gcr_renderer_base_init (gpointer gobject_iface)
 		 *
 		 * The attributes to display.
 		 */
-		g_object_interface_install_property (gobject_iface,
+		g_object_interface_install_property (iface,
 		         g_param_spec_boxed ("attributes", "Attributes", "The data displayed in the renderer",
 		                             GCK_TYPE_ATTRIBUTES, G_PARAM_READWRITE));
 
@@ -113,21 +113,9 @@ gcr_renderer_base_init (gpointer gobject_iface)
 	}
 }
 
-GType
-gcr_renderer_get_type (void)
-{
-	static GType type = 0;
-	if (!type) {
-		static const GTypeInfo info = {
-			sizeof (GcrRendererIface),
-			gcr_renderer_base_init,  /* base init */
-			NULL,                    /* base finalize */
-		};
-		type = g_type_register_static (G_TYPE_INTERFACE, "GcrRendererIface", &info, 0);
-	}
+typedef GcrRendererIface GcrRendererInterface;
 
-	return type;
-}
+G_DEFINE_INTERFACE (GcrRenderer, gcr_renderer, G_TYPE_OBJECT);
 
 /**
  * gcr_renderer_render_view:
@@ -219,10 +207,10 @@ sort_registered_by_n_attrs (gconstpointer a, gconstpointer b)
  * Create and initialize a renderer for the given attributes and label. These
  * renderers should have been preregistered via gcr_renderer_register().
  *
- * Returns: A new renderer, or %NULL if no renderer matched the attributes.
- *     The render should be released with g_object-unref().
+ * Returns: (transfer full): a new renderer, or %NULL if no renderer matched
+ *          the attributes; the render should be released with g_object_unref()
  */
-GcrRenderer*
+GcrRenderer *
 gcr_renderer_create (const gchar *label, GckAttributes *attrs)
 {
 	GcrRegistered *registered;
diff --git a/gcr/gcr-renderer.h b/gcr/gcr-renderer.h
index 242374a..4223ce6 100644
--- a/gcr/gcr-renderer.h
+++ b/gcr/gcr-renderer.h
@@ -35,6 +35,7 @@ G_BEGIN_DECLS
 #define GCR_IS_RENDERER(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCR_TYPE_RENDERER))
 #define GCR_RENDERER_GET_INTERFACE(inst)  (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GCR_TYPE_RENDERER, GcrRendererIface))
 
+typedef struct _GcrRenderer GcrRenderer;
 typedef struct _GcrRendererIface GcrRendererIface;
 
 struct _GcrRendererIface {
diff --git a/gcr/gcr-simple-certificate.c b/gcr/gcr-simple-certificate.c
index 3d88421..eeb8254 100644
--- a/gcr/gcr-simple-certificate.c
+++ b/gcr/gcr-simple-certificate.c
@@ -137,9 +137,9 @@ gcr_simple_certificate_iface_init (GcrCertificateIface *iface)
  * Create a new #GcrSimpleCertificate for the raw DER data. The @data memory is
  * copied so you can dispose of it after this function returns.
  *
- * Returns: a new #GcrSimpleCertificate
+ * Returns: (transfer full): a new #GcrSimpleCertificate
  */
-GcrCertificate*
+GcrCertificate *
 gcr_simple_certificate_new (gconstpointer data, gsize n_data)
 {
 	GcrSimpleCertificate *cert;
@@ -163,9 +163,9 @@ gcr_simple_certificate_new (gconstpointer data, gsize n_data)
  * not copied and must persist until the #GcrSimpleCertificate object is
  * destroyed.
  *
- * Returns: a new #GcrSimpleCertificate
+ * Returns: (transfer full): a new #GcrSimpleCertificate
  */
-GcrCertificate*
+GcrCertificate *
 gcr_simple_certificate_new_static (gconstpointer data, gsize n_data)
 {
 	GcrSimpleCertificate *cert;
diff --git a/gcr/gcr-simple-collection.c b/gcr/gcr-simple-collection.c
index 2ac411a..174ccfa 100644
--- a/gcr/gcr-simple-collection.c
+++ b/gcr/gcr-simple-collection.c
@@ -143,10 +143,10 @@ gcr_collection_iface (GcrCollectionIface *iface)
  *
  * Create a new #GcrSimpleCollection.
  *
- * Returns: A newly allocated collection, which should be freed with
- *     g_object_unref().
+ * Returns: (transfer full): a newly allocated collection, which should be
+ *     freed with g_object_unref()
  */
-GcrCollection*
+GcrCollection *
 gcr_simple_collection_new (void)
 {
 	return g_object_new (GCR_TYPE_SIMPLE_COLLECTION, NULL);
diff --git a/gcr/gcr-tree-selector.c b/gcr/gcr-tree-selector.c
index 5cb2556..f44811d 100644
--- a/gcr/gcr-tree-selector.c
+++ b/gcr/gcr-tree-selector.c
@@ -282,16 +282,16 @@ gcr_tree_selector_class_init (GcrTreeSelectorClass *klass)
  */
 
 /**
- * gcr_tree_selector_new:
+ * gcr_tree_selector_new: (skip):
  * @collection: The collection that contains the objects to display
  * @columns: The columns to use to display the objects
  *
  * Create a new #GcrTreeSelector.
  *
- * Returns: A newly allocated selector, which should be released with
- *     g_object_unref().
+ * Returns: (transfer full): a newly allocated selector, which should be
+ *          released with g_object_unref()
  */
-GcrTreeSelector*
+GcrTreeSelector *
 gcr_tree_selector_new (GcrCollection *collection, const GcrColumn *columns)
 {
 	return g_object_new (GCR_TYPE_TREE_SELECTOR,
@@ -306,9 +306,9 @@ gcr_tree_selector_new (GcrCollection *collection, const GcrColumn *columns)
  *
  * Get the collection that this selector is displaying objects from.
  *
- * Returns: The collection, owned by the selector.
+ * Returns: (transfer none): the collection, owned by the selector
  */
-GcrCollection*
+GcrCollection *
 gcr_tree_selector_get_collection (GcrTreeSelector *self)
 {
 	g_return_val_if_fail (GCR_IS_TREE_SELECTOR (self), NULL);
@@ -316,7 +316,7 @@ gcr_tree_selector_get_collection (GcrTreeSelector *self)
 }
 
 /**
- * gcr_tree_selector_get_columns:
+ * gcr_tree_selector_get_columns: (skip):
  * @self: The selector
  *
  * Get the columns displayed in a selector in multiple mode.
@@ -336,7 +336,8 @@ gcr_tree_selector_get_columns (GcrTreeSelector *self)
  *
  * Get a list of selected objects.
  *
- * Returns: The list of selected objects, to be released with g_list_free().
+ * Returns: (transfer container) (element-type GLib.Object): the list of selected
+ *          objects, to be released with g_list_free()
  */
 GList*
 gcr_tree_selector_get_selected (GcrTreeSelector *self)
@@ -348,7 +349,7 @@ gcr_tree_selector_get_selected (GcrTreeSelector *self)
 /**
  * gcr_tree_selector_set_selected:
  * @self: The selector
- * @selected: The list of objects to select.
+ * @selected: (element-type GLib.Object): The list of objects to select.
  *
  * Select certain objects in the selector.
  */
diff --git a/gcr/gcr-types.h b/gcr/gcr-types.h
index 7ac1c38..2fbb765 100644
--- a/gcr/gcr-types.h
+++ b/gcr/gcr-types.h
@@ -31,8 +31,21 @@
 #include <glib.h>
 
 #ifndef GCK_API_SUBJECT_TO_CHANGE
+
+/**
+ * GCK_API_SUBJECT_TO_CHANGE: (skip):
+ *
+ * skip for gir introspection
+ */
 #define GCK_API_SUBJECT_TO_CHANGE 1
+
+/**
+ * __GCR_DEFINED_GCK_SUBJECT_TO_CHANGE__: (skip):
+ *
+ * skip for gir introspection
+ */
 #define __GCR_DEFINED_GCK_SUBJECT_TO_CHANGE__ 1
+
 #endif
 
 #include <gck/gck.h>
diff --git a/gcr/gcr-union-collection.c b/gcr/gcr-union-collection.c
index dca7614..3c0877c 100644
--- a/gcr/gcr-union-collection.c
+++ b/gcr/gcr-union-collection.c
@@ -219,10 +219,10 @@ gcr_collection_iface (GcrCollectionIface *iface)
  *
  * Create a new #GcrUnionCollection.
  *
- * Returns: A newly allocated collection, which should be freed with
- *     g_object_unref().
+ * Returns: (transfer full): a newly allocated collection, which should be
+ *          freed with g_object_unref()
  */
-GcrCollection*
+GcrCollection *
 gcr_union_collection_new (void)
 {
 	return g_object_new (GCR_TYPE_UNION_COLLECTION, NULL);
diff --git a/gcr/gcr-viewer.c b/gcr/gcr-viewer.c
index b210c61..bc573ab 100644
--- a/gcr/gcr-viewer.c
+++ b/gcr/gcr-viewer.c
@@ -77,10 +77,10 @@ gcr_viewer_default_init (GcrViewerIface *iface)
  * Get an implementation of #GcrViewer that supports a view
  * of multiple renderers.
  *
- * Returns: A newly allocated #GcrViewer, which should be released with
- *     g_object_unref()
+ * Returns: (transfer full): a newly allocated #GcrViewer, which should be
+ *          released with g_object_unref()
  */
-GcrViewer*
+GcrViewer *
 gcr_viewer_new (void)
 {
 	return GCR_VIEWER (_gcr_display_view_new ());
@@ -92,8 +92,8 @@ gcr_viewer_new (void)
  * Get an implementation of #GcrViewer that supports a scrolled view
  * of multiple renderers.
  *
- * Returns: A newly allocated #GcrViewer, which should be released with
- *     g_object_unref()
+ * Returns: (transfer full): a newly allocated #GcrViewer, which should be
+ *          released with g_object_unref()
  */
 GcrViewer*
 gcr_viewer_new_scrolled (void)
@@ -171,7 +171,7 @@ gcr_viewer_count_renderers (GcrViewer *viewer)
  * Get a pointer to the renderer at the given index. It is an error to request
  * an index that is out of bounds.
  *
- * Returns: The render, owned by the viewer.
+ * Returns: (transfer none): the render, owned by the viewer
  */
 GcrRenderer*
 gcr_viewer_get_renderer (GcrViewer *viewer,



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