[vala/wip/unicode: 6/6] glib-2.0: Add UCS-4 and UTF-16 related bindings



commit 9e9cfac96f15f7f421479c78c1af6ff6170f4e85
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Sun Sep 18 13:27:35 2016 +0200

    glib-2.0: Add UCS-4 and UTF-16 related bindings
    
    https://bugzilla.gnome.org/show_bug.cgi?id=740818

 vapi/glib-2.0.vapi |   62 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 0 deletions(-)
---
diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi
index 501df34..135aadc 100644
--- a/vapi/glib-2.0.vapi
+++ b/vapi/glib-2.0.vapi
@@ -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 unistring2 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 unistring to_ucs4 (long len = -1, out long? items_read = null, out long? items_written = null) 
throws GLib.ConvertError;
+       [CCode (cname = "g_utf8_to_ucs4_fast")]
+       public unistring to_ucs4_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 unistring {
+       [CCode (cname = "g_ucs4_to_utf16")]
+       public unistring2 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 unistring2 {
+       [CCode (cname = "g_utf16_to_ucs4")]
+       public unistring to_ucs4 (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")]


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]