Add introspection annotations
authorP. F. Chimento <philip.chimento@gmail.com>
Mon, 13 Jun 2011 12:18:17 +0000 (14:18 +0200)
committerP. F. Chimento <philip.chimento@gmail.com>
Mon, 13 Jun 2011 12:18:17 +0000 (14:18 +0200)
libchimara/chimara-glk.c
libchimara/chimara-glk.h
player/preferences.c

index 86522e53ace85d1019a0ade6c41d806ea4bc685e..a200b6ba46ad8f8189a71efb8f8ac1032b5ccb28 100644 (file)
@@ -1450,6 +1450,9 @@ chimara_glk_is_line_input_pending(ChimaraGlk *glk)
  *     <listitem><para>hyperlink</para></listitem>
  *     <listitem><para>pager</para></listitem>
  * </itemizedlist>
+ *
+ * Returns: (transfer none): The #GtkTextTag corresponding to @name in the
+ * styles of @window.
  */
 GtkTextTag *
 chimara_glk_get_tag(ChimaraGlk *glk, ChimaraGlkWindowType window, const gchar *name)
@@ -1472,25 +1475,21 @@ chimara_glk_get_tag(ChimaraGlk *glk, ChimaraGlkWindowType window, const gchar *n
 /**
  * chimara_glk_get_tag_names:
  * @glk: a #ChimaraGlk widget
+ * @num_tags: Return location for the number of tag names retrieved.
  *
  * Retrieves the possible tag names to use in chimara_glk_get_tag().
+ *
+ * Returns: (transfer none) (array length=num_tags) (element-type utf8):
+ * Array of strings containing the tag names. This array is owned by Chimara,
+ * do not free it.
  */
 const gchar **
-chimara_glk_get_tag_names(ChimaraGlk *glk)
+chimara_glk_get_tag_names(ChimaraGlk *glk, unsigned int *num_tags)
 {
-       return style_get_tag_names();
-}
+       g_return_val_if_fail(num_tags != NULL, NULL);
 
-/**
- * chimara_glk_get_num_tag_names:
- * @glk: a #ChimaraGlk widget
- *
- * Retrieves the number of style tags returned by chimara_glk_get_tag_names().
- */
-gint
-chimara_glk_get_num_tag_names(ChimaraGlk *glk)
-{
-       return CHIMARA_NUM_STYLES;
+       *num_tags = CHIMARA_NUM_STYLES;
+       return style_get_tag_names();
 }
 
 /**
index df522daaf7b96dbd6c9eb7e12b3209569942d58a..593fa86f411cbc6f9be785dec2f4572d566daaac 100644 (file)
@@ -130,8 +130,7 @@ void chimara_glk_feed_line_input(ChimaraGlk *glk, const gchar *text);
 gboolean chimara_glk_is_char_input_pending(ChimaraGlk *glk);
 gboolean chimara_glk_is_line_input_pending(ChimaraGlk *glk);
 GtkTextTag *chimara_glk_get_tag(ChimaraGlk *glk, ChimaraGlkWindowType window, const gchar *name);
-const gchar **chimara_glk_get_tag_names(ChimaraGlk *glk);
-gint chimara_glk_get_num_tag_names(ChimaraGlk *glk);
+const gchar **chimara_glk_get_tag_names(ChimaraGlk *glk, unsigned int *num_tags);
 void chimara_glk_update_style(ChimaraGlk *glk);
 void chimara_glk_set_resource_load_callback(ChimaraGlk *glk, ChimaraResourceLoadFunc func, gpointer user_data);
 
index 88e88ff1aade52a8b6664c3ae78856079a14128e..9154f4e290a4299e221fe4211688e2d76cdba244 100644 (file)
@@ -148,8 +148,8 @@ preferences_create(ChimaraGlk *glk)
        gtk_tree_store_set(style_list, &grid, 0, "Text grid", -1);
 
        int i;
-    gint num_tags = chimara_glk_get_num_tag_names(glk);
-       const gchar **tag_names = chimara_glk_get_tag_names(glk);
+       unsigned int num_tags;
+       const gchar **tag_names = chimara_glk_get_tag_names(glk, &num_tags);
        for(i=0; i<num_tags; i++) {
                gtk_tree_store_append(style_list, &buffer_child, &buffer);
                gtk_tree_store_append(style_list, &grid_child, &grid);
@@ -393,4 +393,4 @@ on_interpreter_cell_changed(GtkCellRendererCombo *combo, char *path_string, GtkT
        }
        g_settings_set(prefs_settings, "preferred-interpreters", "a{ss}", builder);
        g_variant_builder_unref(builder);
-}
\ No newline at end of file
+}