/* system-info.c generated by valac 0.36.4, the Vala compiler
 * generated from system-info.vala, do not modify */

/* This file is part of retro-gtk. License: GPLv3*/

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>


#define RETRO_TYPE_SYSTEM_INFO (retro_system_info_get_type ())
typedef struct _RetroSystemInfo RetroSystemInfo;
#define _g_free0(var) (var = (g_free (var), NULL))

struct _RetroSystemInfo {
	gchar* library_name;
	gchar* library_version;
	gchar* valid_extensions;
	gboolean need_fullpath;
	gboolean block_extract;
};



GType retro_system_info_get_type (void) G_GNUC_CONST;
RetroSystemInfo* retro_system_info_dup (const RetroSystemInfo* self);
void retro_system_info_free (RetroSystemInfo* self);
void retro_system_info_copy (const RetroSystemInfo* self, RetroSystemInfo* dest);
void retro_system_info_destroy (RetroSystemInfo* self);


void retro_system_info_copy (const RetroSystemInfo* self, RetroSystemInfo* dest) {
	const gchar* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	const gchar* _tmp4_;
	gchar* _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
	_tmp0_ = (*self).library_name;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 ((*dest).library_name);
	(*dest).library_name = _tmp1_;
	_tmp2_ = (*self).library_version;
	_tmp3_ = g_strdup (_tmp2_);
	_g_free0 ((*dest).library_version);
	(*dest).library_version = _tmp3_;
	_tmp4_ = (*self).valid_extensions;
	_tmp5_ = g_strdup (_tmp4_);
	_g_free0 ((*dest).valid_extensions);
	(*dest).valid_extensions = _tmp5_;
	_tmp6_ = (*self).need_fullpath;
	(*dest).need_fullpath = _tmp6_;
	_tmp7_ = (*self).block_extract;
	(*dest).block_extract = _tmp7_;
}


void retro_system_info_destroy (RetroSystemInfo* self) {
	_g_free0 ((*self).library_name);
	_g_free0 ((*self).library_version);
	_g_free0 ((*self).valid_extensions);
}


RetroSystemInfo* retro_system_info_dup (const RetroSystemInfo* self) {
	RetroSystemInfo* dup;
	dup = g_new0 (RetroSystemInfo, 1);
	retro_system_info_copy (self, dup);
	return dup;
}


void retro_system_info_free (RetroSystemInfo* self) {
	retro_system_info_destroy (self);
	g_free (self);
}


GType retro_system_info_get_type (void) {
	static volatile gsize retro_system_info_type_id__volatile = 0;
	if (g_once_init_enter (&retro_system_info_type_id__volatile)) {
		GType retro_system_info_type_id;
		retro_system_info_type_id = g_boxed_type_register_static ("RetroSystemInfo", (GBoxedCopyFunc) retro_system_info_dup, (GBoxedFreeFunc) retro_system_info_free);
		g_once_init_leave (&retro_system_info_type_id__volatile, retro_system_info_type_id);
	}
	return retro_system_info_type_id__volatile;
}



