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

#ifndef __SRC_RAVEN_WIDGETS_SOUND_INPUT_ORG_BUDDIESOFBUDGIE_BUDGIE_DESKTOP_RAVEN_WIDGET_SOUNDINPUT_H__
#define __SRC_RAVEN_WIDGETS_SOUND_INPUT_ORG_BUDDIESOFBUDGIE_BUDGIE_DESKTOP_RAVEN_WIDGET_SOUNDINPUT_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_SOUND_INPUT_RAVEN_PLUGIN (sound_input_raven_plugin_get_type ())
#define SOUND_INPUT_RAVEN_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOUND_INPUT_RAVEN_PLUGIN, SoundInputRavenPlugin))
#define SOUND_INPUT_RAVEN_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOUND_INPUT_RAVEN_PLUGIN, SoundInputRavenPluginClass))
#define IS_SOUND_INPUT_RAVEN_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOUND_INPUT_RAVEN_PLUGIN))
#define IS_SOUND_INPUT_RAVEN_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOUND_INPUT_RAVEN_PLUGIN))
#define SOUND_INPUT_RAVEN_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOUND_INPUT_RAVEN_PLUGIN, SoundInputRavenPluginClass))

typedef struct _SoundInputRavenPlugin SoundInputRavenPlugin;
typedef struct _SoundInputRavenPluginClass SoundInputRavenPluginClass;
typedef struct _SoundInputRavenPluginPrivate SoundInputRavenPluginPrivate;

#define TYPE_SOUND_INPUT_RAVEN_WIDGET (sound_input_raven_widget_get_type ())
#define SOUND_INPUT_RAVEN_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOUND_INPUT_RAVEN_WIDGET, SoundInputRavenWidget))
#define SOUND_INPUT_RAVEN_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOUND_INPUT_RAVEN_WIDGET, SoundInputRavenWidgetClass))
#define IS_SOUND_INPUT_RAVEN_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOUND_INPUT_RAVEN_WIDGET))
#define IS_SOUND_INPUT_RAVEN_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOUND_INPUT_RAVEN_WIDGET))
#define SOUND_INPUT_RAVEN_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOUND_INPUT_RAVEN_WIDGET, SoundInputRavenWidgetClass))

typedef struct _SoundInputRavenWidget SoundInputRavenWidget;
typedef struct _SoundInputRavenWidgetClass SoundInputRavenWidgetClass;
typedef struct _SoundInputRavenWidgetPrivate SoundInputRavenWidgetPrivate;

#define TYPE_SOUND_INPUT_RAVEN_WIDGET_SETTINGS (sound_input_raven_widget_settings_get_type ())
#define SOUND_INPUT_RAVEN_WIDGET_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOUND_INPUT_RAVEN_WIDGET_SETTINGS, SoundInputRavenWidgetSettings))
#define SOUND_INPUT_RAVEN_WIDGET_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOUND_INPUT_RAVEN_WIDGET_SETTINGS, SoundInputRavenWidgetSettingsClass))
#define IS_SOUND_INPUT_RAVEN_WIDGET_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOUND_INPUT_RAVEN_WIDGET_SETTINGS))
#define IS_SOUND_INPUT_RAVEN_WIDGET_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOUND_INPUT_RAVEN_WIDGET_SETTINGS))
#define SOUND_INPUT_RAVEN_WIDGET_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOUND_INPUT_RAVEN_WIDGET_SETTINGS, SoundInputRavenWidgetSettingsClass))

typedef struct _SoundInputRavenWidgetSettings SoundInputRavenWidgetSettings;
typedef struct _SoundInputRavenWidgetSettingsClass SoundInputRavenWidgetSettingsClass;
typedef struct _SoundInputRavenWidgetSettingsPrivate SoundInputRavenWidgetSettingsPrivate;

struct _SoundInputRavenPlugin {
	PeasExtensionBase parent_instance;
	SoundInputRavenPluginPrivate * priv;
};

struct _SoundInputRavenPluginClass {
	PeasExtensionBaseClass parent_class;
};

struct _SoundInputRavenWidget {
	BudgieRavenWidget parent_instance;
	SoundInputRavenWidgetPrivate * priv;
};

struct _SoundInputRavenWidgetClass {
	BudgieRavenWidgetClass parent_class;
};

struct _SoundInputRavenWidgetSettings {
	GtkGrid parent_instance;
	SoundInputRavenWidgetSettingsPrivate * priv;
};

struct _SoundInputRavenWidgetSettingsClass {
	GtkGridClass parent_class;
};

GType sound_input_raven_plugin_register_type (GTypeModule * module);
VALA_EXTERN GType sound_input_raven_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundInputRavenPlugin, g_object_unref)
VALA_EXTERN SoundInputRavenPlugin* sound_input_raven_plugin_new (void);
VALA_EXTERN SoundInputRavenPlugin* sound_input_raven_plugin_construct (GType object_type);
GType sound_input_raven_widget_register_type (GTypeModule * module);
VALA_EXTERN GType sound_input_raven_widget_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundInputRavenWidget, g_object_unref)
VALA_EXTERN SoundInputRavenWidget* sound_input_raven_widget_new (const gchar* uuid,
                                                     GSettings* settings);
VALA_EXTERN SoundInputRavenWidget* sound_input_raven_widget_construct (GType object_type,
                                                           const gchar* uuid,
                                                           GSettings* settings);
VALA_EXTERN gboolean sound_input_raven_widget_has_devices (SoundInputRavenWidget* self);
GType sound_input_raven_widget_settings_register_type (GTypeModule * module);
VALA_EXTERN GType sound_input_raven_widget_settings_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundInputRavenWidgetSettings, g_object_unref)
VALA_EXTERN SoundInputRavenWidgetSettings* sound_input_raven_widget_settings_new (GSettings* settings);
VALA_EXTERN SoundInputRavenWidgetSettings* sound_input_raven_widget_settings_construct (GType object_type,
                                                                            GSettings* settings);
VALA_EXTERN void peas_register_types (GTypeModule* module);

G_END_DECLS

#endif
