]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
glib-2.0: Add UCS-4 and UTF-16 related bindings 5c5245d1ca3616c0d4f861efff07418ddc67e294
authorRico Tzschichholz <ricotz@ubuntu.com>
Sun, 18 Sep 2016 11:27:35 +0000 (13:27 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 3 Oct 2016 19:35:36 +0000 (21:35 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=740818

vapi/glib-2.0.vapi

index 501df3404b69f0567ef9321eefe329267867afd9..9d145106b20c7222e4a8547443fed3f943678fcf 100644 (file)
@@ -959,6 +959,22 @@ public struct unichar {
 
        [CCode (cname = "G_UNICHAR_MAX_DECOMPOSITION_LENGTH")]
        public const int MAX_DECOMPOSITION_LENGTH;
+
+       [CCode (cname = "G_GUINT32_FORMAT")]
+       public const string FORMAT;
+       [CCode (cname = "G_GINT32_MODIFIER")]
+       public const string FORMAT_MODIFIER;
+}
+
+[SimpleType]
+[GIR (name = "guint16")]
+[CCode (cname = "gunichar2", cheader_filename = "glib.h", default_value = "0U", type_signature = "q", has_type_id = false)]
+[IntegerType (rank = 5)]
+public struct unichar2 {
+       [CCode (cname = "G_GUINT16_FORMAT")]
+       public const string FORMAT;
+       [CCode (cname = "G_GINT16_MODIFIER")]
+       public const string FORMAT_MODIFIER;
 }
 
 [Compact]
@@ -1412,6 +1428,52 @@ public class string {
        public unowned string to_string () {
                return this;
        }
+
+       [CCode (cname = "g_utf8_to_utf16")]
+       public string16 to_utf16 (long len = -1, out long? items_read = null, out long? items_written = null) throws GLib.ConvertError;
+       [CCode (cname = "g_utf8_to_ucs4")]
+       public string32 to_utf32 (long len = -1, out long? items_read = null, out long? items_written = null) throws GLib.ConvertError;
+       [CCode (cname = "g_utf8_to_ucs4_fast")]
+       public string32 to_utf32_fast (long len = -1, out long? items_written = null);
+
+}
+
+[Compact]
+[Immutable]
+[GIR (name = "gunichar")]
+[CCode (cname = "gunichar", const_cname = "const gunichar", free_function = "g_free", cheader_filename = "glib.h")]
+public class string32 {
+       [CCode (cname = "g_ucs4_to_utf16")]
+       public string16 to_utf16 (long len = -1, out long? items_read = null, out long? items_written = null) throws GLib.ConvertError;
+       [CCode (cname = "g_ucs4_to_utf8")]
+       public string to_utf8 (long len = -1, out long? items_read = null, out long? items_written = null) throws GLib.ConvertError;
+
+       public string? to_string () {
+               try {
+                       return this.to_utf8 ();
+               } catch (GLib.ConvertError e) {
+                       return null;
+               }
+       }
+}
+
+[Compact]
+[Immutable]
+[GIR (name = "guint16")]
+[CCode (cname = "gunichar2", const_cname = "const gunichar2", free_function = "g_free", cheader_filename = "glib.h")]
+public class string16 {
+       [CCode (cname = "g_utf16_to_ucs4")]
+       public string32 to_utf32 (long len = -1, out long? items_read = null, out long? items_written = null) throws GLib.ConvertError;
+       [CCode (cname = "g_utf16_to_utf8")]
+       public string to_utf8 (long len = -1, out long? items_read = null, out long? items_written = null) throws GLib.ConvertError;
+
+       public string? to_string () {
+               try {
+                       return this.to_utf8 ();
+               } catch (GLib.ConvertError e) {
+                       return null;
+               }
+       }
 }
 
 [CCode (cprefix = "G", lower_case_cprefix = "g_", cheader_filename = "glib.h", gir_namespace = "GLib", gir_version = "2.0")]