/* Saveable.c generated by valac 0.56.19, the Vala compiler
 * generated from Saveable.vala, do not modify */

#include <glib-object.h>
#include <gtk/gtk.h>
#include <gio/gio.h>
#include <glib.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#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 TUBA_DIALOGS_TYPE_SAVEABLE (tuba_dialogs_saveable_get_type ())
#define TUBA_DIALOGS_SAVEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_DIALOGS_TYPE_SAVEABLE, TubaDialogsSaveable))
#define TUBA_DIALOGS_IS_SAVEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_DIALOGS_TYPE_SAVEABLE))
#define TUBA_DIALOGS_SAVEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TUBA_DIALOGS_TYPE_SAVEABLE, TubaDialogsSaveableIface))

typedef struct _TubaDialogsSaveable TubaDialogsSaveable;
typedef struct _TubaDialogsSaveableIface TubaDialogsSaveableIface;

struct _TubaDialogsSaveableIface {
	GTypeInterface parent_iface;
};

VALA_EXTERN GType tuba_dialogs_saveable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsSaveable, g_object_unref)
VALA_EXTERN void tuba_dialogs_saveable_construct_saveable (TubaDialogsSaveable* self,
                                               GSettings* settings);
static GType tuba_dialogs_saveable_get_type_once (void);

void
tuba_dialogs_saveable_construct_saveable (TubaDialogsSaveable* self,
                                          GSettings* settings)
{
	g_return_if_fail (settings != NULL);
	g_settings_bind (settings, "window-w", (GObject*) self, "default-width", G_SETTINGS_BIND_DEFAULT);
	g_settings_bind (settings, "window-h", (GObject*) self, "default-height", G_SETTINGS_BIND_DEFAULT);
	g_settings_bind (settings, "window-maximized", (GObject*) self, "maximized", G_SETTINGS_BIND_DEFAULT);
}

static void
tuba_dialogs_saveable_default_init (TubaDialogsSaveableIface * iface,
                                    gpointer iface_data)
{
}

 G_GNUC_NO_INLINE static GType
tuba_dialogs_saveable_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaDialogsSaveableIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_dialogs_saveable_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType tuba_dialogs_saveable_type_id;
	tuba_dialogs_saveable_type_id = g_type_register_static (G_TYPE_INTERFACE, "TubaDialogsSaveable", &g_define_type_info, G_TYPE_FLAG_NONE);
	g_type_interface_add_prerequisite (tuba_dialogs_saveable_type_id, gtk_window_get_type ());
	return tuba_dialogs_saveable_type_id;
}

GType
tuba_dialogs_saveable_get_type (void)
{
	static GType tuba_dialogs_saveable_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_dialogs_saveable_type_id__once)) {
		GType tuba_dialogs_saveable_type_id;
		tuba_dialogs_saveable_type_id = tuba_dialogs_saveable_get_type_once ();
		g_once_init_leave_pointer (&tuba_dialogs_saveable_type_id__once, tuba_dialogs_saveable_type_id);
	}
	return tuba_dialogs_saveable_type_id__once;
}

