--- /dev/null
+[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
+ }
+}