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

#ifndef __SRC_LIB_BUDGIE_WAYLANDCLIENT_H__
#define __SRC_LIB_BUDGIE_WAYLANDCLIENT_H__

#include <glib.h>
#include <glib-object.h>
#include <gdk/gdk.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

typedef gboolean (*BudgieMonitorCallback) (gpointer user_data);

#define BUDGIE_TYPE_WAYLAND_CLIENT (budgie_wayland_client_get_type ())
#define BUDGIE_WAYLAND_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUDGIE_TYPE_WAYLAND_CLIENT, BudgieWaylandClient))
#define BUDGIE_WAYLAND_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BUDGIE_TYPE_WAYLAND_CLIENT, BudgieWaylandClientClass))
#define BUDGIE_IS_WAYLAND_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUDGIE_TYPE_WAYLAND_CLIENT))
#define BUDGIE_IS_WAYLAND_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BUDGIE_TYPE_WAYLAND_CLIENT))
#define BUDGIE_WAYLAND_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BUDGIE_TYPE_WAYLAND_CLIENT, BudgieWaylandClientClass))

typedef struct _BudgieWaylandClient BudgieWaylandClient;
typedef struct _BudgieWaylandClientClass BudgieWaylandClientClass;
typedef struct _BudgieWaylandClientPrivate BudgieWaylandClientPrivate;

struct _BudgieWaylandClient {
	GObject parent_instance;
	BudgieWaylandClientPrivate * priv;
};

struct _BudgieWaylandClientClass {
	GObjectClass parent_class;
};

VALA_EXTERN GType budgie_wayland_client_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BudgieWaylandClient, g_object_unref)
VALA_EXTERN gboolean budgie_wayland_client_is_initialised (BudgieWaylandClient* self);
VALA_EXTERN BudgieWaylandClient* budgie_wayland_client_new (void);
VALA_EXTERN BudgieWaylandClient* budgie_wayland_client_construct (GType object_type);
VALA_EXTERN gboolean budgie_wayland_client_with_valid_monitor (BudgieWaylandClient* self,
                                                   BudgieMonitorCallback callback,
                                                   gpointer callback_target,
                                                   GDestroyNotify callback_target_destroy_notify);
VALA_EXTERN GdkMonitor* budgie_wayland_client_get_gdk_monitor (BudgieWaylandClient* self);
VALA_EXTERN void budgie_wayland_client_get_monitor_res (BudgieWaylandClient* self,
                                            GdkRectangle * result);
VALA_EXTERN gint budgie_wayland_client_get_scale (BudgieWaylandClient* self);

G_END_DECLS

#endif
