From 604c3926e9f36ca1668aed4fc498f288278e266e Mon Sep 17 00:00:00 2001 From: Juerg Billeter Date: Wed, 30 Jan 2008 17:59:37 +0000 Subject: [PATCH] add GSequence bindings, based on patch by Daniel Svensson, fixes bug 2008-01-30 Juerg Billeter * vapi/glib-2.0.vapi: add GSequence bindings, based on patch by Daniel Svensson, fixes bug 512938 svn path=/trunk/; revision=933 --- ChangeLog | 5 +++++ vapi/glib-2.0.vapi | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 6c2d88f..7707c9a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2008-01-30 Jürg Billeter + * vapi/glib-2.0.vapi: add GSequence bindings, + based on patch by Daniel Svensson, fixes bug 512938 + +2008-01-30 Jürg Billeter + * vapi/Makefile.am, vapi/gio-unix-2.0.deps, vapi/gio-unix-2.0.vapi, vapi/packages/gio-unix-2.0/: add gio-unix-2.0 bindings, based on patch by Mikael Hermansson, fixes bug 512926 diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi index d973e0b..9119575 100644 --- a/vapi/glib-2.0.vapi +++ b/vapi/glib-2.0.vapi @@ -2567,7 +2567,53 @@ namespace GLib { public void insert_after (List sibling, G# data); public void insert_sorted (List sibling, G# data, CompareDataFunc func, pointer user_data); } - + + /* Sequences */ + + [CCode (free_function = "g_sequence_free")] + public class Sequence { + public Sequence (DestroyNotify data_destroy); + public int get_length (); + public void @foreach (Func func); + public static void foreach_range (SequenceIter begin, SequenceIter end, Func func); + public void sort (CompareDataFunc cmp_func); + public void sort_iter (SequenceIterCompareFunc func); + public weak SequenceIter get_begin_iter (); + public weak SequenceIter get_end_iter (); + public weak SequenceIter get_iter_at_pos (); + public weak SequenceIter append (G# data); + public weak SequenceIter prepend (G# data); + public static weak SequenceIter insert_before (SequenceIter iter, G# data); + public static void move (SequenceIter src, SequenceIter dest); + public static void swap (SequenceIter src, SequenceIter dest); + public weak SequenceIter insert_sorted (G# data, CompareDataFunc cmp_func); + public weak SequenceIter insert_sorted_iter (G# data, SequenceIterCompareFunc iter_cmp); + public static void sort_changed (SequenceIter iter, CompareDataFunc cmp_func); + public static void sort_changed_iter (SequenceIter iter, SequenceIterCompareFunc iter_cmp); + public static void remove (SequenceIter iter); + public static void remove_range (SequenceIter begin, SequenceIter end); + public static void move_range (SequenceIter dest, SequenceIter begin, SequenceIter end); + public weak SequenceIter search (G data, CompareDataFunc cmp_func); + public weak SequenceIter search_iter (G data, SequenceIterCompareFunc iter_cmp); + public static weak G get (SequenceIter iter); + public static void set (SequenceIter iter, G# data); + public static weak SequenceIter range_get_midpoint (SequenceIter begin, SequenceIter end); + } + + [CCode (ref_function = "", unref_function = "")] + public class SequenceIter { + public bool is_begin (); + public bool is_end (); + public weak SequenceIter next (); + public weak SequenceIter prev (); + public int get_position (); + public weak SequenceIter move (int delta); + public weak Sequence get_sequence (); + public int compare (SequenceIter other); + } + + public delegate int SequenceIterCompareFunc (SequenceIter a, SequenceIter b); + /* Hash Tables */ [CCode (ref_function = "g_hash_table_ref", unref_function = "g_hash_table_unref")] -- 2.7.4