]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
vapi: Add enchant-2 bindings for Enchant 2.x
authorReuben Thomas <rrt@sc3d.org>
Mon, 7 Dec 2020 21:42:47 +0000 (21:42 +0000)
committerRico Tzschichholz <ricotz@ubuntu.com>
Wed, 9 Dec 2020 07:55:05 +0000 (08:55 +0100)
vapi/Makefile.am
vapi/enchant-2.vapi [new file with mode: 0644]

index 0f1bb0a3dcc2bce87f52bdb56c43e802d3bc8a07..173146ef4dd7a180be6296aeb1f17d68df596d2f 100644 (file)
@@ -48,6 +48,7 @@ dist_vapi_DATA = \
        curses.vapi \
        dbus-glib-1.vapi \
        enchant.vapi \
+       enchant-2.vapi \
        fuse.deps \
        fuse.vapi \
        gconf-2.0.vapi \
diff --git a/vapi/enchant-2.vapi b/vapi/enchant-2.vapi
new file mode 100644 (file)
index 0000000..ecaa58c
--- /dev/null
@@ -0,0 +1,53 @@
+[CCode (cheader_filename = "enchant.h")]
+namespace Enchant {
+       public unowned string get_version ();
+       public void set_prefix_dir (string dir);
+
+       public delegate void BrokerDescribeFn (string provider_name, string provider_desc, string provider_dll_file);
+       public delegate void DictDescribeFn (string lang_tag, string provider_name, string provider_desc, string provider_file);
+
+       [Compact]
+       [CCode (free_function = "enchant_broker_free")]
+       public class Broker {
+               [CCode (cname = "enchant_broker_init")]
+               public Broker ();
+
+               public unowned Dict request_dict (string tag);
+               public unowned Dict request_pwl_dict (string pwl);
+               public void free_dict (Dict dict);
+               public int dict_exists (string tag);
+               public void set_ordering (string tag, string ordering);
+               public unowned string get_error ();
+               public void describe (BrokerDescribeFn fn);
+               public void list_dicts (DictDescribeFn fn);
+       }
+
+       [Compact]
+       public class Dict {
+               public int check (string word, long len = -1);
+               [CCode (array_length_type = "size_t")]
+               public unowned string[] suggest (string word, long len = -1);
+               public void add (string word, long len = -1);
+               public void add_to_session (string word, long len = -1);
+               public void remove (string word, long len = -1);
+               public void remove_from_session (string word, long len = -1);
+               public int is_added (string word, long len = -1);
+               public int is_removed (string word, long len = -1);
+               public void store_replacement (string mis, string cor, [CCode (pos = 1.1)] long mis_len = -1, long cor_len = -1);
+               public void free_string_list ([CCode (array_length = false)] string[] string_list);
+               public unowned string get_error ();
+               public unowned string get_extra_word_characters ();
+               public bool is_word_character (uint32 uc, WordPosition n);
+               public void describe (DictDescribeFn fn);
+       }
+
+       [CCode (cname = "size_t", has_type_id = false)]
+       public enum WordPosition {
+               [CCode (cname = "0")]
+               START,
+               [CCode (cname = "1")]
+               MIDDLE,
+               [CCode (cname = "2")]
+               END
+       }
+}