/* budgie-private.h generated by valac 0.56.18-dirty, the Vala compiler, do not modify */

#ifndef __SRC_LIB_BUDGIE_PRIVATE_H__
#define __SRC_LIB_BUDGIE_PRIVATE_H__

#include <glib.h>
#include <float.h>
#include <math.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <gio/gdesktopappinfo.h>
#include <gio/gio.h>
#include "plugin.h"
#include <libpeas.h>

G_BEGIN_DECLS

#define BUDGIE_MSECOND ((gint64) 1000)
#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 BUDGIE_SHADOW_BLOCK_SIZE 5

typedef gdouble (*BudgieTweenFunc) (gdouble factor, gpointer user_data);

#define BUDGIE_TYPE_ANIMATION (budgie_animation_get_type ())
#define BUDGIE_ANIMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_ANIMATION, BudgieAnimation))
#define BUDGIE_ANIMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_ANIMATION, BudgieAnimationClass))
#define BUDGIE_IS_ANIMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_ANIMATION))
#define BUDGIE_IS_ANIMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_ANIMATION))
#define BUDGIE_ANIMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_ANIMATION, BudgieAnimationClass))

typedef struct _BudgieAnimation BudgieAnimation;
typedef struct _BudgieAnimationClass BudgieAnimationClass;
typedef void (*BudgieAnimCompletionFunc) (BudgieAnimation* src, gpointer user_data);

#define BUDGIE_TYPE_PROP_CHANGE (budgie_prop_change_get_type ())
typedef struct _BudgiePropChange BudgiePropChange;
typedef struct _BudgieAnimationPrivate BudgieAnimationPrivate;

#define BUDGIE_TYPE_APPLICATION (budgie_application_get_type ())
#define BUDGIE_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_APPLICATION, BudgieApplication))
#define BUDGIE_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_APPLICATION, BudgieApplicationClass))
#define BUDGIE_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_APPLICATION))
#define BUDGIE_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_APPLICATION))
#define BUDGIE_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_APPLICATION, BudgieApplicationClass))

typedef struct _BudgieApplication BudgieApplication;
typedef struct _BudgieApplicationClass BudgieApplicationClass;
typedef struct _BudgieApplicationPrivate BudgieApplicationPrivate;
typedef enum  {
	BUDGIE_STRUTS_LEFT,
	BUDGIE_STRUTS_RIGHT,
	BUDGIE_STRUTS_TOP,
	BUDGIE_STRUTS_BOTTOM,
	BUDGIE_STRUTS_LEFT_START,
	BUDGIE_STRUTS_LEFT_END,
	BUDGIE_STRUTS_RIGHT_START,
	BUDGIE_STRUTS_RIGHT_END,
	BUDGIE_STRUTS_TOP_START,
	BUDGIE_STRUTS_TOP_END,
	BUDGIE_STRUTS_BOTTOM_START,
	BUDGIE_STRUTS_BOTTOM_END
} BudgieStruts;

#define BUDGIE_TYPE_STRUTS (budgie_struts_get_type ())

#define BUDGIE_TYPE_TOPLEVEL (budgie_toplevel_get_type ())
#define BUDGIE_TOPLEVEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_TOPLEVEL, BudgieToplevel))
#define BUDGIE_TOPLEVEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_TOPLEVEL, BudgieToplevelClass))
#define BUDGIE_IS_TOPLEVEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_TOPLEVEL))
#define BUDGIE_IS_TOPLEVEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_TOPLEVEL))
#define BUDGIE_TOPLEVEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_TOPLEVEL, BudgieToplevelClass))

typedef struct _BudgieToplevel BudgieToplevel;
typedef struct _BudgieToplevelClass BudgieToplevelClass;
typedef struct _BudgieToplevelPrivate BudgieToplevelPrivate;
typedef enum  {
	BUDGIE_PANEL_TRANSPARENCY_NONE = 1 << 0,
	BUDGIE_PANEL_TRANSPARENCY_DYNAMIC = 1 << 1,
	BUDGIE_PANEL_TRANSPARENCY_ALWAYS = 1 << 2
} BudgiePanelTransparency;

#define BUDGIE_TYPE_PANEL_TRANSPARENCY (budgie_panel_transparency_get_type ())
typedef enum  {
	BUDGIE_AUTOHIDE_POLICY_NONE = 1 << 0,
	BUDGIE_AUTOHIDE_POLICY_AUTOMATIC = 1 << 1,
	BUDGIE_AUTOHIDE_POLICY_INTELLIGENT = 1 << 2
} BudgieAutohidePolicy;

#define BUDGIE_TYPE_AUTOHIDE_POLICY (budgie_autohide_policy_get_type ())

#define BUDGIE_TYPE_SHADOW_BLOCK (budgie_shadow_block_get_type ())
#define BUDGIE_SHADOW_BLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_SHADOW_BLOCK, BudgieShadowBlock))
#define BUDGIE_SHADOW_BLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_SHADOW_BLOCK, BudgieShadowBlockClass))
#define BUDGIE_IS_SHADOW_BLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_SHADOW_BLOCK))
#define BUDGIE_IS_SHADOW_BLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_SHADOW_BLOCK))
#define BUDGIE_SHADOW_BLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_SHADOW_BLOCK, BudgieShadowBlockClass))

typedef struct _BudgieShadowBlock BudgieShadowBlock;
typedef struct _BudgieShadowBlockClass BudgieShadowBlockClass;
typedef struct _BudgieShadowBlockPrivate BudgieShadowBlockPrivate;

#define BUDGIE_TYPE_DESKTOP_MANAGER (budgie_desktop_manager_get_type ())
#define BUDGIE_DESKTOP_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_DESKTOP_MANAGER, BudgieDesktopManager))
#define BUDGIE_DESKTOP_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_DESKTOP_MANAGER, BudgieDesktopManagerClass))
#define BUDGIE_IS_DESKTOP_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_DESKTOP_MANAGER))
#define BUDGIE_IS_DESKTOP_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_DESKTOP_MANAGER))
#define BUDGIE_DESKTOP_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_DESKTOP_MANAGER, BudgieDesktopManagerClass))

typedef struct _BudgieDesktopManager BudgieDesktopManager;
typedef struct _BudgieDesktopManagerClass BudgieDesktopManagerClass;
typedef struct _BudgieDesktopManagerPrivate BudgieDesktopManagerPrivate;
typedef enum  {
	BUDGIE_NOTIFICATION_CLOSE_REASON_EXPIRED = 1,
	BUDGIE_NOTIFICATION_CLOSE_REASON_DISMISSED = 2,
	BUDGIE_NOTIFICATION_CLOSE_REASON_CLOSED = 3,
	BUDGIE_NOTIFICATION_CLOSE_REASON_UNDEFINED = 4
} BudgieNotificationCloseReason;

#define BUDGIE_TYPE_NOTIFICATION_CLOSE_REASON (budgie_notification_close_reason_get_type ())
typedef enum  {
	BUDGIE_NOTIFICATION_POSITION_TOP_LEFT = 1,
	BUDGIE_NOTIFICATION_POSITION_TOP_RIGHT = 2,
	BUDGIE_NOTIFICATION_POSITION_BOTTOM_LEFT = 3,
	BUDGIE_NOTIFICATION_POSITION_BOTTOM_RIGHT = 4
} BudgieNotificationPosition;

#define BUDGIE_TYPE_NOTIFICATION_POSITION (budgie_notification_position_get_type ())

#define BUDGIE_TYPE_NOTIFICATION (budgie_notification_get_type ())
#define BUDGIE_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_NOTIFICATION, BudgieNotification))
#define BUDGIE_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_NOTIFICATION, BudgieNotificationClass))
#define BUDGIE_IS_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_NOTIFICATION))
#define BUDGIE_IS_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_NOTIFICATION))
#define BUDGIE_NOTIFICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_NOTIFICATION, BudgieNotificationClass))

typedef struct _BudgieNotification BudgieNotification;
typedef struct _BudgieNotificationClass BudgieNotificationClass;
typedef struct _BudgieNotificationPrivate BudgieNotificationPrivate;

#define BUDGIE_TYPE_SWITCHEROO_DBUS (budgie_switcheroo_dbus_get_type ())
#define BUDGIE_SWITCHEROO_DBUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_SWITCHEROO_DBUS, BudgieSwitcherooDBus))
#define BUDGIE_IS_SWITCHEROO_DBUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_SWITCHEROO_DBUS))
#define BUDGIE_SWITCHEROO_DBUS_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BUDGIE_TYPE_SWITCHEROO_DBUS, BudgieSwitcherooDBusIface))

typedef struct _BudgieSwitcherooDBus BudgieSwitcherooDBus;
typedef struct _BudgieSwitcherooDBusIface BudgieSwitcherooDBusIface;

#define BUDGIE_TYPE_SWITCHEROO_DBUS_PROXY (budgie_switcheroo_dbus_proxy_get_type ())

#define BUDGIE_TYPE_SWITCHEROO (budgie_switcheroo_get_type ())
#define BUDGIE_SWITCHEROO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_SWITCHEROO, BudgieSwitcheroo))
#define BUDGIE_SWITCHEROO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_SWITCHEROO, BudgieSwitcherooClass))
#define BUDGIE_IS_SWITCHEROO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_SWITCHEROO))
#define BUDGIE_IS_SWITCHEROO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_SWITCHEROO))
#define BUDGIE_SWITCHEROO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_SWITCHEROO, BudgieSwitcherooClass))

typedef struct _BudgieSwitcheroo BudgieSwitcheroo;
typedef struct _BudgieSwitcherooClass BudgieSwitcherooClass;
typedef struct _BudgieSwitcherooPrivate BudgieSwitcherooPrivate;

struct _BudgiePropChange {
	gchar* property;
	GValue old;
	GValue new;
};

struct _BudgieAnimation {
	GObject parent_instance;
	BudgieAnimationPrivate * priv;
	gint64 start_time;
	gint64 length;
	BudgieTweenFunc tween;
	gpointer tween_target;
	BudgiePropChange* changes;
	gint changes_length1;
	GtkWidget* widget;
	GObject* object;
	guint id;
	gboolean can_anim;
	gint64 elapsed;
	gboolean no_reset;
};

struct _BudgieAnimationClass {
	GObjectClass parent_class;
};

struct _BudgieApplication {
	GObject parent_instance;
	BudgieApplicationPrivate * priv;
};

struct _BudgieApplicationClass {
	GObjectClass parent_class;
};

struct _BudgieToplevel {
	GtkWindow parent_instance;
	BudgieToplevelPrivate * priv;
};

struct _BudgieToplevelClass {
	GtkWindowClass parent_class;
	GList* (*get_applets) (BudgieToplevel* self);
	gboolean (*can_move_applet_left) (BudgieToplevel* self, BudgieAppletInfo* info);
	gboolean (*can_move_applet_right) (BudgieToplevel* self, BudgieAppletInfo* info);
	void (*move_applet_left) (BudgieToplevel* self, BudgieAppletInfo* info);
	void (*move_applet_right) (BudgieToplevel* self, BudgieAppletInfo* info);
	void (*add_new_applet) (BudgieToplevel* self, const gchar* id);
	void (*remove_applet) (BudgieToplevel* self, BudgieAppletInfo* info);
};

struct _BudgieShadowBlock {
	GtkEventBox parent_instance;
	BudgieShadowBlockPrivate * priv;
};

struct _BudgieShadowBlockClass {
	GtkEventBoxClass parent_class;
};

struct _BudgieDesktopManager {
	GObject parent_instance;
	BudgieDesktopManagerPrivate * priv;
};

struct _BudgieDesktopManagerClass {
	GObjectClass parent_class;
	GList* (*get_panels) (BudgieDesktopManager* self);
	guint (*slots_available) (BudgieDesktopManager* self);
	guint (*slots_used) (BudgieDesktopManager* self);
	void (*set_placement) (BudgieDesktopManager* self, const gchar* uuid, BudgiePanelPosition position);
	void (*set_transparency) (BudgieDesktopManager* self, const gchar* uuid, BudgiePanelTransparency transparency);
	void (*set_autohide) (BudgieDesktopManager* self, const gchar* uuid, BudgieAutohidePolicy policy);
	void (*set_dock_mode) (BudgieDesktopManager* self, const gchar* uuid, gboolean dock_mode);
	void (*set_size) (BudgieDesktopManager* self, const gchar* uuid, gint size);
	void (*set_spacing) (BudgieDesktopManager* self, const gchar* uuid, gint spacing);
	void (*create_new_panel) (BudgieDesktopManager* self);
	void (*delete_panel) (BudgieDesktopManager* self, const gchar* uuid);
	void (*move_panel) (BudgieDesktopManager* self, const gchar* uuid, BudgiePanelPosition position);
	void (*remove_panel) (BudgieDesktopManager* self, const gchar* uuid, gboolean remove_from_dconf);
	GList* (*get_panel_plugins) (BudgieDesktopManager* self);
	GList* (*get_raven_plugins) (BudgieDesktopManager* self);
	void (*rescan_panel_plugins) (BudgieDesktopManager* self);
	void (*rescan_raven_plugins) (BudgieDesktopManager* self);
};

struct _BudgieNotification {
	GObject parent_instance;
	BudgieNotificationPrivate * priv;
};

struct _BudgieNotificationClass {
	GObjectClass parent_class;
};

struct _BudgieSwitcherooDBusIface {
	GTypeInterface parent_iface;
	gboolean (*get_has_dual_gpu) (BudgieSwitcherooDBus* self);
	GHashTable** (*get_gpus) (BudgieSwitcherooDBus* self, gint* result_length1);
};

struct _BudgieSwitcheroo {
	GObject parent_instance;
	BudgieSwitcherooPrivate * priv;
};

struct _BudgieSwitcherooClass {
	GObjectClass parent_class;
};

VALA_EXTERN GType budgie_animation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieAnimation, g_object_unref)
VALA_EXTERN GType budgie_prop_change_get_type (void) G_GNUC_CONST ;
VALA_EXTERN BudgiePropChange* budgie_prop_change_dup (const BudgiePropChange* self);
VALA_EXTERN void budgie_prop_change_free (BudgiePropChange* self);
VALA_EXTERN void budgie_prop_change_copy (const BudgiePropChange* self,
                              BudgiePropChange* dest);
VALA_EXTERN void budgie_prop_change_destroy (BudgiePropChange* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (BudgiePropChange, budgie_prop_change_destroy)
VALA_EXTERN void budgie_animation_start (BudgieAnimation* self,
                             BudgieAnimCompletionFunc compl,
                             gpointer compl_target);
VALA_EXTERN void budgie_animation_stop (BudgieAnimation* self);
VALA_EXTERN BudgieAnimation* budgie_animation_new (void);
VALA_EXTERN BudgieAnimation* budgie_animation_construct (GType object_type);
VALA_EXTERN gdouble budgie_sine_ease_in (gdouble p);
VALA_EXTERN gdouble budgie_elastic_ease_out (gdouble p);
VALA_EXTERN gdouble budgie_expo_ease_out (gdouble p);
VALA_EXTERN GType budgie_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieApplication, g_object_unref)
VALA_EXTERN BudgieApplication* budgie_application_new (GDesktopAppInfo* app_info);
VALA_EXTERN BudgieApplication* budgie_application_construct (GType object_type,
                                                 GDesktopAppInfo* app_info);
VALA_EXTERN GAppLaunchContext* budgie_application_create_launch_context (BudgieApplication* self);
VALA_EXTERN gboolean budgie_application_launch (BudgieApplication* self);
VALA_EXTERN gboolean budgie_application_launch_with_context (BudgieApplication* self,
                                                 GAppLaunchContext* context);
VALA_EXTERN void budgie_application_launch_action (BudgieApplication* self,
                                       const gchar* action);
VALA_EXTERN void budgie_application_launch_action_with_context (BudgieApplication* self,
                                                    const gchar* action,
                                                    GAppLaunchContext* context);
VALA_EXTERN const gchar* budgie_application_get_name (BudgieApplication* self);
VALA_EXTERN void budgie_application_set_name (BudgieApplication* self,
                                  const gchar* value);
VALA_EXTERN const gchar* budgie_application_get_description (BudgieApplication* self);
VALA_EXTERN const gchar* budgie_application_get_desktop_id (BudgieApplication* self);
VALA_EXTERN void budgie_application_set_desktop_id (BudgieApplication* self,
                                        const gchar* value);
VALA_EXTERN const gchar* budgie_application_get_exec (BudgieApplication* self);
VALA_EXTERN gchar** budgie_application_get_keywords (BudgieApplication* self,
                                         gint* result_length1);
VALA_EXTERN GIcon* budgie_application_get_icon (BudgieApplication* self);
VALA_EXTERN const gchar* budgie_application_get_desktop_path (BudgieApplication* self);
VALA_EXTERN const gchar* budgie_application_get_categories (BudgieApplication* self);
VALA_EXTERN gchar** budgie_application_get_content_types (BudgieApplication* self,
                                              gint* result_length1);
VALA_EXTERN const gchar* budgie_application_get_generic_name (BudgieApplication* self);
VALA_EXTERN gboolean budgie_application_get_prefers_default_gpu (BudgieApplication* self);
VALA_EXTERN gboolean budgie_application_get_should_show (BudgieApplication* self);
VALA_EXTERN gboolean budgie_application_get_dbus_activatable (BudgieApplication* self);
VALA_EXTERN gchar** budgie_application_get_actions (BudgieApplication* self,
                                        gint* result_length1);
VALA_EXTERN GType budgie_struts_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType budgie_toplevel_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieToplevel, g_object_unref)
VALA_EXTERN GList* budgie_toplevel_get_applets (BudgieToplevel* self);
VALA_EXTERN gboolean budgie_toplevel_can_move_applet_left (BudgieToplevel* self,
                                               BudgieAppletInfo* info);
VALA_EXTERN gboolean budgie_toplevel_can_move_applet_right (BudgieToplevel* self,
                                                BudgieAppletInfo* info);
VALA_EXTERN void budgie_toplevel_move_applet_left (BudgieToplevel* self,
                                       BudgieAppletInfo* info);
VALA_EXTERN void budgie_toplevel_move_applet_right (BudgieToplevel* self,
                                        BudgieAppletInfo* info);
VALA_EXTERN void budgie_toplevel_add_new_applet (BudgieToplevel* self,
                                     const gchar* id);
VALA_EXTERN void budgie_toplevel_remove_applet (BudgieToplevel* self,
                                    BudgieAppletInfo* info);
VALA_EXTERN BudgieToplevel* budgie_toplevel_construct (GType object_type);
VALA_EXTERN gint budgie_toplevel_get_shadow_depth (BudgieToplevel* self);
VALA_EXTERN void budgie_toplevel_set_shadow_depth (BudgieToplevel* self,
                                       gint value);
VALA_EXTERN gint budgie_toplevel_get_intended_size (BudgieToplevel* self);
VALA_EXTERN void budgie_toplevel_set_intended_size (BudgieToplevel* self,
                                        gint value);
VALA_EXTERN gint budgie_toplevel_get_intended_spacing (BudgieToplevel* self);
VALA_EXTERN void budgie_toplevel_set_intended_spacing (BudgieToplevel* self,
                                           gint value);
VALA_EXTERN gboolean budgie_toplevel_get_shadow_visible (BudgieToplevel* self);
VALA_EXTERN void budgie_toplevel_set_shadow_visible (BudgieToplevel* self,
                                         gboolean value);
VALA_EXTERN gboolean budgie_toplevel_get_theme_regions (BudgieToplevel* self);
VALA_EXTERN void budgie_toplevel_set_theme_regions (BudgieToplevel* self,
                                        gboolean value);
VALA_EXTERN gboolean budgie_toplevel_get_dock_mode (BudgieToplevel* self);
VALA_EXTERN void budgie_toplevel_set_dock_mode (BudgieToplevel* self,
                                    gboolean value);
VALA_EXTERN gboolean budgie_toplevel_get_intersected (BudgieToplevel* self);
VALA_EXTERN void budgie_toplevel_set_intersected (BudgieToplevel* self,
                                      gboolean value);
VALA_EXTERN const gchar* budgie_toplevel_get_uuid (BudgieToplevel* self);
VALA_EXTERN void budgie_toplevel_set_uuid (BudgieToplevel* self,
                               const gchar* value);
VALA_EXTERN BudgiePanelPosition budgie_toplevel_get_position (BudgieToplevel* self);
VALA_EXTERN void budgie_toplevel_set_position (BudgieToplevel* self,
                                   BudgiePanelPosition value);
VALA_EXTERN GType budgie_panel_transparency_get_type (void) G_GNUC_CONST ;
VALA_EXTERN BudgiePanelTransparency budgie_toplevel_get_transparency (BudgieToplevel* self);
VALA_EXTERN void budgie_toplevel_set_transparency (BudgieToplevel* self,
                                       BudgiePanelTransparency value);
VALA_EXTERN GType budgie_autohide_policy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN BudgieAutohidePolicy budgie_toplevel_get_autohide (BudgieToplevel* self);
VALA_EXTERN void budgie_toplevel_set_autohide (BudgieToplevel* self,
                                   BudgieAutohidePolicy value);
VALA_EXTERN gchar* budgie_position_class_name (BudgiePanelPosition position);
VALA_EXTERN GType budgie_shadow_block_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieShadowBlock, g_object_unref)
VALA_EXTERN BudgieShadowBlock* budgie_shadow_block_new (BudgiePanelPosition position);
VALA_EXTERN BudgieShadowBlock* budgie_shadow_block_construct (GType object_type,
                                                  BudgiePanelPosition position);
VALA_EXTERN BudgiePanelPosition budgie_shadow_block_get_position (BudgieShadowBlock* self);
VALA_EXTERN void budgie_shadow_block_set_position (BudgieShadowBlock* self,
                                       BudgiePanelPosition value);
VALA_EXTERN gboolean budgie_shadow_block_get_active (BudgieShadowBlock* self);
VALA_EXTERN void budgie_shadow_block_set_active (BudgieShadowBlock* self,
                                     gboolean value);
VALA_EXTERN GType budgie_desktop_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieDesktopManager, g_object_unref)
VALA_EXTERN GList* budgie_desktop_manager_get_panels (BudgieDesktopManager* self);
VALA_EXTERN guint budgie_desktop_manager_slots_available (BudgieDesktopManager* self);
VALA_EXTERN guint budgie_desktop_manager_slots_used (BudgieDesktopManager* self);
VALA_EXTERN void budgie_desktop_manager_set_placement (BudgieDesktopManager* self,
                                           const gchar* uuid,
                                           BudgiePanelPosition position);
VALA_EXTERN void budgie_desktop_manager_set_transparency (BudgieDesktopManager* self,
                                              const gchar* uuid,
                                              BudgiePanelTransparency transparency);
VALA_EXTERN void budgie_desktop_manager_set_autohide (BudgieDesktopManager* self,
                                          const gchar* uuid,
                                          BudgieAutohidePolicy policy);
VALA_EXTERN void budgie_desktop_manager_set_dock_mode (BudgieDesktopManager* self,
                                           const gchar* uuid,
                                           gboolean dock_mode);
VALA_EXTERN void budgie_desktop_manager_set_size (BudgieDesktopManager* self,
                                      const gchar* uuid,
                                      gint size);
VALA_EXTERN void budgie_desktop_manager_set_spacing (BudgieDesktopManager* self,
                                         const gchar* uuid,
                                         gint spacing);
VALA_EXTERN void budgie_desktop_manager_create_new_panel (BudgieDesktopManager* self);
VALA_EXTERN void budgie_desktop_manager_delete_panel (BudgieDesktopManager* self,
                                          const gchar* uuid);
VALA_EXTERN void budgie_desktop_manager_move_panel (BudgieDesktopManager* self,
                                        const gchar* uuid,
                                        BudgiePanelPosition position);
VALA_EXTERN void budgie_desktop_manager_remove_panel (BudgieDesktopManager* self,
                                          const gchar* uuid,
                                          gboolean remove_from_dconf);
VALA_EXTERN GList* budgie_desktop_manager_get_panel_plugins (BudgieDesktopManager* self);
VALA_EXTERN GList* budgie_desktop_manager_get_raven_plugins (BudgieDesktopManager* self);
VALA_EXTERN void budgie_desktop_manager_rescan_panel_plugins (BudgieDesktopManager* self);
VALA_EXTERN void budgie_desktop_manager_rescan_raven_plugins (BudgieDesktopManager* self);
VALA_EXTERN BudgieDesktopManager* budgie_desktop_manager_construct (GType object_type);
VALA_EXTERN GType budgie_notification_close_reason_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType budgie_notification_position_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType budgie_notification_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieNotification, g_object_unref)
VALA_EXTERN BudgieNotification* budgie_notification_new (guint32 id,
                                             const gchar* app_name,
                                             const gchar* notification_icon,
                                             const gchar* summary,
                                             const gchar* body,
                                             gchar** actions,
                                             gint actions_length1,
                                             GHashTable* hints,
                                             guint expire_timeout);
VALA_EXTERN BudgieNotification* budgie_notification_construct (GType object_type,
                                                   guint32 id,
                                                   const gchar* app_name,
                                                   const gchar* notification_icon,
                                                   const gchar* summary,
                                                   const gchar* body,
                                                   gchar** actions,
                                                   gint actions_length1,
                                                   GHashTable* hints,
                                                   guint expire_timeout);
VALA_EXTERN GDesktopAppInfo* budgie_notification_get_app_info (BudgieNotification* self);
VALA_EXTERN const gchar* budgie_notification_get_app_id (BudgieNotification* self);
VALA_EXTERN GNotificationPriority budgie_notification_get_urgency (BudgieNotification* self);
VALA_EXTERN guint32 budgie_notification_get_id (BudgieNotification* self);
VALA_EXTERN const gchar* budgie_notification_get_app_name (BudgieNotification* self);
VALA_EXTERN const gchar* budgie_notification_get_notification_icon (BudgieNotification* self);
VALA_EXTERN GHashTable* budgie_notification_get_hints (BudgieNotification* self);
VALA_EXTERN gchar** budgie_notification_get_actions (BudgieNotification* self,
                                         gint* result_length1);
VALA_EXTERN const gchar* budgie_notification_get_body (BudgieNotification* self);
VALA_EXTERN void budgie_notification_set_body (BudgieNotification* self,
                                   const gchar* value);
VALA_EXTERN const gchar* budgie_notification_get_summary (BudgieNotification* self);
VALA_EXTERN void budgie_notification_set_summary (BudgieNotification* self,
                                      const gchar* value);
VALA_EXTERN guint budgie_notification_get_expire_timeout (BudgieNotification* self);
VALA_EXTERN void budgie_notification_set_expire_timeout (BudgieNotification* self,
                                             guint value);
VALA_EXTERN const gchar* budgie_notification_get_category (BudgieNotification* self);
VALA_EXTERN void budgie_notification_set_category (BudgieNotification* self,
                                       const gchar* value);
VALA_EXTERN gint64 budgie_notification_get_timestamp (BudgieNotification* self);
VALA_EXTERN void budgie_notification_set_timestamp (BudgieNotification* self,
                                        gint64 value);
VALA_EXTERN GtkImage* budgie_notification_get_app_image (BudgieNotification* self);
VALA_EXTERN void budgie_notification_set_app_image (BudgieNotification* self,
                                        GtkImage* value);
VALA_EXTERN GtkImage* budgie_notification_get_image (BudgieNotification* self);
VALA_EXTERN void budgie_notification_set_image (BudgieNotification* self,
                                    GtkImage* value);
VALA_EXTERN GType budgie_switcheroo_dbus_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieSwitcherooDBus, g_object_unref)
VALA_EXTERN GType budgie_switcheroo_dbus_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint budgie_switcheroo_dbus_register_object (void* object,
                                              GDBusConnection* connection,
                                              const gchar* path,
                                              GError** error);
VALA_EXTERN gboolean budgie_switcheroo_dbus_get_has_dual_gpu (BudgieSwitcherooDBus* self);
VALA_EXTERN GHashTable** budgie_switcheroo_dbus_get_gpus (BudgieSwitcherooDBus* self,
                                              gint* result_length1);
VALA_EXTERN GType budgie_switcheroo_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieSwitcheroo, g_object_unref)
VALA_EXTERN void budgie_switcheroo_apply_gpu_profile (BudgieSwitcheroo* self,
                                          GAppLaunchContext* context,
                                          gboolean use_default_gpu);
VALA_EXTERN BudgieSwitcheroo* budgie_switcheroo_new (void);
VALA_EXTERN BudgieSwitcheroo* budgie_switcheroo_construct (GType object_type);
VALA_EXTERN gboolean budgie_switcheroo_get_dual_gpu (BudgieSwitcheroo* self);

G_END_DECLS

#endif
