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

#ifndef __SRC_PANEL_APPLETS_NOTIFICATIONS_NOTIFICATIONSAPPLET_H__
#define __SRC_PANEL_APPLETS_NOTIFICATIONS_NOTIFICATIONSAPPLET_H__

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

G_BEGIN_DECLS

#define RAVEN_DBUS_NAME "org.budgie_desktop.Raven"
#define RAVEN_DBUS_OBJECT_PATH "/org/budgie_desktop/Raven"
#define NOTIFICATION_DBUS_NAME "org.budgie_desktop.Notifications"
#define NOTIFICATION_DBUS_OBJECT_PATH "/org/budgie_desktop/Notifications"
#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_NOTIFICATIONS_PLUGIN (notifications_plugin_get_type ())
#define NOTIFICATIONS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFICATIONS_PLUGIN, NotificationsPlugin))
#define NOTIFICATIONS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFICATIONS_PLUGIN, NotificationsPluginClass))
#define IS_NOTIFICATIONS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFICATIONS_PLUGIN))
#define IS_NOTIFICATIONS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFICATIONS_PLUGIN))
#define NOTIFICATIONS_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFICATIONS_PLUGIN, NotificationsPluginClass))

typedef struct _NotificationsPlugin NotificationsPlugin;
typedef struct _NotificationsPluginClass NotificationsPluginClass;
typedef struct _NotificationsPluginPrivate NotificationsPluginPrivate;

#define TYPE_RAVEN_REMOTE (raven_remote_get_type ())
#define RAVEN_REMOTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAVEN_REMOTE, RavenRemote))
#define IS_RAVEN_REMOTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAVEN_REMOTE))
#define RAVEN_REMOTE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_RAVEN_REMOTE, RavenRemoteIface))

typedef struct _RavenRemote RavenRemote;
typedef struct _RavenRemoteIface RavenRemoteIface;

#define TYPE_RAVEN_REMOTE_PROXY (raven_remote_proxy_get_type ())

#define TYPE_DISPATCHER_REMOTE (dispatcher_remote_get_type ())
#define DISPATCHER_REMOTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISPATCHER_REMOTE, DispatcherRemote))
#define IS_DISPATCHER_REMOTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISPATCHER_REMOTE))
#define DISPATCHER_REMOTE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DISPATCHER_REMOTE, DispatcherRemoteIface))

typedef struct _DispatcherRemote DispatcherRemote;
typedef struct _DispatcherRemoteIface DispatcherRemoteIface;

#define TYPE_DISPATCHER_REMOTE_PROXY (dispatcher_remote_proxy_get_type ())

#define TYPE_NOTIFICATIONS_APPLET (notifications_applet_get_type ())
#define NOTIFICATIONS_APPLET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFICATIONS_APPLET, NotificationsApplet))
#define NOTIFICATIONS_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFICATIONS_APPLET, NotificationsAppletClass))
#define IS_NOTIFICATIONS_APPLET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFICATIONS_APPLET))
#define IS_NOTIFICATIONS_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFICATIONS_APPLET))
#define NOTIFICATIONS_APPLET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFICATIONS_APPLET, NotificationsAppletClass))

typedef struct _NotificationsApplet NotificationsApplet;
typedef struct _NotificationsAppletClass NotificationsAppletClass;
typedef struct _NotificationsAppletPrivate NotificationsAppletPrivate;

struct _NotificationsPlugin {
	PeasExtensionBase parent_instance;
	NotificationsPluginPrivate * priv;
};

struct _NotificationsPluginClass {
	PeasExtensionBaseClass parent_class;
};

struct _RavenRemoteIface {
	GTypeInterface parent_iface;
	void (*ToggleNotificationsView) (RavenRemote* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*ToggleNotificationsView_finish) (RavenRemote* self, GAsyncResult* _res_, GError** error);
	void (*GetNotificationCount) (RavenRemote* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	guint (*GetNotificationCount_finish) (RavenRemote* self, GAsyncResult* _res_, GError** error);
};

struct _DispatcherRemoteIface {
	GTypeInterface parent_iface;
	void (*toggle_do_not_disturb) (DispatcherRemote* self, GError** error);
};

struct _NotificationsApplet {
	BudgieApplet parent_instance;
	NotificationsAppletPrivate * priv;
};

struct _NotificationsAppletClass {
	BudgieAppletClass parent_class;
};

GType notifications_plugin_register_type (GTypeModule * module);
VALA_EXTERN GType notifications_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NotificationsPlugin, g_object_unref)
VALA_EXTERN NotificationsPlugin* notifications_plugin_new (void);
VALA_EXTERN NotificationsPlugin* notifications_plugin_construct (GType object_type);
VALA_EXTERN GType raven_remote_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void raven_remote_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint raven_remote_register_object (void* object,
                                    GDBusConnection* connection,
                                    const gchar* path,
                                    GError** error);
GType raven_remote_register_type (GTypeModule * module);
VALA_EXTERN GType raven_remote_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RavenRemote, g_object_unref)
VALA_EXTERN void raven_remote_ToggleNotificationsView (RavenRemote* self,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN void raven_remote_ToggleNotificationsView_finish (RavenRemote* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN void raven_remote_GetNotificationCount (RavenRemote* self,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN guint raven_remote_GetNotificationCount_finish (RavenRemote* self,
                                                GAsyncResult* _res_,
                                                GError** error);
VALA_EXTERN GType dispatcher_remote_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void dispatcher_remote_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint dispatcher_remote_register_object (void* object,
                                         GDBusConnection* connection,
                                         const gchar* path,
                                         GError** error);
GType dispatcher_remote_register_type (GTypeModule * module);
VALA_EXTERN GType dispatcher_remote_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DispatcherRemote, g_object_unref)
VALA_EXTERN void dispatcher_remote_toggle_do_not_disturb (DispatcherRemote* self,
                                              GError** error);
GType notifications_applet_register_type (GTypeModule * module);
VALA_EXTERN GType notifications_applet_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NotificationsApplet, g_object_unref)
VALA_EXTERN NotificationsApplet* notifications_applet_new (void);
VALA_EXTERN NotificationsApplet* notifications_applet_construct (GType object_type);
VALA_EXTERN void peas_register_types (GTypeModule* module);

G_END_DECLS

#endif
