/* alarm-sound-model.c generated by valac 0.56.19, the Vala compiler
 * generated from alarm-sound-model.vala, do not modify */

/*
 * Copyright (C) 2025  Adrien Plazas <aplazas@gnome.org>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */

#include <glib-object.h>
#include <gio/gio.h>
#include "config.h"
#include <glib.h>
#include <glib/gi18n-lib.h>
#include <stdlib.h>
#include <string.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 CLOCKS_ALARM_TYPE_SOUND_MODEL (clocks_alarm_sound_model_get_type ())
#define CLOCKS_ALARM_SOUND_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLOCKS_ALARM_TYPE_SOUND_MODEL, ClocksAlarmSoundModel))
#define CLOCKS_ALARM_SOUND_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CLOCKS_ALARM_TYPE_SOUND_MODEL, ClocksAlarmSoundModelClass))
#define CLOCKS_ALARM_IS_SOUND_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLOCKS_ALARM_TYPE_SOUND_MODEL))
#define CLOCKS_ALARM_IS_SOUND_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLOCKS_ALARM_TYPE_SOUND_MODEL))
#define CLOCKS_ALARM_SOUND_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLOCKS_ALARM_TYPE_SOUND_MODEL, ClocksAlarmSoundModelClass))

typedef struct _ClocksAlarmSoundModel ClocksAlarmSoundModel;
typedef struct _ClocksAlarmSoundModelClass ClocksAlarmSoundModelClass;
typedef struct _ClocksAlarmSoundModelPrivate ClocksAlarmSoundModelPrivate;
enum  {
	CLOCKS_ALARM_SOUND_MODEL_0_PROPERTY,
	CLOCKS_ALARM_SOUND_MODEL_NUM_PROPERTIES
};
static GParamSpec* clocks_alarm_sound_model_properties[CLOCKS_ALARM_SOUND_MODEL_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define CLOCKS_TYPE_SOUND (clocks_sound_get_type ())
#define CLOCKS_SOUND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLOCKS_TYPE_SOUND, ClocksSound))
#define CLOCKS_SOUND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CLOCKS_TYPE_SOUND, ClocksSoundClass))
#define CLOCKS_IS_SOUND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLOCKS_TYPE_SOUND))
#define CLOCKS_IS_SOUND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLOCKS_TYPE_SOUND))
#define CLOCKS_SOUND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLOCKS_TYPE_SOUND, ClocksSoundClass))

typedef struct _ClocksSound ClocksSound;
typedef struct _ClocksSoundClass ClocksSoundClass;

struct _ClocksAlarmSoundModel {
	GObject parent_instance;
	ClocksAlarmSoundModelPrivate * priv;
};

struct _ClocksAlarmSoundModelClass {
	GObjectClass parent_class;
};

struct _ClocksAlarmSoundModelPrivate {
	GListStore* store;
};

static gint ClocksAlarmSoundModel_private_offset;
static gpointer clocks_alarm_sound_model_parent_class = NULL;
static GListModelInterface * clocks_alarm_sound_model_g_list_model_parent_iface = NULL;

VALA_EXTERN GType clocks_alarm_sound_model_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClocksAlarmSoundModel, g_object_unref)
static GFile* clocks_alarm_sound_model_build_alarms_dir_file (void);
VALA_EXTERN GFile* clocks_alarm_sound_model_build_default_file (void);
VALA_EXTERN GFile* clocks_alarm_sound_model_build_fallback_file (void);
static GType clocks_alarm_sound_model_real_get_item_type (GListModel* base);
static guint clocks_alarm_sound_model_real_get_n_items (GListModel* base);
static GObject* clocks_alarm_sound_model_real_get_item (GListModel* base,
                                                 guint n);
VALA_EXTERN GType clocks_sound_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClocksSound, g_object_unref)
VALA_EXTERN ClocksSound* clocks_alarm_sound_model_find_by_file (ClocksAlarmSoundModel* self,
                                                    GFile* file);
VALA_EXTERN GFile* clocks_sound_get_file (ClocksSound* self);
VALA_EXTERN ClocksAlarmSoundModel* clocks_alarm_sound_model_new (void);
VALA_EXTERN ClocksAlarmSoundModel* clocks_alarm_sound_model_construct (GType object_type);
static GObject * clocks_alarm_sound_model_constructor (GType type,
                                                guint n_construct_properties,
                                                GObjectConstructParam * construct_properties);
VALA_EXTERN ClocksSound* clocks_sound_new (GFile* file,
                               const gchar* label);
VALA_EXTERN ClocksSound* clocks_sound_construct (GType object_type,
                                     GFile* file,
                                     const gchar* label);
static gint _clocks_alarm_sound_model___lambda6_ (ClocksAlarmSoundModel* self,
                                           GObject* a,
                                           GObject* b);
VALA_EXTERN const gchar* clocks_sound_get_label (ClocksSound* self);
static gint __clocks_alarm_sound_model___lambda6__gcompare_data_func (gconstpointer a,
                                                               gconstpointer b,
                                                               gpointer self);
static void clocks_alarm_sound_model_finalize (GObject * obj);
static GType clocks_alarm_sound_model_get_type_once (void);

static inline gpointer
clocks_alarm_sound_model_get_instance_private (ClocksAlarmSoundModel* self)
{
	return G_STRUCT_MEMBER_P (self, ClocksAlarmSoundModel_private_offset);
}

static GFile*
clocks_alarm_sound_model_build_alarms_dir_file (void)
{
	GFile* _tmp0_;
	GFile* result;
	_tmp0_ = g_file_new_build_filename (DATADIR, "sounds/gnome/default/alarms", NULL);
	result = _tmp0_;
	return result;
}

GFile*
clocks_alarm_sound_model_build_default_file (void)
{
	GFile* _tmp0_;
	GFile* _tmp1_;
	GFile* _tmp2_;
	GFile* _tmp3_;
	GFile* result;
	_tmp0_ = clocks_alarm_sound_model_build_alarms_dir_file ();
	_tmp1_ = _tmp0_;
	_tmp2_ = g_file_get_child (_tmp1_, "toys.oga");
	_tmp3_ = _tmp2_;
	_g_object_unref0 (_tmp1_);
	result = _tmp3_;
	return result;
}

GFile*
clocks_alarm_sound_model_build_fallback_file (void)
{
	GFile* _tmp0_;
	GFile* result;
	_tmp0_ = g_file_new_for_uri ("resource:///org/gnome/clocks/sounds/alarms/beep-beep.oga");
	result = _tmp0_;
	return result;
}

static GType
clocks_alarm_sound_model_real_get_item_type (GListModel* base)
{
	ClocksAlarmSoundModel * self;
	GListStore* _tmp0_;
	GType result;
	self = (ClocksAlarmSoundModel*) base;
	_tmp0_ = self->priv->store;
	result = g_list_model_get_item_type ((GListModel*) _tmp0_);
	return result;
}

static guint
clocks_alarm_sound_model_real_get_n_items (GListModel* base)
{
	ClocksAlarmSoundModel * self;
	GListStore* _tmp0_;
	guint result;
	self = (ClocksAlarmSoundModel*) base;
	_tmp0_ = self->priv->store;
	result = g_list_model_get_n_items ((GListModel*) _tmp0_);
	return result;
}

static GObject*
clocks_alarm_sound_model_real_get_item (GListModel* base,
                                        guint n)
{
	ClocksAlarmSoundModel * self;
	GListStore* _tmp0_;
	GObject* _tmp1_;
	GObject* result;
	self = (ClocksAlarmSoundModel*) base;
	_tmp0_ = self->priv->store;
	_tmp1_ = g_list_model_get_item ((GListModel*) _tmp0_, n);
	result = _tmp1_;
	return result;
}

ClocksSound*
clocks_alarm_sound_model_find_by_file (ClocksAlarmSoundModel* self,
                                       GFile* file)
{
	guint n_items = 0U;
	GListStore* _tmp0_;
	ClocksSound* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (file != NULL, NULL);
	_tmp0_ = self->priv->store;
	n_items = g_list_model_get_n_items ((GListModel*) _tmp0_);
	{
		guint i = 0U;
		i = (guint) 0;
		{
			gboolean _tmp1_ = FALSE;
			_tmp1_ = TRUE;
			while (TRUE) {
				ClocksSound* sound = NULL;
				GListStore* _tmp3_;
				GObject* _tmp4_;
				ClocksSound* _tmp5_;
				gboolean _tmp6_ = FALSE;
				gboolean _tmp7_ = FALSE;
				ClocksSound* _tmp8_;
				if (!_tmp1_) {
					guint _tmp2_;
					_tmp2_ = i;
					i = _tmp2_ + 1;
				}
				_tmp1_ = FALSE;
				if (!(i < n_items)) {
					break;
				}
				_tmp3_ = self->priv->store;
				_tmp4_ = g_list_model_get_item ((GListModel*) _tmp3_, i);
				_tmp5_ = CLOCKS_IS_SOUND (_tmp4_) ? ((ClocksSound*) _tmp4_) : NULL;
				if (_tmp5_ == NULL) {
					_g_object_unref0 (_tmp4_);
				}
				sound = _tmp5_;
				_tmp8_ = sound;
				if (_tmp8_ != NULL) {
					ClocksSound* _tmp9_;
					GFile* _tmp10_;
					GFile* _tmp11_;
					_tmp9_ = sound;
					_tmp10_ = clocks_sound_get_file (_tmp9_);
					_tmp11_ = _tmp10_;
					_tmp7_ = _tmp11_ != NULL;
				} else {
					_tmp7_ = FALSE;
				}
				if (_tmp7_) {
					ClocksSound* _tmp12_;
					GFile* _tmp13_;
					GFile* _tmp14_;
					_tmp12_ = sound;
					_tmp13_ = clocks_sound_get_file (_tmp12_);
					_tmp14_ = _tmp13_;
					_tmp6_ = g_file_equal (_tmp14_, file);
				} else {
					_tmp6_ = FALSE;
				}
				if (_tmp6_) {
					result = sound;
					return result;
				}
				_g_object_unref0 (sound);
			}
		}
	}
	result = NULL;
	return result;
}

ClocksAlarmSoundModel*
clocks_alarm_sound_model_construct (GType object_type)
{
	ClocksAlarmSoundModel * self = NULL;
	self = (ClocksAlarmSoundModel*) g_object_new (object_type, NULL);
	return self;
}

ClocksAlarmSoundModel*
clocks_alarm_sound_model_new (void)
{
	return clocks_alarm_sound_model_construct (CLOCKS_ALARM_TYPE_SOUND_MODEL);
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

static gint
_clocks_alarm_sound_model___lambda6_ (ClocksAlarmSoundModel* self,
                                      GObject* a,
                                      GObject* b)
{
	ClocksSound* sound_a = NULL;
	ClocksSound* _tmp0_;
	ClocksSound* sound_b = NULL;
	ClocksSound* _tmp1_;
	GCompareFunc _tmp2_;
	ClocksSound* _tmp3_;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	ClocksSound* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	gint result;
	g_return_val_if_fail (a != NULL, -1);
	g_return_val_if_fail (b != NULL, -1);
	_tmp0_ = _g_object_ref0 (CLOCKS_IS_SOUND (a) ? ((ClocksSound*) a) : NULL);
	sound_a = _tmp0_;
	_tmp1_ = _g_object_ref0 (CLOCKS_IS_SOUND (b) ? ((ClocksSound*) b) : NULL);
	sound_b = _tmp1_;
	_tmp2_ = ((GCompareFunc) g_strcmp0);
	_tmp3_ = sound_a;
	_tmp4_ = clocks_sound_get_label (_tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = sound_b;
	_tmp7_ = clocks_sound_get_label (_tmp6_);
	_tmp8_ = _tmp7_;
	result = _tmp2_ (_tmp5_, _tmp8_);
	_g_object_unref0 (sound_b);
	_g_object_unref0 (sound_a);
	return result;
}

static gint
__clocks_alarm_sound_model___lambda6__gcompare_data_func (gconstpointer a,
                                                          gconstpointer b,
                                                          gpointer self)
{
	gint result;
	result = _clocks_alarm_sound_model___lambda6_ ((ClocksAlarmSoundModel*) self, (GObject*) a, (GObject*) b);
	return result;
}

static GObject *
clocks_alarm_sound_model_constructor (GType type,
                                      guint n_construct_properties,
                                      GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	ClocksAlarmSoundModel * self;
	GFile* alarms_dir = NULL;
	GFile* _tmp0_;
	GListStore* _tmp1_;
	GListStore* _tmp2_;
	GFile* _tmp3_;
	GFile* _tmp4_;
	ClocksSound* _tmp5_;
	ClocksSound* _tmp6_;
	GListStore* _tmp7_;
	GFile* _tmp8_;
	GFile* _tmp9_;
	GFile* _tmp10_;
	ClocksSound* _tmp11_;
	ClocksSound* _tmp12_;
	GListStore* _tmp13_;
	GFile* _tmp14_;
	GFile* _tmp15_;
	GFile* _tmp16_;
	ClocksSound* _tmp17_;
	ClocksSound* _tmp18_;
	GListStore* _tmp19_;
	GFile* _tmp20_;
	GFile* _tmp21_;
	GFile* _tmp22_;
	ClocksSound* _tmp23_;
	ClocksSound* _tmp24_;
	GListStore* _tmp25_;
	GFile* _tmp26_;
	GFile* _tmp27_;
	GFile* _tmp28_;
	ClocksSound* _tmp29_;
	ClocksSound* _tmp30_;
	GListStore* _tmp31_;
	GFile* _tmp32_;
	GFile* _tmp33_;
	GFile* _tmp34_;
	ClocksSound* _tmp35_;
	ClocksSound* _tmp36_;
	GListStore* _tmp37_;
	GFile* _tmp38_;
	GFile* _tmp39_;
	GFile* _tmp40_;
	ClocksSound* _tmp41_;
	ClocksSound* _tmp42_;
	GListStore* _tmp43_;
	GFile* _tmp44_;
	GFile* _tmp45_;
	GFile* _tmp46_;
	ClocksSound* _tmp47_;
	ClocksSound* _tmp48_;
	GListStore* _tmp49_;
	GFile* _tmp50_;
	GFile* _tmp51_;
	GFile* _tmp52_;
	ClocksSound* _tmp53_;
	ClocksSound* _tmp54_;
	GListStore* _tmp55_;
	GFile* _tmp56_;
	GFile* _tmp57_;
	GFile* _tmp58_;
	ClocksSound* _tmp59_;
	ClocksSound* _tmp60_;
	GListStore* _tmp61_;
	GFile* _tmp62_;
	GFile* _tmp63_;
	GFile* _tmp64_;
	ClocksSound* _tmp65_;
	ClocksSound* _tmp66_;
	GListStore* _tmp67_;
	GFile* _tmp68_;
	GFile* _tmp69_;
	GFile* _tmp70_;
	ClocksSound* _tmp71_;
	ClocksSound* _tmp72_;
	GListStore* _tmp73_;
	GFile* _tmp74_;
	GFile* _tmp75_;
	GFile* _tmp76_;
	ClocksSound* _tmp77_;
	ClocksSound* _tmp78_;
	GListStore* _tmp79_;
	GFile* _tmp80_;
	GFile* _tmp81_;
	GFile* _tmp82_;
	ClocksSound* _tmp83_;
	ClocksSound* _tmp84_;
	GListStore* _tmp85_;
	GFile* _tmp86_;
	GFile* _tmp87_;
	GFile* _tmp88_;
	ClocksSound* _tmp89_;
	ClocksSound* _tmp90_;
	GListStore* _tmp91_;
	GFile* _tmp92_;
	GFile* _tmp93_;
	GFile* _tmp94_;
	ClocksSound* _tmp95_;
	ClocksSound* _tmp96_;
	GListStore* _tmp97_;
	GFile* _tmp98_;
	GFile* _tmp99_;
	GFile* _tmp100_;
	ClocksSound* _tmp101_;
	ClocksSound* _tmp102_;
	GListStore* _tmp103_;
	GFile* _tmp104_;
	GFile* _tmp105_;
	GFile* _tmp106_;
	ClocksSound* _tmp107_;
	ClocksSound* _tmp108_;
	GListStore* _tmp109_;
	GFile* _tmp110_;
	GFile* _tmp111_;
	GFile* _tmp112_;
	ClocksSound* _tmp113_;
	ClocksSound* _tmp114_;
	GListStore* _tmp115_;
	GFile* _tmp116_;
	GFile* _tmp117_;
	GFile* _tmp118_;
	ClocksSound* _tmp119_;
	ClocksSound* _tmp120_;
	GListStore* _tmp121_;
	GFile* _tmp122_;
	GFile* _tmp123_;
	GFile* _tmp124_;
	ClocksSound* _tmp125_;
	ClocksSound* _tmp126_;
	GListStore* _tmp127_;
	GFile* _tmp128_;
	GFile* _tmp129_;
	GFile* _tmp130_;
	ClocksSound* _tmp131_;
	ClocksSound* _tmp132_;
	GListStore* _tmp133_;
	parent_class = G_OBJECT_CLASS (clocks_alarm_sound_model_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, CLOCKS_ALARM_TYPE_SOUND_MODEL, ClocksAlarmSoundModel);
	_tmp0_ = clocks_alarm_sound_model_build_alarms_dir_file ();
	alarms_dir = _tmp0_;
	_tmp1_ = g_list_store_new (CLOCKS_TYPE_SOUND);
	_g_object_unref0 (self->priv->store);
	self->priv->store = _tmp1_;
	_tmp2_ = self->priv->store;
	_tmp3_ = clocks_alarm_sound_model_build_fallback_file ();
	_tmp4_ = _tmp3_;
	_tmp5_ = clocks_sound_new (_tmp4_, _ ("Beep-Beep"));
	_tmp6_ = _tmp5_;
	g_list_store_append (_tmp2_, (GObject*) _tmp6_);
	_g_object_unref0 (_tmp6_);
	_g_object_unref0 (_tmp4_);
	_tmp7_ = self->priv->store;
	_tmp8_ = alarms_dir;
	_tmp9_ = g_file_get_child (_tmp8_, "bird.oga");
	_tmp10_ = _tmp9_;
	_tmp11_ = clocks_sound_new (_tmp10_, _ ("Bird"));
	_tmp12_ = _tmp11_;
	g_list_store_append (_tmp7_, (GObject*) _tmp12_);
	_g_object_unref0 (_tmp12_);
	_g_object_unref0 (_tmp10_);
	_tmp13_ = self->priv->store;
	_tmp14_ = alarms_dir;
	_tmp15_ = g_file_get_child (_tmp14_, "bonfire.oga");
	_tmp16_ = _tmp15_;
	_tmp17_ = clocks_sound_new (_tmp16_, _ ("Bonfire"));
	_tmp18_ = _tmp17_;
	g_list_store_append (_tmp13_, (GObject*) _tmp18_);
	_g_object_unref0 (_tmp18_);
	_g_object_unref0 (_tmp16_);
	_tmp19_ = self->priv->store;
	_tmp20_ = alarms_dir;
	_tmp21_ = g_file_get_child (_tmp20_, "boudoir.oga");
	_tmp22_ = _tmp21_;
	_tmp23_ = clocks_sound_new (_tmp22_, _ ("Boudoir"));
	_tmp24_ = _tmp23_;
	g_list_store_append (_tmp19_, (GObject*) _tmp24_);
	_g_object_unref0 (_tmp24_);
	_g_object_unref0 (_tmp22_);
	_tmp25_ = self->priv->store;
	_tmp26_ = alarms_dir;
	_tmp27_ = g_file_get_child (_tmp26_, "bouncing.oga");
	_tmp28_ = _tmp27_;
	_tmp29_ = clocks_sound_new (_tmp28_, _ ("Bouncing"));
	_tmp30_ = _tmp29_;
	g_list_store_append (_tmp25_, (GObject*) _tmp30_);
	_g_object_unref0 (_tmp30_);
	_g_object_unref0 (_tmp28_);
	_tmp31_ = self->priv->store;
	_tmp32_ = alarms_dir;
	_tmp33_ = g_file_get_child (_tmp32_, "cautious-steps.oga");
	_tmp34_ = _tmp33_;
	_tmp35_ = clocks_sound_new (_tmp34_, _ ("Cautious Steps"));
	_tmp36_ = _tmp35_;
	g_list_store_append (_tmp31_, (GObject*) _tmp36_);
	_g_object_unref0 (_tmp36_);
	_g_object_unref0 (_tmp34_);
	_tmp37_ = self->priv->store;
	_tmp38_ = alarms_dir;
	_tmp39_ = g_file_get_child (_tmp38_, "chirping.oga");
	_tmp40_ = _tmp39_;
	_tmp41_ = clocks_sound_new (_tmp40_, _ ("Chirping"));
	_tmp42_ = _tmp41_;
	g_list_store_append (_tmp37_, (GObject*) _tmp42_);
	_g_object_unref0 (_tmp42_);
	_g_object_unref0 (_tmp40_);
	_tmp43_ = self->priv->store;
	_tmp44_ = alarms_dir;
	_tmp45_ = g_file_get_child (_tmp44_, "class-act.oga");
	_tmp46_ = _tmp45_;
	_tmp47_ = clocks_sound_new (_tmp46_, _ ("Class Act"));
	_tmp48_ = _tmp47_;
	g_list_store_append (_tmp43_, (GObject*) _tmp48_);
	_g_object_unref0 (_tmp48_);
	_g_object_unref0 (_tmp46_);
	_tmp49_ = self->priv->store;
	_tmp50_ = alarms_dir;
	_tmp51_ = g_file_get_child (_tmp50_, "crossing-bell.oga");
	_tmp52_ = _tmp51_;
	_tmp53_ = clocks_sound_new (_tmp52_, _ ("Crossing Bell"));
	_tmp54_ = _tmp53_;
	g_list_store_append (_tmp49_, (GObject*) _tmp54_);
	_g_object_unref0 (_tmp54_);
	_g_object_unref0 (_tmp52_);
	_tmp55_ = self->priv->store;
	_tmp56_ = alarms_dir;
	_tmp57_ = g_file_get_child (_tmp56_, "daydreaming.oga");
	_tmp58_ = _tmp57_;
	_tmp59_ = clocks_sound_new (_tmp58_, _ ("Daydreaming"));
	_tmp60_ = _tmp59_;
	g_list_store_append (_tmp55_, (GObject*) _tmp60_);
	_g_object_unref0 (_tmp60_);
	_g_object_unref0 (_tmp58_);
	_tmp61_ = self->priv->store;
	_tmp62_ = alarms_dir;
	_tmp63_ = g_file_get_child (_tmp62_, "digitone.oga");
	_tmp64_ = _tmp63_;
	_tmp65_ = clocks_sound_new (_tmp64_, _ ("Digitone"));
	_tmp66_ = _tmp65_;
	g_list_store_append (_tmp61_, (GObject*) _tmp66_);
	_g_object_unref0 (_tmp66_);
	_g_object_unref0 (_tmp64_);
	_tmp67_ = self->priv->store;
	_tmp68_ = alarms_dir;
	_tmp69_ = g_file_get_child (_tmp68_, "enchanting.oga");
	_tmp70_ = _tmp69_;
	_tmp71_ = clocks_sound_new (_tmp70_, _ ("Enchanting"));
	_tmp72_ = _tmp71_;
	g_list_store_append (_tmp67_, (GObject*) _tmp72_);
	_g_object_unref0 (_tmp72_);
	_g_object_unref0 (_tmp70_);
	_tmp73_ = self->priv->store;
	_tmp74_ = alarms_dir;
	_tmp75_ = g_file_get_child (_tmp74_, "glass-bell.oga");
	_tmp76_ = _tmp75_;
	_tmp77_ = clocks_sound_new (_tmp76_, _ ("Glass Bell"));
	_tmp78_ = _tmp77_;
	g_list_store_append (_tmp73_, (GObject*) _tmp78_);
	_g_object_unref0 (_tmp78_);
	_g_object_unref0 (_tmp76_);
	_tmp79_ = self->priv->store;
	_tmp80_ = alarms_dir;
	_tmp81_ = g_file_get_child (_tmp80_, "guitar.oga");
	_tmp82_ = _tmp81_;
	_tmp83_ = clocks_sound_new (_tmp82_, _ ("Guitar"));
	_tmp84_ = _tmp83_;
	g_list_store_append (_tmp79_, (GObject*) _tmp84_);
	_g_object_unref0 (_tmp84_);
	_g_object_unref0 (_tmp82_);
	_tmp85_ = self->priv->store;
	_tmp86_ = alarms_dir;
	_tmp87_ = g_file_get_child (_tmp86_, "jolly.oga");
	_tmp88_ = _tmp87_;
	_tmp89_ = clocks_sound_new (_tmp88_, _ ("Jolly"));
	_tmp90_ = _tmp89_;
	g_list_store_append (_tmp85_, (GObject*) _tmp90_);
	_g_object_unref0 (_tmp90_);
	_g_object_unref0 (_tmp88_);
	_tmp91_ = self->priv->store;
	_tmp92_ = alarms_dir;
	_tmp93_ = g_file_get_child (_tmp92_, "mystery.oga");
	_tmp94_ = _tmp93_;
	_tmp95_ = clocks_sound_new (_tmp94_, _ ("Mystery"));
	_tmp96_ = _tmp95_;
	g_list_store_append (_tmp91_, (GObject*) _tmp96_);
	_g_object_unref0 (_tmp96_);
	_g_object_unref0 (_tmp94_);
	_tmp97_ = self->priv->store;
	_tmp98_ = alarms_dir;
	_tmp99_ = g_file_get_child (_tmp98_, "ping-ping.oga");
	_tmp100_ = _tmp99_;
	_tmp101_ = clocks_sound_new (_tmp100_, _ ("Ping Ping"));
	_tmp102_ = _tmp101_;
	g_list_store_append (_tmp97_, (GObject*) _tmp102_);
	_g_object_unref0 (_tmp102_);
	_g_object_unref0 (_tmp100_);
	_tmp103_ = self->priv->store;
	_tmp104_ = alarms_dir;
	_tmp105_ = g_file_get_child (_tmp104_, "school-bell.oga");
	_tmp106_ = _tmp105_;
	_tmp107_ = clocks_sound_new (_tmp106_, _ ("School Bell"));
	_tmp108_ = _tmp107_;
	g_list_store_append (_tmp103_, (GObject*) _tmp108_);
	_g_object_unref0 (_tmp108_);
	_g_object_unref0 (_tmp106_);
	_tmp109_ = self->priv->store;
	_tmp110_ = alarms_dir;
	_tmp111_ = g_file_get_child (_tmp110_, "sonar.oga");
	_tmp112_ = _tmp111_;
	_tmp113_ = clocks_sound_new (_tmp112_, _ ("Sonar"));
	_tmp114_ = _tmp113_;
	g_list_store_append (_tmp109_, (GObject*) _tmp114_);
	_g_object_unref0 (_tmp114_);
	_g_object_unref0 (_tmp112_);
	_tmp115_ = self->priv->store;
	_tmp116_ = alarms_dir;
	_tmp117_ = g_file_get_child (_tmp116_, "sparkling.oga");
	_tmp118_ = _tmp117_;
	_tmp119_ = clocks_sound_new (_tmp118_, _ ("Sparkling"));
	_tmp120_ = _tmp119_;
	g_list_store_append (_tmp115_, (GObject*) _tmp120_);
	_g_object_unref0 (_tmp120_);
	_g_object_unref0 (_tmp118_);
	_tmp121_ = self->priv->store;
	_tmp122_ = alarms_dir;
	_tmp123_ = g_file_get_child (_tmp122_, "tingling.oga");
	_tmp124_ = _tmp123_;
	_tmp125_ = clocks_sound_new (_tmp124_, _ ("Tingling"));
	_tmp126_ = _tmp125_;
	g_list_store_append (_tmp121_, (GObject*) _tmp126_);
	_g_object_unref0 (_tmp126_);
	_g_object_unref0 (_tmp124_);
	_tmp127_ = self->priv->store;
	_tmp128_ = alarms_dir;
	_tmp129_ = g_file_get_child (_tmp128_, "toys.oga");
	_tmp130_ = _tmp129_;
	_tmp131_ = clocks_sound_new (_tmp130_, _ ("Toys"));
	_tmp132_ = _tmp131_;
	g_list_store_append (_tmp127_, (GObject*) _tmp132_);
	_g_object_unref0 (_tmp132_);
	_g_object_unref0 (_tmp130_);
	_tmp133_ = self->priv->store;
	g_list_store_sort (_tmp133_, __clocks_alarm_sound_model___lambda6__gcompare_data_func, self);
	_g_object_unref0 (alarms_dir);
	return obj;
}

static void
clocks_alarm_sound_model_class_init (ClocksAlarmSoundModelClass * klass,
                                     gpointer klass_data)
{
	clocks_alarm_sound_model_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ClocksAlarmSoundModel_private_offset);
	G_OBJECT_CLASS (klass)->constructor = clocks_alarm_sound_model_constructor;
	G_OBJECT_CLASS (klass)->finalize = clocks_alarm_sound_model_finalize;
}

static void
clocks_alarm_sound_model_g_list_model_interface_init (GListModelInterface * iface,
                                                      gpointer iface_data)
{
	clocks_alarm_sound_model_g_list_model_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_item_type = (GType (*) (GListModel*)) clocks_alarm_sound_model_real_get_item_type;
	iface->get_n_items = (guint (*) (GListModel*)) clocks_alarm_sound_model_real_get_n_items;
	iface->get_item = (GObject* (*) (GListModel*, guint)) clocks_alarm_sound_model_real_get_item;
}

static void
clocks_alarm_sound_model_instance_init (ClocksAlarmSoundModel * self,
                                        gpointer klass)
{
	self->priv = clocks_alarm_sound_model_get_instance_private (self);
}

static void
clocks_alarm_sound_model_finalize (GObject * obj)
{
	ClocksAlarmSoundModel * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, CLOCKS_ALARM_TYPE_SOUND_MODEL, ClocksAlarmSoundModel);
	_g_object_unref0 (self->priv->store);
	G_OBJECT_CLASS (clocks_alarm_sound_model_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
clocks_alarm_sound_model_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ClocksAlarmSoundModelClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) clocks_alarm_sound_model_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ClocksAlarmSoundModel), 0, (GInstanceInitFunc) clocks_alarm_sound_model_instance_init, NULL };
	static const GInterfaceInfo g_list_model_info = { (GInterfaceInitFunc) clocks_alarm_sound_model_g_list_model_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType clocks_alarm_sound_model_type_id;
	clocks_alarm_sound_model_type_id = g_type_register_static (G_TYPE_OBJECT, "ClocksAlarmSoundModel", &g_define_type_info, 0);
	g_type_add_interface_static (clocks_alarm_sound_model_type_id, g_list_model_get_type (), &g_list_model_info);
	ClocksAlarmSoundModel_private_offset = g_type_add_instance_private (clocks_alarm_sound_model_type_id, sizeof (ClocksAlarmSoundModelPrivate));
	return clocks_alarm_sound_model_type_id;
}

GType
clocks_alarm_sound_model_get_type (void)
{
	static gsize clocks_alarm_sound_model_type_id__once = 0;
	if (g_once_init_enter (&clocks_alarm_sound_model_type_id__once)) {
		GType clocks_alarm_sound_model_type_id;
		clocks_alarm_sound_model_type_id = clocks_alarm_sound_model_get_type_once ();
		g_once_init_leave (&clocks_alarm_sound_model_type_id__once, clocks_alarm_sound_model_type_id);
	}
	return clocks_alarm_sound_model_type_id__once;
}

