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

#ifndef __SRC_PANEL_APPLETS_CAFFEINE_CAFFEINEAPPLET_H__
#define __SRC_PANEL_APPLETS_CAFFEINE_CAFFEINEAPPLET_H__

#include <libpeas.h>
#include "plugin.h"
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gtk/gtk.h>
#include <gio/gio.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 CAFFEINE_TYPE_PLUGIN (caffeine_plugin_get_type ())
#define CAFFEINE_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAFFEINE_TYPE_PLUGIN, CaffeinePlugin))
#define CAFFEINE_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAFFEINE_TYPE_PLUGIN, CaffeinePluginClass))
#define CAFFEINE_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAFFEINE_TYPE_PLUGIN))
#define CAFFEINE_IS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAFFEINE_TYPE_PLUGIN))
#define CAFFEINE_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAFFEINE_TYPE_PLUGIN, CaffeinePluginClass))

typedef struct _CaffeinePlugin CaffeinePlugin;
typedef struct _CaffeinePluginClass CaffeinePluginClass;
typedef struct _CaffeinePluginPrivate CaffeinePluginPrivate;

#define CAFFEINE_TYPE_APPLET (caffeine_applet_get_type ())
#define CAFFEINE_APPLET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAFFEINE_TYPE_APPLET, CaffeineApplet))
#define CAFFEINE_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAFFEINE_TYPE_APPLET, CaffeineAppletClass))
#define CAFFEINE_IS_APPLET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAFFEINE_TYPE_APPLET))
#define CAFFEINE_IS_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAFFEINE_TYPE_APPLET))
#define CAFFEINE_APPLET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAFFEINE_TYPE_APPLET, CaffeineAppletClass))

typedef struct _CaffeineApplet CaffeineApplet;
typedef struct _CaffeineAppletClass CaffeineAppletClass;
typedef struct _CaffeineAppletPrivate CaffeineAppletPrivate;

#define CAFFEINE_TYPE_CAFFEINE_WINDOW (caffeine_caffeine_window_get_type ())
#define CAFFEINE_CAFFEINE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAFFEINE_TYPE_CAFFEINE_WINDOW, CaffeineCaffeineWindow))
#define CAFFEINE_CAFFEINE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAFFEINE_TYPE_CAFFEINE_WINDOW, CaffeineCaffeineWindowClass))
#define CAFFEINE_IS_CAFFEINE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAFFEINE_TYPE_CAFFEINE_WINDOW))
#define CAFFEINE_IS_CAFFEINE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAFFEINE_TYPE_CAFFEINE_WINDOW))
#define CAFFEINE_CAFFEINE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAFFEINE_TYPE_CAFFEINE_WINDOW, CaffeineCaffeineWindowClass))

typedef struct _CaffeineCaffeineWindow CaffeineCaffeineWindow;
typedef struct _CaffeineCaffeineWindowClass CaffeineCaffeineWindowClass;
typedef struct _CaffeineCaffeineWindowPrivate CaffeineCaffeineWindowPrivate;

#define CAFFEINE_TYPE_APPLET_SETTINGS (caffeine_applet_settings_get_type ())
#define CAFFEINE_APPLET_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAFFEINE_TYPE_APPLET_SETTINGS, CaffeineAppletSettings))
#define CAFFEINE_APPLET_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAFFEINE_TYPE_APPLET_SETTINGS, CaffeineAppletSettingsClass))
#define CAFFEINE_IS_APPLET_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAFFEINE_TYPE_APPLET_SETTINGS))
#define CAFFEINE_IS_APPLET_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAFFEINE_TYPE_APPLET_SETTINGS))
#define CAFFEINE_APPLET_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAFFEINE_TYPE_APPLET_SETTINGS, CaffeineAppletSettingsClass))

typedef struct _CaffeineAppletSettings CaffeineAppletSettings;
typedef struct _CaffeineAppletSettingsClass CaffeineAppletSettingsClass;
typedef struct _CaffeineAppletSettingsPrivate CaffeineAppletSettingsPrivate;

struct _CaffeinePlugin {
	PeasExtensionBase parent_instance;
	CaffeinePluginPrivate * priv;
};

struct _CaffeinePluginClass {
	PeasExtensionBaseClass parent_class;
};

struct _CaffeineApplet {
	BudgieApplet parent_instance;
	CaffeineAppletPrivate * priv;
};

struct _CaffeineAppletClass {
	BudgieAppletClass parent_class;
};

struct _CaffeineCaffeineWindow {
	BudgiePopover parent_instance;
	CaffeineCaffeineWindowPrivate * priv;
};

struct _CaffeineCaffeineWindowClass {
	BudgiePopoverClass parent_class;
};

struct _CaffeineAppletSettings {
	GtkGrid parent_instance;
	CaffeineAppletSettingsPrivate * priv;
};

struct _CaffeineAppletSettingsClass {
	GtkGridClass parent_class;
};

GType caffeine_plugin_register_type (GTypeModule * module);
VALA_EXTERN GType caffeine_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CaffeinePlugin, g_object_unref)
VALA_EXTERN CaffeinePlugin* caffeine_plugin_new (void);
VALA_EXTERN CaffeinePlugin* caffeine_plugin_construct (GType object_type);
GType caffeine_applet_register_type (GTypeModule * module);
VALA_EXTERN GType caffeine_applet_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CaffeineApplet, g_object_unref)
VALA_EXTERN CaffeineApplet* caffeine_applet_new (const gchar* uuid);
VALA_EXTERN CaffeineApplet* caffeine_applet_construct (GType object_type,
                                           const gchar* uuid);
VALA_EXTERN const gchar* caffeine_applet_get_uuid (CaffeineApplet* self);
VALA_EXTERN void caffeine_applet_set_uuid (CaffeineApplet* self,
                               const gchar* value);
VALA_EXTERN void peas_register_types (GTypeModule* module);
GType caffeine_caffeine_window_register_type (GTypeModule * module);
VALA_EXTERN GType caffeine_caffeine_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CaffeineCaffeineWindow, g_object_unref)
VALA_EXTERN CaffeineCaffeineWindow* caffeine_caffeine_window_new (GtkWidget* c_parent,
                                                      GSettings* c_settings);
VALA_EXTERN CaffeineCaffeineWindow* caffeine_caffeine_window_construct (GType object_type,
                                                            GtkWidget* c_parent,
                                                            GSettings* c_settings);
VALA_EXTERN void caffeine_caffeine_window_update_ux_state (CaffeineCaffeineWindow* self);
VALA_EXTERN void caffeine_caffeine_window_toggle_applet (CaffeineCaffeineWindow* self);
VALA_EXTERN void caffeine_caffeine_window_update_timer_value (CaffeineCaffeineWindow* self);
GType caffeine_applet_settings_register_type (GTypeModule * module);
VALA_EXTERN GType caffeine_applet_settings_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CaffeineAppletSettings, g_object_unref)
VALA_EXTERN CaffeineAppletSettings* caffeine_applet_settings_new (GSettings* settings);
VALA_EXTERN CaffeineAppletSettings* caffeine_applet_settings_construct (GType object_type,
                                                            GSettings* settings);

G_END_DECLS

#endif
