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

#ifndef __SRC_PANEL_APPLETS_RAVEN_TRIGGER_RAVENTRIGGERAPPLET_H__
#define __SRC_PANEL_APPLETS_RAVEN_TRIGGER_RAVENTRIGGERAPPLET_H__

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

G_BEGIN_DECLS

#define RAVEN_DBUS_NAME "org.budgie_desktop.Raven"
#define RAVEN_DBUS_OBJECT_PATH "/org/budgie_desktop/Raven"
#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_RAVEN_TRIGGER_PROXY (raven_trigger_proxy_get_type ())
#define RAVEN_TRIGGER_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAVEN_TRIGGER_PROXY, RavenTriggerProxy))
#define IS_RAVEN_TRIGGER_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAVEN_TRIGGER_PROXY))
#define RAVEN_TRIGGER_PROXY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_RAVEN_TRIGGER_PROXY, RavenTriggerProxyIface))

typedef struct _RavenTriggerProxy RavenTriggerProxy;
typedef struct _RavenTriggerProxyIface RavenTriggerProxyIface;

#define TYPE_RAVEN_TRIGGER_PROXY_PROXY (raven_trigger_proxy_proxy_get_type ())

#define TYPE_RAVEN_TRIGGER_PLUGIN (raven_trigger_plugin_get_type ())
#define RAVEN_TRIGGER_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAVEN_TRIGGER_PLUGIN, RavenTriggerPlugin))
#define RAVEN_TRIGGER_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAVEN_TRIGGER_PLUGIN, RavenTriggerPluginClass))
#define IS_RAVEN_TRIGGER_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAVEN_TRIGGER_PLUGIN))
#define IS_RAVEN_TRIGGER_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAVEN_TRIGGER_PLUGIN))
#define RAVEN_TRIGGER_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAVEN_TRIGGER_PLUGIN, RavenTriggerPluginClass))

typedef struct _RavenTriggerPlugin RavenTriggerPlugin;
typedef struct _RavenTriggerPluginClass RavenTriggerPluginClass;
typedef struct _RavenTriggerPluginPrivate RavenTriggerPluginPrivate;

#define TYPE_RAVEN_TRIGGER_APPLET (raven_trigger_applet_get_type ())
#define RAVEN_TRIGGER_APPLET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAVEN_TRIGGER_APPLET, RavenTriggerApplet))
#define RAVEN_TRIGGER_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAVEN_TRIGGER_APPLET, RavenTriggerAppletClass))
#define IS_RAVEN_TRIGGER_APPLET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAVEN_TRIGGER_APPLET))
#define IS_RAVEN_TRIGGER_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAVEN_TRIGGER_APPLET))
#define RAVEN_TRIGGER_APPLET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAVEN_TRIGGER_APPLET, RavenTriggerAppletClass))

typedef struct _RavenTriggerApplet RavenTriggerApplet;
typedef struct _RavenTriggerAppletClass RavenTriggerAppletClass;
typedef struct _RavenTriggerAppletPrivate RavenTriggerAppletPrivate;

struct _RavenTriggerProxyIface {
	GTypeInterface parent_iface;
	void (*ToggleAppletView) (RavenTriggerProxy* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*ToggleAppletView_finish) (RavenTriggerProxy* self, GAsyncResult* _res_, GError** error);
	gboolean (*GetExpanded) (RavenTriggerProxy* self, GError** error);
	gboolean (*GetLeftAnchored) (RavenTriggerProxy* self, GError** error);
};

struct _RavenTriggerPlugin {
	PeasExtensionBase parent_instance;
	RavenTriggerPluginPrivate * priv;
};

struct _RavenTriggerPluginClass {
	PeasExtensionBaseClass parent_class;
};

struct _RavenTriggerApplet {
	BudgieApplet parent_instance;
	RavenTriggerAppletPrivate * priv;
	GtkButton* widget;
	GtkImage* img_expanded;
	GtkImage* img_hidden;
	GtkStack* img_stack;
};

struct _RavenTriggerAppletClass {
	BudgieAppletClass parent_class;
};

VALA_EXTERN GType raven_trigger_proxy_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void raven_trigger_proxy_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint raven_trigger_proxy_register_object (void* object,
                                           GDBusConnection* connection,
                                           const gchar* path,
                                           GError** error);
GType raven_trigger_proxy_register_type (GTypeModule * module);
VALA_EXTERN GType raven_trigger_proxy_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RavenTriggerProxy, g_object_unref)
VALA_EXTERN void raven_trigger_proxy_ToggleAppletView (RavenTriggerProxy* self,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN void raven_trigger_proxy_ToggleAppletView_finish (RavenTriggerProxy* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN gboolean raven_trigger_proxy_GetExpanded (RavenTriggerProxy* self,
                                          GError** error);
VALA_EXTERN gboolean raven_trigger_proxy_GetLeftAnchored (RavenTriggerProxy* self,
                                              GError** error);
GType raven_trigger_plugin_register_type (GTypeModule * module);
VALA_EXTERN GType raven_trigger_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RavenTriggerPlugin, g_object_unref)
VALA_EXTERN RavenTriggerPlugin* raven_trigger_plugin_new (void);
VALA_EXTERN RavenTriggerPlugin* raven_trigger_plugin_construct (GType object_type);
GType raven_trigger_applet_register_type (GTypeModule * module);
VALA_EXTERN GType raven_trigger_applet_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RavenTriggerApplet, g_object_unref)
VALA_EXTERN RavenTriggerApplet* raven_trigger_applet_new (void);
VALA_EXTERN RavenTriggerApplet* raven_trigger_applet_construct (GType object_type);
VALA_EXTERN void peas_register_types (GTypeModule* module);

G_END_DECLS

#endif
