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

/*
 * Copyright (c) 2026 focus-timer contributors
 *
 * SPDX-License-Identifier: GPL-3.0-or-later
 */

#include "ft_plugin_gnome.h"
#include <glib-object.h>
#include <glib.h>
#include <libpeas.h>
#include "ft_core.h"
#include <stdlib.h>
#include <string.h>
#include "ft_ui.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

#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

GType gnome_application_extension_register_type (GTypeModule * module);
GType gnome_idle_monitor_provider_register_type (GTypeModule * module);
GType gnome_indicator_provider_register_type (GTypeModule * module);
GType gnome_install_extension_dialog_register_type (GTypeModule * module);
GType gnome_preferences_window_extension_register_type (GTypeModule * module);
GType gnome_screen_overlay_provider_register_type (GTypeModule * module);
GType gnome_screen_saver_provider_register_type (GTypeModule * module);
GType gnome_shell_extension_register_type (GTypeModule * module);
GType gnome_shell_extension_settings_register_type (GTypeModule * module);
GType gnome_window_extension_register_type (GTypeModule * module);
GType gnome_screen_saver_register_type (GTypeModule * module);
VALA_EXTERN void gnome_screen_saver_proxy_register_dynamic_type (GTypeModule* module);
GType gnome_idle_monitor_register_type (GTypeModule * module);
VALA_EXTERN void gnome_idle_monitor_proxy_register_dynamic_type (GTypeModule* module);
GType gnome_shell_register_type (GTypeModule * module);
VALA_EXTERN void gnome_shell_proxy_register_dynamic_type (GTypeModule* module);
GType gnome_shell_extensions_register_type (GTypeModule * module);
VALA_EXTERN void gnome_shell_extensions_proxy_register_dynamic_type (GTypeModule* module);
GType gnome_shell_integration_register_type (GTypeModule * module);
VALA_EXTERN void gnome_shell_integration_proxy_register_dynamic_type (GTypeModule* module);

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

void
gnome_peas_register_types (GTypeModule* module)
{
	PeasObjectModule* object_module = NULL;
	PeasObjectModule* _tmp0_;
	PeasObjectModule* _tmp1_;
	PeasObjectModule* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gboolean _tmp5_;
	g_return_if_fail (module != NULL);
	gnome_application_extension_register_type (module);
	gnome_idle_monitor_provider_register_type (module);
	gnome_indicator_provider_register_type (module);
	gnome_install_extension_dialog_register_type (module);
	gnome_preferences_window_extension_register_type (module);
	gnome_screen_overlay_provider_register_type (module);
	gnome_screen_saver_provider_register_type (module);
	gnome_shell_extension_register_type (module);
	gnome_shell_extension_settings_register_type (module);
	gnome_window_extension_register_type (module);
	gnome_screen_saver_register_type (module);
	gnome_screen_saver_proxy_register_dynamic_type (module);
	gnome_idle_monitor_register_type (module);
	gnome_idle_monitor_proxy_register_dynamic_type (module);
	gnome_shell_register_type (module);
	gnome_shell_proxy_register_dynamic_type (module);
	gnome_shell_extensions_register_type (module);
	gnome_shell_extensions_proxy_register_dynamic_type (module);
	gnome_shell_integration_register_type (module);
	gnome_shell_integration_proxy_register_dynamic_type (module);
	_tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (module, peas_object_module_get_type ()) ? ((PeasObjectModule*) module) : NULL);
	object_module = _tmp0_;
	_tmp1_ = object_module;
	peas_object_module_register_extension_type (_tmp1_, FT_TYPE_IDLE_MONITOR_PROVIDER, GNOME_TYPE_IDLE_MONITOR_PROVIDER);
	_tmp2_ = object_module;
	peas_object_module_register_extension_type (_tmp2_, FT_TYPE_SCREEN_SAVER_PROVIDER, GNOME_TYPE_SCREEN_SAVER_PROVIDER);
	_tmp3_ = ft_get_desktop_name ();
	_tmp4_ = _tmp3_;
	_tmp5_ = g_strcmp0 (_tmp4_, "gnome") == 0;
	_g_free0 (_tmp4_);
	if (_tmp5_) {
		PeasObjectModule* _tmp6_;
		PeasObjectModule* _tmp7_;
		PeasObjectModule* _tmp8_;
		PeasObjectModule* _tmp9_;
		PeasObjectModule* _tmp10_;
		_tmp6_ = object_module;
		peas_object_module_register_extension_type (_tmp6_, FT_TYPE_APPLICATION_EXTENSION, GNOME_TYPE_APPLICATION_EXTENSION);
		_tmp7_ = object_module;
		peas_object_module_register_extension_type (_tmp7_, FT_TYPE_WINDOW_EXTENSION, GNOME_TYPE_WINDOW_EXTENSION);
		_tmp8_ = object_module;
		peas_object_module_register_extension_type (_tmp8_, FT_TYPE_PREFERENCES_WINDOW_EXTENSION, GNOME_TYPE_PREFERENCES_WINDOW_EXTENSION);
		_tmp9_ = object_module;
		peas_object_module_register_extension_type (_tmp9_, FT_TYPE_SCREEN_OVERLAY_PROVIDER, GNOME_TYPE_SCREEN_OVERLAY_PROVIDER);
		_tmp10_ = object_module;
		peas_object_module_register_extension_type (_tmp10_, FT_TYPE_INDICATOR_PROVIDER, GNOME_TYPE_INDICATOR_PROVIDER);
	}
	_g_object_unref0 (object_module);
}

