/* org.buddiesofbudgie.budgie-desktop.raven.widget.UsageMonitor.h generated by valac 0.56.18-dirty, the Vala compiler, do not modify */

#ifndef __SRC_RAVEN_WIDGETS_USAGE_MONITOR_ORG_BUDDIESOFBUDGIE_BUDGIE_DESKTOP_RAVEN_WIDGET_USAGEMONITOR_H__
#define __SRC_RAVEN_WIDGETS_USAGE_MONITOR_ORG_BUDDIESOFBUDGIE_BUDGIE_DESKTOP_RAVEN_WIDGET_USAGEMONITOR_H__

#include <libpeas.h>
#include "raven-plugin.h"
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gio/gio.h>
#include <gtk/gtk.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 TYPE_USAGE_MONITOR_RAVEN_PLUGIN (usage_monitor_raven_plugin_get_type ())
#define USAGE_MONITOR_RAVEN_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_USAGE_MONITOR_RAVEN_PLUGIN, UsageMonitorRavenPlugin))
#define USAGE_MONITOR_RAVEN_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_USAGE_MONITOR_RAVEN_PLUGIN, UsageMonitorRavenPluginClass))
#define IS_USAGE_MONITOR_RAVEN_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_USAGE_MONITOR_RAVEN_PLUGIN))
#define IS_USAGE_MONITOR_RAVEN_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_USAGE_MONITOR_RAVEN_PLUGIN))
#define USAGE_MONITOR_RAVEN_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_USAGE_MONITOR_RAVEN_PLUGIN, UsageMonitorRavenPluginClass))

typedef struct _UsageMonitorRavenPlugin UsageMonitorRavenPlugin;
typedef struct _UsageMonitorRavenPluginClass UsageMonitorRavenPluginClass;
typedef struct _UsageMonitorRavenPluginPrivate UsageMonitorRavenPluginPrivate;

#define TYPE_USAGE_MONITOR_RAVEN_WIDGET (usage_monitor_raven_widget_get_type ())
#define USAGE_MONITOR_RAVEN_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_USAGE_MONITOR_RAVEN_WIDGET, UsageMonitorRavenWidget))
#define USAGE_MONITOR_RAVEN_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_USAGE_MONITOR_RAVEN_WIDGET, UsageMonitorRavenWidgetClass))
#define IS_USAGE_MONITOR_RAVEN_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_USAGE_MONITOR_RAVEN_WIDGET))
#define IS_USAGE_MONITOR_RAVEN_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_USAGE_MONITOR_RAVEN_WIDGET))
#define USAGE_MONITOR_RAVEN_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_USAGE_MONITOR_RAVEN_WIDGET, UsageMonitorRavenWidgetClass))

typedef struct _UsageMonitorRavenWidget UsageMonitorRavenWidget;
typedef struct _UsageMonitorRavenWidgetClass UsageMonitorRavenWidgetClass;
typedef struct _UsageMonitorRavenWidgetPrivate UsageMonitorRavenWidgetPrivate;

#define TYPE_USAGE_MONITOR_RAVEN_WIDGET_SETTINGS (usage_monitor_raven_widget_settings_get_type ())
#define USAGE_MONITOR_RAVEN_WIDGET_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_USAGE_MONITOR_RAVEN_WIDGET_SETTINGS, UsageMonitorRavenWidgetSettings))
#define USAGE_MONITOR_RAVEN_WIDGET_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_USAGE_MONITOR_RAVEN_WIDGET_SETTINGS, UsageMonitorRavenWidgetSettingsClass))
#define IS_USAGE_MONITOR_RAVEN_WIDGET_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_USAGE_MONITOR_RAVEN_WIDGET_SETTINGS))
#define IS_USAGE_MONITOR_RAVEN_WIDGET_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_USAGE_MONITOR_RAVEN_WIDGET_SETTINGS))
#define USAGE_MONITOR_RAVEN_WIDGET_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_USAGE_MONITOR_RAVEN_WIDGET_SETTINGS, UsageMonitorRavenWidgetSettingsClass))

typedef struct _UsageMonitorRavenWidgetSettings UsageMonitorRavenWidgetSettings;
typedef struct _UsageMonitorRavenWidgetSettingsClass UsageMonitorRavenWidgetSettingsClass;
typedef struct _UsageMonitorRavenWidgetSettingsPrivate UsageMonitorRavenWidgetSettingsPrivate;

struct _UsageMonitorRavenPlugin {
	PeasExtensionBase parent_instance;
	UsageMonitorRavenPluginPrivate * priv;
};

struct _UsageMonitorRavenPluginClass {
	PeasExtensionBaseClass parent_class;
};

struct _UsageMonitorRavenWidget {
	BudgieRavenWidget parent_instance;
	UsageMonitorRavenWidgetPrivate * priv;
};

struct _UsageMonitorRavenWidgetClass {
	BudgieRavenWidgetClass parent_class;
};

struct _UsageMonitorRavenWidgetSettings {
	GtkGrid parent_instance;
	UsageMonitorRavenWidgetSettingsPrivate * priv;
};

struct _UsageMonitorRavenWidgetSettingsClass {
	GtkGridClass parent_class;
};

GType usage_monitor_raven_plugin_register_type (GTypeModule * module);
VALA_EXTERN GType usage_monitor_raven_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (UsageMonitorRavenPlugin, g_object_unref)
VALA_EXTERN UsageMonitorRavenPlugin* usage_monitor_raven_plugin_new (void);
VALA_EXTERN UsageMonitorRavenPlugin* usage_monitor_raven_plugin_construct (GType object_type);
GType usage_monitor_raven_widget_register_type (GTypeModule * module);
VALA_EXTERN GType usage_monitor_raven_widget_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (UsageMonitorRavenWidget, g_object_unref)
VALA_EXTERN UsageMonitorRavenWidget* usage_monitor_raven_widget_new (const gchar* uuid,
                                                         GSettings* settings);
VALA_EXTERN UsageMonitorRavenWidget* usage_monitor_raven_widget_construct (GType object_type,
                                                               const gchar* uuid,
                                                               GSettings* settings);
GType usage_monitor_raven_widget_settings_register_type (GTypeModule * module);
VALA_EXTERN GType usage_monitor_raven_widget_settings_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (UsageMonitorRavenWidgetSettings, g_object_unref)
VALA_EXTERN UsageMonitorRavenWidgetSettings* usage_monitor_raven_widget_settings_new (GSettings* settings);
VALA_EXTERN UsageMonitorRavenWidgetSettings* usage_monitor_raven_widget_settings_construct (GType object_type,
                                                                                GSettings* settings);
VALA_EXTERN void peas_register_types (GTypeModule* module);

G_END_DECLS

#endif
