/* keyboard.h generated by valac 0.56.18, the Vala compiler, do not modify */

#ifndef __KEYBOARD_H__
#define __KEYBOARD_H__

#include <wingpanel.h>
#include <glib-object.h>
#include <gmodule.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif
#define KEYBOARD_WIDGETS_LAYOUT_MANAGER_XKB_RULES_FILE "evdev.xml"
#define KEYBOARD_WIDGETS_LAYOUT_MANAGER_XKB_MANAGER_TYPE "xkb"
#define KEYBOARD_WIDGETS_LAYOUT_MANAGER_IBUS_MANAGER_TYPE "ibus"
#define CONSTANTS_XKB_BASE "/usr/share/X11/xkb"
#define CONSTANTS_GETTEXT_PACKAGE "keyboard-indicator"
#define CONSTANTS_LOCALEDIR "/usr/share/locale"

#define KEYBOARD_TYPE_INDICATOR (keyboard_indicator_get_type ())
#define KEYBOARD_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), KEYBOARD_TYPE_INDICATOR, KeyboardIndicator))
#define KEYBOARD_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), KEYBOARD_TYPE_INDICATOR, KeyboardIndicatorClass))
#define KEYBOARD_IS_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KEYBOARD_TYPE_INDICATOR))
#define KEYBOARD_IS_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), KEYBOARD_TYPE_INDICATOR))
#define KEYBOARD_INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), KEYBOARD_TYPE_INDICATOR, KeyboardIndicatorClass))

typedef struct _KeyboardIndicator KeyboardIndicator;
typedef struct _KeyboardIndicatorClass KeyboardIndicatorClass;
typedef struct _KeyboardIndicatorPrivate KeyboardIndicatorPrivate;

#define KEYBOARD_WIDGETS_TYPE_KEYBOARD_ICON (keyboard_widgets_keyboard_icon_get_type ())
#define KEYBOARD_WIDGETS_KEYBOARD_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), KEYBOARD_WIDGETS_TYPE_KEYBOARD_ICON, KeyboardWidgetsKeyboardIcon))
#define KEYBOARD_WIDGETS_KEYBOARD_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), KEYBOARD_WIDGETS_TYPE_KEYBOARD_ICON, KeyboardWidgetsKeyboardIconClass))
#define KEYBOARD_WIDGETS_IS_KEYBOARD_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KEYBOARD_WIDGETS_TYPE_KEYBOARD_ICON))
#define KEYBOARD_WIDGETS_IS_KEYBOARD_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), KEYBOARD_WIDGETS_TYPE_KEYBOARD_ICON))
#define KEYBOARD_WIDGETS_KEYBOARD_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), KEYBOARD_WIDGETS_TYPE_KEYBOARD_ICON, KeyboardWidgetsKeyboardIconClass))

typedef struct _KeyboardWidgetsKeyboardIcon KeyboardWidgetsKeyboardIcon;
typedef struct _KeyboardWidgetsKeyboardIconClass KeyboardWidgetsKeyboardIconClass;
typedef struct _KeyboardWidgetsKeyboardIconPrivate KeyboardWidgetsKeyboardIconPrivate;

#define KEYBOARD_WIDGETS_TYPE_LAYOUT_BUTTON (keyboard_widgets_layout_button_get_type ())
#define KEYBOARD_WIDGETS_LAYOUT_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), KEYBOARD_WIDGETS_TYPE_LAYOUT_BUTTON, KeyboardWidgetsLayoutButton))
#define KEYBOARD_WIDGETS_LAYOUT_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), KEYBOARD_WIDGETS_TYPE_LAYOUT_BUTTON, KeyboardWidgetsLayoutButtonClass))
#define KEYBOARD_WIDGETS_IS_LAYOUT_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KEYBOARD_WIDGETS_TYPE_LAYOUT_BUTTON))
#define KEYBOARD_WIDGETS_IS_LAYOUT_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), KEYBOARD_WIDGETS_TYPE_LAYOUT_BUTTON))
#define KEYBOARD_WIDGETS_LAYOUT_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), KEYBOARD_WIDGETS_TYPE_LAYOUT_BUTTON, KeyboardWidgetsLayoutButtonClass))

typedef struct _KeyboardWidgetsLayoutButton KeyboardWidgetsLayoutButton;
typedef struct _KeyboardWidgetsLayoutButtonClass KeyboardWidgetsLayoutButtonClass;
typedef struct _KeyboardWidgetsLayoutButtonPrivate KeyboardWidgetsLayoutButtonPrivate;

#define KEYBOARD_WIDGETS_TYPE_LAYOUT_MANAGER (keyboard_widgets_layout_manager_get_type ())
#define KEYBOARD_WIDGETS_LAYOUT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), KEYBOARD_WIDGETS_TYPE_LAYOUT_MANAGER, KeyboardWidgetsLayoutManager))
#define KEYBOARD_WIDGETS_LAYOUT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), KEYBOARD_WIDGETS_TYPE_LAYOUT_MANAGER, KeyboardWidgetsLayoutManagerClass))
#define KEYBOARD_WIDGETS_IS_LAYOUT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KEYBOARD_WIDGETS_TYPE_LAYOUT_MANAGER))
#define KEYBOARD_WIDGETS_IS_LAYOUT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), KEYBOARD_WIDGETS_TYPE_LAYOUT_MANAGER))
#define KEYBOARD_WIDGETS_LAYOUT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), KEYBOARD_WIDGETS_TYPE_LAYOUT_MANAGER, KeyboardWidgetsLayoutManagerClass))

typedef struct _KeyboardWidgetsLayoutManager KeyboardWidgetsLayoutManager;
typedef struct _KeyboardWidgetsLayoutManagerClass KeyboardWidgetsLayoutManagerClass;
typedef struct _KeyboardWidgetsLayoutManagerPrivate KeyboardWidgetsLayoutManagerPrivate;

struct _KeyboardIndicator {
	WingpanelIndicator parent_instance;
	KeyboardIndicatorPrivate * priv;
};

struct _KeyboardIndicatorClass {
	WingpanelIndicatorClass parent_class;
};

struct _KeyboardWidgetsKeyboardIcon {
	GtkLabel parent_instance;
	KeyboardWidgetsKeyboardIconPrivate * priv;
};

struct _KeyboardWidgetsKeyboardIconClass {
	GtkLabelClass parent_class;
};

struct _KeyboardWidgetsLayoutButton {
	GtkBin parent_instance;
	KeyboardWidgetsLayoutButtonPrivate * priv;
};

struct _KeyboardWidgetsLayoutButtonClass {
	GtkBinClass parent_class;
};

struct _KeyboardWidgetsLayoutManager {
	GtkBox parent_instance;
	KeyboardWidgetsLayoutManagerPrivate * priv;
};

struct _KeyboardWidgetsLayoutManagerClass {
	GtkBoxClass parent_class;
};

VALA_EXTERN GType keyboard_indicator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (KeyboardIndicator, g_object_unref)
VALA_EXTERN KeyboardIndicator* keyboard_indicator_new (WingpanelIndicatorManagerServerType server_type);
VALA_EXTERN KeyboardIndicator* keyboard_indicator_construct (GType object_type,
                                                 WingpanelIndicatorManagerServerType server_type);
VALA_EXTERN WingpanelIndicatorManagerServerType keyboard_indicator_get_server_type (KeyboardIndicator* self);
VALA_EXTERN WingpanelIndicator* get_indicator (GModule* module,
                                   WingpanelIndicatorManagerServerType server_type);
VALA_EXTERN GType keyboard_widgets_keyboard_icon_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (KeyboardWidgetsKeyboardIcon, g_object_unref)
VALA_EXTERN KeyboardWidgetsKeyboardIcon* keyboard_widgets_keyboard_icon_new (void);
VALA_EXTERN KeyboardWidgetsKeyboardIcon* keyboard_widgets_keyboard_icon_construct (GType object_type);
VALA_EXTERN GType keyboard_widgets_layout_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (KeyboardWidgetsLayoutButton, g_object_unref)
VALA_EXTERN KeyboardWidgetsLayoutButton* keyboard_widgets_layout_button_new (const gchar* caption,
                                                                 const gchar* manager_type,
                                                                 const gchar* source,
                                                                 const gchar* code,
                                                                 const gchar* variant,
                                                                 guint32 id,
                                                                 const gchar* _action_name,
                                                                 GVariant* _action_target);
VALA_EXTERN KeyboardWidgetsLayoutButton* keyboard_widgets_layout_button_construct (GType object_type,
                                                                       const gchar* caption,
                                                                       const gchar* manager_type,
                                                                       const gchar* source,
                                                                       const gchar* code,
                                                                       const gchar* variant,
                                                                       guint32 id,
                                                                       const gchar* _action_name,
                                                                       GVariant* _action_target);
VALA_EXTERN guint32 keyboard_widgets_layout_button_get_index (KeyboardWidgetsLayoutButton* self);
VALA_EXTERN void keyboard_widgets_layout_button_set_index (KeyboardWidgetsLayoutButton* self,
                                               guint32 value);
VALA_EXTERN const gchar* keyboard_widgets_layout_button_get_language_code (KeyboardWidgetsLayoutButton* self);
VALA_EXTERN void keyboard_widgets_layout_button_set_language_code (KeyboardWidgetsLayoutButton* self,
                                                       const gchar* value);
VALA_EXTERN const gchar* keyboard_widgets_layout_button_get_layout_variant (KeyboardWidgetsLayoutButton* self);
VALA_EXTERN void keyboard_widgets_layout_button_set_layout_variant (KeyboardWidgetsLayoutButton* self,
                                                        const gchar* value);
VALA_EXTERN const gchar* keyboard_widgets_layout_button_get_manager_type (KeyboardWidgetsLayoutButton* self);
VALA_EXTERN void keyboard_widgets_layout_button_set_manager_type (KeyboardWidgetsLayoutButton* self,
                                                      const gchar* value);
VALA_EXTERN const gchar* keyboard_widgets_layout_button_get_source (KeyboardWidgetsLayoutButton* self);
VALA_EXTERN void keyboard_widgets_layout_button_set_source (KeyboardWidgetsLayoutButton* self,
                                                const gchar* value);
VALA_EXTERN gchar* keyboard_widgets_layout_button_get_description (KeyboardWidgetsLayoutButton* self);
VALA_EXTERN gboolean keyboard_widgets_layout_button_get_active (KeyboardWidgetsLayoutButton* self);
VALA_EXTERN void keyboard_widgets_layout_button_set_active (KeyboardWidgetsLayoutButton* self,
                                                gboolean value);
VALA_EXTERN GType keyboard_widgets_layout_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (KeyboardWidgetsLayoutManager, g_object_unref)
VALA_EXTERN gchar* keyboard_widgets_layout_manager_get_xml_rules_file_path (KeyboardWidgetsLayoutManager* self);
VALA_EXTERN gchar* keyboard_widgets_layout_manager_get_name_for_xkb_layout (KeyboardWidgetsLayoutManager* self,
                                                                const gchar* language,
                                                                const gchar* variant);
VALA_EXTERN gchar* keyboard_widgets_layout_manager_get_current_with_variant (KeyboardWidgetsLayoutManager* self);
VALA_EXTERN gchar* keyboard_widgets_layout_manager_get_current_description (KeyboardWidgetsLayoutManager* self);
VALA_EXTERN void keyboard_widgets_layout_manager_next (KeyboardWidgetsLayoutManager* self);
VALA_EXTERN gboolean keyboard_widgets_layout_manager_has_multiple_layouts (KeyboardWidgetsLayoutManager* self);
VALA_EXTERN KeyboardWidgetsLayoutManager* keyboard_widgets_layout_manager_new (void);
VALA_EXTERN KeyboardWidgetsLayoutManager* keyboard_widgets_layout_manager_construct (GType object_type);
VALA_EXTERN const gchar* keyboard_widgets_layout_manager_get_current_language_code (KeyboardWidgetsLayoutManager* self);
VALA_EXTERN void keyboard_widgets_layout_manager_set_current_language_code (KeyboardWidgetsLayoutManager* self,
                                                                const gchar* value);
VALA_EXTERN const gchar* keyboard_widgets_layout_manager_get_current_layout_variant (KeyboardWidgetsLayoutManager* self);
VALA_EXTERN void keyboard_widgets_layout_manager_set_current_layout_variant (KeyboardWidgetsLayoutManager* self,
                                                                 const gchar* value);

G_END_DECLS

#endif
