/* astal-notifd.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __ASTAL_NOTIFD_H__
#define __ASTAL_NOTIFD_H__

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

G_BEGIN_DECLS

#define ASTAL_NOTIFD_MAJOR_VERSION 0
#define ASTAL_NOTIFD_MINOR_VERSION 1
#define ASTAL_NOTIFD_MICRO_VERSION 0
#define ASTAL_NOTIFD_VERSION "0.1.0"
#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 ASTAL_NOTIFD_TYPE_ACTION (astal_notifd_action_get_type ())
#define ASTAL_NOTIFD_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_NOTIFD_TYPE_ACTION, AstalNotifdAction))
#define ASTAL_NOTIFD_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_NOTIFD_TYPE_ACTION, AstalNotifdActionClass))
#define ASTAL_NOTIFD_IS_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_NOTIFD_TYPE_ACTION))
#define ASTAL_NOTIFD_IS_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_NOTIFD_TYPE_ACTION))
#define ASTAL_NOTIFD_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_NOTIFD_TYPE_ACTION, AstalNotifdActionClass))

typedef struct _AstalNotifdAction AstalNotifdAction;
typedef struct _AstalNotifdActionClass AstalNotifdActionClass;
typedef struct _AstalNotifdActionPrivate AstalNotifdActionPrivate;
typedef enum  {
	ASTAL_NOTIFD_URGENCY_LOW = 0,
	ASTAL_NOTIFD_URGENCY_NORMAL = 1,
	ASTAL_NOTIFD_URGENCY_CRITICAL = 2
} AstalNotifdUrgency;

#define ASTAL_NOTIFD_TYPE_URGENCY (astal_notifd_urgency_get_type ())
typedef enum  {
	ASTAL_NOTIFD_CLOSED_REASON_EXPIRED = 1,
	ASTAL_NOTIFD_CLOSED_REASON_DISMISSED_BY_USER = 2,
	ASTAL_NOTIFD_CLOSED_REASON_CLOSED = 3,
	ASTAL_NOTIFD_CLOSED_REASON_UNDEFINED = 4
} AstalNotifdClosedReason;

#define ASTAL_NOTIFD_TYPE_CLOSED_REASON (astal_notifd_closed_reason_get_type ())
typedef enum  {
	ASTAL_NOTIFD_STATE_DRAFT,
	ASTAL_NOTIFD_STATE_SENT,
	ASTAL_NOTIFD_STATE_RECEIVED
} AstalNotifdState;

#define ASTAL_NOTIFD_TYPE_STATE (astal_notifd_state_get_type ())

#define ASTAL_NOTIFD_TYPE_NOTIFD (astal_notifd_notifd_get_type ())
#define ASTAL_NOTIFD_NOTIFD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_NOTIFD_TYPE_NOTIFD, AstalNotifdNotifd))
#define ASTAL_NOTIFD_NOTIFD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_NOTIFD_TYPE_NOTIFD, AstalNotifdNotifdClass))
#define ASTAL_NOTIFD_IS_NOTIFD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_NOTIFD_TYPE_NOTIFD))
#define ASTAL_NOTIFD_IS_NOTIFD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_NOTIFD_TYPE_NOTIFD))
#define ASTAL_NOTIFD_NOTIFD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_NOTIFD_TYPE_NOTIFD, AstalNotifdNotifdClass))

typedef struct _AstalNotifdNotifd AstalNotifdNotifd;
typedef struct _AstalNotifdNotifdClass AstalNotifdNotifdClass;
typedef struct _AstalNotifdNotifdPrivate AstalNotifdNotifdPrivate;

#define ASTAL_NOTIFD_TYPE_NOTIFICATION (astal_notifd_notification_get_type ())
#define ASTAL_NOTIFD_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_NOTIFD_TYPE_NOTIFICATION, AstalNotifdNotification))
#define ASTAL_NOTIFD_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_NOTIFD_TYPE_NOTIFICATION, AstalNotifdNotificationClass))
#define ASTAL_NOTIFD_IS_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_NOTIFD_TYPE_NOTIFICATION))
#define ASTAL_NOTIFD_IS_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_NOTIFD_TYPE_NOTIFICATION))
#define ASTAL_NOTIFD_NOTIFICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_NOTIFD_TYPE_NOTIFICATION, AstalNotifdNotificationClass))

typedef struct _AstalNotifdNotification AstalNotifdNotification;
typedef struct _AstalNotifdNotificationClass AstalNotifdNotificationClass;
typedef struct _AstalNotifdNotificationPrivate AstalNotifdNotificationPrivate;

struct _AstalNotifdAction {
	GObject parent_instance;
	AstalNotifdActionPrivate * priv;
};

struct _AstalNotifdActionClass {
	GObjectClass parent_class;
};

struct _AstalNotifdNotifd {
	GObject parent_instance;
	AstalNotifdNotifdPrivate * priv;
};

struct _AstalNotifdNotifdClass {
	GObjectClass parent_class;
};

struct _AstalNotifdNotification {
	GObject parent_instance;
	AstalNotifdNotificationPrivate * priv;
};

struct _AstalNotifdNotificationClass {
	GObjectClass parent_class;
};

VALA_EXTERN GType astal_notifd_action_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalNotifdAction, g_object_unref)
VALA_EXTERN AstalNotifdAction* astal_notifd_action_new (const gchar* id,
                                            const gchar* label);
VALA_EXTERN AstalNotifdAction* astal_notifd_action_construct (GType object_type,
                                                  const gchar* id,
                                                  const gchar* label);
VALA_EXTERN void astal_notifd_action_invoke (AstalNotifdAction* self);
VALA_EXTERN const gchar* astal_notifd_action_get_id (AstalNotifdAction* self);
VALA_EXTERN void astal_notifd_action_set_id (AstalNotifdAction* self,
                                 const gchar* value);
VALA_EXTERN const gchar* astal_notifd_action_get_label (AstalNotifdAction* self);
VALA_EXTERN void astal_notifd_action_set_label (AstalNotifdAction* self,
                                    const gchar* value);
VALA_EXTERN GType astal_notifd_urgency_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType astal_notifd_closed_reason_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType astal_notifd_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType astal_notifd_notifd_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalNotifdNotifd, g_object_unref)
VALA_EXTERN AstalNotifdNotifd* astal_notifd_get_default (void);
VALA_EXTERN AstalNotifdNotifd* astal_notifd_notifd_get_default (void);
VALA_EXTERN GType astal_notifd_notification_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalNotifdNotification, g_object_unref)
VALA_EXTERN AstalNotifdNotification* astal_notifd_notifd_get_notification (AstalNotifdNotifd* self,
                                                               guint id);
VALA_EXTERN AstalNotifdNotifd* astal_notifd_notifd_new (void);
VALA_EXTERN AstalNotifdNotifd* astal_notifd_notifd_construct (GType object_type);
VALA_EXTERN gboolean astal_notifd_notifd_get_ignore_timeout (AstalNotifdNotifd* self);
VALA_EXTERN void astal_notifd_notifd_set_ignore_timeout (AstalNotifdNotifd* self,
                                             gboolean value);
VALA_EXTERN gboolean astal_notifd_notifd_get_dont_disturb (AstalNotifdNotifd* self);
VALA_EXTERN void astal_notifd_notifd_set_dont_disturb (AstalNotifdNotifd* self,
                                           gboolean value);
VALA_EXTERN gint astal_notifd_notifd_get_default_timeout (AstalNotifdNotifd* self);
VALA_EXTERN void astal_notifd_notifd_set_default_timeout (AstalNotifdNotifd* self,
                                              gint value);
VALA_EXTERN GList* astal_notifd_notifd_get_notifications (AstalNotifdNotifd* self);
VALA_EXTERN void astal_notifd_notification_dismiss (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_expire (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_invoke (AstalNotifdNotification* self,
                                       const gchar* action_id);
VALA_EXTERN AstalNotifdNotification* astal_notifd_notification_add_action (AstalNotifdNotification* self,
                                                               AstalNotifdAction* action);
VALA_EXTERN AstalNotifdNotification* astal_notifd_notification_set_hint (AstalNotifdNotification* self,
                                                             const gchar* name,
                                                             GVariant* value);
VALA_EXTERN GVariant* astal_notifd_notification_get_hint (AstalNotifdNotification* self,
                                              const gchar* name);
VALA_EXTERN AstalNotifdNotification* astal_notifd_notification_new (void);
VALA_EXTERN AstalNotifdNotification* astal_notifd_notification_construct (GType object_type);
VALA_EXTERN AstalNotifdState astal_notifd_notification_get_state (AstalNotifdNotification* self);
VALA_EXTERN gint64 astal_notifd_notification_get_time (AstalNotifdNotification* self);
VALA_EXTERN guint32 astal_notifd_notification_get_id (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_id (AstalNotifdNotification* self,
                                       guint32 value);
VALA_EXTERN const gchar* astal_notifd_notification_get_app_name (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_app_name (AstalNotifdNotification* self,
                                             const gchar* value);
VALA_EXTERN const gchar* astal_notifd_notification_get_app_icon (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_app_icon (AstalNotifdNotification* self,
                                             const gchar* value);
VALA_EXTERN const gchar* astal_notifd_notification_get_summary (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_summary (AstalNotifdNotification* self,
                                            const gchar* value);
VALA_EXTERN const gchar* astal_notifd_notification_get_body (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_body (AstalNotifdNotification* self,
                                         const gchar* value);
VALA_EXTERN gint32 astal_notifd_notification_get_expire_timeout (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_expire_timeout (AstalNotifdNotification* self,
                                                   gint32 value);
VALA_EXTERN GList* astal_notifd_notification_get_actions (AstalNotifdNotification* self);
VALA_EXTERN GVariant* astal_notifd_notification_get_hints (AstalNotifdNotification* self);
VALA_EXTERN gchar* astal_notifd_notification_get_image (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_image (AstalNotifdNotification* self,
                                          const gchar* value);
VALA_EXTERN gboolean astal_notifd_notification_get_action_icons (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_action_icons (AstalNotifdNotification* self,
                                                 gboolean value);
VALA_EXTERN gchar* astal_notifd_notification_get_category (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_category (AstalNotifdNotification* self,
                                             const gchar* value);
VALA_EXTERN gchar* astal_notifd_notification_get_desktop_entry (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_desktop_entry (AstalNotifdNotification* self,
                                                  const gchar* value);
VALA_EXTERN gboolean astal_notifd_notification_get_resident (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_resident (AstalNotifdNotification* self,
                                             gboolean value);
VALA_EXTERN gchar* astal_notifd_notification_get_sound_file (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_sound_file (AstalNotifdNotification* self,
                                               const gchar* value);
VALA_EXTERN gchar* astal_notifd_notification_get_sound_name (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_sound_name (AstalNotifdNotification* self,
                                               const gchar* value);
VALA_EXTERN gboolean astal_notifd_notification_get_suppress_sound (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_suppress_sound (AstalNotifdNotification* self,
                                                   gboolean value);
VALA_EXTERN gboolean astal_notifd_notification_get_transient (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_transient (AstalNotifdNotification* self,
                                              gboolean value);
VALA_EXTERN gint astal_notifd_notification_get_x (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_x (AstalNotifdNotification* self,
                                      gint value);
VALA_EXTERN gint astal_notifd_notification_get_y (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_y (AstalNotifdNotification* self,
                                      gint value);
VALA_EXTERN AstalNotifdUrgency astal_notifd_notification_get_urgency (AstalNotifdNotification* self);
VALA_EXTERN void astal_notifd_notification_set_urgency (AstalNotifdNotification* self,
                                            AstalNotifdUrgency value);
VALA_EXTERN void astal_notifd_send_notification (AstalNotifdNotification* notification,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_);
VALA_EXTERN void astal_notifd_send_notification_finish (GAsyncResult* _res_,
                                            GError** error);

G_END_DECLS

#endif
