1/* libxklavier.vapi generated by vapigen, do not modify. */ 2 3[CCode (cprefix = "Xkl", lower_case_cprefix = "xkl_")] 4namespace Xkl { 5 [CCode (cheader_filename = "libxklavier/xklavier.h")] 6 public class ConfigItem : GLib.Object { 7 [CCode (array_length = false)] 8 public weak char[] description; 9 [CCode (array_length = false)] 10 public weak char[] name; 11 [CCode (array_length = false)] 12 public weak char[] short_description; 13 [CCode (has_construct_function = false)] 14 public ConfigItem (); 15 } 16 [CCode (cheader_filename = "libxklavier/xklavier.h")] 17 public class ConfigRec : GLib.Object { 18 [CCode (array_length = false, array_null_terminated = true)] 19 public string[] layouts; 20 public weak string model; 21 [CCode (array_length = false, array_null_terminated = true)] 22 public string[] options; 23 [CCode (array_length = false, array_null_terminated = true)] 24 public string[] variants; 25 [CCode (has_construct_function = false)] 26 public ConfigRec (); 27 public bool activate (Xkl.Engine engine); 28 public bool equals (Xkl.ConfigRec data2); 29 public bool get_from_backup (Xkl.Engine engine); 30 public bool get_from_root_window_property (X.Atom rules_atom_name, string rules_file_out, Xkl.Engine engine); 31 public bool get_from_server (Xkl.Engine engine); 32 public void reset (); 33 public bool set_to_root_window_property (X.Atom rules_atom_name, string rules_file, Xkl.Engine engine); 34 public static bool write_to_file (Xkl.Engine engine, string file_name, Xkl.ConfigRec data, bool binary); 35 } 36 [CCode (cheader_filename = "libxklavier/xklavier.h")] 37 public class ConfigRegistry : GLib.Object { 38 [CCode (has_construct_function = false)] 39 protected ConfigRegistry (); 40 public bool find_layout (Xkl.ConfigItem item); 41 public bool find_model (Xkl.ConfigItem item); 42 public bool find_option (string option_group_name, Xkl.ConfigItem item); 43 public bool find_option_group (Xkl.ConfigItem item); 44 public bool find_variant (string layout_name, Xkl.ConfigItem item); 45 public void foreach_country (Xkl.ConfigItemProcessFunc func, void* data); 46 public void foreach_country_variant (string country_code, Xkl.TwoConfigItemsProcessFunc func, void* data); 47 public void foreach_language (Xkl.ConfigItemProcessFunc func, void* data); 48 public void foreach_language_variant (string language_code, Xkl.TwoConfigItemsProcessFunc func, void* data); 49 public void foreach_layout (Xkl.ConfigItemProcessFunc func, void* data); 50 public void foreach_layout_variant (string layout_name, Xkl.ConfigItemProcessFunc func, void* data); 51 public void foreach_model (Xkl.ConfigItemProcessFunc func, void* data); 52 public void foreach_option (string option_group_name, Xkl.ConfigItemProcessFunc func, void* data); 53 public void foreach_option_group (Xkl.ConfigItemProcessFunc func, void* data); 54 public static unowned Xkl.ConfigRegistry get_instance (Xkl.Engine engine); 55 public bool load (bool if_extras_needed); 56 public void search_by_pattern (string pattern, Xkl.TwoConfigItemsProcessFunc func, void* data); 57 [NoAccessorMethod] 58 public Xkl.Engine engine { owned get; construct; } 59 } 60 [CCode (cheader_filename = "libxklavier/xklavier.h")] 61 public class Engine : GLib.Object { 62 [CCode (has_construct_function = false)] 63 protected Engine (); 64 public static void INT__LONG_LONG (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data); 65 public static void VOID__FLAGS_INT_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data); 66 public void allow_one_switch_to_secondary_group (); 67 public bool backup_names_prop (); 68 [NoWrapper] 69 public virtual void config_notify (); 70 public void delete_state (X.Window win); 71 public int filter_events (X.Event* evt); 72 public unowned string get_backend_name (); 73 public unowned Xkl.State get_current_state (); 74 public X.Window get_current_window (); 75 public int get_current_window_group (); 76 public int get_default_group (); 77 public uint get_features (); 78 public unowned string get_groups_names (); 79 public bool get_indicators_handling (); 80 public unowned string get_indicators_names (); 81 public static unowned Xkl.Engine get_instance (X.Display display); 82 public uint get_max_num_groups (); 83 public int get_next_group (); 84 public uint get_num_groups (); 85 public int get_prev_group (); 86 public uint get_secondary_groups_mask (); 87 public bool get_state (X.Window win, Xkl.State state_out); 88 public unowned string get_window_title (X.Window win); 89 public bool grab_key (int keycode, uint modifiers); 90 public bool is_group_per_toplevel_window (); 91 public bool is_window_from_same_toplevel_window (X.Window win1, X.Window win2); 92 public bool is_window_transparent (X.Window win); 93 public void lock_group (int group); 94 public int pause_listen (); 95 public int resume_listen (); 96 public void save_state (X.Window win, Xkl.State state); 97 public void set_default_group (int group); 98 public void set_group_per_toplevel_window (bool is_global); 99 public void set_indicators_handling (bool whether_handle); 100 public void set_secondary_groups_mask (uint mask); 101 public void set_window_transparent (X.Window win, bool transparent); 102 public int start_listen (uint flags); 103 [NoWrapper] 104 public virtual void state_notify (Xkl.EngineStateChange change_type, int group, bool restore); 105 public int stop_listen (uint flags); 106 public bool ungrab_key (int keycode, uint modifiers); 107 [NoAccessorMethod] 108 public string backendName { owned get; } 109 public uint default_group { get; } 110 [NoAccessorMethod] 111 public void* display { get; construct; } 112 public Xkl.EngineFeatures features { get; } 113 public bool indicators_handling { get; } 114 public uint max_num_groups { get; } 115 public uint num_groups { get; } 116 public uint secondary_groups_mask { get; } 117 [CCode (cname = "X_config_changed")] 118 public virtual signal void X_config_changed (); 119 [CCode (cname = "X_new_device")] 120 public virtual signal void X_new_device (); 121 [CCode (cname = "X_state_changed")] 122 public virtual signal void X_state_changed (int p0, int p1, bool p2); 123 public virtual signal int new_toplevel_window (long p0, long p1); 124 } 125 [Compact] 126 [CCode (cheader_filename = "libxklavier/xklavier.h")] 127 public class State { 128 public int32 group; 129 public uint32 indicators; 130 } 131 [CCode (cprefix = "XKLF_", cheader_filename = "libxklavier/xklavier.h")] 132 [Flags] 133 public enum EngineFeatures { 134 CAN_TOGGLE_INDICATORS, 135 CAN_OUTPUT_CONFIG_AS_ASCII, 136 CAN_OUTPUT_CONFIG_AS_BINARY, 137 MULTIPLE_LAYOUTS_SUPPORTED, 138 REQUIRES_MANUAL_LAYOUT_MANAGEMENT, 139 DEVICE_DISCOVERY 140 } 141 [CCode (cprefix = "XKLL_", cheader_filename = "libxklavier/xklavier.h")] 142 public enum EngineListenModes { 143 MANAGE_WINDOW_STATES, 144 TRACK_KEYBOARD_STATE, 145 MANAGE_LAYOUTS 146 } 147 [CCode (cprefix = "", cheader_filename = "libxklavier/xklavier.h")] 148 public enum EngineStateChange { 149 GROUP_CHANGED, 150 INDICATORS_CHANGED 151 } 152 [CCode (cheader_filename = "libxklavier/xklavier.h")] 153 public delegate void ConfigItemProcessFunc (Xkl.ConfigRegistry config, Xkl.ConfigItem item); 154 [CCode (cheader_filename = "libxklavier/xklavier.h", has_target = false)] 155 public delegate void LogAppender (char[] file, char[] function, int level, char[] format, void* args); 156 [CCode (cheader_filename = "libxklavier/xklavier.h")] 157 public delegate void TwoConfigItemsProcessFunc (Xkl.ConfigRegistry config, Xkl.ConfigItem item, Xkl.ConfigItem subitem); 158 [CCode (cheader_filename = "libxklavier/xklavier.h")] 159 public const int MAX_CI_DESC_LENGTH; 160 [CCode (cheader_filename = "libxklavier/xklavier.h")] 161 public const int MAX_CI_NAME_LENGTH; 162 [CCode (cheader_filename = "libxklavier/xklavier.h")] 163 public const int MAX_CI_SHORT_DESC_LENGTH; 164 [CCode (cheader_filename = "libxklavier/xklavier.h")] 165 public const string XCI_PROP_ALLOW_MULTIPLE_SELECTION; 166 [CCode (cheader_filename = "libxklavier/xklavier.h")] 167 public const string XCI_PROP_COUNTRY_LIST; 168 [CCode (cheader_filename = "libxklavier/xklavier.h")] 169 public const string XCI_PROP_EXTRA_ITEM; 170 [CCode (cheader_filename = "libxklavier/xklavier.h")] 171 public const string XCI_PROP_LANGUAGE_LIST; 172 [CCode (cheader_filename = "libxklavier/xklavier.h")] 173 public const string XCI_PROP_VENDOR; 174 [CCode (cheader_filename = "libxklavier/xklavier.h")] 175 public static void default_log_appender (char[] file, char[] function, int level, char[] format, void* args); 176 [CCode (cheader_filename = "libxklavier/xklavier.h")] 177 public static unowned string get_country_name (string code); 178 [CCode (cheader_filename = "libxklavier/xklavier.h")] 179 public static unowned string get_language_name (string code); 180 [CCode (cheader_filename = "libxklavier/xklavier.h")] 181 public static unowned string get_last_error (); 182 [CCode (cheader_filename = "libxklavier/xklavier.h")] 183 public static bool restore_names_prop (Xkl.Engine engine); 184 [CCode (cheader_filename = "libxklavier/xklavier.h")] 185 public static void set_debug_level (int level); 186 [CCode (cheader_filename = "libxklavier/xklavier.h")] 187 public static void set_log_appender (Xkl.LogAppender fun); 188} 189