1/* caribou-internals-1.0.vapi generated by valac 0.32.0.49-00a57, do not modify. */
2
3namespace Caribou {
4	[CCode (cheader_filename = "caribou-internals.h")]
5	public abstract class DisplayAdapter : GLib.Object {
6		public abstract void keyval_press (uint keyval);
7		public abstract void keyval_release (uint keyval);
8		public abstract void mod_lock (uint mask);
9		public abstract void mod_unlock (uint mask);
10		public abstract void mod_latch (uint mask);
11		public abstract void mod_unlatch (uint mask);
12		public abstract uint get_current_group (out string group_name, out string variant_name);
13		public abstract void get_groups (out string[] group_names, out string[] variant_names);
14		public abstract void register_key_func (uint keyval, Caribou.KeyButtonCallback? func);
15		public abstract void register_button_func (uint button, Caribou.KeyButtonCallback? func);
16		public static bool set_default (Caribou.DisplayAdapter adapter);
17		public static Caribou.DisplayAdapter get_default ();
18		public DisplayAdapter ();
19		public Gdk.Display display { get; construct; }
20		public signal void modifiers_changed (uint modifiers);
21		public signal void group_changed (uint gid, string group, string variant);
22		public signal void config_changed ();
23	}
24	[CCode (cheader_filename = "caribou-internals.h")]
25	public class NullAdapter : Caribou.DisplayAdapter {
26		public override void keyval_press (uint keyval);
27		public override void keyval_release (uint keyval);
28		public override void mod_lock (uint mask);
29		public override void mod_unlock (uint mask);
30		public override void mod_latch (uint mask);
31		public override void mod_unlatch (uint mask);
32		public override uint get_current_group (out string group_name, out string variant_name);
33		public override void get_groups (out string[] group_names, out string[] variant_names);
34		public override void register_key_func (uint keyval, Caribou.KeyButtonCallback? func);
35		public override void register_button_func (uint button, Caribou.KeyButtonCallback? func);
36		public NullAdapter ();
37	}
38	[CCode (cheader_filename = "caribou-internals.h")]
39	public class XAdapter : Caribou.DisplayAdapter {
40		public override void keyval_press (uint keyval);
41		public override void keyval_release (uint keyval);
42		public override void mod_lock (uint mask);
43		public override void mod_unlock (uint mask);
44		public override void mod_latch (uint mask);
45		public override void mod_unlatch (uint mask);
46		public override uint get_current_group (out string group_name, out string variant_name);
47		public override void get_groups (out string[] group_names, out string[] variant_names);
48		public override void register_key_func (uint keyval, Caribou.KeyButtonCallback? func);
49		public override void register_button_func (uint button, Caribou.KeyButtonCallback? func);
50		public XAdapter ();
51	}
52	[CCode (cheader_filename = "caribou-internals.h")]
53	public class KeyboardModel : GLib.Object, Caribou.IKeyboardObject {
54		public string[] get_groups ();
55		public Caribou.GroupModel get_group (string group_name);
56		public KeyboardModel ();
57		public string active_group { get; private set; }
58		public string keyboard_type { get; construct; }
59		public string keyboard_file { get; construct; }
60		public signal void group_added (string name);
61		public signal void group_removed (string name);
62	}
63	[CCode (cheader_filename = "caribou-internals.h")]
64	[DBus (name = "org.gnome.Caribou.Keyboard")]
65	public abstract class KeyboardService : GLib.Object {
66		public abstract void set_cursor_location (int x, int y, int w, int h);
67		public abstract void set_entry_location (int x, int y, int w, int h);
68		public abstract void show (uint32 timestamp);
69		public abstract void hide (uint32 timestamp);
70		protected void register_keyboard (string name);
71		protected virtual void name_lost (string name);
72		public KeyboardService ();
73	}
74	[CCode (cheader_filename = "caribou-internals.h")]
75	public class GroupModel : GLib.Object, Caribou.IKeyboardObject {
76		public string group;
77		public string variant;
78		public GroupModel (string group, string variant);
79		public static string create_group_name (string group, string variant);
80		internal void add_level (string lname, Caribou.LevelModel level);
81		public string[] get_levels ();
82		public Caribou.LevelModel get_level (string level_name);
83		public string active_level { get; private set; }
84	}
85	[CCode (cheader_filename = "caribou-internals.h")]
86	public class LevelModel : Caribou.ScannableGroup, Caribou.IKeyboardObject {
87		public LevelModel (string mode);
88		internal void add_row (Caribou.RowModel row);
89		public Caribou.RowModel[] get_rows ();
90		public override Caribou.IScannableItem[] get_scan_children ();
91		public string mode { get; private set; }
92		public signal void level_toggled (string new_level);
93	}
94	[CCode (cheader_filename = "caribou-internals.h")]
95	public class RowModel : Caribou.ScannableGroup, Caribou.IScannableItem, Caribou.IKeyboardObject {
96		public RowModel ();
97		internal void add_column (Caribou.ColumnModel column);
98		public Caribou.ColumnModel[] get_columns ();
99		public override Caribou.IScannableItem[] get_scan_children ();
100	}
101	[CCode (cheader_filename = "caribou-internals.h")]
102	public class KeyModel : GLib.Object, Caribou.IScannableItem, Caribou.IKeyboardObject {
103		public Caribou.ModifierState modifier_state;
104		public KeyModel (string name, string? text = null);
105		internal void add_subkey (Caribou.KeyModel key);
106		public void press ();
107		public void release ();
108		public Caribou.KeyModel[] get_extended_keys ();
109		public void activate ();
110		public string align { get; set; }
111		public double width { get; set; }
112		public string toggle { get; set; }
113		public bool repeatable { get; set; }
114		public bool is_modifier { get; set; }
115		public bool show_subkeys { get; private set; }
116		public string name { get; private set; }
117		public uint keyval { get; private set; }
118		public string? text { get; private set construct; }
119		public string label { get; set; }
120		public signal void key_hold_end ();
121		public signal void key_hold ();
122	}
123	[CCode (cheader_filename = "caribou-internals.h")]
124	public class ColumnModel : Caribou.ScannableGroup, Caribou.IScannableItem, Caribou.IKeyboardObject {
125		public ColumnModel ();
126		internal void add_key (Caribou.KeyModel key);
127		public Caribou.KeyModel get_key (int index);
128		public Caribou.KeyModel first_key ();
129		public override Caribou.IScannableItem[] get_scan_children ();
130	}
131	[CCode (cheader_filename = "caribou-internals.h")]
132	public class Scanner : GLib.Object {
133		public void set_keyboard (Caribou.KeyboardModel keyboard);
134		public void reset ();
135		public Scanner ();
136		public bool bind_settings { get; construct; }
137		public int scan_grouping { get; set construct; }
138		public bool scan_enabled { get; set construct; }
139		public double step_time { get; set construct; }
140		public string switch_device { get; set construct; }
141		public string keyboard_key { get; set construct; }
142		public int mouse_button { get; set construct; }
143		public int scan_cycles { get; set construct; }
144		public bool autorestart { get; set construct; }
145		public bool inverse_scanning { get; set construct; }
146	}
147	[CCode (cheader_filename = "caribou-internals.h")]
148	public abstract class ScannableGroup : GLib.Object, Caribou.IScannableGroup {
149		public abstract Caribou.IScannableItem[] get_scan_children ();
150		public virtual Caribou.IScannableItem? child_select ();
151		public ScannableGroup ();
152	}
153	[CCode (cheader_filename = "caribou-internals.h")]
154	internal class XmlDeserializer : GLib.Object {
155		public static string? get_layout_file_inner (string data_dir, string group, string variant);
156		public static string get_layout_file (string keyboard_type, string group, string variant) throws GLib.IOError;
157		public static Caribou.GroupModel? load_group_from_file (string filename);
158		public static Caribou.GroupModel? load_group (string keyboard_type, string group, string variant);
159		public static void create_levels_from_xml (Caribou.GroupModel group, Xml.Node* node);
160		public static void load_rows (Caribou.LevelModel level, Xml.Node* node);
161		public static void load_column (Caribou.RowModel row, string? align, Xml.Node* node);
162		public static Caribou.KeyModel load_key (Xml.Node* node, string? align);
163		public XmlDeserializer ();
164	}
165	[CCode (cheader_filename = "caribou-internals.h")]
166	public interface IScannableItem : GLib.Object {
167		public abstract bool scan_stepping { get; set; }
168		public abstract bool scan_selected { get; set; }
169	}
170	[CCode (cheader_filename = "caribou-internals.h")]
171	public interface IScannableGroup : GLib.Object {
172		public abstract Caribou.IScannableItem? child_select ();
173		public abstract void scan_reset ();
174		public abstract Caribou.IScannableItem[] get_scan_children ();
175		public abstract Caribou.IScannableItem? child_step (int cycles);
176		public abstract Caribou.IScannableItem[] get_step_path ();
177		public abstract Caribou.IScannableItem[] get_selected_path ();
178		public abstract Caribou.ScanGrouping scan_grouping { get; set; }
179		public signal void selected_item_changed (Caribou.IScannableItem? selected_item);
180		public signal void step_item_changed (Caribou.IScannableItem? step_item);
181		public signal void scan_cleared ();
182	}
183	[CCode (cheader_filename = "caribou-internals.h")]
184	public interface IKeyboardObject : GLib.Object {
185		public abstract Caribou.IKeyboardObject[] get_children ();
186		public virtual Caribou.KeyModel[] get_keys ();
187		public signal void key_clicked (Caribou.KeyModel key);
188		public signal void key_pressed (Caribou.KeyModel key);
189		public signal void key_released (Caribou.KeyModel key);
190	}
191	[CCode (cheader_filename = "caribou-internals.h")]
192	internal struct ModifierMapEntry {
193		public string name;
194		public Gdk.ModifierType mask;
195	}
196	[CCode (cheader_filename = "caribou-internals.h")]
197	internal struct LabelMapEntry {
198		public string name;
199		public string label;
200	}
201	[CCode (cheader_filename = "caribou-internals.h")]
202	public enum ModifierState {
203		NONE,
204		LATCHED,
205		LOCKED
206	}
207	[CCode (cheader_filename = "caribou-internals.h")]
208	public enum ScanGrouping {
209		NONE,
210		SUBGROUPS,
211		ROWS,
212		LINEAR
213	}
214	[CCode (cheader_filename = "caribou-internals.h")]
215	public delegate void KeyButtonCallback (uint keybuttoncode, bool pressed);
216}
217