/* BudgieRaven.h generated by valac 0.32.1, the Vala compiler, do not modify */


#ifndef __BUDGIERAVEN_H__
#define __BUDGIERAVEN_H__

#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <BudgieToplevel.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <plugin.h>
#include <libpeas/peas.h>

G_BEGIN_DECLS


#define BUDGIE_TYPE_RAVEN_IFACE (budgie_raven_iface_get_type ())
#define BUDGIE_RAVEN_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_RAVEN_IFACE, BudgieRavenIface))
#define BUDGIE_RAVEN_IFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_RAVEN_IFACE, BudgieRavenIfaceClass))
#define BUDGIE_IS_RAVEN_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_RAVEN_IFACE))
#define BUDGIE_IS_RAVEN_IFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_RAVEN_IFACE))
#define BUDGIE_RAVEN_IFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_RAVEN_IFACE, BudgieRavenIfaceClass))

typedef struct _BudgieRavenIface BudgieRavenIface;
typedef struct _BudgieRavenIfaceClass BudgieRavenIfaceClass;
typedef struct _BudgieRavenIfacePrivate BudgieRavenIfacePrivate;

#define BUDGIE_TYPE_RAVEN (budgie_raven_get_type ())
#define BUDGIE_RAVEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_RAVEN, BudgieRaven))
#define BUDGIE_RAVEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_RAVEN, BudgieRavenClass))
#define BUDGIE_IS_RAVEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_RAVEN))
#define BUDGIE_IS_RAVEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_RAVEN))
#define BUDGIE_RAVEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_RAVEN, BudgieRavenClass))

typedef struct _BudgieRaven BudgieRaven;
typedef struct _BudgieRavenClass BudgieRavenClass;
typedef struct _BudgieRavenPrivate BudgieRavenPrivate;

#define BUDGIE_TYPE_MAIN_VIEW (budgie_main_view_get_type ())
#define BUDGIE_MAIN_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_MAIN_VIEW, BudgieMainView))
#define BUDGIE_MAIN_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_MAIN_VIEW, BudgieMainViewClass))
#define BUDGIE_IS_MAIN_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_MAIN_VIEW))
#define BUDGIE_IS_MAIN_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_MAIN_VIEW))
#define BUDGIE_MAIN_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_MAIN_VIEW, BudgieMainViewClass))

typedef struct _BudgieMainView BudgieMainView;
typedef struct _BudgieMainViewClass BudgieMainViewClass;
typedef struct _BudgieMainViewPrivate BudgieMainViewPrivate;

#define BUDGIE_TYPE_NOTIFICATION_CLOSE_REASON (budgie_notification_close_reason_get_type ())

#define BUDGIE_TYPE_NOTIFICATION_PLACEHOLDER (budgie_notification_placeholder_get_type ())
#define BUDGIE_NOTIFICATION_PLACEHOLDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_NOTIFICATION_PLACEHOLDER, BudgieNotificationPlaceholder))
#define BUDGIE_NOTIFICATION_PLACEHOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_NOTIFICATION_PLACEHOLDER, BudgieNotificationPlaceholderClass))
#define BUDGIE_IS_NOTIFICATION_PLACEHOLDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_NOTIFICATION_PLACEHOLDER))
#define BUDGIE_IS_NOTIFICATION_PLACEHOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_NOTIFICATION_PLACEHOLDER))
#define BUDGIE_NOTIFICATION_PLACEHOLDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_NOTIFICATION_PLACEHOLDER, BudgieNotificationPlaceholderClass))

typedef struct _BudgieNotificationPlaceholder BudgieNotificationPlaceholder;
typedef struct _BudgieNotificationPlaceholderClass BudgieNotificationPlaceholderClass;
typedef struct _BudgieNotificationPlaceholderPrivate BudgieNotificationPlaceholderPrivate;

#define BUDGIE_TYPE_NOTIFICATION_CLONE (budgie_notification_clone_get_type ())
#define BUDGIE_NOTIFICATION_CLONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_NOTIFICATION_CLONE, BudgieNotificationClone))
#define BUDGIE_NOTIFICATION_CLONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_NOTIFICATION_CLONE, BudgieNotificationCloneClass))
#define BUDGIE_IS_NOTIFICATION_CLONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_NOTIFICATION_CLONE))
#define BUDGIE_IS_NOTIFICATION_CLONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_NOTIFICATION_CLONE))
#define BUDGIE_NOTIFICATION_CLONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_NOTIFICATION_CLONE, BudgieNotificationCloneClass))

typedef struct _BudgieNotificationClone BudgieNotificationClone;
typedef struct _BudgieNotificationCloneClass BudgieNotificationCloneClass;
typedef struct _BudgieNotificationClonePrivate BudgieNotificationClonePrivate;

#define BUDGIE_TYPE_NOTIFICATION_WINDOW (budgie_notification_window_get_type ())
#define BUDGIE_NOTIFICATION_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_NOTIFICATION_WINDOW, BudgieNotificationWindow))
#define BUDGIE_NOTIFICATION_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_NOTIFICATION_WINDOW, BudgieNotificationWindowClass))
#define BUDGIE_IS_NOTIFICATION_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_NOTIFICATION_WINDOW))
#define BUDGIE_IS_NOTIFICATION_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_NOTIFICATION_WINDOW))
#define BUDGIE_NOTIFICATION_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_NOTIFICATION_WINDOW, BudgieNotificationWindowClass))

typedef struct _BudgieNotificationWindow BudgieNotificationWindow;
typedef struct _BudgieNotificationWindowClass BudgieNotificationWindowClass;
typedef struct _BudgieNotificationWindowPrivate BudgieNotificationWindowPrivate;

#define BUDGIE_TYPE_NOTIFICATIONS_VIEW (budgie_notifications_view_get_type ())
#define BUDGIE_NOTIFICATIONS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_NOTIFICATIONS_VIEW, BudgieNotificationsView))
#define BUDGIE_NOTIFICATIONS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_NOTIFICATIONS_VIEW, BudgieNotificationsViewClass))
#define BUDGIE_IS_NOTIFICATIONS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_NOTIFICATIONS_VIEW))
#define BUDGIE_IS_NOTIFICATIONS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_NOTIFICATIONS_VIEW))
#define BUDGIE_NOTIFICATIONS_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_NOTIFICATIONS_VIEW, BudgieNotificationsViewClass))

typedef struct _BudgieNotificationsView BudgieNotificationsView;
typedef struct _BudgieNotificationsViewClass BudgieNotificationsViewClass;
typedef struct _BudgieNotificationsViewPrivate BudgieNotificationsViewPrivate;

#define BUDGIE_TYPE_PANEL_COLUMN (budgie_panel_column_get_type ())

#define BUDGIE_TYPE_APPLET_SETTINGS (budgie_applet_settings_get_type ())
#define BUDGIE_APPLET_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_APPLET_SETTINGS, BudgieAppletSettings))
#define BUDGIE_APPLET_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_APPLET_SETTINGS, BudgieAppletSettingsClass))
#define BUDGIE_IS_APPLET_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_APPLET_SETTINGS))
#define BUDGIE_IS_APPLET_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_APPLET_SETTINGS))
#define BUDGIE_APPLET_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_APPLET_SETTINGS, BudgieAppletSettingsClass))

typedef struct _BudgieAppletSettings BudgieAppletSettings;
typedef struct _BudgieAppletSettingsClass BudgieAppletSettingsClass;
typedef struct _BudgieAppletSettingsPrivate BudgieAppletSettingsPrivate;

#define BUDGIE_TYPE_APPLET_PICKER (budgie_applet_picker_get_type ())
#define BUDGIE_APPLET_PICKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_APPLET_PICKER, BudgieAppletPicker))
#define BUDGIE_APPLET_PICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_APPLET_PICKER, BudgieAppletPickerClass))
#define BUDGIE_IS_APPLET_PICKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_APPLET_PICKER))
#define BUDGIE_IS_APPLET_PICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_APPLET_PICKER))
#define BUDGIE_APPLET_PICKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_APPLET_PICKER, BudgieAppletPickerClass))

typedef struct _BudgieAppletPicker BudgieAppletPicker;
typedef struct _BudgieAppletPickerClass BudgieAppletPickerClass;
typedef struct _BudgieAppletPickerPrivate BudgieAppletPickerPrivate;

#define BUDGIE_TYPE_PANEL_EDITOR (budgie_panel_editor_get_type ())
#define BUDGIE_PANEL_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_PANEL_EDITOR, BudgiePanelEditor))
#define BUDGIE_PANEL_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_PANEL_EDITOR, BudgiePanelEditorClass))
#define BUDGIE_IS_PANEL_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_PANEL_EDITOR))
#define BUDGIE_IS_PANEL_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_PANEL_EDITOR))
#define BUDGIE_PANEL_EDITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_PANEL_EDITOR, BudgiePanelEditorClass))

typedef struct _BudgiePanelEditor BudgiePanelEditor;
typedef struct _BudgiePanelEditorClass BudgiePanelEditorClass;
typedef struct _BudgiePanelEditorPrivate BudgiePanelEditorPrivate;

#define BUDGIE_TYPE_SETTINGS_HEADER (budgie_settings_header_get_type ())
#define BUDGIE_SETTINGS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_SETTINGS_HEADER, BudgieSettingsHeader))
#define BUDGIE_SETTINGS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_SETTINGS_HEADER, BudgieSettingsHeaderClass))
#define BUDGIE_IS_SETTINGS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_SETTINGS_HEADER))
#define BUDGIE_IS_SETTINGS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_SETTINGS_HEADER))
#define BUDGIE_SETTINGS_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_SETTINGS_HEADER, BudgieSettingsHeaderClass))

typedef struct _BudgieSettingsHeader BudgieSettingsHeader;
typedef struct _BudgieSettingsHeaderClass BudgieSettingsHeaderClass;
typedef struct _BudgieSettingsHeaderPrivate BudgieSettingsHeaderPrivate;

#define BUDGIE_TYPE_SETTINGS_VIEW (budgie_settings_view_get_type ())
#define BUDGIE_SETTINGS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_SETTINGS_VIEW, BudgieSettingsView))
#define BUDGIE_SETTINGS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_SETTINGS_VIEW, BudgieSettingsViewClass))
#define BUDGIE_IS_SETTINGS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_SETTINGS_VIEW))
#define BUDGIE_IS_SETTINGS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_SETTINGS_VIEW))
#define BUDGIE_SETTINGS_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_SETTINGS_VIEW, BudgieSettingsViewClass))

typedef struct _BudgieSettingsView BudgieSettingsView;
typedef struct _BudgieSettingsViewClass BudgieSettingsViewClass;

#define BUDGIE_TYPE_FONT_SETTINGS (budgie_font_settings_get_type ())
#define BUDGIE_FONT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_FONT_SETTINGS, BudgieFontSettings))
#define BUDGIE_FONT_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_FONT_SETTINGS, BudgieFontSettingsClass))
#define BUDGIE_IS_FONT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_FONT_SETTINGS))
#define BUDGIE_IS_FONT_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_FONT_SETTINGS))
#define BUDGIE_FONT_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_FONT_SETTINGS, BudgieFontSettingsClass))

typedef struct _BudgieFontSettings BudgieFontSettings;
typedef struct _BudgieFontSettingsClass BudgieFontSettingsClass;
typedef struct _BudgieFontSettingsPrivate BudgieFontSettingsPrivate;

#define BUDGIE_TYPE_BACKGROUND_SETTINGS (budgie_background_settings_get_type ())
#define BUDGIE_BACKGROUND_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_BACKGROUND_SETTINGS, BudgieBackgroundSettings))
#define BUDGIE_BACKGROUND_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_BACKGROUND_SETTINGS, BudgieBackgroundSettingsClass))
#define BUDGIE_IS_BACKGROUND_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_BACKGROUND_SETTINGS))
#define BUDGIE_IS_BACKGROUND_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_BACKGROUND_SETTINGS))
#define BUDGIE_BACKGROUND_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_BACKGROUND_SETTINGS, BudgieBackgroundSettingsClass))

typedef struct _BudgieBackgroundSettings BudgieBackgroundSettings;
typedef struct _BudgieBackgroundSettingsClass BudgieBackgroundSettingsClass;
typedef struct _BudgieBackgroundSettingsPrivate BudgieBackgroundSettingsPrivate;

#define BUDGIE_TYPE_WM_SETTINGS (budgie_wm_settings_get_type ())
#define BUDGIE_WM_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_WM_SETTINGS, BudgieWmSettings))
#define BUDGIE_WM_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_WM_SETTINGS, BudgieWmSettingsClass))
#define BUDGIE_IS_WM_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_WM_SETTINGS))
#define BUDGIE_IS_WM_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_WM_SETTINGS))
#define BUDGIE_WM_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_WM_SETTINGS, BudgieWmSettingsClass))

typedef struct _BudgieWmSettings BudgieWmSettings;
typedef struct _BudgieWmSettingsClass BudgieWmSettingsClass;
typedef struct _BudgieWmSettingsPrivate BudgieWmSettingsPrivate;

#define BUDGIE_TYPE_APPEARANCE_SETTINGS (budgie_appearance_settings_get_type ())
#define BUDGIE_APPEARANCE_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_APPEARANCE_SETTINGS, BudgieAppearanceSettings))
#define BUDGIE_APPEARANCE_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_APPEARANCE_SETTINGS, BudgieAppearanceSettingsClass))
#define BUDGIE_IS_APPEARANCE_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_APPEARANCE_SETTINGS))
#define BUDGIE_IS_APPEARANCE_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_APPEARANCE_SETTINGS))
#define BUDGIE_APPEARANCE_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_APPEARANCE_SETTINGS, BudgieAppearanceSettingsClass))

typedef struct _BudgieAppearanceSettings BudgieAppearanceSettings;
typedef struct _BudgieAppearanceSettingsClass BudgieAppearanceSettingsClass;
typedef struct _BudgieAppearanceSettingsPrivate BudgieAppearanceSettingsPrivate;
typedef struct _BudgieSettingsViewPrivate BudgieSettingsViewPrivate;

#define BUDGIE_TYPE_SCREEN_SAVER (budgie_screen_saver_get_type ())
#define BUDGIE_SCREEN_SAVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_SCREEN_SAVER, BudgieScreenSaver))
#define BUDGIE_IS_SCREEN_SAVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_SCREEN_SAVER))
#define BUDGIE_SCREEN_SAVER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BUDGIE_TYPE_SCREEN_SAVER, BudgieScreenSaverIface))

typedef struct _BudgieScreenSaver BudgieScreenSaver;
typedef struct _BudgieScreenSaverIface BudgieScreenSaverIface;

#define BUDGIE_TYPE_SCREEN_SAVER_PROXY (budgie_screen_saver_proxy_get_type ())

#define BUDGIE_TYPE_SESSION_MANAGER (budgie_session_manager_get_type ())
#define BUDGIE_SESSION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_SESSION_MANAGER, BudgieSessionManager))
#define BUDGIE_IS_SESSION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_SESSION_MANAGER))
#define BUDGIE_SESSION_MANAGER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BUDGIE_TYPE_SESSION_MANAGER, BudgieSessionManagerIface))

typedef struct _BudgieSessionManager BudgieSessionManager;
typedef struct _BudgieSessionManagerIface BudgieSessionManagerIface;

#define BUDGIE_TYPE_SESSION_MANAGER_PROXY (budgie_session_manager_proxy_get_type ())

#define BUDGIE_TYPE_HEADER_EXPANDER (budgie_header_expander_get_type ())
#define BUDGIE_HEADER_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_HEADER_EXPANDER, BudgieHeaderExpander))
#define BUDGIE_HEADER_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_HEADER_EXPANDER, BudgieHeaderExpanderClass))
#define BUDGIE_IS_HEADER_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_HEADER_EXPANDER))
#define BUDGIE_IS_HEADER_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_HEADER_EXPANDER))
#define BUDGIE_HEADER_EXPANDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_HEADER_EXPANDER, BudgieHeaderExpanderClass))

typedef struct _BudgieHeaderExpander BudgieHeaderExpander;
typedef struct _BudgieHeaderExpanderClass BudgieHeaderExpanderClass;
typedef struct _BudgieHeaderExpanderPrivate BudgieHeaderExpanderPrivate;

#define BUDGIE_TYPE_HEADER_WIDGET (budgie_header_widget_get_type ())
#define BUDGIE_HEADER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_HEADER_WIDGET, BudgieHeaderWidget))
#define BUDGIE_HEADER_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_HEADER_WIDGET, BudgieHeaderWidgetClass))
#define BUDGIE_IS_HEADER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_HEADER_WIDGET))
#define BUDGIE_IS_HEADER_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_HEADER_WIDGET))
#define BUDGIE_HEADER_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_HEADER_WIDGET, BudgieHeaderWidgetClass))

typedef struct _BudgieHeaderWidget BudgieHeaderWidget;
typedef struct _BudgieHeaderWidgetClass BudgieHeaderWidgetClass;
typedef struct _BudgieHeaderWidgetPrivate BudgieHeaderWidgetPrivate;

#define BUDGIE_TYPE_RAVEN_EXPANDER (budgie_raven_expander_get_type ())
#define BUDGIE_RAVEN_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_RAVEN_EXPANDER, BudgieRavenExpander))
#define BUDGIE_RAVEN_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_RAVEN_EXPANDER, BudgieRavenExpanderClass))
#define BUDGIE_IS_RAVEN_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_RAVEN_EXPANDER))
#define BUDGIE_IS_RAVEN_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_RAVEN_EXPANDER))
#define BUDGIE_RAVEN_EXPANDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_RAVEN_EXPANDER, BudgieRavenExpanderClass))

typedef struct _BudgieRavenExpander BudgieRavenExpander;
typedef struct _BudgieRavenExpanderClass BudgieRavenExpanderClass;
typedef struct _BudgieRavenExpanderPrivate BudgieRavenExpanderPrivate;

#define TYPE_CALENDAR_WIDGET (calendar_widget_get_type ())
#define CALENDAR_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CALENDAR_WIDGET, CalendarWidget))
#define CALENDAR_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CALENDAR_WIDGET, CalendarWidgetClass))
#define IS_CALENDAR_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CALENDAR_WIDGET))
#define IS_CALENDAR_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CALENDAR_WIDGET))
#define CALENDAR_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CALENDAR_WIDGET, CalendarWidgetClass))

typedef struct _CalendarWidget CalendarWidget;
typedef struct _CalendarWidgetClass CalendarWidgetClass;
typedef struct _CalendarWidgetPrivate CalendarWidgetPrivate;

#define TYPE_SOUND_WIDGET (sound_widget_get_type ())
#define SOUND_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOUND_WIDGET, SoundWidget))
#define SOUND_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOUND_WIDGET, SoundWidgetClass))
#define IS_SOUND_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOUND_WIDGET))
#define IS_SOUND_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOUND_WIDGET))
#define SOUND_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOUND_WIDGET, SoundWidgetClass))

typedef struct _SoundWidget SoundWidget;
typedef struct _SoundWidgetClass SoundWidgetClass;
typedef struct _SoundWidgetPrivate SoundWidgetPrivate;

#define TYPE_THEME_TYPE (theme_type_get_type ())

#define TYPE_THEME_SCANNER (theme_scanner_get_type ())
#define THEME_SCANNER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THEME_SCANNER, ThemeScanner))
#define THEME_SCANNER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THEME_SCANNER, ThemeScannerClass))
#define IS_THEME_SCANNER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THEME_SCANNER))
#define IS_THEME_SCANNER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THEME_SCANNER))
#define THEME_SCANNER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THEME_SCANNER, ThemeScannerClass))

typedef struct _ThemeScanner ThemeScanner;
typedef struct _ThemeScannerClass ThemeScannerClass;
typedef struct _ThemeScannerPrivate ThemeScannerPrivate;

#define TYPE_MPRIS_CLIENT (mpris_client_get_type ())
#define MPRIS_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MPRIS_CLIENT, MprisClient))
#define MPRIS_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MPRIS_CLIENT, MprisClientClass))
#define IS_MPRIS_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MPRIS_CLIENT))
#define IS_MPRIS_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MPRIS_CLIENT))
#define MPRIS_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MPRIS_CLIENT, MprisClientClass))

typedef struct _MprisClient MprisClient;
typedef struct _MprisClientClass MprisClientClass;
typedef struct _MprisClientPrivate MprisClientPrivate;

#define TYPE_MPRIS_IFACE (mpris_iface_get_type ())
#define MPRIS_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MPRIS_IFACE, MprisIface))
#define IS_MPRIS_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MPRIS_IFACE))
#define MPRIS_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MPRIS_IFACE, MprisIfaceIface))

typedef struct _MprisIface MprisIface;
typedef struct _MprisIfaceIface MprisIfaceIface;

#define TYPE_MPRIS_IFACE_PROXY (mpris_iface_proxy_get_type ())

#define TYPE_PLAYER_IFACE (player_iface_get_type ())
#define PLAYER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PLAYER_IFACE, PlayerIface))
#define IS_PLAYER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PLAYER_IFACE))
#define PLAYER_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_PLAYER_IFACE, PlayerIfaceIface))

typedef struct _PlayerIface PlayerIface;
typedef struct _PlayerIfaceIface PlayerIfaceIface;

#define TYPE_PLAYER_IFACE_PROXY (player_iface_proxy_get_type ())

#define TYPE_DBUS_PROP_IFACE (dbus_prop_iface_get_type ())
#define DBUS_PROP_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DBUS_PROP_IFACE, DbusPropIface))
#define IS_DBUS_PROP_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DBUS_PROP_IFACE))
#define DBUS_PROP_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DBUS_PROP_IFACE, DbusPropIfaceIface))

typedef struct _DbusPropIface DbusPropIface;
typedef struct _DbusPropIfaceIface DbusPropIfaceIface;

#define TYPE_DBUS_PROP_IFACE_PROXY (dbus_prop_iface_proxy_get_type ())

#define TYPE_DBUS_IMPL (dbus_impl_get_type ())
#define DBUS_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DBUS_IMPL, DBusImpl))
#define IS_DBUS_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DBUS_IMPL))
#define DBUS_IMPL_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DBUS_IMPL, DBusImplIface))

typedef struct _DBusImpl DBusImpl;
typedef struct _DBusImplIface DBusImplIface;

#define TYPE_DBUS_IMPL_PROXY (dbus_impl_proxy_get_type ())

#define TYPE_CLIENT_IMAGE (client_image_get_type ())
#define CLIENT_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CLIENT_IMAGE, ClientImage))
#define CLIENT_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CLIENT_IMAGE, ClientImageClass))
#define IS_CLIENT_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CLIENT_IMAGE))
#define IS_CLIENT_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CLIENT_IMAGE))
#define CLIENT_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CLIENT_IMAGE, ClientImageClass))

typedef struct _ClientImage ClientImage;
typedef struct _ClientImageClass ClientImageClass;
typedef struct _ClientImagePrivate ClientImagePrivate;

#define TYPE_CLIENT_WIDGET (client_widget_get_type ())
#define CLIENT_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CLIENT_WIDGET, ClientWidget))
#define CLIENT_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CLIENT_WIDGET, ClientWidgetClass))
#define IS_CLIENT_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CLIENT_WIDGET))
#define IS_CLIENT_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CLIENT_WIDGET))
#define CLIENT_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CLIENT_WIDGET, ClientWidgetClass))

typedef struct _ClientWidget ClientWidget;
typedef struct _ClientWidgetClass ClientWidgetClass;
typedef struct _ClientWidgetPrivate ClientWidgetPrivate;

#define TYPE_MPRIS_WIDGET (mpris_widget_get_type ())
#define MPRIS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MPRIS_WIDGET, MprisWidget))
#define MPRIS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MPRIS_WIDGET, MprisWidgetClass))
#define IS_MPRIS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MPRIS_WIDGET))
#define IS_MPRIS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MPRIS_WIDGET))
#define MPRIS_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MPRIS_WIDGET, MprisWidgetClass))

typedef struct _MprisWidget MprisWidget;
typedef struct _MprisWidgetClass MprisWidgetClass;
typedef struct _MprisWidgetPrivate MprisWidgetPrivate;

struct _BudgieRavenIface {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BudgieRavenIfacePrivate * priv;
	guint notifications;
};

struct _BudgieRavenIfaceClass {
	GTypeClass parent_class;
	void (*finalize) (BudgieRavenIface *self);
};

struct _BudgieRaven {
	GtkWindow parent_instance;
	BudgieRavenPrivate * priv;
};

struct _BudgieRavenClass {
	GtkWindowClass parent_class;
};

struct _BudgieMainView {
	GtkBox parent_instance;
	BudgieMainViewPrivate * priv;
};

struct _BudgieMainViewClass {
	GtkBoxClass parent_class;
};

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;

struct _BudgieNotificationPlaceholder {
	GtkBox parent_instance;
	BudgieNotificationPlaceholderPrivate * priv;
};

struct _BudgieNotificationPlaceholderClass {
	GtkBoxClass parent_class;
};

struct _BudgieNotificationClone {
	GtkGrid parent_instance;
	BudgieNotificationClonePrivate * priv;
};

struct _BudgieNotificationCloneClass {
	GtkGridClass parent_class;
};

struct _BudgieNotificationWindow {
	GtkWindow parent_instance;
	BudgieNotificationWindowPrivate * priv;
	guint32 id;
	gchar* title;
	gchar* body;
	GdkPixbuf* pixbuf;
	gint64 timestamp;
	gchar* app_name;
	gchar* category;
	gboolean did_interact;
};

struct _BudgieNotificationWindowClass {
	GtkWindowClass parent_class;
};

struct _BudgieNotificationsView {
	GtkBox parent_instance;
	BudgieNotificationsViewPrivate * priv;
};

struct _BudgieNotificationsViewClass {
	GtkBoxClass parent_class;
};

typedef enum  {
	BUDGIE_PANEL_COLUMN_UUID = 0,
	BUDGIE_PANEL_COLUMN_DESCRIPTION = 1,
	BUDGIE_PANEL_COLUMN_N_COLUMNS = 2
} BudgiePanelColumn;

struct _BudgieAppletSettings {
	GtkBox parent_instance;
	BudgieAppletSettingsPrivate * priv;
};

struct _BudgieAppletSettingsClass {
	GtkBoxClass parent_class;
};

struct _BudgieAppletPicker {
	GtkBox parent_instance;
	BudgieAppletPickerPrivate * priv;
};

struct _BudgieAppletPickerClass {
	GtkBoxClass parent_class;
};

struct _BudgiePanelEditor {
	GtkBox parent_instance;
	BudgiePanelEditorPrivate * priv;
};

struct _BudgiePanelEditorClass {
	GtkBoxClass parent_class;
};

struct _BudgieSettingsHeader {
	GtkBox parent_instance;
	BudgieSettingsHeaderPrivate * priv;
};

struct _BudgieSettingsHeaderClass {
	GtkBoxClass parent_class;
};

struct _BudgieFontSettings {
	GtkBox parent_instance;
	BudgieFontSettingsPrivate * priv;
};

struct _BudgieFontSettingsClass {
	GtkBoxClass parent_class;
};

struct _BudgieBackgroundSettings {
	GtkBox parent_instance;
	BudgieBackgroundSettingsPrivate * priv;
};

struct _BudgieBackgroundSettingsClass {
	GtkBoxClass parent_class;
};

struct _BudgieWmSettings {
	GtkBox parent_instance;
	BudgieWmSettingsPrivate * priv;
};

struct _BudgieWmSettingsClass {
	GtkBoxClass parent_class;
};

struct _BudgieAppearanceSettings {
	GtkBox parent_instance;
	BudgieAppearanceSettingsPrivate * priv;
};

struct _BudgieAppearanceSettingsClass {
	GtkBoxClass parent_class;
};

struct _BudgieSettingsView {
	GtkBox parent_instance;
	BudgieSettingsViewPrivate * priv;
};

struct _BudgieSettingsViewClass {
	GtkBoxClass parent_class;
};

struct _BudgieScreenSaverIface {
	GTypeInterface parent_iface;
	void (*lock) (BudgieScreenSaver* self, GError** error);
};

struct _BudgieSessionManagerIface {
	GTypeInterface parent_iface;
	void (*Logout) (BudgieSessionManager* self, guint mode, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*Logout_finish) (BudgieSessionManager* self, GAsyncResult* _res_, GError** error);
};

struct _BudgieHeaderExpander {
	GtkButton parent_instance;
	BudgieHeaderExpanderPrivate * priv;
};

struct _BudgieHeaderExpanderClass {
	GtkButtonClass parent_class;
};

struct _BudgieHeaderWidget {
	GtkBox parent_instance;
	BudgieHeaderWidgetPrivate * priv;
};

struct _BudgieHeaderWidgetClass {
	GtkBoxClass parent_class;
};

struct _BudgieRavenExpander {
	GtkBox parent_instance;
	BudgieRavenExpanderPrivate * priv;
	GtkRevealer* content;
};

struct _BudgieRavenExpanderClass {
	GtkBoxClass parent_class;
};

struct _CalendarWidget {
	GtkBox parent_instance;
	CalendarWidgetPrivate * priv;
};

struct _CalendarWidgetClass {
	GtkBoxClass parent_class;
};

struct _SoundWidget {
	GtkBox parent_instance;
	SoundWidgetPrivate * priv;
};

struct _SoundWidgetClass {
	GtkBoxClass parent_class;
};

typedef enum  {
	THEME_TYPE_ICON_THEME,
	THEME_TYPE_GTK_THEME,
	THEME_TYPE_CURSOR_THEME
} ThemeType;

struct _ThemeScanner {
	GObject parent_instance;
	ThemeScannerPrivate * priv;
};

struct _ThemeScannerClass {
	GObjectClass parent_class;
};

struct _MprisClient {
	GObject parent_instance;
	MprisClientPrivate * priv;
};

struct _MprisClientClass {
	GObjectClass parent_class;
};

struct _MprisIfaceIface {
	GTypeInterface parent_iface;
	void (*raise) (MprisIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*raise_finish) (MprisIface* self, GAsyncResult* _res_, GError** error);
	void (*quit) (MprisIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*quit_finish) (MprisIface* self, GAsyncResult* _res_, GError** error);
	gboolean (*get_can_quit) (MprisIface* self);
	void (*set_can_quit) (MprisIface* self, gboolean value);
	gboolean (*get_fullscreen) (MprisIface* self);
	gboolean (*get_can_set_fullscreen) (MprisIface* self);
	gboolean (*get_can_raise) (MprisIface* self);
	gboolean (*get_has_track_list) (MprisIface* self);
	gchar* (*get_identity) (MprisIface* self);
	gchar* (*get_desktop_entry) (MprisIface* self);
	gchar** (*get_supported_uri_schemes) (MprisIface* self, int* result_length1);
	gchar** (*get_supported_mime_types) (MprisIface* self, int* result_length1);
};

struct _PlayerIfaceIface {
	GTypeInterface parent_iface;
	void (*next) (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*next_finish) (PlayerIface* self, GAsyncResult* _res_, GError** error);
	void (*previous) (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*previous_finish) (PlayerIface* self, GAsyncResult* _res_, GError** error);
	void (*pause) (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*pause_finish) (PlayerIface* self, GAsyncResult* _res_, GError** error);
	void (*play_pause) (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*play_pause_finish) (PlayerIface* self, GAsyncResult* _res_, GError** error);
	void (*stop) (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*stop_finish) (PlayerIface* self, GAsyncResult* _res_, GError** error);
	void (*play) (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*play_finish) (PlayerIface* self, GAsyncResult* _res_, GError** error);
	void (*seek) (PlayerIface* self, gint64 offset, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*seek_finish) (PlayerIface* self, GAsyncResult* _res_, GError** error);
	void (*open_uri) (PlayerIface* self, const gchar* uri, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*open_uri_finish) (PlayerIface* self, GAsyncResult* _res_, GError** error);
	gchar* (*get_playback_status) (PlayerIface* self);
	gchar* (*get_loop_status) (PlayerIface* self);
	void (*set_loop_status) (PlayerIface* self, const gchar* value);
	gdouble (*get_rate) (PlayerIface* self);
	void (*set_rate) (PlayerIface* self, gdouble value);
	gboolean (*get_shuffle) (PlayerIface* self);
	void (*set_shuffle) (PlayerIface* self, gboolean value);
	GHashTable* (*get_metadata) (PlayerIface* self);
	gdouble (*get_volume) (PlayerIface* self);
	void (*set_volume) (PlayerIface* self, gdouble value);
	gint64 (*get_position) (PlayerIface* self);
	gdouble (*get_minimum_rate) (PlayerIface* self);
	gdouble (*get_maximum_rate) (PlayerIface* self);
	gboolean (*get_can_go_next) (PlayerIface* self);
	gboolean (*get_can_go_previous) (PlayerIface* self);
	gboolean (*get_can_play) (PlayerIface* self);
	gboolean (*get_can_pause) (PlayerIface* self);
	gboolean (*get_can_seek) (PlayerIface* self);
	gboolean (*get_can_control) (PlayerIface* self);
};

struct _DbusPropIfaceIface {
	GTypeInterface parent_iface;
};

struct _DBusImplIface {
	GTypeInterface parent_iface;
	void (*list_names) (DBusImpl* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gchar** (*list_names_finish) (DBusImpl* self, GAsyncResult* _res_, int* result_length1, GError** error);
};

struct _ClientImage {
	GtkImage parent_instance;
	ClientImagePrivate * priv;
};

struct _ClientImageClass {
	GtkImageClass parent_class;
};

struct _ClientWidget {
	GtkBox parent_instance;
	ClientWidgetPrivate * priv;
};

struct _ClientWidgetClass {
	GtkBoxClass parent_class;
};

struct _MprisWidget {
	GtkBox parent_instance;
	MprisWidgetPrivate * priv;
};

struct _MprisWidgetClass {
	GtkBoxClass parent_class;
};


#define BUDGIE_RAVEN_DBUS_NAME "com.solus_project.budgie.Raven"
#define BUDGIE_RAVEN_DBUS_OBJECT_PATH "/com/solus_project/budgie/Raven"
gpointer budgie_raven_iface_ref (gpointer instance);
void budgie_raven_iface_unref (gpointer instance);
GParamSpec* budgie_param_spec_raven_iface (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void budgie_value_set_raven_iface (GValue* value, gpointer v_object);
void budgie_value_take_raven_iface (GValue* value, gpointer v_object);
gpointer budgie_value_get_raven_iface (const GValue* value);
GType budgie_raven_iface_get_type (void) G_GNUC_CONST;
guint budgie_raven_iface_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
GType budgie_raven_get_type (void) G_GNUC_CONST;
BudgieRavenIface* budgie_raven_iface_new (BudgieRaven* parent);
BudgieRavenIface* budgie_raven_iface_construct (GType object_type, BudgieRaven* parent);
gboolean budgie_raven_iface_GetExpanded (BudgieRavenIface* self);
void budgie_raven_iface_SetExpanded (BudgieRavenIface* self, gboolean b);
void budgie_raven_iface_Toggle (BudgieRavenIface* self);
void budgie_raven_iface_ToggleAppletView (BudgieRavenIface* self);
void budgie_raven_iface_ToggleNotificationsView (BudgieRavenIface* self);
void budgie_raven_iface_Dismiss (BudgieRavenIface* self);
guint budgie_raven_iface_GetNotificationCount (BudgieRavenIface* self);
gchar* budgie_raven_iface_get_version (BudgieRavenIface* self);
gboolean budgie_raven_iface_get_is_expanded (BudgieRavenIface* self);
void budgie_raven_iface_set_is_expanded (BudgieRavenIface* self, gboolean value);
void budgie_raven_ReadNotifications (BudgieRaven* self);
void budgie_raven_UnreadNotifications (BudgieRaven* self);
void budgie_raven_expose_main_view (BudgieRaven* self);
void budgie_raven_expose_notification (BudgieRaven* self);
BudgieRaven* budgie_raven_get_instance (void);
void budgie_raven_set_notification_count (BudgieRaven* self, guint count);
BudgieRaven* budgie_raven_new (BudgieDesktopManager* manager);
BudgieRaven* budgie_raven_construct (GType object_type, BudgieDesktopManager* manager);
void budgie_raven_setup_dbus (BudgieRaven* self);
void budgie_raven_update_geometry (BudgieRaven* self, GdkRectangle* rect, BudgieToplevel* top, BudgieToplevel* bottom);
void budgie_raven_set_expanded (BudgieRaven* self, gboolean exp);
gboolean budgie_raven_get_expanded (BudgieRaven* self);
gint budgie_raven_get_required_size (BudgieRaven* self);
void budgie_raven_set_required_size (BudgieRaven* self, gint value);
BudgieDesktopManager* budgie_raven_get_manager (BudgieRaven* self);
void budgie_raven_set_manager (BudgieRaven* self, BudgieDesktopManager* value);
gdouble budgie_raven_get_nscale (BudgieRaven* self);
void budgie_raven_set_nscale (BudgieRaven* self, gdouble value);
GType budgie_main_view_get_type (void) G_GNUC_CONST;
void budgie_main_view_expose_notification (BudgieMainView* self);
BudgieMainView* budgie_main_view_new (void);
BudgieMainView* budgie_main_view_construct (GType object_type);
void budgie_main_view_set_clean (BudgieMainView* self);
#define BUDGIE_ROOT_KEY_SPAM_APPS "spam-apps"
#define BUDGIE_ROOT_KEY_SPAM_CATEGORIES "spam-categories"
GType budgie_notification_close_reason_get_type (void) G_GNUC_CONST;
gchar* budgie_safe_markup_string (const gchar* inp);
GType budgie_notification_placeholder_get_type (void) G_GNUC_CONST;
BudgieNotificationPlaceholder* budgie_notification_placeholder_new (void);
BudgieNotificationPlaceholder* budgie_notification_placeholder_construct (GType object_type);
GType budgie_notification_clone_get_type (void) G_GNUC_CONST;
GType budgie_notification_window_get_type (void) G_GNUC_CONST;
BudgieNotificationClone* budgie_notification_clone_new (BudgieNotificationWindow* target);
BudgieNotificationClone* budgie_notification_clone_construct (GType object_type, BudgieNotificationWindow* target);
GType budgie_notifications_view_get_type (void) G_GNUC_CONST;
guint budgie_notifications_view_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
BudgieNotificationWindow* budgie_notification_window_new (BudgieNotificationsView* owner);
BudgieNotificationWindow* budgie_notification_window_construct (GType object_type, BudgieNotificationsView* owner);
void budgie_notification_window_set_from_notify (BudgieNotificationWindow* self, guint32 id, const gchar* app_name, const gchar* app_icon, const gchar* summary, const gchar* body, GHashTable* hints, gint32 expire_timeout, GAsyncReadyCallback _callback_, gpointer _user_data_);
void budgie_notification_window_set_from_notify_finish (BudgieNotificationWindow* self, GAsyncResult* _res_);
void budgie_notification_window_set_actions (BudgieNotificationWindow* self, gchar** actions, int actions_length1);
void budgie_notification_window_begin_decay (BudgieNotificationWindow* self);
void budgie_notification_window_stop_decay (BudgieNotificationWindow* self);
BudgieNotificationsView* budgie_notification_window_get_owner (BudgieNotificationWindow* self);
void budgie_notification_window_set_owner (BudgieNotificationWindow* self, BudgieNotificationsView* value);
#define BUDGIE_BUFFER_ZONE 10
#define BUDGIE_INITIAL_BUFFER_ZONE 45
#define BUDGIE_NOTIFICATION_SIZE 400
void budgie_notifications_view_get_capabilities (BudgieNotificationsView* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
gchar** budgie_notifications_view_get_capabilities_finish (BudgieNotificationsView* self, GAsyncResult* _res_, int* result_length1);
void budgie_notifications_view_CloseNotification (BudgieNotificationsView* self, guint32 id);
guint32 budgie_notifications_view_Notify (BudgieNotificationsView* self, const gchar* app_name, guint32 replaces_id, const gchar* app_icon, const gchar* summary, const gchar* body, gchar** actions, int actions_length1, GHashTable* hints, gint32 expire_timeout);
void budgie_notifications_view_GetServerInformation (BudgieNotificationsView* self, gchar** name, gchar** vendor, gchar** version, gchar** spec_version);
BudgieNotificationsView* budgie_notifications_view_new (void);
BudgieNotificationsView* budgie_notifications_view_construct (GType object_type);
GType budgie_panel_column_get_type (void) G_GNUC_CONST;
GType budgie_applet_settings_get_type (void) G_GNUC_CONST;
void budgie_applet_settings_set_applet (BudgieAppletSettings* self, BudgieAppletInfo* info);
BudgieAppletSettings* budgie_applet_settings_new (void);
BudgieAppletSettings* budgie_applet_settings_construct (GType object_type);
GType budgie_applet_picker_get_type (void) G_GNUC_CONST;
BudgieAppletPicker* budgie_applet_picker_new (void);
BudgieAppletPicker* budgie_applet_picker_construct (GType object_type);
void budgie_applet_picker_set_plugin_list (BudgieAppletPicker* self, GList* plugins);
GType budgie_panel_editor_get_type (void) G_GNUC_CONST;
BudgiePanelEditor* budgie_panel_editor_new (BudgieDesktopManager* manager, GtkStack* panel_stack);
BudgiePanelEditor* budgie_panel_editor_construct (GType object_type, BudgieDesktopManager* manager, GtkStack* panel_stack);
void budgie_panel_editor_on_panels_changed (BudgiePanelEditor* self);
BudgieDesktopManager* budgie_panel_editor_get_manager (BudgiePanelEditor* self);
void budgie_panel_editor_set_manager (BudgiePanelEditor* self, BudgieDesktopManager* value);
GType budgie_settings_header_get_type (void) G_GNUC_CONST;
GType budgie_settings_view_get_type (void) G_GNUC_CONST;
BudgieSettingsHeader* budgie_settings_header_new (BudgieSettingsView* view);
BudgieSettingsHeader* budgie_settings_header_construct (GType object_type, BudgieSettingsView* view);
GType budgie_font_settings_get_type (void) G_GNUC_CONST;
BudgieFontSettings* budgie_font_settings_new (void);
BudgieFontSettings* budgie_font_settings_construct (GType object_type);
GType budgie_background_settings_get_type (void) G_GNUC_CONST;
BudgieBackgroundSettings* budgie_background_settings_new (void);
BudgieBackgroundSettings* budgie_background_settings_construct (GType object_type);
GType budgie_wm_settings_get_type (void) G_GNUC_CONST;
BudgieWmSettings* budgie_wm_settings_new (void);
BudgieWmSettings* budgie_wm_settings_construct (GType object_type);
GType budgie_appearance_settings_get_type (void) G_GNUC_CONST;
void budgie_appearance_settings_load_themes (BudgieAppearanceSettings* self);
BudgieAppearanceSettings* budgie_appearance_settings_new (void);
BudgieAppearanceSettings* budgie_appearance_settings_construct (GType object_type);
BudgieSettingsView* budgie_settings_view_new (BudgieDesktopManager* manager);
BudgieSettingsView* budgie_settings_view_construct (GType object_type, BudgieDesktopManager* manager);
void budgie_settings_view_set_clean (BudgieSettingsView* self);
BudgieDesktopManager* budgie_settings_view_get_manager (BudgieSettingsView* self);
void budgie_settings_view_set_manager (BudgieSettingsView* self, BudgieDesktopManager* value);
GType budgie_screen_saver_proxy_get_type (void) G_GNUC_CONST;
guint budgie_screen_saver_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
GType budgie_screen_saver_get_type (void) G_GNUC_CONST;
void budgie_screen_saver_lock (BudgieScreenSaver* self, GError** error);
GType budgie_session_manager_proxy_get_type (void) G_GNUC_CONST;
guint budgie_session_manager_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
GType budgie_session_manager_get_type (void) G_GNUC_CONST;
void budgie_session_manager_Logout (BudgieSessionManager* self, guint mode, GAsyncReadyCallback _callback_, gpointer _user_data_);
void budgie_session_manager_Logout_finish (BudgieSessionManager* self, GAsyncResult* _res_, GError** error);
GType budgie_header_expander_get_type (void) G_GNUC_CONST;
GType budgie_header_widget_get_type (void) G_GNUC_CONST;
BudgieHeaderExpander* budgie_header_expander_new (BudgieHeaderWidget* owner);
BudgieHeaderExpander* budgie_header_expander_construct (GType object_type, BudgieHeaderWidget* owner);
gboolean budgie_header_expander_get_expanded (BudgieHeaderExpander* self);
void budgie_header_expander_set_expanded (BudgieHeaderExpander* self, gboolean value);
BudgieHeaderWidget* budgie_header_widget_new (const gchar* text, const gchar* icon_name, gboolean can_close, GtkWidget* custom_widget, GtkWidget* end_widget);
BudgieHeaderWidget* budgie_header_widget_construct (GType object_type, const gchar* text, const gchar* icon_name, gboolean can_close, GtkWidget* custom_widget, GtkWidget* end_widget);
void budgie_header_widget_notify_expanded_change (BudgieHeaderWidget* self, gboolean value);
const gchar* budgie_header_widget_get_text (BudgieHeaderWidget* self);
void budgie_header_widget_set_text (BudgieHeaderWidget* self, const gchar* value);
gchar* budgie_header_widget_get_icon_name (BudgieHeaderWidget* self);
void budgie_header_widget_set_icon_name (BudgieHeaderWidget* self, const gchar* value);
gboolean budgie_header_widget_get_can_close (BudgieHeaderWidget* self);
void budgie_header_widget_set_can_close (BudgieHeaderWidget* self, gboolean value);
gboolean budgie_header_widget_get_expanded (BudgieHeaderWidget* self);
void budgie_header_widget_set_expanded (BudgieHeaderWidget* self, gboolean value);
GType budgie_raven_expander_get_type (void) G_GNUC_CONST;
BudgieRavenExpander* budgie_raven_expander_new (BudgieHeaderWidget* header);
BudgieRavenExpander* budgie_raven_expander_construct (GType object_type, BudgieHeaderWidget* header);
gboolean budgie_raven_expander_get_expanded (BudgieRavenExpander* self);
void budgie_raven_expander_set_expanded (BudgieRavenExpander* self, gboolean value);
GType calendar_widget_get_type (void) G_GNUC_CONST;
CalendarWidget* calendar_widget_new (void);
CalendarWidget* calendar_widget_construct (GType object_type);
GType sound_widget_get_type (void) G_GNUC_CONST;
SoundWidget* sound_widget_new (void);
SoundWidget* sound_widget_construct (GType object_type);
GType theme_type_get_type (void) G_GNUC_CONST;
GType theme_scanner_get_type (void) G_GNUC_CONST;
ThemeScanner* theme_scanner_new (void);
ThemeScanner* theme_scanner_construct (GType object_type);
void theme_scanner_scan_themes (ThemeScanner* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void theme_scanner_scan_themes_finish (ThemeScanner* self, GAsyncResult* _res_);
gchar** theme_scanner_get_gtk_themes (ThemeScanner* self, int* result_length1);
gchar** theme_scanner_get_cursor_themes (ThemeScanner* self, int* result_length1);
gchar** theme_scanner_get_icon_themes (ThemeScanner* self, int* result_length1);
GType mpris_client_get_type (void) G_GNUC_CONST;
GType mpris_iface_proxy_get_type (void) G_GNUC_CONST;
guint mpris_iface_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
GType mpris_iface_get_type (void) G_GNUC_CONST;
GType player_iface_proxy_get_type (void) G_GNUC_CONST;
guint player_iface_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
GType player_iface_get_type (void) G_GNUC_CONST;
GType dbus_prop_iface_get_type (void) G_GNUC_CONST;
GType dbus_prop_iface_proxy_get_type (void) G_GNUC_CONST;
guint dbus_prop_iface_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
MprisClient* mpris_client_new (PlayerIface* player, DbusPropIface* prop);
MprisClient* mpris_client_construct (GType object_type, PlayerIface* player, DbusPropIface* prop);
PlayerIface* mpris_client_get_player (MprisClient* self);
void mpris_client_set_player (MprisClient* self, PlayerIface* value);
DbusPropIface* mpris_client_get_prop (MprisClient* self);
void mpris_client_set_prop (MprisClient* self, DbusPropIface* value);
GType dbus_impl_proxy_get_type (void) G_GNUC_CONST;
guint dbus_impl_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
GType dbus_impl_get_type (void) G_GNUC_CONST;
void dbus_impl_list_names (DBusImpl* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
gchar** dbus_impl_list_names_finish (DBusImpl* self, GAsyncResult* _res_, int* result_length1, GError** error);
void mpris_iface_raise (MprisIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void mpris_iface_raise_finish (MprisIface* self, GAsyncResult* _res_, GError** error);
void mpris_iface_quit (MprisIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void mpris_iface_quit_finish (MprisIface* self, GAsyncResult* _res_, GError** error);
gboolean mpris_iface_get_can_quit (MprisIface* self);
void mpris_iface_set_can_quit (MprisIface* self, gboolean value);
gboolean mpris_iface_get_fullscreen (MprisIface* self);
gboolean mpris_iface_get_can_set_fullscreen (MprisIface* self);
gboolean mpris_iface_get_can_raise (MprisIface* self);
gboolean mpris_iface_get_has_track_list (MprisIface* self);
gchar* mpris_iface_get_identity (MprisIface* self);
gchar* mpris_iface_get_desktop_entry (MprisIface* self);
gchar** mpris_iface_get_supported_uri_schemes (MprisIface* self, int* result_length1);
gchar** mpris_iface_get_supported_mime_types (MprisIface* self, int* result_length1);
void player_iface_next (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void player_iface_next_finish (PlayerIface* self, GAsyncResult* _res_, GError** error);
void player_iface_previous (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void player_iface_previous_finish (PlayerIface* self, GAsyncResult* _res_, GError** error);
void player_iface_pause (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void player_iface_pause_finish (PlayerIface* self, GAsyncResult* _res_, GError** error);
void player_iface_play_pause (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void player_iface_play_pause_finish (PlayerIface* self, GAsyncResult* _res_, GError** error);
void player_iface_stop (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void player_iface_stop_finish (PlayerIface* self, GAsyncResult* _res_, GError** error);
void player_iface_play (PlayerIface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void player_iface_play_finish (PlayerIface* self, GAsyncResult* _res_, GError** error);
void player_iface_seek (PlayerIface* self, gint64 offset, GAsyncReadyCallback _callback_, gpointer _user_data_);
void player_iface_seek_finish (PlayerIface* self, GAsyncResult* _res_, GError** error);
void player_iface_open_uri (PlayerIface* self, const gchar* uri, GAsyncReadyCallback _callback_, gpointer _user_data_);
void player_iface_open_uri_finish (PlayerIface* self, GAsyncResult* _res_, GError** error);
gchar* player_iface_get_playback_status (PlayerIface* self);
gchar* player_iface_get_loop_status (PlayerIface* self);
void player_iface_set_loop_status (PlayerIface* self, const gchar* value);
gdouble player_iface_get_rate (PlayerIface* self);
void player_iface_set_rate (PlayerIface* self, gdouble value);
gboolean player_iface_get_shuffle (PlayerIface* self);
void player_iface_set_shuffle (PlayerIface* self, gboolean value);
GHashTable* player_iface_get_metadata (PlayerIface* self);
gdouble player_iface_get_volume (PlayerIface* self);
void player_iface_set_volume (PlayerIface* self, gdouble value);
gint64 player_iface_get_position (PlayerIface* self);
gdouble player_iface_get_minimum_rate (PlayerIface* self);
gdouble player_iface_get_maximum_rate (PlayerIface* self);
gboolean player_iface_get_can_go_next (PlayerIface* self);
gboolean player_iface_get_can_go_previous (PlayerIface* self);
gboolean player_iface_get_can_play (PlayerIface* self);
gboolean player_iface_get_can_pause (PlayerIface* self);
gboolean player_iface_get_can_seek (PlayerIface* self);
gboolean player_iface_get_can_control (PlayerIface* self);
void new_iface (const gchar* busname, GAsyncReadyCallback _callback_, gpointer _user_data_);
MprisClient* new_iface_finish (GAsyncResult* _res_);
GType client_image_get_type (void) G_GNUC_CONST;
ClientImage* client_image_new_from_pixbuf (GdkPixbuf* pbuf);
ClientImage* client_image_construct_from_pixbuf (GType object_type, GdkPixbuf* pbuf);
ClientImage* client_image_new_from_icon_name (const gchar* icon_name, GtkIconSize size);
ClientImage* client_image_construct_from_icon_name (GType object_type, const gchar* icon_name, GtkIconSize size);
ClientImage* client_image_new (void);
ClientImage* client_image_construct (GType object_type);
GType client_widget_get_type (void) G_GNUC_CONST;
ClientWidget* client_widget_new (MprisClient* client, gint width);
ClientWidget* client_widget_construct (GType object_type, MprisClient* client, gint width);
void client_widget_update_from_meta (ClientWidget* self);
GtkWidget* create_row (const gchar* name, const gchar* icon, GIcon* gicon);
GType mpris_widget_get_type (void) G_GNUC_CONST;
MprisWidget* mpris_widget_new (void);
MprisWidget* mpris_widget_construct (GType object_type);
void mpris_widget_setup_dbus (MprisWidget* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void mpris_widget_setup_dbus_finish (MprisWidget* self, GAsyncResult* _res_);


G_END_DECLS

#endif
