From ae840f4c9616fcfad635476b6d81bc443bc35d26 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=BCrg=20Billeter?= Date: Tue, 15 Jun 2010 20:01:39 +0200 Subject: [PATCH] glib-2.0: Add GLib.GenericArray (generic version of GLib.PtrArray) Based on patch by Evan Nemerson. --- vapi/glib-2.0.vapi | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi index 9aee958b2..dffcbee68 100644 --- a/vapi/glib-2.0.vapi +++ b/vapi/glib-2.0.vapi @@ -3576,23 +3576,52 @@ namespace GLib { #endif public class PtrArray { public PtrArray (); + public PtrArray.with_free_func (GLib.DestroyNotify? element_free_func); [CCode (cname = "g_ptr_array_sized_new")] public PtrArray.sized (uint reserved_size); public void add (void* data); + public void foreach (GLib.Func func); [CCode (cname = "g_ptr_array_index")] public void* index(uint index); public bool remove (void* data); public void* remove_index (uint index); public bool remove_fast (void *data); + public void remove_index_fast (uint index); public void remove_range (uint index, uint length); public void sort (CompareFunc compare_func); public void sort_with_data (CompareDataFunc compare_func); + public void set_free_func (GLib.DestroyNotify? element_free_function); public void set_size (uint length); public uint len; public void** pdata; } + [Compact] + [CCode (cname = "GPtrArray", cprefix = "g_ptr_array_", ref_function = "g_ptr_array_ref", unref_function = "g_ptr_array_unref", type_id = "G_TYPE_PTR_ARRAY")] + public class GenericArray { + [CCode (cname = "g_ptr_array_new_with_free_func", simple_generics = true)] + public GenericArray (); + public void add (owned G data); + public void foreach (GLib.Func func); + [CCode (cname = "g_ptr_array_index")] + public unowned G get (uint index); + public bool remove (G data); + public void remove_index (uint index); + public bool remove_fast (G data); + public void remove_index_fast (uint index); + public void remove_range (uint index, uint length); + public void set (uint index, owned G data) { + this.pdata[index] = (owned) data; + } + public void sort (GLib.CompareFunc compare_func); + public void sort_with_data (GLib.CompareDataFunc compare_func); + public void set_size (uint length); + + [CCode (array_length_cname = "len", array_length_type = "uint")] + G[] pdata; + } + /* Byte Arrays */ [Compact] -- 2.47.3