/* wingpanel-9.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __LIB_WINGPANEL_9_H__
#define __LIB_WINGPANEL_9_H__

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

G_BEGIN_DECLS

#define WINGPANEL_INDICATOR_APP_LAUNCHER "app-launcher"
#define WINGPANEL_INDICATOR_SESSION "session"
#define WINGPANEL_INDICATOR_DATETIME "datetime"
#define WINGPANEL_INDICATOR_NETWORK "network"
#define WINGPANEL_INDICATOR_MESSAGES "messages"
#define WINGPANEL_INDICATOR_SOUND "sound"
#define WINGPANEL_INDICATOR_POWER "power"
#define WINGPANEL_INDICATOR_SYNC "sync"
#define WINGPANEL_INDICATOR_PRINTER "printer"
#define WINGPANEL_INDICATOR_BLUETOOTH "bluetooth"
#define WINGPANEL_INDICATOR_KEYBOARD "keyboard"
#define WINGPANEL_INDICATOR_NIGHT_LIGHT "nightlight"
#define WINGPANEL_INDICATOR_PRIVACY "privacy"
#define WINGPANEL_INDICATOR_ACCESSIBILITY "a11y"
#define WINGPANEL_INDICATOR_QUICKSETTINGS "quick-settings"
#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 WINGPANEL_TYPE_INDICATOR (wingpanel_indicator_get_type ())
#define WINGPANEL_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WINGPANEL_TYPE_INDICATOR, WingpanelIndicator))
#define WINGPANEL_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WINGPANEL_TYPE_INDICATOR, WingpanelIndicatorClass))
#define WINGPANEL_IS_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WINGPANEL_TYPE_INDICATOR))
#define WINGPANEL_IS_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WINGPANEL_TYPE_INDICATOR))
#define WINGPANEL_INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WINGPANEL_TYPE_INDICATOR, WingpanelIndicatorClass))

typedef struct _WingpanelIndicator WingpanelIndicator;
typedef struct _WingpanelIndicatorClass WingpanelIndicatorClass;
typedef struct _WingpanelIndicatorPrivate WingpanelIndicatorPrivate;

#define WINGPANEL_TYPE_INDICATOR_MANAGER (wingpanel_indicator_manager_get_type ())
#define WINGPANEL_INDICATOR_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WINGPANEL_TYPE_INDICATOR_MANAGER, WingpanelIndicatorManager))
#define WINGPANEL_INDICATOR_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WINGPANEL_TYPE_INDICATOR_MANAGER, WingpanelIndicatorManagerClass))
#define WINGPANEL_IS_INDICATOR_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WINGPANEL_TYPE_INDICATOR_MANAGER))
#define WINGPANEL_IS_INDICATOR_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WINGPANEL_TYPE_INDICATOR_MANAGER))
#define WINGPANEL_INDICATOR_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WINGPANEL_TYPE_INDICATOR_MANAGER, WingpanelIndicatorManagerClass))

typedef struct _WingpanelIndicatorManager WingpanelIndicatorManager;
typedef struct _WingpanelIndicatorManagerClass WingpanelIndicatorManagerClass;
typedef struct _WingpanelIndicatorManagerPrivate WingpanelIndicatorManagerPrivate;
typedef enum  {
	WINGPANEL_INDICATOR_MANAGER_SERVER_TYPE_SESSION,
	WINGPANEL_INDICATOR_MANAGER_SERVER_TYPE_GREETER
} WingpanelIndicatorManagerServerType;

#define WINGPANEL_INDICATOR_MANAGER_TYPE_SERVER_TYPE (wingpanel_indicator_manager_server_type_get_type ())

#define WINGPANEL_TYPE_POPOVER_MENU_ITEM (wingpanel_popover_menu_item_get_type ())
#define WINGPANEL_POPOVER_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WINGPANEL_TYPE_POPOVER_MENU_ITEM, WingpanelPopoverMenuItem))
#define WINGPANEL_POPOVER_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WINGPANEL_TYPE_POPOVER_MENU_ITEM, WingpanelPopoverMenuItemClass))
#define WINGPANEL_IS_POPOVER_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WINGPANEL_TYPE_POPOVER_MENU_ITEM))
#define WINGPANEL_IS_POPOVER_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WINGPANEL_TYPE_POPOVER_MENU_ITEM))
#define WINGPANEL_POPOVER_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WINGPANEL_TYPE_POPOVER_MENU_ITEM, WingpanelPopoverMenuItemClass))

typedef struct _WingpanelPopoverMenuItem WingpanelPopoverMenuItem;
typedef struct _WingpanelPopoverMenuItemClass WingpanelPopoverMenuItemClass;
typedef struct _WingpanelPopoverMenuItemPrivate WingpanelPopoverMenuItemPrivate;

struct _WingpanelIndicator {
	GObject parent_instance;
	WingpanelIndicatorPrivate * priv;
};

struct _WingpanelIndicatorClass {
	GObjectClass parent_class;
	GtkWidget* (*get_display_widget) (WingpanelIndicator* self);
	GtkWidget* (*get_widget) (WingpanelIndicator* self);
	void (*opened) (WingpanelIndicator* self);
	void (*closed) (WingpanelIndicator* self);
};

struct _WingpanelIndicatorManager {
	GObject parent_instance;
	WingpanelIndicatorManagerPrivate * priv;
};

struct _WingpanelIndicatorManagerClass {
	GObjectClass parent_class;
};

struct _WingpanelPopoverMenuItem {
	GtkButton parent_instance;
	WingpanelPopoverMenuItemPrivate * priv;
};

struct _WingpanelPopoverMenuItemClass {
	GtkButtonClass parent_class;
};

VALA_EXTERN GType wingpanel_indicator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WingpanelIndicator, g_object_unref)
VALA_EXTERN GtkWidget* wingpanel_indicator_get_display_widget (WingpanelIndicator* self);
VALA_EXTERN GtkWidget* wingpanel_indicator_get_widget (WingpanelIndicator* self);
VALA_EXTERN void wingpanel_indicator_opened (WingpanelIndicator* self);
VALA_EXTERN void wingpanel_indicator_closed (WingpanelIndicator* self);
VALA_EXTERN WingpanelIndicator* wingpanel_indicator_construct (GType object_type);
VALA_EXTERN const gchar* wingpanel_indicator_get_code_name (WingpanelIndicator* self);
VALA_EXTERN gboolean wingpanel_indicator_get_visible (WingpanelIndicator* self);
VALA_EXTERN void wingpanel_indicator_set_visible (WingpanelIndicator* self,
                                      gboolean value);
VALA_EXTERN GType wingpanel_indicator_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WingpanelIndicatorManager, g_object_unref)
VALA_EXTERN GType wingpanel_indicator_manager_server_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* wingpanel_indicator_manager_server_type_restrictions_file_name (WingpanelIndicatorManagerServerType self);
VALA_EXTERN WingpanelIndicatorManager* wingpanel_indicator_manager_get_default (void);
VALA_EXTERN void wingpanel_indicator_manager_initialize (WingpanelIndicatorManager* self,
                                             WingpanelIndicatorManagerServerType server_type);
VALA_EXTERN void wingpanel_indicator_manager_register_indicator (WingpanelIndicatorManager* self,
                                                     const gchar* path,
                                                     WingpanelIndicator* indicator);
VALA_EXTERN void wingpanel_indicator_manager_deregister_indicator (WingpanelIndicatorManager* self,
                                                       const gchar* path,
                                                       WingpanelIndicator* indicator);
VALA_EXTERN gboolean wingpanel_indicator_manager_has_indicators (WingpanelIndicatorManager* self);
VALA_EXTERN GeeCollection* wingpanel_indicator_manager_get_indicators (WingpanelIndicatorManager* self);
VALA_EXTERN GType wingpanel_popover_menu_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WingpanelPopoverMenuItem, g_object_unref)
VALA_EXTERN WingpanelPopoverMenuItem* wingpanel_popover_menu_item_new (void);
VALA_EXTERN WingpanelPopoverMenuItem* wingpanel_popover_menu_item_construct (GType object_type);
VALA_EXTERN WingpanelPopoverMenuItem* wingpanel_popover_menu_item_new_with_text (const gchar* text);
VALA_EXTERN WingpanelPopoverMenuItem* wingpanel_popover_menu_item_construct_with_text (GType object_type,
                                                                           const gchar* text);
VALA_EXTERN void wingpanel_popover_menu_item_set_text (WingpanelPopoverMenuItem* self,
                                           const gchar* value);

G_END_DECLS

#endif
