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

#include <glib-object.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 TYPE_MODULE (module_get_type ())
#define MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MODULE, Module))
#define MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MODULE, ModuleClass))
#define IS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MODULE))
#define IS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MODULE))
#define MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MODULE, ModuleClass))

typedef struct _Module Module;
typedef struct _ModuleClass ModuleClass;
typedef struct _ModulePrivate ModulePrivate;
enum  {
	MODULE_0_PROPERTY,
	MODULE_NUM_PROPERTIES
};
static GParamSpec* module_properties[MODULE_NUM_PROPERTIES];

struct _Module {
	GTypeModule parent_instance;
	ModulePrivate * priv;
};

struct _ModuleClass {
	GTypeModuleClass parent_class;
};

struct _ModulePrivate {
	gint private_field;
};

static gint Module_private_offset;
static gpointer module_parent_class = NULL;
static GType module_type_id = 0;

GType module_register_type (GTypeModule * module);
VALA_EXTERN GType module_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Module, g_object_unref)
VALA_EXTERN Module* module_new (void);
VALA_EXTERN Module* module_construct (GType object_type);
static void module_finalize (GObject * obj);
VALA_EXTERN GType init_plugin (GTypeModule* m);
static void _vala_main (void);

static inline gpointer
module_get_instance_private (Module* self)
{
	return G_STRUCT_MEMBER_P (self, Module_private_offset);
}

Module*
module_construct (GType object_type)
{
	Module * self = NULL;
	self = (Module*) g_object_new (object_type, NULL);
	return self;
}

Module*
module_new (void)
{
	return module_construct (TYPE_MODULE);
}

static void
module_class_init (ModuleClass * klass,
                   gpointer klass_data)
{
	module_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &Module_private_offset);
	G_OBJECT_CLASS (klass)->finalize = module_finalize;
}

static void
module_instance_init (Module * self,
                      gpointer klass)
{
	self->priv = module_get_instance_private (self);
	self->priv->private_field = 42;
}

static void
module_finalize (GObject * obj)
{
	Module * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MODULE, Module);
	G_OBJECT_CLASS (module_parent_class)->finalize (obj);
}

GType
module_get_type (void)
{
	return module_type_id;
}

GType
module_register_type (GTypeModule * module)
{
	static const GTypeInfo g_define_type_info = { sizeof (ModuleClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) module_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Module), 0, (GInstanceInitFunc) module_instance_init, NULL };
	module_type_id = g_type_module_register_type (module, g_type_module_get_type (), "Module", &g_define_type_info, 0);
	Module_private_offset = sizeof (ModulePrivate);
	return module_type_id;
}

GType
init_plugin (GTypeModule* m)
{
	GType result;
	g_return_val_if_fail ((m == NULL) || G_TYPE_CHECK_INSTANCE_TYPE (m, g_type_module_get_type ()), 0UL);
	module_register_type (m);
	result = TYPE_MODULE;
	return result;
}

static void
_vala_main (void)
{
}

int
main (int argc,
      char ** argv)
{
	_vala_main ();
	return 0;
}

