add GSequence bindings, based on patch by Daniel Svensson, fixes bug
authorJuerg Billeter <j@bitron.ch>
Wed, 30 Jan 2008 17:59:37 +0000 (17:59 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Wed, 30 Jan 2008 17:59:37 +0000 (17:59 +0000)
2008-01-30  Juerg Billeter  <j@bitron.ch>

* vapi/glib-2.0.vapi: add GSequence bindings,
  based on patch by Daniel Svensson, fixes bug 512938

svn path=/trunk/; revision=933

ChangeLog
vapi/glib-2.0.vapi

index 6c2d88f..7707c9a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2008-01-30  Jürg Billeter  <j@bitron.ch>
 
+       * vapi/glib-2.0.vapi: add GSequence bindings,
+         based on patch by Daniel Svensson, fixes bug 512938
+
+2008-01-30  Jürg Billeter  <j@bitron.ch>
+
        * 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
index d973e0b..9119575 100644 (file)
@@ -2567,7 +2567,53 @@ namespace GLib {
                public void insert_after (List<G> sibling, G# data);
                public void insert_sorted (List<G> sibling, G# data, CompareDataFunc func, pointer user_data);
        }
-       
+
+       /* Sequences */
+
+       [CCode (free_function = "g_sequence_free")]
+       public class Sequence<G> {
+               public Sequence (DestroyNotify data_destroy);
+               public int get_length ();
+               public void @foreach (Func func);
+               public static void foreach_range (SequenceIter<G> begin, SequenceIter<G> end, Func func);
+               public void sort (CompareDataFunc cmp_func);
+               public void sort_iter (SequenceIterCompareFunc<G> func);
+               public weak SequenceIter<G> get_begin_iter ();
+               public weak SequenceIter<G> get_end_iter ();
+               public weak SequenceIter<G> get_iter_at_pos ();
+               public weak SequenceIter<G> append (G# data);
+               public weak SequenceIter<G> prepend (G# data);
+               public static weak SequenceIter<G> insert_before (SequenceIter<G> iter, G# data);
+               public static void move (SequenceIter<G> src, SequenceIter<G> dest);
+               public static void swap (SequenceIter<G> src, SequenceIter<G> dest);
+               public weak SequenceIter<G> insert_sorted (G# data, CompareDataFunc cmp_func);
+               public weak SequenceIter<G> insert_sorted_iter (G# data, SequenceIterCompareFunc<G> iter_cmp);
+               public static void sort_changed (SequenceIter<G> iter, CompareDataFunc cmp_func);
+               public static void sort_changed_iter (SequenceIter<G> iter, SequenceIterCompareFunc<G> iter_cmp);
+               public static void remove (SequenceIter<G> iter);
+               public static void remove_range (SequenceIter<G> begin, SequenceIter<G> end);
+               public static void move_range (SequenceIter<G> dest, SequenceIter<G> begin, SequenceIter<G> end);
+               public weak SequenceIter<G> search (G data, CompareDataFunc cmp_func);
+               public weak SequenceIter<G> search_iter (G data, SequenceIterCompareFunc<G> iter_cmp);
+               public static weak G get (SequenceIter<G> iter);
+               public static void set (SequenceIter<G> iter, G# data);
+               public static weak SequenceIter<G> range_get_midpoint (SequenceIter<G> begin, SequenceIter<G> end);
+       }
+
+       [CCode (ref_function = "", unref_function = "")]
+       public class SequenceIter<G> {
+               public bool is_begin ();
+               public bool is_end ();
+               public weak SequenceIter<G> next ();
+               public weak SequenceIter<G> prev ();
+               public int get_position ();
+               public weak SequenceIter<G> move (int delta);
+               public weak Sequence<G> get_sequence ();
+               public int compare (SequenceIter<G> other);
+       }
+
+       public delegate int SequenceIterCompareFunc<G> (SequenceIter<G> a, SequenceIter<G> b);
+
        /* Hash Tables */
        
        [CCode (ref_function = "g_hash_table_ref", unref_function = "g_hash_table_unref")]