/* wix.c generated by valac 0.56.18-dirty, the Vala compiler
 * generated from wix.vala, do not modify */

#include "wixl.h"
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include "libcommon.h"
#include <libxml/tree.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_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
enum  {
	WIXL_WIX_NODE_VISITOR_0_PROPERTY,
	WIXL_WIX_NODE_VISITOR_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_node_visitor_properties[WIXL_WIX_NODE_VISITOR_NUM_PROPERTIES];
enum  {
	WIXL_WIX_NODE_0_PROPERTY,
	WIXL_WIX_NODE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_node_properties[WIXL_WIX_NODE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_TEXT_0_PROPERTY,
	WIXL_WIX_TEXT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_text_properties[WIXL_WIX_TEXT_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))
enum  {
	WIXL_WIX_ELEMENT_0_PROPERTY,
	WIXL_WIX_ELEMENT_ID_PROPERTY,
	WIXL_WIX_ELEMENT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_element_properties[WIXL_WIX_ELEMENT_NUM_PROPERTIES];
#define _g_type_class_unref0(var) ((var == NULL) ? NULL : (var = (g_type_class_unref (var), NULL)))
enum  {
	WIXL_WIX_COMPONENT_GROUP_0_PROPERTY,
	WIXL_WIX_COMPONENT_GROUP_DIRECTORY_PROPERTY,
	WIXL_WIX_COMPONENT_GROUP_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_component_group_properties[WIXL_WIX_COMPONENT_GROUP_NUM_PROPERTIES];
enum  {
	WIXL_WIX_FRAGMENT_0_PROPERTY,
	WIXL_WIX_FRAGMENT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_fragment_properties[WIXL_WIX_FRAGMENT_NUM_PROPERTIES];
enum  {
	WIXL_WIX_REGISTRY_SEARCH_0_PROPERTY,
	WIXL_WIX_REGISTRY_SEARCH_ROOT_PROPERTY,
	WIXL_WIX_REGISTRY_SEARCH_KEY_PROPERTY,
	WIXL_WIX_REGISTRY_SEARCH_TYPE_PROPERTY,
	WIXL_WIX_REGISTRY_SEARCH_NAME_PROPERTY,
	WIXL_WIX_REGISTRY_SEARCH_WIN64_PROPERTY,
	WIXL_WIX_REGISTRY_SEARCH_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_registry_search_properties[WIXL_WIX_REGISTRY_SEARCH_NUM_PROPERTIES];
enum  {
	WIXL_WIX_PROPERTY_0_PROPERTY,
	WIXL_WIX_PROPERTY_VALUE_PROPERTY,
	WIXL_WIX_PROPERTY_SECURE_PROPERTY,
	WIXL_WIX_PROPERTY_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_property_properties[WIXL_WIX_PROPERTY_NUM_PROPERTIES];
enum  {
	WIXL_WIX_PACKAGE_0_PROPERTY,
	WIXL_WIX_PACKAGE_KEYWORDS_PROPERTY,
	WIXL_WIX_PACKAGE_INSTALLER_DESCRIPTION_PROPERTY,
	WIXL_WIX_PACKAGE_INSTALLER_COMMENTS_PROPERTY,
	WIXL_WIX_PACKAGE_MANUFACTURER_PROPERTY,
	WIXL_WIX_PACKAGE_INSTALLER_VERSION_PROPERTY,
	WIXL_WIX_PACKAGE_LANGUAGES_PROPERTY,
	WIXL_WIX_PACKAGE_COMPRESSED_PROPERTY,
	WIXL_WIX_PACKAGE_SUMMARY_CODEPAGE_PROPERTY,
	WIXL_WIX_PACKAGE_COMMENTS_PROPERTY,
	WIXL_WIX_PACKAGE_DESCRIPTION_PROPERTY,
	WIXL_WIX_PACKAGE_INSTALL_SCOPE_PROPERTY,
	WIXL_WIX_PACKAGE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_package_properties[WIXL_WIX_PACKAGE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_CREATE_FOLDER_0_PROPERTY,
	WIXL_WIX_CREATE_FOLDER_DIRECTORY_PROPERTY,
	WIXL_WIX_CREATE_FOLDER_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_create_folder_properties[WIXL_WIX_CREATE_FOLDER_NUM_PROPERTIES];
enum  {
	WIXL_WIX_ICON_0_PROPERTY,
	WIXL_WIX_ICON_SOURCE_FILE_PROPERTY,
	WIXL_WIX_ICON_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_icon_properties[WIXL_WIX_ICON_NUM_PROPERTIES];
enum  {
	WIXL_WIX_SHORTCUT_0_PROPERTY,
	WIXL_WIX_SHORTCUT_DIRECTORY_PROPERTY,
	WIXL_WIX_SHORTCUT_NAME_PROPERTY,
	WIXL_WIX_SHORTCUT_ICON_INDEX_PROPERTY,
	WIXL_WIX_SHORTCUT_WORKING_DIRECTORY_PROPERTY,
	WIXL_WIX_SHORTCUT_ICON_PROPERTY,
	WIXL_WIX_SHORTCUT_ADVERTISE_PROPERTY,
	WIXL_WIX_SHORTCUT_ARGUMENTS_PROPERTY,
	WIXL_WIX_SHORTCUT_DESCRIPTION_PROPERTY,
	WIXL_WIX_SHORTCUT_TARGET_PROPERTY,
	WIXL_WIX_SHORTCUT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_NUM_PROPERTIES];
enum  {
	WIXL_WIX_KEY_ELEMENT_0_PROPERTY,
	WIXL_WIX_KEY_ELEMENT_KEY_PATH_PROPERTY,
	WIXL_WIX_KEY_ELEMENT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_key_element_properties[WIXL_WIX_KEY_ELEMENT_NUM_PROPERTIES];
enum  {
	WIXL_WIX_FILE_0_PROPERTY,
	WIXL_WIX_FILE_DISK_ID_PROPERTY,
	WIXL_WIX_FILE_SOURCE_PROPERTY,
	WIXL_WIX_FILE_NAME_PROPERTY,
	WIXL_WIX_FILE_DEFAULT_VERSION_PROPERTY,
	WIXL_WIX_FILE_COMPANION_FILE_PROPERTY,
	WIXL_WIX_FILE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_file_properties[WIXL_WIX_FILE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_INI_FILE_0_PROPERTY,
	WIXL_WIX_INI_FILE_ACTION_PROPERTY,
	WIXL_WIX_INI_FILE_DIRECTORY_PROPERTY,
	WIXL_WIX_INI_FILE_KEY_PROPERTY,
	WIXL_WIX_INI_FILE_NAME_PROPERTY,
	WIXL_WIX_INI_FILE_SECTION_PROPERTY,
	WIXL_WIX_INI_FILE_VALUE_PROPERTY,
	WIXL_WIX_INI_FILE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_REGISTRY_VALUE_0_PROPERTY,
	WIXL_WIX_REGISTRY_VALUE_ROOT_PROPERTY,
	WIXL_WIX_REGISTRY_VALUE_KEY_PROPERTY,
	WIXL_WIX_REGISTRY_VALUE_TYPE_PROPERTY,
	WIXL_WIX_REGISTRY_VALUE_VALUE_PROPERTY,
	WIXL_WIX_REGISTRY_VALUE_NAME_PROPERTY,
	WIXL_WIX_REGISTRY_VALUE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_registry_value_properties[WIXL_WIX_REGISTRY_VALUE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_REMOVE_FOLDER_0_PROPERTY,
	WIXL_WIX_REMOVE_FOLDER_ON_PROPERTY,
	WIXL_WIX_REMOVE_FOLDER_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_remove_folder_properties[WIXL_WIX_REMOVE_FOLDER_NUM_PROPERTIES];
enum  {
	WIXL_WIX_FEATURE_0_PROPERTY,
	WIXL_WIX_FEATURE_LEVEL_PROPERTY,
	WIXL_WIX_FEATURE_TITLE_PROPERTY,
	WIXL_WIX_FEATURE_DESCRIPTION_PROPERTY,
	WIXL_WIX_FEATURE_DISPLAY_PROPERTY,
	WIXL_WIX_FEATURE_CONFIGURABLE_DIRECTORY_PROPERTY,
	WIXL_WIX_FEATURE_ALLOW_ADVERTISE_PROPERTY,
	WIXL_WIX_FEATURE_ABSENT_PROPERTY,
	WIXL_WIX_FEATURE_INSTALL_DEFAULT_PROPERTY,
	WIXL_WIX_FEATURE_TYPICAL_DEFAULT_PROPERTY,
	WIXL_WIX_FEATURE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_feature_properties[WIXL_WIX_FEATURE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_COMPONENT_REF_0_PROPERTY,
	WIXL_WIX_COMPONENT_REF_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_component_ref_properties[WIXL_WIX_COMPONENT_REF_NUM_PROPERTIES];
enum  {
	WIXL_WIX_COMPONENT_GROUP_REF_0_PROPERTY,
	WIXL_WIX_COMPONENT_GROUP_REF_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_component_group_ref_properties[WIXL_WIX_COMPONENT_GROUP_REF_NUM_PROPERTIES];
enum  {
	WIXL_WIX_CONDITION_0_PROPERTY,
	WIXL_WIX_CONDITION_MESSAGE_PROPERTY,
	WIXL_WIX_CONDITION_LEVEL_PROPERTY,
	WIXL_WIX_CONDITION_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_condition_properties[WIXL_WIX_CONDITION_NUM_PROPERTIES];
enum  {
	WIXL_WIX_MIME_0_PROPERTY,
	WIXL_WIX_MIME_ADVERTISE_PROPERTY,
	WIXL_WIX_MIME_CONTENT_TYPE_PROPERTY,
	WIXL_WIX_MIME_DEFAULT_PROPERTY,
	WIXL_WIX_MIME_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_mime_properties[WIXL_WIX_MIME_NUM_PROPERTIES];
enum  {
	WIXL_WIX_SERVICE_ARGUMENT_0_PROPERTY,
	WIXL_WIX_SERVICE_ARGUMENT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_service_argument_properties[WIXL_WIX_SERVICE_ARGUMENT_NUM_PROPERTIES];
enum  {
	WIXL_WIX_SERVICE_CONTROL_0_PROPERTY,
	WIXL_WIX_SERVICE_CONTROL_NAME_PROPERTY,
	WIXL_WIX_SERVICE_CONTROL_START_PROPERTY,
	WIXL_WIX_SERVICE_CONTROL_STOP_PROPERTY,
	WIXL_WIX_SERVICE_CONTROL_REMOVE_PROPERTY,
	WIXL_WIX_SERVICE_CONTROL_WAIT_PROPERTY,
	WIXL_WIX_SERVICE_CONTROL_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_service_control_properties[WIXL_WIX_SERVICE_CONTROL_NUM_PROPERTIES];
enum  {
	WIXL_WIX_SERVICE_DEPENDENCY_0_PROPERTY,
	WIXL_WIX_SERVICE_DEPENDENCY_GROUP_PROPERTY,
	WIXL_WIX_SERVICE_DEPENDENCY_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_service_dependency_properties[WIXL_WIX_SERVICE_DEPENDENCY_NUM_PROPERTIES];
enum  {
	WIXL_WIX_SERVICE_INSTALL_0_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_NAME_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_DISPLAY_NAME_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_TYPE_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_INTERACTIVE_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_START_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_ERROR_CONTROL_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_VITAL_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_LOAD_ORDER_GROUP_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_ACCOUNT_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_PASSWORD_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_ARGUMENTS_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_DESCRIPTION_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_ERASE_DESCRIPTION_PROPERTY,
	WIXL_WIX_SERVICE_INSTALL_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_NUM_PROPERTIES];
enum  {
	WIXL_WIX_VERB_0_PROPERTY,
	WIXL_WIX_VERB_COMMAND_PROPERTY,
	WIXL_WIX_VERB_TARGET_FILE_PROPERTY,
	WIXL_WIX_VERB_ARGUMENT_PROPERTY,
	WIXL_WIX_VERB_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_verb_properties[WIXL_WIX_VERB_NUM_PROPERTIES];
enum  {
	WIXL_WIX_EXTENSION_0_PROPERTY,
	WIXL_WIX_EXTENSION_CONTENT_TYPE_PROPERTY,
	WIXL_WIX_EXTENSION_ADVERTISE_PROPERTY,
	WIXL_WIX_EXTENSION_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_extension_properties[WIXL_WIX_EXTENSION_NUM_PROPERTIES];
enum  {
	WIXL_WIX_PROG_ID_0_PROPERTY,
	WIXL_WIX_PROG_ID_DESCRIPTION_PROPERTY,
	WIXL_WIX_PROG_ID_ADVERTISE_PROPERTY,
	WIXL_WIX_PROG_ID_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_prog_id_properties[WIXL_WIX_PROG_ID_NUM_PROPERTIES];
enum  {
	WIXL_WIX_ACTION_0_PROPERTY,
	WIXL_WIX_ACTION_AFTER_PROPERTY,
	WIXL_WIX_ACTION_BEFORE_PROPERTY,
	WIXL_WIX_ACTION_OVERRIDABLE_PROPERTY,
	WIXL_WIX_ACTION_SEQUENCE_PROPERTY,
	WIXL_WIX_ACTION_SUPPRESS_PROPERTY,
	WIXL_WIX_ACTION_ACTION_PROPERTY,
	WIXL_WIX_ACTION_DIALOG_PROPERTY,
	WIXL_WIX_ACTION_ON_EXIT_PROPERTY,
	WIXL_WIX_ACTION_CONDITION_PROPERTY,
	WIXL_WIX_ACTION_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_action_properties[WIXL_WIX_ACTION_NUM_PROPERTIES];
enum  {
	WIXL_WIX_SEQUENCE_0_PROPERTY,
	WIXL_WIX_SEQUENCE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_sequence_properties[WIXL_WIX_SEQUENCE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_INSTALL_EXECUTE_SEQUENCE_0_PROPERTY,
	WIXL_WIX_INSTALL_EXECUTE_SEQUENCE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_install_execute_sequence_properties[WIXL_WIX_INSTALL_EXECUTE_SEQUENCE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_INSTALL_UI_SEQUENCE_0_PROPERTY,
	WIXL_WIX_INSTALL_UI_SEQUENCE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_install_ui_sequence_properties[WIXL_WIX_INSTALL_UI_SEQUENCE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_ADMIN_EXECUTE_SEQUENCE_0_PROPERTY,
	WIXL_WIX_ADMIN_EXECUTE_SEQUENCE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_admin_execute_sequence_properties[WIXL_WIX_ADMIN_EXECUTE_SEQUENCE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_ADMIN_UI_SEQUENCE_0_PROPERTY,
	WIXL_WIX_ADMIN_UI_SEQUENCE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_admin_ui_sequence_properties[WIXL_WIX_ADMIN_UI_SEQUENCE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_ADVERTISE_EXECUTE_SEQUENCE_0_PROPERTY,
	WIXL_WIX_ADVERTISE_EXECUTE_SEQUENCE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_advertise_execute_sequence_properties[WIXL_WIX_ADVERTISE_EXECUTE_SEQUENCE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_UPGRADE_0_PROPERTY,
	WIXL_WIX_UPGRADE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_upgrade_properties[WIXL_WIX_UPGRADE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_UPGRADE_VERSION_0_PROPERTY,
	WIXL_WIX_UPGRADE_VERSION_MINIMUM_PROPERTY,
	WIXL_WIX_UPGRADE_VERSION_MAXIMUM_PROPERTY,
	WIXL_WIX_UPGRADE_VERSION_INCLUDE_MINIMUM_PROPERTY,
	WIXL_WIX_UPGRADE_VERSION_INCLUDE_MAXIMUM_PROPERTY,
	WIXL_WIX_UPGRADE_VERSION_MIGRATE_FEATURES_PROPERTY,
	WIXL_WIX_UPGRADE_VERSION_ONLY_DETECT_PROPERTY,
	WIXL_WIX_UPGRADE_VERSION_PROPERTY_PROPERTY,
	WIXL_WIX_UPGRADE_VERSION_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_NUM_PROPERTIES];
enum  {
	WIXL_WIX_CUSTOM_ACTION_0_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_PROPERTY_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_EXECUTE_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_FILE_KEY_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_EXE_COMMAND_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_IMPERSONATE_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_RETURN_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_BINARY_KEY_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_DLL_ENTRY_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_HIDE_TARGET_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_JSCRIPT_CALL_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_VALUE_PROPERTY,
	WIXL_WIX_CUSTOM_ACTION_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_NUM_PROPERTIES];
enum  {
	WIXL_WIX_BINARY_0_PROPERTY,
	WIXL_WIX_BINARY_SOURCE_FILE_PROPERTY,
	WIXL_WIX_BINARY_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_binary_properties[WIXL_WIX_BINARY_NUM_PROPERTIES];
enum  {
	WIXL_WIX_MAJOR_UPGRADE_0_PROPERTY,
	WIXL_WIX_MAJOR_UPGRADE_DOWNGRADE_ERROR_MESSAGE_PROPERTY,
	WIXL_WIX_MAJOR_UPGRADE_ALLOW_SAME_VERSION_UPGRADES_PROPERTY,
	WIXL_WIX_MAJOR_UPGRADE_ALLOW_DOWNGRADES_PROPERTY,
	WIXL_WIX_MAJOR_UPGRADE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_major_upgrade_properties[WIXL_WIX_MAJOR_UPGRADE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_MEDIA_TEMPLATE_0_PROPERTY,
	WIXL_WIX_MEDIA_TEMPLATE_EMBED_CAB_PROPERTY,
	WIXL_WIX_MEDIA_TEMPLATE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_media_template_properties[WIXL_WIX_MEDIA_TEMPLATE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_PRODUCT_0_PROPERTY,
	WIXL_WIX_PRODUCT_NAME_PROPERTY,
	WIXL_WIX_PRODUCT_UPGRADE_CODE_PROPERTY,
	WIXL_WIX_PRODUCT_LANGUAGE_PROPERTY,
	WIXL_WIX_PRODUCT_CODEPAGE_PROPERTY,
	WIXL_WIX_PRODUCT_VERSION_PROPERTY,
	WIXL_WIX_PRODUCT_MANUFACTURER_PROPERTY,
	WIXL_WIX_PRODUCT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_product_properties[WIXL_WIX_PRODUCT_NUM_PROPERTIES];
enum  {
	WIXL_WIX_MEDIA_0_PROPERTY,
	WIXL_WIX_MEDIA_CABINET_PROPERTY,
	WIXL_WIX_MEDIA_EMBED_CAB_PROPERTY,
	WIXL_WIX_MEDIA_DISK_PROMPT_PROPERTY,
	WIXL_WIX_MEDIA_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_media_properties[WIXL_WIX_MEDIA_NUM_PROPERTIES];
enum  {
	WIXL_WIX_REGISTRY_KEY_0_PROPERTY,
	WIXL_WIX_REGISTRY_KEY_KEY_PROPERTY,
	WIXL_WIX_REGISTRY_KEY_ROOT_PROPERTY,
	WIXL_WIX_REGISTRY_KEY_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_registry_key_properties[WIXL_WIX_REGISTRY_KEY_NUM_PROPERTIES];
enum  {
	WIXL_WIX_COMPONENT_0_PROPERTY,
	WIXL_WIX_COMPONENT_GUID_PROPERTY,
	WIXL_WIX_COMPONENT_WIN64_PROPERTY,
	WIXL_WIX_COMPONENT_PERMANENT_PROPERTY,
	WIXL_WIX_COMPONENT_CONDITION_PROPERTY,
	WIXL_WIX_COMPONENT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_component_properties[WIXL_WIX_COMPONENT_NUM_PROPERTIES];
enum  {
	WIXL_WIX_DIRECTORY_0_PROPERTY,
	WIXL_WIX_DIRECTORY_NAME_PROPERTY,
	WIXL_WIX_DIRECTORY_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_directory_properties[WIXL_WIX_DIRECTORY_NUM_PROPERTIES];
enum  {
	WIXL_WIX_ELEMENT_REF_0_PROPERTY,
	WIXL_WIX_ELEMENT_REF_G_TYPE,
	WIXL_WIX_ELEMENT_REF_G_DUP_FUNC,
	WIXL_WIX_ELEMENT_REF_G_DESTROY_FUNC,
	WIXL_WIX_ELEMENT_REF_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_element_ref_properties[WIXL_WIX_ELEMENT_REF_NUM_PROPERTIES];
enum  {
	WIXL_WIX_DIRECTORY_REF_0_PROPERTY,
	WIXL_WIX_DIRECTORY_REF_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_directory_ref_properties[WIXL_WIX_DIRECTORY_REF_NUM_PROPERTIES];
enum  {
	WIXL_WIX_UI_0_PROPERTY,
	WIXL_WIX_UI_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_ui_properties[WIXL_WIX_UI_NUM_PROPERTIES];
enum  {
	WIXL_WIX_UI_REF_0_PROPERTY,
	WIXL_WIX_UI_REF_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_ui_ref_properties[WIXL_WIX_UI_REF_NUM_PROPERTIES];
enum  {
	WIXL_WIX_UI_TEXT_0_PROPERTY,
	WIXL_WIX_UI_TEXT_VALUE_PROPERTY,
	WIXL_WIX_UI_TEXT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_ui_text_properties[WIXL_WIX_UI_TEXT_NUM_PROPERTIES];
enum  {
	WIXL_WIX_TEXT_ELEMENT_0_PROPERTY,
	WIXL_WIX_TEXT_ELEMENT_SOURCE_FILE_PROPERTY,
	WIXL_WIX_TEXT_ELEMENT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_text_element_properties[WIXL_WIX_TEXT_ELEMENT_NUM_PROPERTIES];
enum  {
	WIXL_WIX_TEXT_STYLE_0_PROPERTY,
	WIXL_WIX_TEXT_STYLE_BLUE_PROPERTY,
	WIXL_WIX_TEXT_STYLE_BOLD_PROPERTY,
	WIXL_WIX_TEXT_STYLE_FACE_NAME_PROPERTY,
	WIXL_WIX_TEXT_STYLE_GREEN_PROPERTY,
	WIXL_WIX_TEXT_STYLE_ITALIC_PROPERTY,
	WIXL_WIX_TEXT_STYLE_RED_PROPERTY,
	WIXL_WIX_TEXT_STYLE_SIZE_PROPERTY,
	WIXL_WIX_TEXT_STYLE_STRIKE_PROPERTY,
	WIXL_WIX_TEXT_STYLE_UNDERLINE_PROPERTY,
	WIXL_WIX_TEXT_STYLE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_DIALOG_0_PROPERTY,
	WIXL_WIX_DIALOG_CUSTOM_PALETTE_PROPERTY,
	WIXL_WIX_DIALOG_ERROR_DIALOG_PROPERTY,
	WIXL_WIX_DIALOG_HEIGHT_PROPERTY,
	WIXL_WIX_DIALOG_HIDDEN_PROPERTY,
	WIXL_WIX_DIALOG_KEEP_MODELESS_PROPERTY,
	WIXL_WIX_DIALOG_LEFT_SCROLL_PROPERTY,
	WIXL_WIX_DIALOG_MODELESS_PROPERTY,
	WIXL_WIX_DIALOG_NO_MINIMIZE_PROPERTY,
	WIXL_WIX_DIALOG_RIGHT_ALIGNED_PROPERTY,
	WIXL_WIX_DIALOG_RIGHT_TO_LEFT_PROPERTY,
	WIXL_WIX_DIALOG_TITLE_PROPERTY,
	WIXL_WIX_DIALOG_TRACK_DISK_SPACE_PROPERTY,
	WIXL_WIX_DIALOG_WIDTH_PROPERTY,
	WIXL_WIX_DIALOG_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_dialog_properties[WIXL_WIX_DIALOG_NUM_PROPERTIES];
enum  {
	WIXL_WIX_DIALOG_REF_0_PROPERTY,
	WIXL_WIX_DIALOG_REF_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_dialog_ref_properties[WIXL_WIX_DIALOG_REF_NUM_PROPERTIES];
enum  {
	WIXL_WIX_CONTROL_0_PROPERTY,
	WIXL_WIX_CONTROL_BITMAP_PROPERTY,
	WIXL_WIX_CONTROL_CANCEL_PROPERTY,
	WIXL_WIX_CONTROL_CHECK_BOX_VALUE_PROPERTY,
	WIXL_WIX_CONTROL_DEFAULT_PROPERTY,
	WIXL_WIX_CONTROL_DISABLED_PROPERTY,
	WIXL_WIX_CONTROL_ELEVATION_SHIELD_PROPERTY,
	WIXL_WIX_CONTROL_FIXED_PROPERTY,
	WIXL_WIX_CONTROL_FIXED_SIZE_PROPERTY,
	WIXL_WIX_CONTROL_HEIGHT_PROPERTY,
	WIXL_WIX_CONTROL_HIDDEN_PROPERTY,
	WIXL_WIX_CONTROL_ICON_SIZE_PROPERTY,
	WIXL_WIX_CONTROL_NO_PREFIX_PROPERTY,
	WIXL_WIX_CONTROL_PROGRESS_BLOCKS_PROPERTY,
	WIXL_WIX_CONTROL_PROPERTY_PROPERTY,
	WIXL_WIX_CONTROL_REMOTE_PROPERTY,
	WIXL_WIX_CONTROL_SHOW_ROLLBACK_COST_PROPERTY,
	WIXL_WIX_CONTROL_SUNKEN_PROPERTY,
	WIXL_WIX_CONTROL_INDIRECT_PROPERTY,
	WIXL_WIX_CONTROL_ICON_PROPERTY,
	WIXL_WIX_CONTROL_TAB_SKIP_PROPERTY,
	WIXL_WIX_CONTROL_TEXT_PROPERTY,
	WIXL_WIX_CONTROL_TOOL_TIP_PROPERTY,
	WIXL_WIX_CONTROL_TRANSPARENT_PROPERTY,
	WIXL_WIX_CONTROL_TYPE_PROPERTY,
	WIXL_WIX_CONTROL_WIDTH_PROPERTY,
	WIXL_WIX_CONTROL_X_PROPERTY,
	WIXL_WIX_CONTROL_Y_PROPERTY,
	WIXL_WIX_CONTROL_DEFAULT_CONDITION_PROPERTY,
	WIXL_WIX_CONTROL_DISABLE_CONDITION_PROPERTY,
	WIXL_WIX_CONTROL_ENABLE_CONDITION_PROPERTY,
	WIXL_WIX_CONTROL_HIDE_CONDITION_PROPERTY,
	WIXL_WIX_CONTROL_SHOW_CONDITION_PROPERTY,
	WIXL_WIX_CONTROL_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_control_properties[WIXL_WIX_CONTROL_NUM_PROPERTIES];
enum  {
	WIXL_WIX_PUBLISH_0_PROPERTY,
	WIXL_WIX_PUBLISH_CONTROL_PROPERTY,
	WIXL_WIX_PUBLISH_DIALOG_PROPERTY,
	WIXL_WIX_PUBLISH_EVENT_PROPERTY,
	WIXL_WIX_PUBLISH_ORDER_PROPERTY,
	WIXL_WIX_PUBLISH_PROPERTY_PROPERTY,
	WIXL_WIX_PUBLISH_VALUE_PROPERTY,
	WIXL_WIX_PUBLISH_CONDITION_PROPERTY,
	WIXL_WIX_PUBLISH_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_publish_properties[WIXL_WIX_PUBLISH_NUM_PROPERTIES];
enum  {
	WIXL_WIX_RADIO_BUTTON_GROUP_0_PROPERTY,
	WIXL_WIX_RADIO_BUTTON_GROUP_PROPERTY_PROPERTY,
	WIXL_WIX_RADIO_BUTTON_GROUP_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_radio_button_group_properties[WIXL_WIX_RADIO_BUTTON_GROUP_NUM_PROPERTIES];
enum  {
	WIXL_WIX_RADIO_BUTTON_0_PROPERTY,
	WIXL_WIX_RADIO_BUTTON_HEIGHT_PROPERTY,
	WIXL_WIX_RADIO_BUTTON_HELP_PROPERTY,
	WIXL_WIX_RADIO_BUTTON_TEXT_PROPERTY,
	WIXL_WIX_RADIO_BUTTON_VALUE_PROPERTY,
	WIXL_WIX_RADIO_BUTTON_WIDTH_PROPERTY,
	WIXL_WIX_RADIO_BUTTON_X_PROPERTY,
	WIXL_WIX_RADIO_BUTTON_Y_PROPERTY,
	WIXL_WIX_RADIO_BUTTON_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_NUM_PROPERTIES];
enum  {
	WIXL_WIX_SUBSCRIBE_0_PROPERTY,
	WIXL_WIX_SUBSCRIBE_ATTRIBUTE_PROPERTY,
	WIXL_WIX_SUBSCRIBE_EVENT_PROPERTY,
	WIXL_WIX_SUBSCRIBE_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_subscribe_properties[WIXL_WIX_SUBSCRIBE_NUM_PROPERTIES];
enum  {
	WIXL_WIX_PROGRESS_TEXT_0_PROPERTY,
	WIXL_WIX_PROGRESS_TEXT_ACTION_PROPERTY,
	WIXL_WIX_PROGRESS_TEXT_TEMPLATE_PROPERTY,
	WIXL_WIX_PROGRESS_TEXT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_progress_text_properties[WIXL_WIX_PROGRESS_TEXT_NUM_PROPERTIES];

#define WIXL_TYPE_WIX_ROOT (wixl_wix_root_get_type ())
#define WIXL_WIX_ROOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WIXL_TYPE_WIX_ROOT, WixlWixRoot))
#define WIXL_WIX_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WIXL_TYPE_WIX_ROOT, WixlWixRootClass))
#define WIXL_IS_WIX_ROOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WIXL_TYPE_WIX_ROOT))
#define WIXL_IS_WIX_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WIXL_TYPE_WIX_ROOT))
#define WIXL_WIX_ROOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WIXL_TYPE_WIX_ROOT, WixlWixRootClass))

typedef struct _WixlWixRoot WixlWixRoot;
typedef struct _WixlWixRootClass WixlWixRootClass;
typedef struct _WixlWixRootPrivate WixlWixRootPrivate;
enum  {
	WIXL_WIX_ROOT_0_PROPERTY,
	WIXL_WIX_ROOT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_root_properties[WIXL_WIX_ROOT_NUM_PROPERTIES];
enum  {
	WIXL_WIX_ENVIRONMENT_0_PROPERTY,
	WIXL_WIX_ENVIRONMENT_ACTION_PROPERTY,
	WIXL_WIX_ENVIRONMENT_NAME_PROPERTY,
	WIXL_WIX_ENVIRONMENT_PART_PROPERTY,
	WIXL_WIX_ENVIRONMENT_PERMANENT_PROPERTY,
	WIXL_WIX_ENVIRONMENT_SEPARATOR_PROPERTY,
	WIXL_WIX_ENVIRONMENT_SYSTEM_PROPERTY,
	WIXL_WIX_ENVIRONMENT_VALUE_PROPERTY,
	WIXL_WIX_ENVIRONMENT_NUM_PROPERTIES
};
static GParamSpec* wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_NUM_PROPERTIES];

struct _WixlWixElementPrivate {
	gchar* _Id;
};

struct _WixlWixComponentGroupPrivate {
	gchar* _Directory;
};

struct _WixlWixRegistrySearchPrivate {
	gchar* _Root;
	gchar* _Key;
	gchar* _Type;
	gchar* _Name;
	gchar* _Win64;
};

struct _WixlWixPropertyPrivate {
	gchar* _Value;
	gchar* _Secure;
};

struct _WixlWixPackagePrivate {
	gchar* _Keywords;
	gchar* _InstallerDescription;
	gchar* _InstallerComments;
	gchar* _Manufacturer;
	gchar* _InstallerVersion;
	gchar* _Languages;
	gchar* _Compressed;
	gchar* _SummaryCodepage;
	gchar* _Comments;
	gchar* _Description;
	gchar* _InstallScope;
};

struct _WixlWixCreateFolderPrivate {
	gchar* _Directory;
};

struct _WixlWixIconPrivate {
	gchar* _SourceFile;
};

struct _WixlWixShortcutPrivate {
	gchar* _Directory;
	gchar* _Name;
	gchar* _IconIndex;
	gchar* _WorkingDirectory;
	gchar* _Icon;
	gchar* _Advertise;
	gchar* _Arguments;
	gchar* _Description;
	gchar* _Target;
};

struct _WixlWixKeyElementPrivate {
	gchar* _KeyPath;
};

struct _WixlWixFilePrivate {
	gchar* _DiskId;
	gchar* _Source;
	gchar* _Name;
	gchar* _DefaultVersion;
	gchar* _CompanionFile;
};

struct _WixlWixIniFilePrivate {
	gchar* _Action;
	gchar* _Directory;
	gchar* _Key;
	gchar* _Name;
	gchar* _Section;
	gchar* _Value;
};

struct _WixlWixRegistryValuePrivate {
	gchar* _Root;
	gchar* _Key;
	gchar* _Type;
	gchar* _Value;
	gchar* _Name;
};

struct _WixlWixRemoveFolderPrivate {
	gchar* _On;
};

struct _WixlWixFeaturePrivate {
	gchar* _Level;
	gchar* _Title;
	gchar* _Description;
	gchar* _Display;
	gchar* _ConfigurableDirectory;
	gchar* _AllowAdvertise;
	gchar* _Absent;
	gchar* _InstallDefault;
	gchar* _TypicalDefault;
};

struct _WixlWixConditionPrivate {
	gchar* _Message;
	gchar* _Level;
};

struct _WixlWixMIMEPrivate {
	gchar* _Advertise;
	gchar* _ContentType;
	gchar* _Default;
};

struct _WixlWixServiceControlPrivate {
	gchar* _Name;
	gchar* _Start;
	gchar* _Stop;
	gchar* _Remove;
	gchar* _Wait;
};

struct _WixlWixServiceDependencyPrivate {
	gchar* _Group;
};

struct _WixlWixServiceInstallPrivate {
	gchar* _Name;
	gchar* _DisplayName;
	gchar* _Type;
	gchar* _Interactive;
	gchar* _Start;
	gchar* _ErrorControl;
	gchar* _Vital;
	gchar* _LoadOrderGroup;
	gchar* _Account;
	gchar* _Password;
	gchar* _Arguments;
	gchar* _Description;
	gchar* _EraseDescription;
};

struct _WixlWixVerbPrivate {
	gchar* _Command;
	gchar* _TargetFile;
	gchar* _Argument;
};

struct _WixlWixExtensionPrivate {
	gchar* _ContentType;
	gchar* _Advertise;
};

struct _WixlWixProgIdPrivate {
	gchar* _Description;
	gchar* _Advertise;
};

struct _WixlWixActionPrivate {
	gchar* _After;
	gchar* _Before;
	gchar* _Overridable;
	gchar* _Sequence;
	gchar* _Suppress;
	gchar* _Action;
	gchar* _Dialog;
	gchar* _OnExit;
	gchar* _Condition;
};

struct _WixlWixUpgradeVersionPrivate {
	gchar* _Minimum;
	gchar* _Maximum;
	gchar* _IncludeMinimum;
	gchar* _IncludeMaximum;
	gchar* _MigrateFeatures;
	gchar* _OnlyDetect;
	gchar* _Property;
};

struct _WixlWixCustomActionPrivate {
	gchar* _Property;
	gchar* _Execute;
	gchar* _FileKey;
	gchar* _ExeCommand;
	gchar* _Impersonate;
	gchar* _Return;
	gchar* _BinaryKey;
	gchar* _DllEntry;
	gchar* _HideTarget;
	gchar* _JScriptCall;
	gchar* _Value;
};

struct _WixlWixBinaryPrivate {
	gchar* _SourceFile;
};

struct _WixlWixMajorUpgradePrivate {
	gchar* _DowngradeErrorMessage;
	gchar* _AllowSameVersionUpgrades;
	gchar* _AllowDowngrades;
};

struct _WixlWixMediaTemplatePrivate {
	gchar* _EmbedCab;
};

struct _WixlWixProductPrivate {
	gchar* _Name;
	gchar* _UpgradeCode;
	gchar* _Language;
	gchar* _Codepage;
	gchar* _Version;
	gchar* _Manufacturer;
};

struct _WixlWixMediaPrivate {
	gchar* _Cabinet;
	gchar* _EmbedCab;
	gchar* _DiskPrompt;
};

struct _WixlWixRegistryKeyPrivate {
	gchar* _Key;
	gchar* _Root;
};

struct _WixlWixComponentPrivate {
	gchar* _Guid;
	gchar* _Win64;
	gchar* _Permanent;
	gchar* _Condition;
};

struct _WixlWixDirectoryPrivate {
	gchar* _Name;
};

struct _WixlWixElementRefPrivate {
	GType g_type;
	GBoxedCopyFunc g_dup_func;
	GDestroyNotify g_destroy_func;
};

struct _WixlWixUITextPrivate {
	gchar* _Value;
};

struct _WixlWixTextElementPrivate {
	gchar* _SourceFile;
};

struct _WixlWixTextStylePrivate {
	gchar* _Blue;
	gchar* _Bold;
	gchar* _FaceName;
	gchar* _Green;
	gchar* _Italic;
	gchar* _Red;
	gchar* _Size;
	gchar* _Strike;
	gchar* _Underline;
};

struct _WixlWixDialogPrivate {
	gchar* _CustomPalette;
	gchar* _ErrorDialog;
	gchar* _Height;
	gchar* _Hidden;
	gchar* _KeepModeless;
	gchar* _LeftScroll;
	gchar* _Modeless;
	gchar* _NoMinimize;
	gchar* _RightAligned;
	gchar* _RightToLeft;
	gchar* _Title;
	gchar* _TrackDiskSpace;
	gchar* _Width;
};

struct _WixlWixControlPrivate {
	gchar* _Bitmap;
	gchar* _Cancel;
	gchar* _CheckBoxValue;
	gchar* _Default;
	gchar* _Disabled;
	gchar* _ElevationShield;
	gchar* _Fixed;
	gchar* _FixedSize;
	gchar* _Height;
	gchar* _Hidden;
	gchar* _IconSize;
	gchar* _NoPrefix;
	gchar* _ProgressBlocks;
	gchar* _Property;
	gchar* _Remote;
	gchar* _ShowRollbackCost;
	gchar* _Sunken;
	gchar* _Indirect;
	gchar* _Icon;
	gchar* _TabSkip;
	gchar* _Text;
	gchar* _ToolTip;
	gchar* _Transparent;
	gchar* _Type;
	gchar* _Width;
	gchar* _X;
	gchar* _Y;
	gchar* _DefaultCondition;
	gchar* _DisableCondition;
	gchar* _EnableCondition;
	gchar* _HideCondition;
	gchar* _ShowCondition;
};

struct _WixlWixPublishPrivate {
	gchar* _Control;
	gchar* _Dialog;
	gchar* _Event;
	gchar* _Order;
	gchar* _Property;
	gchar* _Value;
	gchar* _Condition;
};

struct _WixlWixRadioButtonGroupPrivate {
	gchar* _Property;
};

struct _WixlWixRadioButtonPrivate {
	gchar* _Height;
	gchar* _Help;
	gchar* _Text;
	gchar* _Value;
	gchar* _Width;
	gchar* _X;
	gchar* _Y;
};

struct _WixlWixSubscribePrivate {
	gchar* _Attribute;
	gchar* _Event;
};

struct _WixlWixProgressTextPrivate {
	gchar* _Action;
	gchar* _Template;
};

struct _WixlWixRoot {
	WixlWixElement parent_instance;
	WixlWixRootPrivate * priv;
};

struct _WixlWixRootClass {
	WixlWixElementClass parent_class;
};

struct _WixlWixEnvironmentPrivate {
	gchar* _Action;
	gchar* _Name;
	gchar* _Part;
	gchar* _Permanent;
	gchar* _Separator;
	gchar* _System;
	gchar* _Value;
};

static gpointer wixl_wix_node_visitor_parent_class = NULL;
static gpointer wixl_wix_node_parent_class = NULL;
static gpointer wixl_wix_text_parent_class = NULL;
static gint WixlWixElement_private_offset;
static gpointer wixl_wix_element_parent_class = NULL;
static gint WixlWixComponentGroup_private_offset;
static gpointer wixl_wix_component_group_parent_class = NULL;
static gpointer wixl_wix_fragment_parent_class = NULL;
static gint WixlWixRegistrySearch_private_offset;
static gpointer wixl_wix_registry_search_parent_class = NULL;
static gint WixlWixProperty_private_offset;
static gpointer wixl_wix_property_parent_class = NULL;
static gint WixlWixPackage_private_offset;
static gpointer wixl_wix_package_parent_class = NULL;
static gint WixlWixCreateFolder_private_offset;
static gpointer wixl_wix_create_folder_parent_class = NULL;
static gint WixlWixIcon_private_offset;
static gpointer wixl_wix_icon_parent_class = NULL;
static gint WixlWixShortcut_private_offset;
static gpointer wixl_wix_shortcut_parent_class = NULL;
static gint WixlWixKeyElement_private_offset;
static gpointer wixl_wix_key_element_parent_class = NULL;
static gint WixlWixFile_private_offset;
static gpointer wixl_wix_file_parent_class = NULL;
static gint WixlWixIniFile_private_offset;
static gpointer wixl_wix_ini_file_parent_class = NULL;
static gint WixlWixRegistryValue_private_offset;
static gpointer wixl_wix_registry_value_parent_class = NULL;
static gint WixlWixRemoveFolder_private_offset;
static gpointer wixl_wix_remove_folder_parent_class = NULL;
static gint WixlWixFeature_private_offset;
static gpointer wixl_wix_feature_parent_class = NULL;
static gpointer wixl_wix_component_ref_parent_class = NULL;
static gpointer wixl_wix_component_group_ref_parent_class = NULL;
static gint WixlWixCondition_private_offset;
static gpointer wixl_wix_condition_parent_class = NULL;
static gint WixlWixMIME_private_offset;
static gpointer wixl_wix_mime_parent_class = NULL;
static gpointer wixl_wix_service_argument_parent_class = NULL;
static gint WixlWixServiceControl_private_offset;
static gpointer wixl_wix_service_control_parent_class = NULL;
static gint WixlWixServiceDependency_private_offset;
static gpointer wixl_wix_service_dependency_parent_class = NULL;
static gint WixlWixServiceInstall_private_offset;
static gpointer wixl_wix_service_install_parent_class = NULL;
static gint WixlWixVerb_private_offset;
static gpointer wixl_wix_verb_parent_class = NULL;
static gint WixlWixExtension_private_offset;
static gpointer wixl_wix_extension_parent_class = NULL;
static gint WixlWixProgId_private_offset;
static gpointer wixl_wix_prog_id_parent_class = NULL;
static gint WixlWixAction_private_offset;
static gpointer wixl_wix_action_parent_class = NULL;
static gpointer wixl_wix_sequence_parent_class = NULL;
static gpointer wixl_wix_install_execute_sequence_parent_class = NULL;
static gpointer wixl_wix_install_ui_sequence_parent_class = NULL;
static gpointer wixl_wix_admin_execute_sequence_parent_class = NULL;
static gpointer wixl_wix_admin_ui_sequence_parent_class = NULL;
static gpointer wixl_wix_advertise_execute_sequence_parent_class = NULL;
static gpointer wixl_wix_upgrade_parent_class = NULL;
static gint WixlWixUpgradeVersion_private_offset;
static gpointer wixl_wix_upgrade_version_parent_class = NULL;
static gint WixlWixCustomAction_private_offset;
static gpointer wixl_wix_custom_action_parent_class = NULL;
static gint WixlWixBinary_private_offset;
static gpointer wixl_wix_binary_parent_class = NULL;
static gint WixlWixMajorUpgrade_private_offset;
static gpointer wixl_wix_major_upgrade_parent_class = NULL;
static gint WixlWixMediaTemplate_private_offset;
static gpointer wixl_wix_media_template_parent_class = NULL;
static gint WixlWixProduct_private_offset;
static gpointer wixl_wix_product_parent_class = NULL;
static gint WixlWixMedia_private_offset;
static gpointer wixl_wix_media_parent_class = NULL;
static gint WixlWixRegistryKey_private_offset;
static gpointer wixl_wix_registry_key_parent_class = NULL;
static gint WixlWixComponent_private_offset;
static gpointer wixl_wix_component_parent_class = NULL;
static gint WixlWixDirectory_private_offset;
static gpointer wixl_wix_directory_parent_class = NULL;
static gint WixlWixElementRef_private_offset;
static gpointer wixl_wix_element_ref_parent_class = NULL;
static gpointer wixl_wix_directory_ref_parent_class = NULL;
static gpointer wixl_wix_ui_parent_class = NULL;
static gpointer wixl_wix_ui_ref_parent_class = NULL;
static gint WixlWixUIText_private_offset;
static gpointer wixl_wix_ui_text_parent_class = NULL;
static gint WixlWixTextElement_private_offset;
static gpointer wixl_wix_text_element_parent_class = NULL;
static gint WixlWixTextStyle_private_offset;
static gpointer wixl_wix_text_style_parent_class = NULL;
static gint WixlWixDialog_private_offset;
static gpointer wixl_wix_dialog_parent_class = NULL;
static gpointer wixl_wix_dialog_ref_parent_class = NULL;
static gint WixlWixControl_private_offset;
static gpointer wixl_wix_control_parent_class = NULL;
static gint WixlWixPublish_private_offset;
static gpointer wixl_wix_publish_parent_class = NULL;
gint wixl_wix_publish_order = 1;
static gint WixlWixRadioButtonGroup_private_offset;
static gpointer wixl_wix_radio_button_group_parent_class = NULL;
static gint WixlWixRadioButton_private_offset;
static gpointer wixl_wix_radio_button_parent_class = NULL;
static gint WixlWixSubscribe_private_offset;
static gpointer wixl_wix_subscribe_parent_class = NULL;
static gint WixlWixProgressText_private_offset;
static gpointer wixl_wix_progress_text_parent_class = NULL;
static gpointer wixl_wix_root_parent_class = NULL;
static gint WixlWixEnvironment_private_offset;
static gpointer wixl_wix_environment_parent_class = NULL;

static GType wixl_wix_resolver_get_type_once (void);
static void wixl_wix_node_visitor_real_visit_product (WixlWixNodeVisitor* self,
                                               WixlWixProduct* product,
                                               GError** error);
static void wixl_wix_node_visitor_real_visit_icon (WixlWixNodeVisitor* self,
                                            WixlWixIcon* icon,
                                            GError** error);
static void wixl_wix_node_visitor_real_visit_package (WixlWixNodeVisitor* self,
                                               WixlWixPackage* package,
                                               GError** error);
static void wixl_wix_node_visitor_real_visit_property (WixlWixNodeVisitor* self,
                                                WixlWixProperty* prop,
                                                GError** error);
static void wixl_wix_node_visitor_real_visit_media (WixlWixNodeVisitor* self,
                                             WixlWixMedia* media,
                                             GError** error);
static void wixl_wix_node_visitor_real_visit_directory (WixlWixNodeVisitor* self,
                                                 WixlWixDirectory* dir,
                                                 GError** error);
static void wixl_wix_node_visitor_real_visit_component (WixlWixNodeVisitor* self,
                                                 WixlWixComponent* comp,
                                                 WixlVisitState state,
                                                 GError** error);
static void wixl_wix_node_visitor_real_visit_feature (WixlWixNodeVisitor* self,
                                               WixlWixFeature* feature,
                                               WixlVisitState state,
                                               GError** error);
static void wixl_wix_node_visitor_real_visit_component_ref (WixlWixNodeVisitor* self,
                                                     WixlWixComponentRef* ref,
                                                     GError** error);
static void wixl_wix_node_visitor_real_visit_remove_folder (WixlWixNodeVisitor* self,
                                                     WixlWixRemoveFolder* rm,
                                                     GError** error);
static void wixl_wix_node_visitor_real_visit_registry_value (WixlWixNodeVisitor* self,
                                                      WixlWixRegistryValue* reg,
                                                      GError** error);
static void wixl_wix_node_visitor_real_visit_file (WixlWixNodeVisitor* self,
                                            WixlWixFile* reg,
                                            GError** error);
static void wixl_wix_node_visitor_real_visit_ini_file (WixlWixNodeVisitor* self,
                                                WixlWixIniFile* reg,
                                                GError** error);
static void wixl_wix_node_visitor_real_visit_shortcut (WixlWixNodeVisitor* self,
                                                WixlWixShortcut* shortcut,
                                                GError** error);
static void wixl_wix_node_visitor_real_visit_create_folder (WixlWixNodeVisitor* self,
                                                     WixlWixCreateFolder* folder,
                                                     GError** error);
static void wixl_wix_node_visitor_real_visit_fragment (WixlWixNodeVisitor* self,
                                                WixlWixFragment* fragment,
                                                GError** error);
static void wixl_wix_node_visitor_real_visit_sequence (WixlWixNodeVisitor* self,
                                                WixlWixSequence* sequence,
                                                GError** error);
static void wixl_wix_node_visitor_real_visit_condition (WixlWixNodeVisitor* self,
                                                 WixlWixCondition* condition,
                                                 GError** error);
static void wixl_wix_node_visitor_real_visit_upgrade (WixlWixNodeVisitor* self,
                                               WixlWixUpgrade* upgrade,
                                               GError** error);
static void wixl_wix_node_visitor_real_visit_upgrade_version (WixlWixNodeVisitor* self,
                                                       WixlWixUpgradeVersion* version,
                                                       GError** error);
static void wixl_wix_node_visitor_real_visit_action (WixlWixNodeVisitor* self,
                                              WixlWixAction* action,
                                              GError** error);
static void wixl_wix_node_visitor_real_visit_text (WixlWixNodeVisitor* self,
                                            WixlWixText* text,
                                            GError** error);
static void wixl_wix_node_visitor_real_visit_component_group_ref (WixlWixNodeVisitor* self,
                                                           WixlWixComponentGroupRef* ref,
                                                           GError** error);
static void wixl_wix_node_visitor_real_visit_progid (WixlWixNodeVisitor* self,
                                              WixlWixProgId* progid,
                                              GError** error);
static void wixl_wix_node_visitor_real_visit_extension (WixlWixNodeVisitor* self,
                                                 WixlWixExtension* extension,
                                                 GError** error);
static void wixl_wix_node_visitor_real_visit_verb (WixlWixNodeVisitor* self,
                                            WixlWixVerb* verb,
                                            GError** error);
static void wixl_wix_node_visitor_real_visit_mime (WixlWixNodeVisitor* self,
                                            WixlWixMIME* mime,
                                            GError** error);
static void wixl_wix_node_visitor_real_visit_service_argument (WixlWixNodeVisitor* self,
                                                        WixlWixServiceArgument* service_argument,
                                                        GError** error);
static void wixl_wix_node_visitor_real_visit_service_control (WixlWixNodeVisitor* self,
                                                       WixlWixServiceControl* service_control,
                                                       WixlVisitState state,
                                                       GError** error);
static void wixl_wix_node_visitor_real_visit_service_dependency (WixlWixNodeVisitor* self,
                                                          WixlWixServiceDependency* service_dependency,
                                                          GError** error);
static void wixl_wix_node_visitor_real_visit_service_install (WixlWixNodeVisitor* self,
                                                       WixlWixServiceInstall* service_install,
                                                       WixlVisitState state,
                                                       GError** error);
static void wixl_wix_node_visitor_real_visit_registry_search (WixlWixNodeVisitor* self,
                                                       WixlWixRegistrySearch* search,
                                                       GError** error);
static void wixl_wix_node_visitor_real_visit_custom_action (WixlWixNodeVisitor* self,
                                                     WixlWixCustomAction* action,
                                                     GError** error);
static void wixl_wix_node_visitor_real_visit_binary (WixlWixNodeVisitor* self,
                                              WixlWixBinary* binary,
                                              GError** error);
static void wixl_wix_node_visitor_real_visit_major_upgrade (WixlWixNodeVisitor* self,
                                                     WixlWixMajorUpgrade* major,
                                                     GError** error);
static void wixl_wix_node_visitor_real_visit_media_template (WixlWixNodeVisitor* self,
                                                      WixlWixMediaTemplate* media,
                                                      GError** error);
static void wixl_wix_node_visitor_real_visit_ui_ref (WixlWixNodeVisitor* self,
                                              WixlWixUIRef* ref,
                                              GError** error);
static void wixl_wix_node_visitor_real_visit_ui_text (WixlWixNodeVisitor* self,
                                               WixlWixUIText* text,
                                               GError** error);
static void wixl_wix_node_visitor_real_visit_text_element (WixlWixNodeVisitor* self,
                                                    WixlWixTextElement* text,
                                                    GError** error);
static void wixl_wix_node_visitor_real_visit_text_style (WixlWixNodeVisitor* self,
                                                  WixlWixTextStyle* style,
                                                  GError** error);
static void wixl_wix_node_visitor_real_visit_dialog (WixlWixNodeVisitor* self,
                                              WixlWixDialog* dialog,
                                              GError** error);
static void wixl_wix_node_visitor_real_visit_dialog_ref (WixlWixNodeVisitor* self,
                                                  WixlWixDialogRef* ref,
                                                  GError** error);
static void wixl_wix_node_visitor_real_visit_control (WixlWixNodeVisitor* self,
                                               WixlWixControl* control,
                                               GError** error);
static void wixl_wix_node_visitor_real_visit_publish (WixlWixNodeVisitor* self,
                                               WixlWixPublish* publish,
                                               GError** error);
static void wixl_wix_node_visitor_real_visit_radio_button (WixlWixNodeVisitor* self,
                                                    WixlWixRadioButton* radio,
                                                    GError** error);
static void wixl_wix_node_visitor_real_visit_subscribe (WixlWixNodeVisitor* self,
                                                 WixlWixSubscribe* subscribe,
                                                 GError** error);
static void wixl_wix_node_visitor_real_visit_progress_text (WixlWixNodeVisitor* self,
                                                     WixlWixProgressText* progress_text,
                                                     GError** error);
static void wixl_wix_node_visitor_real_visit_environment (WixlWixNodeVisitor* self,
                                                   WixlWixEnvironment* env,
                                                   GError** error);
static GType wixl_wix_node_visitor_get_type_once (void);
static gchar* wixl_wix_node_real_to_string (WixlWixNode* self);
static void wixl_wix_node_real_accept (WixlWixNode* self,
                                WixlWixNodeVisitor* visitor,
                                GError** error);
static void wixl_wix_node_finalize (GObject * obj);
static GType wixl_wix_node_get_type_once (void);
static gchar* wixl_wix_text_real_to_string (WixlWixNode* base);
static void wixl_wix_text_real_accept (WixlWixNode* base,
                                WixlWixNodeVisitor* visitor,
                                GError** error);
static void wixl_wix_text_finalize (GObject * obj);
static GType wixl_wix_text_get_type_once (void);
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
static gpointer* _vala_array_dup5 (gpointer* self,
                            gssize length,
                            GBoxedCopyFunc g_dup_func);
static void _vala_array_add8 (gpointer* * array,
                       gint* length,
                       gint* size,
                       gpointer value);
static gpointer* _vala_array_dup6 (gpointer* self,
                            gssize length,
                            GBoxedCopyFunc g_dup_func);
static void _vala_array_add9 (gpointer* * array,
                       gint* length,
                       gint* size,
                       gpointer value);
static gchar* wixl_wix_element_real_full_path (WixlWixElement* self,
                                        WixlWixResolver* r,
                                        GError** error);
static gchar* wixl_wix_element_get_attribute_content (WixlWixElement* self,
                                               xmlAttr* attr);
static void wixl_wix_element_real_load (WixlWixElement* self,
                                 xmlNode* node,
                                 GError** error);
static gchar* wixl_wix_element_real_to_string (WixlWixNode* base);
static void wixl_wix_element_real_accept (WixlWixNode* base,
                                   WixlWixNodeVisitor* visitor,
                                   GError** error);
static void _g_free0_ (gpointer var);
static void wixl_wix_element_finalize (GObject * obj);
static GType wixl_wix_element_get_type_once (void);
static void _vala_wixl_wix_element_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec);
static void _vala_wixl_wix_element_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec);
static void wixl_wix_component_group_finalize (GObject * obj);
static GType wixl_wix_component_group_get_type_once (void);
static void _vala_wixl_wix_component_group_get_property (GObject * object,
                                                  guint property_id,
                                                  GValue * value,
                                                  GParamSpec * pspec);
static void _vala_wixl_wix_component_group_set_property (GObject * object,
                                                  guint property_id,
                                                  const GValue * value,
                                                  GParamSpec * pspec);
static void wixl_wix_fragment_real_accept (WixlWixNode* base,
                                    WixlWixNodeVisitor* visitor,
                                    GError** error);
static GType wixl_wix_fragment_get_type_once (void);
static void wixl_wix_registry_search_real_accept (WixlWixNode* base,
                                           WixlWixNodeVisitor* visitor,
                                           GError** error);
static void wixl_wix_registry_search_finalize (GObject * obj);
static GType wixl_wix_registry_search_get_type_once (void);
static void _vala_wixl_wix_registry_search_get_property (GObject * object,
                                                  guint property_id,
                                                  GValue * value,
                                                  GParamSpec * pspec);
static void _vala_wixl_wix_registry_search_set_property (GObject * object,
                                                  guint property_id,
                                                  const GValue * value,
                                                  GParamSpec * pspec);
static void wixl_wix_property_real_accept (WixlWixNode* base,
                                    WixlWixNodeVisitor* visitor,
                                    GError** error);
static void wixl_wix_property_finalize (GObject * obj);
static GType wixl_wix_property_get_type_once (void);
static void _vala_wixl_wix_property_get_property (GObject * object,
                                           guint property_id,
                                           GValue * value,
                                           GParamSpec * pspec);
static void _vala_wixl_wix_property_set_property (GObject * object,
                                           guint property_id,
                                           const GValue * value,
                                           GParamSpec * pspec);
static void wixl_wix_package_real_accept (WixlWixNode* base,
                                   WixlWixNodeVisitor* visitor,
                                   GError** error);
static void wixl_wix_package_finalize (GObject * obj);
static GType wixl_wix_package_get_type_once (void);
static void _vala_wixl_wix_package_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec);
static void _vala_wixl_wix_package_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec);
static void wixl_wix_create_folder_real_accept (WixlWixNode* base,
                                         WixlWixNodeVisitor* visitor,
                                         GError** error);
static void wixl_wix_create_folder_finalize (GObject * obj);
static GType wixl_wix_create_folder_get_type_once (void);
static void _vala_wixl_wix_create_folder_get_property (GObject * object,
                                                guint property_id,
                                                GValue * value,
                                                GParamSpec * pspec);
static void _vala_wixl_wix_create_folder_set_property (GObject * object,
                                                guint property_id,
                                                const GValue * value,
                                                GParamSpec * pspec);
static void wixl_wix_icon_real_accept (WixlWixNode* base,
                                WixlWixNodeVisitor* visitor,
                                GError** error);
static void wixl_wix_icon_finalize (GObject * obj);
static GType wixl_wix_icon_get_type_once (void);
static void _vala_wixl_wix_icon_get_property (GObject * object,
                                       guint property_id,
                                       GValue * value,
                                       GParamSpec * pspec);
static void _vala_wixl_wix_icon_set_property (GObject * object,
                                       guint property_id,
                                       const GValue * value,
                                       GParamSpec * pspec);
static void wixl_wix_shortcut_real_accept (WixlWixNode* base,
                                    WixlWixNodeVisitor* visitor,
                                    GError** error);
static void wixl_wix_shortcut_finalize (GObject * obj);
static GType wixl_wix_shortcut_get_type_once (void);
static void _vala_wixl_wix_shortcut_get_property (GObject * object,
                                           guint property_id,
                                           GValue * value,
                                           GParamSpec * pspec);
static void _vala_wixl_wix_shortcut_set_property (GObject * object,
                                           guint property_id,
                                           const GValue * value,
                                           GParamSpec * pspec);
static gchar* wixl_wix_key_element_real_path_name (WixlWixKeyElement* self,
                                            GError** error);
static void wixl_wix_key_element_finalize (GObject * obj);
static GType wixl_wix_key_element_get_type_once (void);
static void _vala_wixl_wix_key_element_get_property (GObject * object,
                                              guint property_id,
                                              GValue * value,
                                              GParamSpec * pspec);
static void _vala_wixl_wix_key_element_set_property (GObject * object,
                                              guint property_id,
                                              const GValue * value,
                                              GParamSpec * pspec);
static gchar* wixl_wix_file_real_path_name (WixlWixKeyElement* base,
                                     GError** error);
static void wixl_wix_file_real_accept (WixlWixNode* base,
                                WixlWixNodeVisitor* visitor,
                                GError** error);
static void wixl_wix_file_finalize (GObject * obj);
static GType wixl_wix_file_get_type_once (void);
static void _vala_wixl_wix_file_get_property (GObject * object,
                                       guint property_id,
                                       GValue * value,
                                       GParamSpec * pspec);
static void _vala_wixl_wix_file_set_property (GObject * object,
                                       guint property_id,
                                       const GValue * value,
                                       GParamSpec * pspec);
static void wixl_wix_ini_file_real_accept (WixlWixNode* base,
                                    WixlWixNodeVisitor* visitor,
                                    GError** error);
static void wixl_wix_ini_file_finalize (GObject * obj);
static GType wixl_wix_ini_file_get_type_once (void);
static void _vala_wixl_wix_ini_file_get_property (GObject * object,
                                           guint property_id,
                                           GValue * value,
                                           GParamSpec * pspec);
static void _vala_wixl_wix_ini_file_set_property (GObject * object,
                                           guint property_id,
                                           const GValue * value,
                                           GParamSpec * pspec);
static gchar* wixl_wix_registry_value_real_path_name (WixlWixKeyElement* base,
                                               GError** error);
static void wixl_wix_registry_value_real_accept (WixlWixNode* base,
                                          WixlWixNodeVisitor* visitor,
                                          GError** error);
static void wixl_wix_registry_value_finalize (GObject * obj);
static GType wixl_wix_registry_value_get_type_once (void);
static void _vala_wixl_wix_registry_value_get_property (GObject * object,
                                                 guint property_id,
                                                 GValue * value,
                                                 GParamSpec * pspec);
static void _vala_wixl_wix_registry_value_set_property (GObject * object,
                                                 guint property_id,
                                                 const GValue * value,
                                                 GParamSpec * pspec);
static void wixl_wix_remove_folder_real_accept (WixlWixNode* base,
                                         WixlWixNodeVisitor* visitor,
                                         GError** error);
static void wixl_wix_remove_folder_finalize (GObject * obj);
static GType wixl_wix_remove_folder_get_type_once (void);
static void _vala_wixl_wix_remove_folder_get_property (GObject * object,
                                                guint property_id,
                                                GValue * value,
                                                GParamSpec * pspec);
static void _vala_wixl_wix_remove_folder_set_property (GObject * object,
                                                guint property_id,
                                                const GValue * value,
                                                GParamSpec * pspec);
static void wixl_wix_feature_real_accept (WixlWixNode* base,
                                   WixlWixNodeVisitor* visitor,
                                   GError** error);
static void wixl_wix_feature_finalize (GObject * obj);
static GType wixl_wix_feature_get_type_once (void);
static void _vala_wixl_wix_feature_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec);
static void _vala_wixl_wix_feature_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec);
static gchar* wixl_wix_component_ref_real_full_path (WixlWixElement* base,
                                              WixlWixResolver* r,
                                              GError** error);
static void wixl_wix_component_ref_real_accept (WixlWixNode* base,
                                         WixlWixNodeVisitor* visitor,
                                         GError** error);
static GType wixl_wix_component_ref_get_type_once (void);
static gchar* wixl_wix_component_group_ref_real_full_path (WixlWixElement* base,
                                                    WixlWixResolver* r,
                                                    GError** error);
static void wixl_wix_component_group_ref_real_accept (WixlWixNode* base,
                                               WixlWixNodeVisitor* visitor,
                                               GError** error);
static GType wixl_wix_component_group_ref_get_type_once (void);
static void wixl_wix_condition_real_accept (WixlWixNode* base,
                                     WixlWixNodeVisitor* visitor,
                                     GError** error);
static void wixl_wix_condition_finalize (GObject * obj);
static GType wixl_wix_condition_get_type_once (void);
static void _vala_wixl_wix_condition_get_property (GObject * object,
                                            guint property_id,
                                            GValue * value,
                                            GParamSpec * pspec);
static void _vala_wixl_wix_condition_set_property (GObject * object,
                                            guint property_id,
                                            const GValue * value,
                                            GParamSpec * pspec);
static void wixl_wix_mime_real_accept (WixlWixNode* base,
                                WixlWixNodeVisitor* visitor,
                                GError** error);
static void wixl_wix_mime_finalize (GObject * obj);
static GType wixl_wix_mime_get_type_once (void);
static void _vala_wixl_wix_mime_get_property (GObject * object,
                                       guint property_id,
                                       GValue * value,
                                       GParamSpec * pspec);
static void _vala_wixl_wix_mime_set_property (GObject * object,
                                       guint property_id,
                                       const GValue * value,
                                       GParamSpec * pspec);
static void wixl_wix_service_argument_real_accept (WixlWixNode* base,
                                            WixlWixNodeVisitor* visitor,
                                            GError** error);
static GType wixl_wix_service_argument_get_type_once (void);
static void wixl_wix_service_control_real_accept (WixlWixNode* base,
                                           WixlWixNodeVisitor* visitor,
                                           GError** error);
static void wixl_wix_service_control_finalize (GObject * obj);
static GType wixl_wix_service_control_get_type_once (void);
static void _vala_wixl_wix_service_control_get_property (GObject * object,
                                                  guint property_id,
                                                  GValue * value,
                                                  GParamSpec * pspec);
static void _vala_wixl_wix_service_control_set_property (GObject * object,
                                                  guint property_id,
                                                  const GValue * value,
                                                  GParamSpec * pspec);
static void wixl_wix_service_dependency_real_accept (WixlWixNode* base,
                                              WixlWixNodeVisitor* visitor,
                                              GError** error);
static void wixl_wix_service_dependency_finalize (GObject * obj);
static GType wixl_wix_service_dependency_get_type_once (void);
static void _vala_wixl_wix_service_dependency_get_property (GObject * object,
                                                     guint property_id,
                                                     GValue * value,
                                                     GParamSpec * pspec);
static void _vala_wixl_wix_service_dependency_set_property (GObject * object,
                                                     guint property_id,
                                                     const GValue * value,
                                                     GParamSpec * pspec);
static void wixl_wix_service_install_real_accept (WixlWixNode* base,
                                           WixlWixNodeVisitor* visitor,
                                           GError** error);
static void wixl_wix_service_install_finalize (GObject * obj);
static GType wixl_wix_service_install_get_type_once (void);
static void _vala_wixl_wix_service_install_get_property (GObject * object,
                                                  guint property_id,
                                                  GValue * value,
                                                  GParamSpec * pspec);
static void _vala_wixl_wix_service_install_set_property (GObject * object,
                                                  guint property_id,
                                                  const GValue * value,
                                                  GParamSpec * pspec);
static void wixl_wix_verb_real_accept (WixlWixNode* base,
                                WixlWixNodeVisitor* visitor,
                                GError** error);
static void wixl_wix_verb_finalize (GObject * obj);
static GType wixl_wix_verb_get_type_once (void);
static void _vala_wixl_wix_verb_get_property (GObject * object,
                                       guint property_id,
                                       GValue * value,
                                       GParamSpec * pspec);
static void _vala_wixl_wix_verb_set_property (GObject * object,
                                       guint property_id,
                                       const GValue * value,
                                       GParamSpec * pspec);
static void wixl_wix_extension_real_accept (WixlWixNode* base,
                                     WixlWixNodeVisitor* visitor,
                                     GError** error);
static void wixl_wix_extension_finalize (GObject * obj);
static GType wixl_wix_extension_get_type_once (void);
static void _vala_wixl_wix_extension_get_property (GObject * object,
                                            guint property_id,
                                            GValue * value,
                                            GParamSpec * pspec);
static void _vala_wixl_wix_extension_set_property (GObject * object,
                                            guint property_id,
                                            const GValue * value,
                                            GParamSpec * pspec);
static void wixl_wix_prog_id_real_accept (WixlWixNode* base,
                                   WixlWixNodeVisitor* visitor,
                                   GError** error);
static void wixl_wix_prog_id_finalize (GObject * obj);
static GType wixl_wix_prog_id_get_type_once (void);
static void _vala_wixl_wix_prog_id_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec);
static void _vala_wixl_wix_prog_id_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec);
static void wixl_wix_action_real_load (WixlWixElement* base,
                                xmlNode* node,
                                GError** error);
static void wixl_wix_action_real_accept (WixlWixNode* base,
                                  WixlWixNodeVisitor* visitor,
                                  GError** error);
static void wixl_wix_action_finalize (GObject * obj);
static GType wixl_wix_action_get_type_once (void);
static void _vala_wixl_wix_action_get_property (GObject * object,
                                         guint property_id,
                                         GValue * value,
                                         GParamSpec * pspec);
static void _vala_wixl_wix_action_set_property (GObject * object,
                                         guint property_id,
                                         const GValue * value,
                                         GParamSpec * pspec);
static void wixl_wix_sequence_real_accept (WixlWixNode* base,
                                    WixlWixNodeVisitor* visitor,
                                    GError** error);
static GType wixl_wix_sequence_get_type_once (void);
static GType wixl_wix_install_execute_sequence_get_type_once (void);
static GType wixl_wix_install_ui_sequence_get_type_once (void);
static GType wixl_wix_admin_execute_sequence_get_type_once (void);
static GType wixl_wix_admin_ui_sequence_get_type_once (void);
static GType wixl_wix_advertise_execute_sequence_get_type_once (void);
static void wixl_wix_upgrade_real_accept (WixlWixNode* base,
                                   WixlWixNodeVisitor* visitor,
                                   GError** error);
static GType wixl_wix_upgrade_get_type_once (void);
static void wixl_wix_upgrade_version_real_accept (WixlWixNode* base,
                                           WixlWixNodeVisitor* visitor,
                                           GError** error);
static void wixl_wix_upgrade_version_finalize (GObject * obj);
static GType wixl_wix_upgrade_version_get_type_once (void);
static void _vala_wixl_wix_upgrade_version_get_property (GObject * object,
                                                  guint property_id,
                                                  GValue * value,
                                                  GParamSpec * pspec);
static void _vala_wixl_wix_upgrade_version_set_property (GObject * object,
                                                  guint property_id,
                                                  const GValue * value,
                                                  GParamSpec * pspec);
static void wixl_wix_custom_action_real_accept (WixlWixNode* base,
                                         WixlWixNodeVisitor* visitor,
                                         GError** error);
static void wixl_wix_custom_action_finalize (GObject * obj);
static GType wixl_wix_custom_action_get_type_once (void);
static void _vala_wixl_wix_custom_action_get_property (GObject * object,
                                                guint property_id,
                                                GValue * value,
                                                GParamSpec * pspec);
static void _vala_wixl_wix_custom_action_set_property (GObject * object,
                                                guint property_id,
                                                const GValue * value,
                                                GParamSpec * pspec);
static void wixl_wix_binary_real_accept (WixlWixNode* base,
                                  WixlWixNodeVisitor* visitor,
                                  GError** error);
static void wixl_wix_binary_finalize (GObject * obj);
static GType wixl_wix_binary_get_type_once (void);
static void _vala_wixl_wix_binary_get_property (GObject * object,
                                         guint property_id,
                                         GValue * value,
                                         GParamSpec * pspec);
static void _vala_wixl_wix_binary_set_property (GObject * object,
                                         guint property_id,
                                         const GValue * value,
                                         GParamSpec * pspec);
static void wixl_wix_major_upgrade_real_accept (WixlWixNode* base,
                                         WixlWixNodeVisitor* visitor,
                                         GError** error);
static void wixl_wix_major_upgrade_finalize (GObject * obj);
static GType wixl_wix_major_upgrade_get_type_once (void);
static void _vala_wixl_wix_major_upgrade_get_property (GObject * object,
                                                guint property_id,
                                                GValue * value,
                                                GParamSpec * pspec);
static void _vala_wixl_wix_major_upgrade_set_property (GObject * object,
                                                guint property_id,
                                                const GValue * value,
                                                GParamSpec * pspec);
static void wixl_wix_media_template_real_accept (WixlWixNode* base,
                                          WixlWixNodeVisitor* visitor,
                                          GError** error);
static void wixl_wix_media_template_finalize (GObject * obj);
static GType wixl_wix_media_template_get_type_once (void);
static void _vala_wixl_wix_media_template_get_property (GObject * object,
                                                 guint property_id,
                                                 GValue * value,
                                                 GParamSpec * pspec);
static void _vala_wixl_wix_media_template_set_property (GObject * object,
                                                 guint property_id,
                                                 const GValue * value,
                                                 GParamSpec * pspec);
static void wixl_wix_product_real_accept (WixlWixNode* base,
                                   WixlWixNodeVisitor* visitor,
                                   GError** error);
static void wixl_wix_product_finalize (GObject * obj);
static GType wixl_wix_product_get_type_once (void);
static void _vala_wixl_wix_product_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec);
static void _vala_wixl_wix_product_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec);
static void wixl_wix_media_real_accept (WixlWixNode* base,
                                 WixlWixNodeVisitor* visitor,
                                 GError** error);
static void wixl_wix_media_finalize (GObject * obj);
static GType wixl_wix_media_get_type_once (void);
static void _vala_wixl_wix_media_get_property (GObject * object,
                                        guint property_id,
                                        GValue * value,
                                        GParamSpec * pspec);
static void _vala_wixl_wix_media_set_property (GObject * object,
                                        guint property_id,
                                        const GValue * value,
                                        GParamSpec * pspec);
static void wixl_wix_registry_key_finalize (GObject * obj);
static GType wixl_wix_registry_key_get_type_once (void);
static void _vala_wixl_wix_registry_key_get_property (GObject * object,
                                               guint property_id,
                                               GValue * value,
                                               GParamSpec * pspec);
static void _vala_wixl_wix_registry_key_set_property (GObject * object,
                                               guint property_id,
                                               const GValue * value,
                                               GParamSpec * pspec);
static void wixl_wix_component_real_accept (WixlWixNode* base,
                                     WixlWixNodeVisitor* visitor,
                                     GError** error);
static gchar* wixl_wix_component_real_full_path (WixlWixElement* base,
                                          WixlWixResolver* r,
                                          GError** error);
static void wixl_wix_component_finalize (GObject * obj);
static GType wixl_wix_component_get_type_once (void);
static void _vala_wixl_wix_component_get_property (GObject * object,
                                            guint property_id,
                                            GValue * value,
                                            GParamSpec * pspec);
static void _vala_wixl_wix_component_set_property (GObject * object,
                                            guint property_id,
                                            const GValue * value,
                                            GParamSpec * pspec);
static void wixl_wix_directory_real_accept (WixlWixNode* base,
                                     WixlWixNodeVisitor* visitor,
                                     GError** error);
static gchar* wixl_wix_directory_real_full_path (WixlWixElement* base,
                                          WixlWixResolver* r,
                                          GError** error);
static void wixl_wix_directory_finalize (GObject * obj);
static GType wixl_wix_directory_get_type_once (void);
static void _vala_wixl_wix_directory_get_property (GObject * object,
                                            guint property_id,
                                            GValue * value,
                                            GParamSpec * pspec);
static void _vala_wixl_wix_directory_set_property (GObject * object,
                                            guint property_id,
                                            const GValue * value,
                                            GParamSpec * pspec);
static gchar* wixl_wix_element_ref_real_full_path (WixlWixElement* base,
                                            WixlWixResolver* r,
                                            GError** error);
static void wixl_wix_element_ref_finalize (GObject * obj);
static GType wixl_wix_element_ref_get_type_once (void);
static void _vala_wixl_wix_element_ref_get_property (GObject * object,
                                              guint property_id,
                                              GValue * value,
                                              GParamSpec * pspec);
static void _vala_wixl_wix_element_ref_set_property (GObject * object,
                                              guint property_id,
                                              const GValue * value,
                                              GParamSpec * pspec);
static gchar* wixl_wix_directory_ref_real_full_path (WixlWixElement* base,
                                              WixlWixResolver* r,
                                              GError** error);
static GType wixl_wix_directory_ref_get_type_once (void);
static GType wixl_wix_ui_get_type_once (void);
static gchar* wixl_wix_ui_ref_real_full_path (WixlWixElement* base,
                                       WixlWixResolver* r,
                                       GError** error);
static void wixl_wix_ui_ref_real_accept (WixlWixNode* base,
                                  WixlWixNodeVisitor* visitor,
                                  GError** error);
static GType wixl_wix_ui_ref_get_type_once (void);
static void wixl_wix_ui_text_real_accept (WixlWixNode* base,
                                   WixlWixNodeVisitor* visitor,
                                   GError** error);
static void wixl_wix_ui_text_finalize (GObject * obj);
static GType wixl_wix_ui_text_get_type_once (void);
static void _vala_wixl_wix_ui_text_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec);
static void _vala_wixl_wix_ui_text_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec);
static void wixl_wix_text_element_real_accept (WixlWixNode* base,
                                        WixlWixNodeVisitor* visitor,
                                        GError** error);
static void wixl_wix_text_element_finalize (GObject * obj);
static GType wixl_wix_text_element_get_type_once (void);
static void _vala_wixl_wix_text_element_get_property (GObject * object,
                                               guint property_id,
                                               GValue * value,
                                               GParamSpec * pspec);
static void _vala_wixl_wix_text_element_set_property (GObject * object,
                                               guint property_id,
                                               const GValue * value,
                                               GParamSpec * pspec);
static void wixl_wix_text_style_real_accept (WixlWixNode* base,
                                      WixlWixNodeVisitor* visitor,
                                      GError** error);
static void wixl_wix_text_style_finalize (GObject * obj);
static GType wixl_wix_text_style_get_type_once (void);
static void _vala_wixl_wix_text_style_get_property (GObject * object,
                                             guint property_id,
                                             GValue * value,
                                             GParamSpec * pspec);
static void _vala_wixl_wix_text_style_set_property (GObject * object,
                                             guint property_id,
                                             const GValue * value,
                                             GParamSpec * pspec);
static void wixl_wix_dialog_real_accept (WixlWixNode* base,
                                  WixlWixNodeVisitor* visitor,
                                  GError** error);
static void wixl_wix_dialog_finalize (GObject * obj);
static GType wixl_wix_dialog_get_type_once (void);
static void _vala_wixl_wix_dialog_get_property (GObject * object,
                                         guint property_id,
                                         GValue * value,
                                         GParamSpec * pspec);
static void _vala_wixl_wix_dialog_set_property (GObject * object,
                                         guint property_id,
                                         const GValue * value,
                                         GParamSpec * pspec);
static gchar* wixl_wix_dialog_ref_real_full_path (WixlWixElement* base,
                                           WixlWixResolver* r,
                                           GError** error);
static void wixl_wix_dialog_ref_real_accept (WixlWixNode* base,
                                      WixlWixNodeVisitor* visitor,
                                      GError** error);
static GType wixl_wix_dialog_ref_get_type_once (void);
static void wixl_wix_control_real_accept (WixlWixNode* base,
                                   WixlWixNodeVisitor* visitor,
                                   GError** error);
static void wixl_wix_control_finalize (GObject * obj);
static GType wixl_wix_control_get_type_once (void);
static void _vala_wixl_wix_control_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec);
static void _vala_wixl_wix_control_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec);
static void wixl_wix_publish_real_accept (WixlWixNode* base,
                                   WixlWixNodeVisitor* visitor,
                                   GError** error);
static void wixl_wix_publish_finalize (GObject * obj);
static GType wixl_wix_publish_get_type_once (void);
static void _vala_wixl_wix_publish_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec);
static void _vala_wixl_wix_publish_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec);
static void wixl_wix_radio_button_group_finalize (GObject * obj);
static GType wixl_wix_radio_button_group_get_type_once (void);
static void _vala_wixl_wix_radio_button_group_get_property (GObject * object,
                                                     guint property_id,
                                                     GValue * value,
                                                     GParamSpec * pspec);
static void _vala_wixl_wix_radio_button_group_set_property (GObject * object,
                                                     guint property_id,
                                                     const GValue * value,
                                                     GParamSpec * pspec);
static void wixl_wix_radio_button_real_accept (WixlWixNode* base,
                                        WixlWixNodeVisitor* visitor,
                                        GError** error);
static void wixl_wix_radio_button_finalize (GObject * obj);
static GType wixl_wix_radio_button_get_type_once (void);
static void _vala_wixl_wix_radio_button_get_property (GObject * object,
                                               guint property_id,
                                               GValue * value,
                                               GParamSpec * pspec);
static void _vala_wixl_wix_radio_button_set_property (GObject * object,
                                               guint property_id,
                                               const GValue * value,
                                               GParamSpec * pspec);
static void wixl_wix_subscribe_real_accept (WixlWixNode* base,
                                     WixlWixNodeVisitor* visitor,
                                     GError** error);
static void wixl_wix_subscribe_finalize (GObject * obj);
static GType wixl_wix_subscribe_get_type_once (void);
static void _vala_wixl_wix_subscribe_get_property (GObject * object,
                                            guint property_id,
                                            GValue * value,
                                            GParamSpec * pspec);
static void _vala_wixl_wix_subscribe_set_property (GObject * object,
                                            guint property_id,
                                            const GValue * value,
                                            GParamSpec * pspec);
static void wixl_wix_progress_text_real_accept (WixlWixNode* base,
                                         WixlWixNodeVisitor* visitor,
                                         GError** error);
static void wixl_wix_progress_text_finalize (GObject * obj);
static GType wixl_wix_progress_text_get_type_once (void);
static void _vala_wixl_wix_progress_text_get_property (GObject * object,
                                                guint property_id,
                                                GValue * value,
                                                GParamSpec * pspec);
static void _vala_wixl_wix_progress_text_set_property (GObject * object,
                                                guint property_id,
                                                const GValue * value,
                                                GParamSpec * pspec);
VALA_EXTERN GType wixl_wix_root_get_type (void) G_GNUC_CONST ;
VALA_EXTERN WixlWixRoot* wixl_wix_root_new (void);
VALA_EXTERN WixlWixRoot* wixl_wix_root_construct (GType object_type);
static GType wixl_wix_root_get_type_once (void);
static void wixl_wix_environment_real_accept (WixlWixNode* base,
                                       WixlWixNodeVisitor* visitor,
                                       GError** error);
static void wixl_wix_environment_finalize (GObject * obj);
static GType wixl_wix_environment_get_type_once (void);
static void _vala_wixl_wix_environment_get_property (GObject * object,
                                              guint property_id,
                                              GValue * value,
                                              GParamSpec * pspec);
static void _vala_wixl_wix_environment_set_property (GObject * object,
                                              guint property_id,
                                              const GValue * value,
                                              GParamSpec * pspec);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);
static inline gpointer _vala_memdup2 (gconstpointer mem,
                        gsize byte_size);

gpointer
wixl_wix_resolver_find_element (WixlWixResolver* self,
                                GType g_type,
                                GBoxedCopyFunc g_dup_func,
                                GDestroyNotify g_destroy_func,
                                const gchar* Id)
{
	WixlWixResolverIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = WIXL_WIX_RESOLVER_GET_INTERFACE (self);
	if (_iface_->find_element) {
		return _iface_->find_element (self, g_type, g_dup_func, g_destroy_func, Id);
	}
	return NULL;
}

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

gpointer
wixl_wix_resolver_resolve (WixlWixResolver* self,
                           GType g_type,
                           GBoxedCopyFunc g_dup_func,
                           GDestroyNotify g_destroy_func,
                           WixlWixElement* element,
                           GError** error)
{
	gpointer resolved = NULL;
	gconstpointer _tmp12_;
	GError* _inner_error0_ = NULL;
	gpointer result;
	g_return_val_if_fail (element != NULL, NULL);
	resolved = NULL;
	if (g_type_is_a (G_TYPE_FROM_INSTANCE ((GObject*) element), g_type)) {
		gpointer _tmp0_;
		_tmp0_ = ((element != NULL) && (g_dup_func != NULL)) ? g_dup_func ((gpointer) element) : ((gpointer) element);
		((resolved == NULL) || (g_destroy_func == NULL)) ? NULL : (resolved = (g_destroy_func (resolved), NULL));
		resolved = _tmp0_;
	} else {
		if (WIXL_IS_WIX_ELEMENT_REF (element)) {
			WixlWixElementRef* ref = NULL;
			WixlWixElementRef* _tmp1_;
			WixlWixElementRef* _tmp2_;
			WixlWixElementRef* _tmp9_;
			gconstpointer _tmp10_;
			gpointer _tmp11_;
			_tmp1_ = _g_object_ref0 (WIXL_IS_WIX_ELEMENT_REF (element) ? ((WixlWixElementRef*) element) : NULL);
			ref = _tmp1_;
			_tmp2_ = ref;
			if (!g_type_is_a (WIXL_WIX_ELEMENT_REF_GET_CLASS (_tmp2_)->ref_type, g_type)) {
				((resolved == NULL) || (g_destroy_func == NULL)) ? NULL : (resolved = (g_destroy_func (resolved), NULL));
				resolved = NULL;
			} else {
				WixlWixElementRef* _tmp3_;
				gconstpointer _tmp4_;
				_tmp3_ = ref;
				_tmp4_ = _tmp3_->resolved;
				if (_tmp4_ == NULL) {
					WixlWixElementRef* _tmp5_;
					const gchar* _tmp6_;
					const gchar* _tmp7_;
					gpointer _tmp8_;
					_tmp5_ = ref;
					_tmp6_ = wixl_wix_element_get_Id (element);
					_tmp7_ = _tmp6_;
					_tmp8_ = wixl_wix_resolver_find_element (self, g_type, (GBoxedCopyFunc) g_dup_func, (GDestroyNotify) g_destroy_func, _tmp7_);
					((_tmp5_->resolved == NULL) || (g_destroy_func == NULL)) ? NULL : (_tmp5_->resolved = (g_destroy_func (_tmp5_->resolved), NULL));
					_tmp5_->resolved = _tmp8_;
				}
			}
			_tmp9_ = ref;
			_tmp10_ = _tmp9_->resolved;
			_tmp11_ = ((_tmp10_ != NULL) && (g_dup_func != NULL)) ? g_dup_func ((gpointer) _tmp10_) : ((gpointer) _tmp10_);
			((resolved == NULL) || (g_destroy_func == NULL)) ? NULL : (resolved = (g_destroy_func (resolved), NULL));
			resolved = _tmp11_;
			_g_object_unref0 (ref);
		}
	}
	_tmp12_ = resolved;
	if (_tmp12_ == NULL) {
		const gchar* _tmp13_;
		const gchar* _tmp14_;
		GError* _tmp15_;
		_tmp13_ = wixl_wix_element_get_Id (element);
		_tmp14_ = _tmp13_;
		_tmp15_ = g_error_new (WIXL_ERROR, WIXL_ERROR_FAILED, "couldn't resolve %s", _tmp14_);
		_inner_error0_ = _tmp15_;
		g_propagate_error (error, _inner_error0_);
		((resolved == NULL) || (g_destroy_func == NULL)) ? NULL : (resolved = (g_destroy_func (resolved), NULL));
		return NULL;
	}
	result = resolved;
	return result;
}

static void
wixl_wix_resolver_default_init (WixlWixResolverIface * iface,
                                gpointer iface_data)
{
}

static GType
wixl_wix_resolver_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixResolverIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_resolver_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType wixl_wix_resolver_type_id;
	wixl_wix_resolver_type_id = g_type_register_static (G_TYPE_INTERFACE, "WixlWixResolver", &g_define_type_info, 0);
	return wixl_wix_resolver_type_id;
}

GType
wixl_wix_resolver_get_type (void)
{
	static volatile gsize wixl_wix_resolver_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_resolver_type_id__once)) {
		GType wixl_wix_resolver_type_id;
		wixl_wix_resolver_type_id = wixl_wix_resolver_get_type_once ();
		g_once_init_leave (&wixl_wix_resolver_type_id__once, wixl_wix_resolver_type_id);
	}
	return wixl_wix_resolver_type_id__once;
}

static GType
wixl_visit_state_get_type_once (void)
{
	static const GEnumValue values[] = {{WIXL_VISIT_STATE_ENTER, "WIXL_VISIT_STATE_ENTER", "enter"}, {WIXL_VISIT_STATE_INFIX, "WIXL_VISIT_STATE_INFIX", "infix"}, {WIXL_VISIT_STATE_LEAVE, "WIXL_VISIT_STATE_LEAVE", "leave"}, {0, NULL, NULL}};
	GType wixl_visit_state_type_id;
	wixl_visit_state_type_id = g_enum_register_static ("WixlVisitState", values);
	return wixl_visit_state_type_id;
}

GType
wixl_visit_state_get_type (void)
{
	static volatile gsize wixl_visit_state_type_id__once = 0;
	if (g_once_init_enter (&wixl_visit_state_type_id__once)) {
		GType wixl_visit_state_type_id;
		wixl_visit_state_type_id = wixl_visit_state_get_type_once ();
		g_once_init_leave (&wixl_visit_state_type_id__once, wixl_visit_state_type_id);
	}
	return wixl_visit_state_type_id__once;
}

static void
wixl_wix_node_visitor_real_visit_product (WixlWixNodeVisitor* self,
                                          WixlWixProduct* product,
                                          GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_product'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_product (WixlWixNodeVisitor* self,
                                     WixlWixProduct* product,
                                     GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_product) {
		_klass_->visit_product (self, product, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_icon (WixlWixNodeVisitor* self,
                                       WixlWixIcon* icon,
                                       GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_icon'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_icon (WixlWixNodeVisitor* self,
                                  WixlWixIcon* icon,
                                  GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_icon) {
		_klass_->visit_icon (self, icon, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_package (WixlWixNodeVisitor* self,
                                          WixlWixPackage* package,
                                          GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_package'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_package (WixlWixNodeVisitor* self,
                                     WixlWixPackage* package,
                                     GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_package) {
		_klass_->visit_package (self, package, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_property (WixlWixNodeVisitor* self,
                                           WixlWixProperty* prop,
                                           GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_property'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_property (WixlWixNodeVisitor* self,
                                      WixlWixProperty* prop,
                                      GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_property) {
		_klass_->visit_property (self, prop, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_media (WixlWixNodeVisitor* self,
                                        WixlWixMedia* media,
                                        GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_media'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_media (WixlWixNodeVisitor* self,
                                   WixlWixMedia* media,
                                   GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_media) {
		_klass_->visit_media (self, media, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_directory (WixlWixNodeVisitor* self,
                                            WixlWixDirectory* dir,
                                            GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_directory'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_directory (WixlWixNodeVisitor* self,
                                       WixlWixDirectory* dir,
                                       GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_directory) {
		_klass_->visit_directory (self, dir, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_component (WixlWixNodeVisitor* self,
                                            WixlWixComponent* comp,
                                            WixlVisitState state,
                                            GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_component'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_component (WixlWixNodeVisitor* self,
                                       WixlWixComponent* comp,
                                       WixlVisitState state,
                                       GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_component) {
		_klass_->visit_component (self, comp, state, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_feature (WixlWixNodeVisitor* self,
                                          WixlWixFeature* feature,
                                          WixlVisitState state,
                                          GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_feature'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_feature (WixlWixNodeVisitor* self,
                                     WixlWixFeature* feature,
                                     WixlVisitState state,
                                     GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_feature) {
		_klass_->visit_feature (self, feature, state, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_component_ref (WixlWixNodeVisitor* self,
                                                WixlWixComponentRef* ref,
                                                GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_component_ref'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_component_ref (WixlWixNodeVisitor* self,
                                           WixlWixComponentRef* ref,
                                           GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_component_ref) {
		_klass_->visit_component_ref (self, ref, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_remove_folder (WixlWixNodeVisitor* self,
                                                WixlWixRemoveFolder* rm,
                                                GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_remove_folder'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_remove_folder (WixlWixNodeVisitor* self,
                                           WixlWixRemoveFolder* rm,
                                           GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_remove_folder) {
		_klass_->visit_remove_folder (self, rm, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_registry_value (WixlWixNodeVisitor* self,
                                                 WixlWixRegistryValue* reg,
                                                 GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_registry_value'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_registry_value (WixlWixNodeVisitor* self,
                                            WixlWixRegistryValue* reg,
                                            GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_registry_value) {
		_klass_->visit_registry_value (self, reg, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_file (WixlWixNodeVisitor* self,
                                       WixlWixFile* reg,
                                       GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_file'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_file (WixlWixNodeVisitor* self,
                                  WixlWixFile* reg,
                                  GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_file) {
		_klass_->visit_file (self, reg, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_ini_file (WixlWixNodeVisitor* self,
                                           WixlWixIniFile* reg,
                                           GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_ini_file'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_ini_file (WixlWixNodeVisitor* self,
                                      WixlWixIniFile* reg,
                                      GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_ini_file) {
		_klass_->visit_ini_file (self, reg, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_shortcut (WixlWixNodeVisitor* self,
                                           WixlWixShortcut* shortcut,
                                           GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_shortcut'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_shortcut (WixlWixNodeVisitor* self,
                                      WixlWixShortcut* shortcut,
                                      GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_shortcut) {
		_klass_->visit_shortcut (self, shortcut, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_create_folder (WixlWixNodeVisitor* self,
                                                WixlWixCreateFolder* folder,
                                                GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_create_folder'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_create_folder (WixlWixNodeVisitor* self,
                                           WixlWixCreateFolder* folder,
                                           GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_create_folder) {
		_klass_->visit_create_folder (self, folder, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_fragment (WixlWixNodeVisitor* self,
                                           WixlWixFragment* fragment,
                                           GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_fragment'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_fragment (WixlWixNodeVisitor* self,
                                      WixlWixFragment* fragment,
                                      GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_fragment) {
		_klass_->visit_fragment (self, fragment, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_sequence (WixlWixNodeVisitor* self,
                                           WixlWixSequence* sequence,
                                           GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_sequence'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_sequence (WixlWixNodeVisitor* self,
                                      WixlWixSequence* sequence,
                                      GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_sequence) {
		_klass_->visit_sequence (self, sequence, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_condition (WixlWixNodeVisitor* self,
                                            WixlWixCondition* condition,
                                            GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_condition'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_condition (WixlWixNodeVisitor* self,
                                       WixlWixCondition* condition,
                                       GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_condition) {
		_klass_->visit_condition (self, condition, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_upgrade (WixlWixNodeVisitor* self,
                                          WixlWixUpgrade* upgrade,
                                          GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_upgrade'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_upgrade (WixlWixNodeVisitor* self,
                                     WixlWixUpgrade* upgrade,
                                     GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_upgrade) {
		_klass_->visit_upgrade (self, upgrade, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_upgrade_version (WixlWixNodeVisitor* self,
                                                  WixlWixUpgradeVersion* version,
                                                  GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_upgrade_version'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_upgrade_version (WixlWixNodeVisitor* self,
                                             WixlWixUpgradeVersion* version,
                                             GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_upgrade_version) {
		_klass_->visit_upgrade_version (self, version, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_action (WixlWixNodeVisitor* self,
                                         WixlWixAction* action,
                                         GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_action'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_action (WixlWixNodeVisitor* self,
                                    WixlWixAction* action,
                                    GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_action) {
		_klass_->visit_action (self, action, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_text (WixlWixNodeVisitor* self,
                                       WixlWixText* text,
                                       GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_text'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_text (WixlWixNodeVisitor* self,
                                  WixlWixText* text,
                                  GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_text) {
		_klass_->visit_text (self, text, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_component_group_ref (WixlWixNodeVisitor* self,
                                                      WixlWixComponentGroupRef* ref,
                                                      GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_component_group_ref'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_component_group_ref (WixlWixNodeVisitor* self,
                                                 WixlWixComponentGroupRef* ref,
                                                 GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_component_group_ref) {
		_klass_->visit_component_group_ref (self, ref, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_progid (WixlWixNodeVisitor* self,
                                         WixlWixProgId* progid,
                                         GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_progid'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_progid (WixlWixNodeVisitor* self,
                                    WixlWixProgId* progid,
                                    GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_progid) {
		_klass_->visit_progid (self, progid, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_extension (WixlWixNodeVisitor* self,
                                            WixlWixExtension* extension,
                                            GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_extension'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_extension (WixlWixNodeVisitor* self,
                                       WixlWixExtension* extension,
                                       GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_extension) {
		_klass_->visit_extension (self, extension, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_verb (WixlWixNodeVisitor* self,
                                       WixlWixVerb* verb,
                                       GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_verb'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_verb (WixlWixNodeVisitor* self,
                                  WixlWixVerb* verb,
                                  GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_verb) {
		_klass_->visit_verb (self, verb, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_mime (WixlWixNodeVisitor* self,
                                       WixlWixMIME* mime,
                                       GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_mime'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_mime (WixlWixNodeVisitor* self,
                                  WixlWixMIME* mime,
                                  GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_mime) {
		_klass_->visit_mime (self, mime, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_service_argument (WixlWixNodeVisitor* self,
                                                   WixlWixServiceArgument* service_argument,
                                                   GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_service_argument'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_service_argument (WixlWixNodeVisitor* self,
                                              WixlWixServiceArgument* service_argument,
                                              GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_service_argument) {
		_klass_->visit_service_argument (self, service_argument, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_service_control (WixlWixNodeVisitor* self,
                                                  WixlWixServiceControl* service_control,
                                                  WixlVisitState state,
                                                  GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_service_control'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_service_control (WixlWixNodeVisitor* self,
                                             WixlWixServiceControl* service_control,
                                             WixlVisitState state,
                                             GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_service_control) {
		_klass_->visit_service_control (self, service_control, state, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_service_dependency (WixlWixNodeVisitor* self,
                                                     WixlWixServiceDependency* service_dependency,
                                                     GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_service_dependency'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_service_dependency (WixlWixNodeVisitor* self,
                                                WixlWixServiceDependency* service_dependency,
                                                GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_service_dependency) {
		_klass_->visit_service_dependency (self, service_dependency, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_service_install (WixlWixNodeVisitor* self,
                                                  WixlWixServiceInstall* service_install,
                                                  WixlVisitState state,
                                                  GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_service_install'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_service_install (WixlWixNodeVisitor* self,
                                             WixlWixServiceInstall* service_install,
                                             WixlVisitState state,
                                             GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_service_install) {
		_klass_->visit_service_install (self, service_install, state, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_registry_search (WixlWixNodeVisitor* self,
                                                  WixlWixRegistrySearch* search,
                                                  GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_registry_search'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_registry_search (WixlWixNodeVisitor* self,
                                             WixlWixRegistrySearch* search,
                                             GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_registry_search) {
		_klass_->visit_registry_search (self, search, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_custom_action (WixlWixNodeVisitor* self,
                                                WixlWixCustomAction* action,
                                                GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_custom_action'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_custom_action (WixlWixNodeVisitor* self,
                                           WixlWixCustomAction* action,
                                           GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_custom_action) {
		_klass_->visit_custom_action (self, action, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_binary (WixlWixNodeVisitor* self,
                                         WixlWixBinary* binary,
                                         GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_binary'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_binary (WixlWixNodeVisitor* self,
                                    WixlWixBinary* binary,
                                    GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_binary) {
		_klass_->visit_binary (self, binary, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_major_upgrade (WixlWixNodeVisitor* self,
                                                WixlWixMajorUpgrade* major,
                                                GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_major_upgrade'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_major_upgrade (WixlWixNodeVisitor* self,
                                           WixlWixMajorUpgrade* major,
                                           GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_major_upgrade) {
		_klass_->visit_major_upgrade (self, major, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_media_template (WixlWixNodeVisitor* self,
                                                 WixlWixMediaTemplate* media,
                                                 GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_media_template'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_media_template (WixlWixNodeVisitor* self,
                                            WixlWixMediaTemplate* media,
                                            GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_media_template) {
		_klass_->visit_media_template (self, media, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_ui_ref (WixlWixNodeVisitor* self,
                                         WixlWixUIRef* ref,
                                         GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_ui_ref'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_ui_ref (WixlWixNodeVisitor* self,
                                    WixlWixUIRef* ref,
                                    GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_ui_ref) {
		_klass_->visit_ui_ref (self, ref, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_ui_text (WixlWixNodeVisitor* self,
                                          WixlWixUIText* text,
                                          GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_ui_text'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_ui_text (WixlWixNodeVisitor* self,
                                     WixlWixUIText* text,
                                     GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_ui_text) {
		_klass_->visit_ui_text (self, text, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_text_element (WixlWixNodeVisitor* self,
                                               WixlWixTextElement* text,
                                               GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_text_element'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_text_element (WixlWixNodeVisitor* self,
                                          WixlWixTextElement* text,
                                          GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_text_element) {
		_klass_->visit_text_element (self, text, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_text_style (WixlWixNodeVisitor* self,
                                             WixlWixTextStyle* style,
                                             GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_text_style'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_text_style (WixlWixNodeVisitor* self,
                                        WixlWixTextStyle* style,
                                        GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_text_style) {
		_klass_->visit_text_style (self, style, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_dialog (WixlWixNodeVisitor* self,
                                         WixlWixDialog* dialog,
                                         GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_dialog'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_dialog (WixlWixNodeVisitor* self,
                                    WixlWixDialog* dialog,
                                    GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_dialog) {
		_klass_->visit_dialog (self, dialog, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_dialog_ref (WixlWixNodeVisitor* self,
                                             WixlWixDialogRef* ref,
                                             GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_dialog_ref'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_dialog_ref (WixlWixNodeVisitor* self,
                                        WixlWixDialogRef* ref,
                                        GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_dialog_ref) {
		_klass_->visit_dialog_ref (self, ref, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_control (WixlWixNodeVisitor* self,
                                          WixlWixControl* control,
                                          GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_control'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_control (WixlWixNodeVisitor* self,
                                     WixlWixControl* control,
                                     GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_control) {
		_klass_->visit_control (self, control, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_publish (WixlWixNodeVisitor* self,
                                          WixlWixPublish* publish,
                                          GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_publish'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_publish (WixlWixNodeVisitor* self,
                                     WixlWixPublish* publish,
                                     GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_publish) {
		_klass_->visit_publish (self, publish, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_radio_button (WixlWixNodeVisitor* self,
                                               WixlWixRadioButton* radio,
                                               GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_radio_button'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_radio_button (WixlWixNodeVisitor* self,
                                          WixlWixRadioButton* radio,
                                          GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_radio_button) {
		_klass_->visit_radio_button (self, radio, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_subscribe (WixlWixNodeVisitor* self,
                                            WixlWixSubscribe* subscribe,
                                            GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_subscribe'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_subscribe (WixlWixNodeVisitor* self,
                                       WixlWixSubscribe* subscribe,
                                       GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_subscribe) {
		_klass_->visit_subscribe (self, subscribe, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_progress_text (WixlWixNodeVisitor* self,
                                                WixlWixProgressText* progress_text,
                                                GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_progress_text'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_progress_text (WixlWixNodeVisitor* self,
                                           WixlWixProgressText* progress_text,
                                           GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_progress_text) {
		_klass_->visit_progress_text (self, progress_text, error);
	}
}

static void
wixl_wix_node_visitor_real_visit_environment (WixlWixNodeVisitor* self,
                                              WixlWixEnvironment* env,
                                              GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_visitor_visit_environment'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_visitor_visit_environment (WixlWixNodeVisitor* self,
                                         WixlWixEnvironment* env,
                                         GError** error)
{
	WixlWixNodeVisitorClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_VISITOR_GET_CLASS (self);
	if (_klass_->visit_environment) {
		_klass_->visit_environment (self, env, error);
	}
}

WixlWixNodeVisitor*
wixl_wix_node_visitor_construct (GType object_type)
{
	WixlWixNodeVisitor * self = NULL;
	self = (WixlWixNodeVisitor*) g_object_new (object_type, NULL);
	return self;
}

static void
wixl_wix_node_visitor_class_init (WixlWixNodeVisitorClass * klass,
                                  gpointer klass_data)
{
	wixl_wix_node_visitor_parent_class = g_type_class_peek_parent (klass);
	((WixlWixNodeVisitorClass *) klass)->visit_product = (void (*) (WixlWixNodeVisitor*, WixlWixProduct*, GError**)) wixl_wix_node_visitor_real_visit_product;
	((WixlWixNodeVisitorClass *) klass)->visit_icon = (void (*) (WixlWixNodeVisitor*, WixlWixIcon*, GError**)) wixl_wix_node_visitor_real_visit_icon;
	((WixlWixNodeVisitorClass *) klass)->visit_package = (void (*) (WixlWixNodeVisitor*, WixlWixPackage*, GError**)) wixl_wix_node_visitor_real_visit_package;
	((WixlWixNodeVisitorClass *) klass)->visit_property = (void (*) (WixlWixNodeVisitor*, WixlWixProperty*, GError**)) wixl_wix_node_visitor_real_visit_property;
	((WixlWixNodeVisitorClass *) klass)->visit_media = (void (*) (WixlWixNodeVisitor*, WixlWixMedia*, GError**)) wixl_wix_node_visitor_real_visit_media;
	((WixlWixNodeVisitorClass *) klass)->visit_directory = (void (*) (WixlWixNodeVisitor*, WixlWixDirectory*, GError**)) wixl_wix_node_visitor_real_visit_directory;
	((WixlWixNodeVisitorClass *) klass)->visit_component = (void (*) (WixlWixNodeVisitor*, WixlWixComponent*, WixlVisitState, GError**)) wixl_wix_node_visitor_real_visit_component;
	((WixlWixNodeVisitorClass *) klass)->visit_feature = (void (*) (WixlWixNodeVisitor*, WixlWixFeature*, WixlVisitState, GError**)) wixl_wix_node_visitor_real_visit_feature;
	((WixlWixNodeVisitorClass *) klass)->visit_component_ref = (void (*) (WixlWixNodeVisitor*, WixlWixComponentRef*, GError**)) wixl_wix_node_visitor_real_visit_component_ref;
	((WixlWixNodeVisitorClass *) klass)->visit_remove_folder = (void (*) (WixlWixNodeVisitor*, WixlWixRemoveFolder*, GError**)) wixl_wix_node_visitor_real_visit_remove_folder;
	((WixlWixNodeVisitorClass *) klass)->visit_registry_value = (void (*) (WixlWixNodeVisitor*, WixlWixRegistryValue*, GError**)) wixl_wix_node_visitor_real_visit_registry_value;
	((WixlWixNodeVisitorClass *) klass)->visit_file = (void (*) (WixlWixNodeVisitor*, WixlWixFile*, GError**)) wixl_wix_node_visitor_real_visit_file;
	((WixlWixNodeVisitorClass *) klass)->visit_ini_file = (void (*) (WixlWixNodeVisitor*, WixlWixIniFile*, GError**)) wixl_wix_node_visitor_real_visit_ini_file;
	((WixlWixNodeVisitorClass *) klass)->visit_shortcut = (void (*) (WixlWixNodeVisitor*, WixlWixShortcut*, GError**)) wixl_wix_node_visitor_real_visit_shortcut;
	((WixlWixNodeVisitorClass *) klass)->visit_create_folder = (void (*) (WixlWixNodeVisitor*, WixlWixCreateFolder*, GError**)) wixl_wix_node_visitor_real_visit_create_folder;
	((WixlWixNodeVisitorClass *) klass)->visit_fragment = (void (*) (WixlWixNodeVisitor*, WixlWixFragment*, GError**)) wixl_wix_node_visitor_real_visit_fragment;
	((WixlWixNodeVisitorClass *) klass)->visit_sequence = (void (*) (WixlWixNodeVisitor*, WixlWixSequence*, GError**)) wixl_wix_node_visitor_real_visit_sequence;
	((WixlWixNodeVisitorClass *) klass)->visit_condition = (void (*) (WixlWixNodeVisitor*, WixlWixCondition*, GError**)) wixl_wix_node_visitor_real_visit_condition;
	((WixlWixNodeVisitorClass *) klass)->visit_upgrade = (void (*) (WixlWixNodeVisitor*, WixlWixUpgrade*, GError**)) wixl_wix_node_visitor_real_visit_upgrade;
	((WixlWixNodeVisitorClass *) klass)->visit_upgrade_version = (void (*) (WixlWixNodeVisitor*, WixlWixUpgradeVersion*, GError**)) wixl_wix_node_visitor_real_visit_upgrade_version;
	((WixlWixNodeVisitorClass *) klass)->visit_action = (void (*) (WixlWixNodeVisitor*, WixlWixAction*, GError**)) wixl_wix_node_visitor_real_visit_action;
	((WixlWixNodeVisitorClass *) klass)->visit_text = (void (*) (WixlWixNodeVisitor*, WixlWixText*, GError**)) wixl_wix_node_visitor_real_visit_text;
	((WixlWixNodeVisitorClass *) klass)->visit_component_group_ref = (void (*) (WixlWixNodeVisitor*, WixlWixComponentGroupRef*, GError**)) wixl_wix_node_visitor_real_visit_component_group_ref;
	((WixlWixNodeVisitorClass *) klass)->visit_progid = (void (*) (WixlWixNodeVisitor*, WixlWixProgId*, GError**)) wixl_wix_node_visitor_real_visit_progid;
	((WixlWixNodeVisitorClass *) klass)->visit_extension = (void (*) (WixlWixNodeVisitor*, WixlWixExtension*, GError**)) wixl_wix_node_visitor_real_visit_extension;
	((WixlWixNodeVisitorClass *) klass)->visit_verb = (void (*) (WixlWixNodeVisitor*, WixlWixVerb*, GError**)) wixl_wix_node_visitor_real_visit_verb;
	((WixlWixNodeVisitorClass *) klass)->visit_mime = (void (*) (WixlWixNodeVisitor*, WixlWixMIME*, GError**)) wixl_wix_node_visitor_real_visit_mime;
	((WixlWixNodeVisitorClass *) klass)->visit_service_argument = (void (*) (WixlWixNodeVisitor*, WixlWixServiceArgument*, GError**)) wixl_wix_node_visitor_real_visit_service_argument;
	((WixlWixNodeVisitorClass *) klass)->visit_service_control = (void (*) (WixlWixNodeVisitor*, WixlWixServiceControl*, WixlVisitState, GError**)) wixl_wix_node_visitor_real_visit_service_control;
	((WixlWixNodeVisitorClass *) klass)->visit_service_dependency = (void (*) (WixlWixNodeVisitor*, WixlWixServiceDependency*, GError**)) wixl_wix_node_visitor_real_visit_service_dependency;
	((WixlWixNodeVisitorClass *) klass)->visit_service_install = (void (*) (WixlWixNodeVisitor*, WixlWixServiceInstall*, WixlVisitState, GError**)) wixl_wix_node_visitor_real_visit_service_install;
	((WixlWixNodeVisitorClass *) klass)->visit_registry_search = (void (*) (WixlWixNodeVisitor*, WixlWixRegistrySearch*, GError**)) wixl_wix_node_visitor_real_visit_registry_search;
	((WixlWixNodeVisitorClass *) klass)->visit_custom_action = (void (*) (WixlWixNodeVisitor*, WixlWixCustomAction*, GError**)) wixl_wix_node_visitor_real_visit_custom_action;
	((WixlWixNodeVisitorClass *) klass)->visit_binary = (void (*) (WixlWixNodeVisitor*, WixlWixBinary*, GError**)) wixl_wix_node_visitor_real_visit_binary;
	((WixlWixNodeVisitorClass *) klass)->visit_major_upgrade = (void (*) (WixlWixNodeVisitor*, WixlWixMajorUpgrade*, GError**)) wixl_wix_node_visitor_real_visit_major_upgrade;
	((WixlWixNodeVisitorClass *) klass)->visit_media_template = (void (*) (WixlWixNodeVisitor*, WixlWixMediaTemplate*, GError**)) wixl_wix_node_visitor_real_visit_media_template;
	((WixlWixNodeVisitorClass *) klass)->visit_ui_ref = (void (*) (WixlWixNodeVisitor*, WixlWixUIRef*, GError**)) wixl_wix_node_visitor_real_visit_ui_ref;
	((WixlWixNodeVisitorClass *) klass)->visit_ui_text = (void (*) (WixlWixNodeVisitor*, WixlWixUIText*, GError**)) wixl_wix_node_visitor_real_visit_ui_text;
	((WixlWixNodeVisitorClass *) klass)->visit_text_element = (void (*) (WixlWixNodeVisitor*, WixlWixTextElement*, GError**)) wixl_wix_node_visitor_real_visit_text_element;
	((WixlWixNodeVisitorClass *) klass)->visit_text_style = (void (*) (WixlWixNodeVisitor*, WixlWixTextStyle*, GError**)) wixl_wix_node_visitor_real_visit_text_style;
	((WixlWixNodeVisitorClass *) klass)->visit_dialog = (void (*) (WixlWixNodeVisitor*, WixlWixDialog*, GError**)) wixl_wix_node_visitor_real_visit_dialog;
	((WixlWixNodeVisitorClass *) klass)->visit_dialog_ref = (void (*) (WixlWixNodeVisitor*, WixlWixDialogRef*, GError**)) wixl_wix_node_visitor_real_visit_dialog_ref;
	((WixlWixNodeVisitorClass *) klass)->visit_control = (void (*) (WixlWixNodeVisitor*, WixlWixControl*, GError**)) wixl_wix_node_visitor_real_visit_control;
	((WixlWixNodeVisitorClass *) klass)->visit_publish = (void (*) (WixlWixNodeVisitor*, WixlWixPublish*, GError**)) wixl_wix_node_visitor_real_visit_publish;
	((WixlWixNodeVisitorClass *) klass)->visit_radio_button = (void (*) (WixlWixNodeVisitor*, WixlWixRadioButton*, GError**)) wixl_wix_node_visitor_real_visit_radio_button;
	((WixlWixNodeVisitorClass *) klass)->visit_subscribe = (void (*) (WixlWixNodeVisitor*, WixlWixSubscribe*, GError**)) wixl_wix_node_visitor_real_visit_subscribe;
	((WixlWixNodeVisitorClass *) klass)->visit_progress_text = (void (*) (WixlWixNodeVisitor*, WixlWixProgressText*, GError**)) wixl_wix_node_visitor_real_visit_progress_text;
	((WixlWixNodeVisitorClass *) klass)->visit_environment = (void (*) (WixlWixNodeVisitor*, WixlWixEnvironment*, GError**)) wixl_wix_node_visitor_real_visit_environment;
}

static void
wixl_wix_node_visitor_instance_init (WixlWixNodeVisitor * self,
                                     gpointer klass)
{
}

static GType
wixl_wix_node_visitor_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixNodeVisitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_node_visitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixNodeVisitor), 0, (GInstanceInitFunc) wixl_wix_node_visitor_instance_init, NULL };
	GType wixl_wix_node_visitor_type_id;
	wixl_wix_node_visitor_type_id = g_type_register_static (G_TYPE_OBJECT, "WixlWixNodeVisitor", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
	return wixl_wix_node_visitor_type_id;
}

GType
wixl_wix_node_visitor_get_type (void)
{
	static volatile gsize wixl_wix_node_visitor_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_node_visitor_type_id__once)) {
		GType wixl_wix_node_visitor_type_id;
		wixl_wix_node_visitor_type_id = wixl_wix_node_visitor_get_type_once ();
		g_once_init_leave (&wixl_wix_node_visitor_type_id__once, wixl_wix_node_visitor_type_id);
	}
	return wixl_wix_node_visitor_type_id__once;
}

static gchar*
wixl_wix_node_real_to_string (WixlWixNode* self)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_to_string'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return NULL;
}

gchar*
wixl_wix_node_to_string (WixlWixNode* self)
{
	WixlWixNodeClass* _klass_;
	g_return_val_if_fail (self != NULL, NULL);
	_klass_ = WIXL_WIX_NODE_GET_CLASS (self);
	if (_klass_->to_string) {
		return _klass_->to_string (self);
	}
	return NULL;
}

void
wixl_wix_node_value_to_string (GValue* src,
                               GValue* dest)
{
	GValue _vala_dest = {0};
	WixlWixNode* e = NULL;
	GValue _tmp0_;
	WixlWixNode* _tmp1_;
	gchar* _tmp2_;
	GValue _tmp3_ = {0};
	g_return_if_fail (src != NULL);
	_tmp0_ = *src;
	_tmp1_ = wixl_wix_node_value_get_node (&_tmp0_);
	e = _tmp1_;
	_tmp2_ = wixl_wix_node_to_string (e);
	g_value_init (&_tmp3_, G_TYPE_STRING);
	g_value_take_string (&_tmp3_, _tmp2_);
	G_IS_VALUE (&_vala_dest) ? (g_value_unset (&_vala_dest), NULL) : NULL;
	_vala_dest = _tmp3_;
	_g_object_unref0 (e);
	if (dest) {
		*dest = _vala_dest;
	} else {
		G_IS_VALUE (&_vala_dest) ? (g_value_unset (&_vala_dest), NULL) : NULL;
	}
}

WixlWixNode*
wixl_wix_node_value_get_node (GValue* value)
{
	GObject* _tmp0_;
	WixlWixNode* _tmp1_;
	WixlWixNode* result;
	g_return_val_if_fail (value != NULL, NULL);
	if (!G_VALUE_HOLDS (value, WIXL_TYPE_WIX_NODE)) {
		result = NULL;
		return result;
	}
	_tmp0_ = g_value_get_object (value);
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, WIXL_TYPE_WIX_NODE, WixlWixNode));
	result = _tmp1_;
	return result;
}

static void
wixl_wix_node_real_accept (WixlWixNode* self,
                           WixlWixNodeVisitor* visitor,
                           GError** error)
{
	g_critical ("Type `%s' does not implement abstract method `wixl_wix_node_accept'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
wixl_wix_node_accept (WixlWixNode* self,
                      WixlWixNodeVisitor* visitor,
                      GError** error)
{
	WixlWixNodeClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_NODE_GET_CLASS (self);
	if (_klass_->accept) {
		_klass_->accept (self, visitor, error);
	}
}

WixlWixNode*
wixl_wix_node_construct (GType object_type)
{
	WixlWixNode * self = NULL;
	self = (WixlWixNode*) g_object_new (object_type, NULL);
	return self;
}

static void
wixl_wix_node_class_init (WixlWixNodeClass * klass,
                          gpointer klass_data)
{
	wixl_wix_node_parent_class = g_type_class_peek_parent (klass);
	((WixlWixNodeClass *) klass)->to_string = (gchar* (*) (WixlWixNode*)) wixl_wix_node_real_to_string;
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_node_real_accept;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_node_finalize;
	g_value_register_transform_func (WIXL_TYPE_WIX_NODE, G_TYPE_STRING, (GValueTransform) wixl_wix_node_value_to_string);
}

static void
wixl_wix_node_instance_init (WixlWixNode * self,
                             gpointer klass)
{
}

static void
wixl_wix_node_finalize (GObject * obj)
{
	WixlWixNode * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_NODE, WixlWixNode);
	_g_object_unref0 (self->parent);
	G_OBJECT_CLASS (wixl_wix_node_parent_class)->finalize (obj);
}

static GType
wixl_wix_node_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixNodeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_node_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixNode), 0, (GInstanceInitFunc) wixl_wix_node_instance_init, NULL };
	GType wixl_wix_node_type_id;
	wixl_wix_node_type_id = g_type_register_static (G_TYPE_OBJECT, "WixlWixNode", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
	return wixl_wix_node_type_id;
}

GType
wixl_wix_node_get_type (void)
{
	static volatile gsize wixl_wix_node_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_node_type_id__once)) {
		GType wixl_wix_node_type_id;
		wixl_wix_node_type_id = wixl_wix_node_get_type_once ();
		g_once_init_leave (&wixl_wix_node_type_id__once, wixl_wix_node_type_id);
	}
	return wixl_wix_node_type_id__once;
}

WixlWixText*
wixl_wix_text_construct (GType object_type,
                         const gchar* str)
{
	WixlWixText * self = NULL;
	gchar* _tmp0_;
	g_return_val_if_fail (str != NULL, NULL);
	self = (WixlWixText*) wixl_wix_node_construct (object_type);
	_tmp0_ = g_strdup (str);
	_g_free0 (self->Text);
	self->Text = _tmp0_;
	return self;
}

WixlWixText*
wixl_wix_text_new (const gchar* str)
{
	return wixl_wix_text_construct (WIXL_TYPE_WIX_TEXT, str);
}

static gchar*
wixl_wix_text_real_to_string (WixlWixNode* base)
{
	WixlWixText * self;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* result;
	self = (WixlWixText*) base;
	_tmp0_ = self->Text;
	_tmp1_ = g_strdup (_tmp0_);
	result = _tmp1_;
	return result;
}

static void
wixl_wix_text_real_accept (WixlWixNode* base,
                           WixlWixNodeVisitor* visitor,
                           GError** error)
{
	WixlWixText * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixText*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_text (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

static void
wixl_wix_text_class_init (WixlWixTextClass * klass,
                          gpointer klass_data)
{
	wixl_wix_text_parent_class = g_type_class_peek_parent (klass);
	((WixlWixNodeClass *) klass)->to_string = (gchar* (*) (WixlWixNode*)) wixl_wix_text_real_to_string;
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_text_real_accept;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_text_finalize;
}

static void
wixl_wix_text_instance_init (WixlWixText * self,
                             gpointer klass)
{
}

static void
wixl_wix_text_finalize (GObject * obj)
{
	WixlWixText * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_TEXT, WixlWixText);
	_g_free0 (self->Text);
	G_OBJECT_CLASS (wixl_wix_text_parent_class)->finalize (obj);
}

static GType
wixl_wix_text_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixTextClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_text_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixText), 0, (GInstanceInitFunc) wixl_wix_text_instance_init, NULL };
	GType wixl_wix_text_type_id;
	wixl_wix_text_type_id = g_type_register_static (WIXL_TYPE_WIX_NODE, "WixlWixText", &g_define_type_info, 0);
	return wixl_wix_text_type_id;
}

GType
wixl_wix_text_get_type (void)
{
	static volatile gsize wixl_wix_text_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_text_type_id__once)) {
		GType wixl_wix_text_type_id;
		wixl_wix_text_type_id = wixl_wix_text_get_type_once ();
		g_once_init_leave (&wixl_wix_text_type_id__once, wixl_wix_text_type_id);
	}
	return wixl_wix_text_type_id__once;
}

static inline gpointer
wixl_wix_element_get_instance_private (WixlWixElement* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixElement_private_offset);
}

static void
_g_object_unref0_ (gpointer var)
{
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
}

static inline void
_g_list_free__g_object_unref0_ (GList* self)
{
	g_list_free_full (self, (GDestroyNotify) _g_object_unref0_);
}

void
wixl_wix_element_add_child_types (WixlWixElementClass* klass,
                                  GHashTable* table,
                                  GType* child_types,
                                  gint child_types_length1)
{
	g_return_if_fail (table != NULL);
	{
		GType* t_collection = NULL;
		gint t_collection_length1 = 0;
		gint _t_collection_size_ = 0;
		gint t_it = 0;
		t_collection = child_types;
		t_collection_length1 = child_types_length1;
		for (t_it = 0; t_it < t_collection_length1; t_it = t_it + 1) {
			GType t = 0UL;
			t = t_collection[t_it];
			{
				gchar* n = NULL;
				GObject* _tmp0_;
				GObject* _tmp1_;
				WixlWixElement* _tmp2_;
				const gchar* _tmp3_;
				gchar* _tmp4_;
				gchar* _tmp5_;
				const gchar* _tmp6_;
				gchar* _tmp7_;
				_tmp0_ = g_object_new (t, NULL);
				_tmp1_ = G_IS_INITIALLY_UNOWNED (_tmp0_) ? g_object_ref_sink (_tmp0_) : _tmp0_;
				_tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, WIXL_TYPE_WIX_ELEMENT, WixlWixElement);
				_tmp3_ = WIXL_WIX_ELEMENT_GET_CLASS (_tmp2_)->name;
				_tmp4_ = g_strdup (_tmp3_);
				_tmp5_ = _tmp4_;
				_g_object_unref0 (_tmp2_);
				n = _tmp5_;
				_tmp6_ = n;
				_tmp7_ = g_strdup (_tmp6_);
				g_hash_table_insert (table, _tmp7_, (gpointer) ((gintptr) t));
				_g_free0 (n);
			}
		}
	}
}

void
wixl_wix_element_add_child (WixlWixElement* self,
                            WixlWixNode* e)
{
	WixlWixElement* _tmp0_;
	WixlWixNode* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (e != NULL);
	_tmp0_ = _g_object_ref0 (self);
	_g_object_unref0 (e->parent);
	e->parent = _tmp0_;
	_tmp1_ = _g_object_ref0 (e);
	self->children = g_list_append (self->children, _tmp1_);
}

static gpointer*
_vala_array_dup5 (gpointer* self,
                  gssize length,
                  GBoxedCopyFunc g_dup_func)
{
	if (length > 0) {
		gpointer* result;
		gssize i;
		result = g_new0 (gpointer, length);
		for (i = 0; i < length; i++) {
			gpointer _tmp0_;
			_tmp0_ = ((self[i] != NULL) && (g_dup_func != NULL)) ? g_dup_func ((gpointer) self[i]) : ((gpointer) self[i]);
			result[i] = _tmp0_;
		}
		return result;
	}
	return NULL;
}

static void
_vala_array_add8 (gpointer* * array,
                  gint* length,
                  gint* size,
                  gpointer value)
{
	if ((*length) == (*size)) {
		*size = (*size) ? (2 * (*size)) : 4;
		*array = g_renew (gpointer, *array, (*size) + 1);
	}
	(*array)[(*length)++] = value;
	(*array)[*length] = NULL;
}

static gpointer*
_vala_array_dup6 (gpointer* self,
                  gssize length,
                  GBoxedCopyFunc g_dup_func)
{
	if (length > 0) {
		gpointer* result;
		gssize i;
		result = g_new0 (gpointer, length);
		for (i = 0; i < length; i++) {
			gpointer _tmp0_;
			_tmp0_ = ((self[i] != NULL) && (g_dup_func != NULL)) ? g_dup_func ((gpointer) self[i]) : ((gpointer) self[i]);
			result[i] = _tmp0_;
		}
		return result;
	}
	return NULL;
}

static void
_vala_array_add9 (gpointer* * array,
                  gint* length,
                  gint* size,
                  gpointer value)
{
	if ((*length) == (*size)) {
		*size = (*size) ? (2 * (*size)) : 4;
		*array = g_renew (gpointer, *array, (*size) + 1);
	}
	(*array)[(*length)++] = value;
	(*array)[*length] = NULL;
}

gpointer*
wixl_wix_element_add_elements (WixlWixElement* self,
                               GType g_type,
                               GBoxedCopyFunc g_dup_func,
                               GDestroyNotify g_destroy_func,
                               gpointer* a,
                               gint a_length1,
                               gint* result_length1)
{
	gpointer* array = NULL;
	gpointer* _tmp0_;
	gint _tmp0__length1;
	gint array_length1;
	gint _array_size_;
	GType type = 0UL;
	GList* _tmp2_;
	gpointer* _tmp13_;
	gint _tmp13__length1;
	gpointer* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = (a != NULL) ? _vala_array_dup5 (a, a_length1, g_dup_func) : a;
	_tmp0__length1 = a_length1;
	array = _tmp0_;
	array_length1 = _tmp0__length1;
	_array_size_ = array_length1;
	type = g_type;
	if (g_type_is_a (G_TYPE_FROM_INSTANCE ((GObject*) self), type)) {
		gpointer _tmp1_;
		_tmp1_ = ((self != NULL) && (g_dup_func != NULL)) ? g_dup_func ((gpointer) self) : ((gpointer) self);
		_vala_array_add8 (&array, &array_length1, &_array_size_, _tmp1_);
	}
	_tmp2_ = self->children;
	{
		GList* c_collection = NULL;
		GList* c_it = NULL;
		c_collection = _tmp2_;
		for (c_it = c_collection; c_it != NULL; c_it = c_it->next) {
			WixlWixNode* _tmp3_;
			WixlWixNode* c = NULL;
			_tmp3_ = _g_object_ref0 ((WixlWixNode*) c_it->data);
			c = _tmp3_;
			{
				WixlWixNode* _tmp4_;
				_tmp4_ = c;
				if (WIXL_IS_WIX_ELEMENT (_tmp4_)) {
					WixlWixNode* _tmp5_;
					gpointer* _tmp6_;
					gint _tmp6__length1;
					gpointer* _tmp7_;
					gint _tmp7__length1;
					gint _tmp8_ = 0;
					gpointer* _tmp9_;
					_tmp5_ = c;
					_tmp6_ = array;
					_tmp6__length1 = array_length1;
					_tmp7_ = (_tmp6_ != NULL) ? _vala_array_dup6 (_tmp6_, _tmp6__length1, g_dup_func) : _tmp6_;
					_tmp7__length1 = _tmp6__length1;
					_tmp9_ = wixl_wix_element_add_elements (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), g_type, (GBoxedCopyFunc) g_dup_func, (GDestroyNotify) g_destroy_func, _tmp7_, (gint) _tmp7__length1, &_tmp8_);
					array = (_vala_array_free (array, array_length1, (GDestroyNotify) g_destroy_func), NULL);
					array = _tmp9_;
					array_length1 = _tmp8_;
					_array_size_ = array_length1;
				} else {
					WixlWixNode* _tmp10_;
					_tmp10_ = c;
					if (g_type_is_a (G_TYPE_FROM_INSTANCE ((GObject*) _tmp10_), type)) {
						WixlWixNode* _tmp11_;
						gpointer _tmp12_;
						_tmp11_ = c;
						_tmp12_ = ((_tmp11_ != NULL) && (g_dup_func != NULL)) ? g_dup_func ((gpointer) _tmp11_) : ((gpointer) _tmp11_);
						_vala_array_add9 (&array, &array_length1, &_array_size_, _tmp12_);
					}
				}
				_g_object_unref0 (c);
			}
		}
	}
	_tmp13_ = array;
	_tmp13__length1 = array_length1;
	if (result_length1) {
		*result_length1 = _tmp13__length1;
	}
	result = _tmp13_;
	a = (_vala_array_free (a, a_length1, (GDestroyNotify) g_destroy_func), NULL);
	return result;
}

static gchar*
wixl_wix_element_real_full_path (WixlWixElement* self,
                                 WixlWixResolver* r,
                                 GError** error)
{
	gboolean _tmp0_ = FALSE;
	WixlWixElement* _tmp1_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	g_return_val_if_fail (r != NULL, NULL);
	_tmp1_ = ((WixlWixNode*) self)->parent;
	if (_tmp1_ != NULL) {
		gboolean _tmp2_ = FALSE;
		WixlWixElement* _tmp3_;
		_tmp3_ = ((WixlWixNode*) self)->parent;
		if (WIXL_IS_WIX_DIRECTORY (_tmp3_)) {
			_tmp2_ = TRUE;
		} else {
			WixlWixElement* _tmp4_;
			_tmp4_ = ((WixlWixNode*) self)->parent;
			_tmp2_ = WIXL_IS_WIX_DIRECTORY_REF (_tmp4_);
		}
		_tmp0_ = _tmp2_;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		gchar* _tmp5_ = NULL;
		WixlWixElement* _tmp6_;
		gchar* _tmp7_;
		gchar* _tmp8_;
		gchar* _tmp9_;
		const gchar* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		_tmp6_ = ((WixlWixNode*) self)->parent;
		_tmp7_ = wixl_wix_element_full_path (_tmp6_, r, &_inner_error0_);
		_tmp5_ = _tmp7_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			g_propagate_error (error, _inner_error0_);
			return NULL;
		}
		_tmp8_ = g_strconcat (_tmp5_, "/", NULL);
		_tmp9_ = _tmp8_;
		_tmp10_ = self->priv->_Id;
		_tmp11_ = g_strconcat (_tmp9_, _tmp10_, NULL);
		_tmp12_ = _tmp11_;
		_g_free0 (_tmp9_);
		result = _tmp12_;
		_g_free0 (_tmp5_);
		return result;
	} else {
		const gchar* _tmp13_;
		gchar* _tmp14_;
		_tmp13_ = self->priv->_Id;
		_tmp14_ = g_strdup (_tmp13_);
		result = _tmp14_;
		return result;
	}
}

gchar*
wixl_wix_element_full_path (WixlWixElement* self,
                            WixlWixResolver* r,
                            GError** error)
{
	WixlWixElementClass* _klass_;
	g_return_val_if_fail (self != NULL, NULL);
	_klass_ = WIXL_WIX_ELEMENT_GET_CLASS (self);
	if (_klass_->full_path) {
		return _klass_->full_path (self, r, error);
	}
	return NULL;
}

gpointer*
wixl_wix_element_get_elements (WixlWixElement* self,
                               GType g_type,
                               GBoxedCopyFunc g_dup_func,
                               GDestroyNotify g_destroy_func,
                               gint* result_length1)
{
	gpointer* _tmp0_;
	gint _tmp1_ = 0;
	gpointer* _tmp2_;
	gpointer* _tmp3_;
	gint _tmp3__length1;
	gpointer* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_new0 (gpointer, 0);
	_tmp2_ = wixl_wix_element_add_elements (self, g_type, (GBoxedCopyFunc) g_dup_func, (GDestroyNotify) g_destroy_func, _tmp0_, (gint) 0, &_tmp1_);
	_tmp3_ = _tmp2_;
	_tmp3__length1 = _tmp1_;
	if (result_length1) {
		*result_length1 = _tmp3__length1;
	}
	result = _tmp3_;
	return result;
}

gpointer
wixl_wix_element_find_element (WixlWixElement* self,
                               GType g_type,
                               GBoxedCopyFunc g_dup_func,
                               GDestroyNotify g_destroy_func,
                               const gchar* Id)
{
	GType type = 0UL;
	gboolean _tmp0_ = FALSE;
	const gchar* _tmp1_;
	GList* _tmp3_;
	gpointer result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (Id != NULL, NULL);
	type = g_type;
	_tmp1_ = self->priv->_Id;
	if (g_strcmp0 (_tmp1_, Id) == 0) {
		_tmp0_ = G_TYPE_FROM_INSTANCE ((GObject*) self) == type;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		gpointer _tmp2_;
		_tmp2_ = ((self != NULL) && (g_dup_func != NULL)) ? g_dup_func ((gpointer) self) : ((gpointer) self);
		result = _tmp2_;
		return result;
	}
	_tmp3_ = self->children;
	{
		GList* c_collection = NULL;
		GList* c_it = NULL;
		c_collection = _tmp3_;
		for (c_it = c_collection; c_it != NULL; c_it = c_it->next) {
			WixlWixNode* _tmp4_;
			WixlWixNode* c = NULL;
			_tmp4_ = _g_object_ref0 ((WixlWixNode*) c_it->data);
			c = _tmp4_;
			{
				WixlWixNode* _tmp5_;
				_tmp5_ = c;
				if (WIXL_IS_WIX_ELEMENT (_tmp5_)) {
					gpointer e = NULL;
					WixlWixNode* _tmp6_;
					gpointer _tmp7_;
					gconstpointer _tmp8_;
					_tmp6_ = c;
					_tmp7_ = wixl_wix_element_find_element (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), g_type, (GBoxedCopyFunc) g_dup_func, (GDestroyNotify) g_destroy_func, Id);
					e = _tmp7_;
					_tmp8_ = e;
					if (_tmp8_ != NULL) {
						result = e;
						_g_object_unref0 (c);
						return result;
					}
					((e == NULL) || (g_destroy_func == NULL)) ? NULL : (e = (g_destroy_func (e), NULL));
				}
				_g_object_unref0 (c);
			}
		}
	}
	result = NULL;
	return result;
}

static gchar*
wixl_wix_element_get_attribute_content (WixlWixElement* self,
                                        xmlAttr* attr)
{
	xmlNode* _tmp0_;
	xmlNode* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = attr->children;
	if (_tmp0_ == NULL) {
		gchar* _tmp1_;
		_tmp1_ = g_strdup ("");
		result = _tmp1_;
		return result;
	}
	_tmp2_ = attr->children;
	_tmp3_ = _tmp2_->content;
	_tmp4_ = g_strdup (_tmp3_);
	result = _tmp4_;
	return result;
}

void
wixl_wix_element_load_properties_from_node (WixlWixElement* self,
                                            xmlNode* node,
                                            GError** error)
{
	g_return_if_fail (self != NULL);
	{
		xmlAttr* prop = NULL;
		xmlAttr* _tmp0_;
		_tmp0_ = node->properties;
		prop = _tmp0_;
		{
			gboolean _tmp1_ = FALSE;
			_tmp1_ = TRUE;
			while (TRUE) {
				xmlAttr* _tmp4_;
				xmlAttr* _tmp5_;
				if (!_tmp1_) {
					xmlAttr* _tmp2_;
					xmlAttr* _tmp3_;
					_tmp2_ = prop;
					_tmp3_ = _tmp2_->next;
					prop = _tmp3_;
				}
				_tmp1_ = FALSE;
				_tmp4_ = prop;
				if (!(_tmp4_ != NULL)) {
					break;
				}
				_tmp5_ = prop;
				if (_tmp5_->type == XML_ATTRIBUTE_NODE) {
					xmlAttr* _tmp6_;
					const gchar* _tmp7_;
					xmlAttr* _tmp8_;
					gchar* _tmp9_;
					GValue _tmp10_ = {0};
					_tmp6_ = prop;
					_tmp7_ = _tmp6_->name;
					_tmp8_ = prop;
					_tmp9_ = wixl_wix_element_get_attribute_content (self, _tmp8_);
					g_value_init (&_tmp10_, G_TYPE_STRING);
					g_value_take_string (&_tmp10_, _tmp9_);
					g_object_set_property ((GObject*) self, _tmp7_, &_tmp10_);
					G_IS_VALUE (&_tmp10_) ? (g_value_unset (&_tmp10_), NULL) : NULL;
				}
			}
		}
	}
}

static void
wixl_wix_element_real_load (WixlWixElement* self,
                            xmlNode* node,
                            GError** error)
{
	gboolean _tmp0_ = FALSE;
	const gchar* _tmp1_;
	GError* _inner_error0_ = NULL;
	_tmp1_ = WIXL_WIX_ELEMENT_GET_CLASS (self)->name;
	if (_tmp1_ != NULL) {
		const gchar* _tmp2_;
		const gchar* _tmp3_;
		_tmp2_ = node->name;
		_tmp3_ = WIXL_WIX_ELEMENT_GET_CLASS (self)->name;
		_tmp0_ = g_strcmp0 (_tmp2_, _tmp3_) != 0;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		const gchar* _tmp4_;
		const gchar* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
		GError* _tmp8_;
		GError* _tmp9_;
		_tmp4_ = WIXL_WIX_ELEMENT_GET_CLASS (self)->name;
		_tmp5_ = node->name;
		_tmp6_ = g_strdup_printf ("%s: invalid node %s", _tmp4_, _tmp5_);
		_tmp7_ = _tmp6_;
		_tmp8_ = g_error_new_literal (WIXL_ERROR, WIXL_ERROR_FAILED, _tmp7_);
		_tmp9_ = _tmp8_;
		_g_free0 (_tmp7_);
		_inner_error0_ = _tmp9_;
		if (_inner_error0_->domain == WIXL_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return;
		}
	}
	wixl_wix_element_load_properties_from_node (self, node, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == WIXL_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return;
		}
	}
	{
		xmlNode* child = NULL;
		xmlNode* _tmp10_;
		_tmp10_ = node->children;
		child = _tmp10_;
		{
			gboolean _tmp11_ = FALSE;
			_tmp11_ = TRUE;
			while (TRUE) {
				xmlNode* _tmp14_;
				xmlNode* _tmp15_;
				const gchar* _tmp30_;
				xmlNode* _tmp31_;
				const gchar* _tmp32_;
				if (!_tmp11_) {
					xmlNode* _tmp12_;
					xmlNode* _tmp13_;
					_tmp12_ = child;
					_tmp13_ = _tmp12_->next;
					child = _tmp13_;
				}
				_tmp11_ = FALSE;
				_tmp14_ = child;
				if (!(_tmp14_ != NULL)) {
					break;
				}
				_tmp15_ = child;
				switch (_tmp15_->type) {
					case XML_COMMENT_NODE:
					{
						continue;
					}
					case XML_TEXT_NODE:
					{
						xmlNode* _tmp16_;
						const gchar* _tmp17_;
						WixlWixText* _tmp18_;
						WixlWixText* _tmp19_;
						_tmp16_ = child;
						_tmp17_ = _tmp16_->content;
						_tmp18_ = wixl_wix_text_new (_tmp17_);
						_tmp19_ = _tmp18_;
						wixl_wix_element_add_child (self, (WixlWixNode*) _tmp19_);
						_g_object_unref0 (_tmp19_);
						continue;
					}
					case XML_ELEMENT_NODE:
					{
						GType t = 0UL;
						GHashTable* _tmp20_;
						xmlNode* _tmp21_;
						const gchar* _tmp22_;
						gconstpointer _tmp23_;
						_tmp20_ = WIXL_WIX_ELEMENT_GET_CLASS (self)->child_types;
						_tmp21_ = child;
						_tmp22_ = _tmp21_->name;
						_tmp23_ = g_hash_table_lookup (_tmp20_, _tmp22_);
						t = (GType) ((gintptr) _tmp23_);
						if (t != ((GType) 0)) {
							WixlWixElement* elem = NULL;
							GObject* _tmp24_;
							GObject* _tmp25_;
							WixlWixElement* _tmp26_;
							WixlWixElement* _tmp27_;
							xmlNode* _tmp28_;
							WixlWixElement* _tmp29_;
							_tmp24_ = g_object_new (t, NULL);
							_tmp25_ = G_IS_INITIALLY_UNOWNED (_tmp24_) ? g_object_ref_sink (_tmp24_) : _tmp24_;
							_tmp26_ = WIXL_IS_WIX_ELEMENT (_tmp25_) ? ((WixlWixElement*) _tmp25_) : NULL;
							if (_tmp26_ == NULL) {
								_g_object_unref0 (_tmp25_);
							}
							elem = _tmp26_;
							_tmp27_ = elem;
							_tmp28_ = child;
							wixl_wix_element_load (_tmp27_, _tmp28_, &_inner_error0_);
							if (G_UNLIKELY (_inner_error0_ != NULL)) {
								if (_inner_error0_->domain == WIXL_ERROR) {
									g_propagate_error (error, _inner_error0_);
									_g_object_unref0 (elem);
									return;
								} else {
									_g_object_unref0 (elem);
									g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
									g_clear_error (&_inner_error0_);
									return;
								}
							}
							_tmp29_ = elem;
							wixl_wix_element_add_child (self, (WixlWixNode*) _tmp29_);
							_g_object_unref0 (elem);
							continue;
						}
						break;
					}
					default:
					{
						break;
					}
				}
				_tmp30_ = WIXL_WIX_ELEMENT_GET_CLASS (self)->name;
				_tmp31_ = child;
				_tmp32_ = _tmp31_->name;
				g_error ("wix.vala:233: unhandled child %s node %s", _tmp30_, _tmp32_);
			}
		}
	}
}

void
wixl_wix_element_load (WixlWixElement* self,
                       xmlNode* node,
                       GError** error)
{
	WixlWixElementClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = WIXL_WIX_ELEMENT_GET_CLASS (self);
	if (_klass_->load) {
		_klass_->load (self, node, error);
	}
}

static gchar*
wixl_wix_element_real_to_string (WixlWixNode* base)
{
	WixlWixElement * self;
	GType type = 0UL;
	GObjectClass* klass = NULL;
	GTypeClass* _tmp0_;
	gchar* str = NULL;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	gint i = 0;
	GObjectClass* _tmp3_;
	guint _tmp4_ = 0;
	GParamSpec** _tmp5_;
	GList* _tmp30_;
	gchar* result;
	self = (WixlWixElement*) base;
	type = G_TYPE_FROM_INSTANCE ((GObject*) self);
	_tmp0_ = g_type_class_ref (type);
	klass = (GObjectClass*) _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_GET_CLASS (self)->name;
	_tmp2_ = g_strconcat ("<", _tmp1_, NULL);
	str = _tmp2_;
	i = 0;
	_tmp3_ = klass;
	_tmp5_ = g_object_class_list_properties (_tmp3_, &_tmp4_);
	{
		GParamSpec** p_collection = NULL;
		gint p_collection_length1 = 0;
		gint _p_collection_size_ = 0;
		gint p_it = 0;
		p_collection = _tmp5_;
		p_collection_length1 = _tmp4_;
		for (p_it = 0; p_it < p_collection_length1; p_it = p_it + 1) {
			GParamSpec* p = NULL;
			p = p_collection[p_it];
			{
				GParamSpec* _tmp6_;
				GValue value = {0};
				GParamSpec* _tmp7_;
				GValue _tmp8_ = {0};
				GParamSpec* _tmp9_;
				const gchar* _tmp10_;
				gchar* _tmp11_ = NULL;
				gchar* valstr = NULL;
				gchar* _tmp15_;
				const gchar* _tmp16_;
				_tmp6_ = p;
				if (!((_tmp6_->flags & G_PARAM_READABLE) == G_PARAM_READABLE)) {
					continue;
				}
				_tmp7_ = p;
				g_value_init (&_tmp8_, _tmp7_->value_type);
				value = _tmp8_;
				_tmp9_ = p;
				_tmp10_ = _tmp9_->name;
				g_object_get_property ((GObject*) self, _tmp10_, &value);
				if (G_VALUE_HOLDS (&value, G_TYPE_STRING)) {
					GValue _tmp12_;
					gchar* _tmp13_;
					_tmp12_ = value;
					_tmp13_ = g_strdup (g_value_get_string (&_tmp12_));
					_g_free0 (_tmp11_);
					_tmp11_ = _tmp13_;
				} else {
					gchar* _tmp14_;
					_tmp14_ = g_strdup_value_contents (&value);
					_g_free0 (_tmp11_);
					_tmp11_ = _tmp14_;
				}
				_tmp15_ = g_strdup (_tmp11_);
				valstr = _tmp15_;
				_tmp16_ = valstr;
				if (_tmp16_ != NULL) {
					const gchar* _tmp17_;
					GParamSpec* _tmp18_;
					const gchar* _tmp19_;
					gchar* _tmp20_;
					gchar* _tmp21_;
					gchar* _tmp22_;
					gchar* _tmp23_;
					const gchar* _tmp24_;
					gchar* _tmp25_;
					gchar* _tmp26_;
					gchar* _tmp27_;
					gchar* _tmp28_;
					gchar* _tmp29_;
					_tmp17_ = str;
					_tmp18_ = p;
					_tmp19_ = _tmp18_->name;
					_tmp20_ = g_strconcat (" ", _tmp19_, NULL);
					_tmp21_ = _tmp20_;
					_tmp22_ = g_strconcat (_tmp21_, "=\"", NULL);
					_tmp23_ = _tmp22_;
					_tmp24_ = valstr;
					_tmp25_ = g_strconcat (_tmp23_, _tmp24_, NULL);
					_tmp26_ = _tmp25_;
					_tmp27_ = g_strconcat (_tmp26_, "\"", NULL);
					_tmp28_ = _tmp27_;
					_tmp29_ = g_strconcat (_tmp17_, _tmp28_, NULL);
					_g_free0 (str);
					str = _tmp29_;
					_g_free0 (_tmp28_);
					_g_free0 (_tmp26_);
					_g_free0 (_tmp23_);
					_g_free0 (_tmp21_);
				}
				i += 1;
				_g_free0 (valstr);
				_g_free0 (_tmp11_);
				G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
			}
		}
		p_collection = (g_free (p_collection), NULL);
	}
	_tmp30_ = self->children;
	if (g_list_length (_tmp30_) != ((guint) 0)) {
		const gchar* _tmp31_;
		gchar* _tmp32_;
		GList* _tmp33_;
		const gchar* _tmp42_;
		gchar* _tmp43_;
		gchar* _tmp44_;
		const gchar* _tmp45_;
		gchar* _tmp46_;
		gchar* _tmp47_;
		gchar* _tmp48_;
		gchar* _tmp49_;
		_tmp31_ = str;
		_tmp32_ = g_strconcat (_tmp31_, ">\n", NULL);
		_g_free0 (str);
		str = _tmp32_;
		_tmp33_ = self->children;
		{
			GList* child_collection = NULL;
			GList* child_it = NULL;
			child_collection = _tmp33_;
			for (child_it = child_collection; child_it != NULL; child_it = child_it->next) {
				WixlWixNode* _tmp34_;
				WixlWixNode* child = NULL;
				_tmp34_ = _g_object_ref0 ((WixlWixNode*) child_it->data);
				child = _tmp34_;
				{
					const gchar* _tmp35_;
					WixlWixNode* _tmp36_;
					gchar* _tmp37_;
					gchar* _tmp38_;
					gchar* _tmp39_;
					gchar* _tmp40_;
					gchar* _tmp41_;
					_tmp35_ = str;
					_tmp36_ = child;
					_tmp37_ = wixl_wix_node_to_string (_tmp36_);
					_tmp38_ = _tmp37_;
					_tmp39_ = g_strconcat (_tmp38_, "\n", NULL);
					_tmp40_ = _tmp39_;
					_tmp41_ = g_strconcat (_tmp35_, _tmp40_, NULL);
					_g_free0 (str);
					str = _tmp41_;
					_g_free0 (_tmp40_);
					_g_free0 (_tmp38_);
					_g_object_unref0 (child);
				}
			}
		}
		_tmp42_ = str;
		_tmp43_ = g_strconcat (_tmp42_, "</", NULL);
		_tmp44_ = _tmp43_;
		_tmp45_ = WIXL_WIX_ELEMENT_GET_CLASS (self)->name;
		_tmp46_ = g_strconcat (_tmp44_, _tmp45_, NULL);
		_tmp47_ = _tmp46_;
		_tmp48_ = g_strconcat (_tmp47_, ">", NULL);
		_tmp49_ = _tmp48_;
		_g_free0 (_tmp47_);
		_g_free0 (_tmp44_);
		result = _tmp49_;
		_g_free0 (str);
		_g_type_class_unref0 (klass);
		return result;
	} else {
		const gchar* _tmp50_;
		gchar* _tmp51_;
		_tmp50_ = str;
		_tmp51_ = g_strconcat (_tmp50_, "/>", NULL);
		result = _tmp51_;
		_g_free0 (str);
		_g_type_class_unref0 (klass);
		return result;
	}
}

static void
wixl_wix_element_real_accept (WixlWixNode* base,
                              WixlWixNodeVisitor* visitor,
                              GError** error)
{
	WixlWixElement * self;
	GList* _tmp0_;
	GError* _inner_error0_ = NULL;
	self = (WixlWixElement*) base;
	g_return_if_fail (visitor != NULL);
	_tmp0_ = self->children;
	{
		GList* child_collection = NULL;
		GList* child_it = NULL;
		child_collection = _tmp0_;
		for (child_it = child_collection; child_it != NULL; child_it = child_it->next) {
			WixlWixNode* _tmp1_;
			WixlWixNode* child = NULL;
			_tmp1_ = _g_object_ref0 ((WixlWixNode*) child_it->data);
			child = _tmp1_;
			{
				WixlWixNode* _tmp2_;
				_tmp2_ = child;
				wixl_wix_node_accept (_tmp2_, visitor, &_inner_error0_);
				if (G_UNLIKELY (_inner_error0_ != NULL)) {
					g_propagate_error (error, _inner_error0_);
					_g_object_unref0 (child);
					return;
				}
				_g_object_unref0 (child);
			}
		}
	}
}

WixlWixElement*
wixl_wix_element_construct (GType object_type)
{
	WixlWixElement * self = NULL;
	self = (WixlWixElement*) wixl_wix_node_construct (object_type);
	return self;
}

const gchar*
wixl_wix_element_get_Id (WixlWixElement* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Id;
	result = _tmp0_;
	return result;
}

void
wixl_wix_element_set_Id (WixlWixElement* self,
                         const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_element_get_Id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Id);
		self->priv->_Id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_element_properties[WIXL_WIX_ELEMENT_ID_PROPERTY]);
	}
}

static void
_g_free0_ (gpointer var)
{
	var = (g_free (var), NULL);
}

static void
wixl_wix_element_base_init (WixlWixElementClass * klass)
{
	GHashFunc _tmp0_;
	GEqualFunc _tmp1_;
	GHashTable* _tmp2_;
	_tmp0_ = g_str_hash;
	_tmp1_ = g_str_equal;
	_tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, NULL);
	klass->child_types = _tmp2_;
}

static void
wixl_wix_element_class_init (WixlWixElementClass * klass,
                             gpointer klass_data)
{
	wixl_wix_element_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixElement_private_offset);
	((WixlWixElementClass *) klass)->full_path = (gchar* (*) (WixlWixElement*, WixlWixResolver*, GError**)) wixl_wix_element_real_full_path;
	((WixlWixElementClass *) klass)->load = (void (*) (WixlWixElement*, xmlNode*, GError**)) wixl_wix_element_real_load;
	((WixlWixNodeClass *) klass)->to_string = (gchar* (*) (WixlWixNode*)) wixl_wix_element_real_to_string;
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_element_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_element_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_element_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_element_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ELEMENT_ID_PROPERTY, wixl_wix_element_properties[WIXL_WIX_ELEMENT_ID_PROPERTY] = g_param_spec_string ("Id", "Id", "Id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	klass->child_types = NULL;
}

static void
wixl_wix_element_instance_init (WixlWixElement * self,
                                gpointer klass)
{
	self->priv = wixl_wix_element_get_instance_private (self);
}

static void
wixl_wix_element_finalize (GObject * obj)
{
	WixlWixElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_ELEMENT, WixlWixElement);
	_g_free0 (self->priv->_Id);
	(self->children == NULL) ? NULL : (self->children = (_g_list_free__g_object_unref0_ (self->children), NULL));
	G_OBJECT_CLASS (wixl_wix_element_parent_class)->finalize (obj);
}

static GType
wixl_wix_element_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixElementClass), (GBaseInitFunc) wixl_wix_element_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixElement), 0, (GInstanceInitFunc) wixl_wix_element_instance_init, NULL };
	GType wixl_wix_element_type_id;
	wixl_wix_element_type_id = g_type_register_static (WIXL_TYPE_WIX_NODE, "WixlWixElement", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
	WixlWixElement_private_offset = g_type_add_instance_private (wixl_wix_element_type_id, sizeof (WixlWixElementPrivate));
	return wixl_wix_element_type_id;
}

GType
wixl_wix_element_get_type (void)
{
	static volatile gsize wixl_wix_element_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_element_type_id__once)) {
		GType wixl_wix_element_type_id;
		wixl_wix_element_type_id = wixl_wix_element_get_type_once ();
		g_once_init_leave (&wixl_wix_element_type_id__once, wixl_wix_element_type_id);
	}
	return wixl_wix_element_type_id__once;
}

static void
_vala_wixl_wix_element_get_property (GObject * object,
                                     guint property_id,
                                     GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_ELEMENT, WixlWixElement);
	switch (property_id) {
		case WIXL_WIX_ELEMENT_ID_PROPERTY:
		g_value_set_string (value, wixl_wix_element_get_Id (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_element_set_property (GObject * object,
                                     guint property_id,
                                     const GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_ELEMENT, WixlWixElement);
	switch (property_id) {
		case WIXL_WIX_ELEMENT_ID_PROPERTY:
		wixl_wix_element_set_Id (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_component_group_get_instance_private (WixlWixComponentGroup* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixComponentGroup_private_offset);
}

WixlWixComponentGroup*
wixl_wix_component_group_construct (GType object_type)
{
	WixlWixComponentGroup * self = NULL;
	self = (WixlWixComponentGroup*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixComponentGroup*
wixl_wix_component_group_new (void)
{
	return wixl_wix_component_group_construct (WIXL_TYPE_WIX_COMPONENT_GROUP);
}

const gchar*
wixl_wix_component_group_get_Directory (WixlWixComponentGroup* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Directory;
	result = _tmp0_;
	return result;
}

void
wixl_wix_component_group_set_Directory (WixlWixComponentGroup* self,
                                        const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_component_group_get_Directory (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Directory);
		self->priv->_Directory = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_component_group_properties[WIXL_WIX_COMPONENT_GROUP_DIRECTORY_PROPERTY]);
	}
}

static void
wixl_wix_component_group_class_init (WixlWixComponentGroupClass * klass,
                                     gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_component_group_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixComponentGroup_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_component_group_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_component_group_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_component_group_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_COMPONENT_GROUP_DIRECTORY_PROPERTY, wixl_wix_component_group_properties[WIXL_WIX_COMPONENT_GROUP_DIRECTORY_PROPERTY] = g_param_spec_string ("Directory", "Directory", "Directory", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("ComponentGroup");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 3);
	_tmp2_[0] = WIXL_TYPE_WIX_COMPONENT;
	_tmp2_[1] = WIXL_TYPE_WIX_COMPONENT_REF;
	_tmp2_[2] = WIXL_TYPE_WIX_COMPONENT_GROUP_REF;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 3;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 3);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_component_group_instance_init (WixlWixComponentGroup * self,
                                        gpointer klass)
{
	self->priv = wixl_wix_component_group_get_instance_private (self);
}

static void
wixl_wix_component_group_finalize (GObject * obj)
{
	WixlWixComponentGroup * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_COMPONENT_GROUP, WixlWixComponentGroup);
	_g_free0 (self->priv->_Directory);
	G_OBJECT_CLASS (wixl_wix_component_group_parent_class)->finalize (obj);
}

static GType
wixl_wix_component_group_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixComponentGroupClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_component_group_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixComponentGroup), 0, (GInstanceInitFunc) wixl_wix_component_group_instance_init, NULL };
	GType wixl_wix_component_group_type_id;
	wixl_wix_component_group_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixComponentGroup", &g_define_type_info, 0);
	WixlWixComponentGroup_private_offset = g_type_add_instance_private (wixl_wix_component_group_type_id, sizeof (WixlWixComponentGroupPrivate));
	return wixl_wix_component_group_type_id;
}

GType
wixl_wix_component_group_get_type (void)
{
	static volatile gsize wixl_wix_component_group_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_component_group_type_id__once)) {
		GType wixl_wix_component_group_type_id;
		wixl_wix_component_group_type_id = wixl_wix_component_group_get_type_once ();
		g_once_init_leave (&wixl_wix_component_group_type_id__once, wixl_wix_component_group_type_id);
	}
	return wixl_wix_component_group_type_id__once;
}

static void
_vala_wixl_wix_component_group_get_property (GObject * object,
                                             guint property_id,
                                             GValue * value,
                                             GParamSpec * pspec)
{
	WixlWixComponentGroup * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_COMPONENT_GROUP, WixlWixComponentGroup);
	switch (property_id) {
		case WIXL_WIX_COMPONENT_GROUP_DIRECTORY_PROPERTY:
		g_value_set_string (value, wixl_wix_component_group_get_Directory (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_component_group_set_property (GObject * object,
                                             guint property_id,
                                             const GValue * value,
                                             GParamSpec * pspec)
{
	WixlWixComponentGroup * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_COMPONENT_GROUP, WixlWixComponentGroup);
	switch (property_id) {
		case WIXL_WIX_COMPONENT_GROUP_DIRECTORY_PROPERTY:
		wixl_wix_component_group_set_Directory (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
wixl_wix_fragment_real_accept (WixlWixNode* base,
                               WixlWixNodeVisitor* visitor,
                               GError** error)
{
	WixlWixFragment * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixFragment*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_fragment_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_fragment (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixFragment*
wixl_wix_fragment_construct (GType object_type)
{
	WixlWixFragment * self = NULL;
	self = (WixlWixFragment*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixFragment*
wixl_wix_fragment_new (void)
{
	return wixl_wix_fragment_construct (WIXL_TYPE_WIX_FRAGMENT);
}

static void
wixl_wix_fragment_class_init (WixlWixFragmentClass * klass,
                              gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_fragment_parent_class = g_type_class_peek_parent (klass);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_fragment_real_accept;
	_tmp0_ = g_strdup ("Fragment");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 7);
	_tmp2_[0] = WIXL_TYPE_WIX_DIRECTORY;
	_tmp2_[1] = WIXL_TYPE_WIX_DIRECTORY_REF;
	_tmp2_[2] = WIXL_TYPE_WIX_COMPONENT_GROUP;
	_tmp2_[3] = WIXL_TYPE_WIX_BINARY;
	_tmp2_[4] = WIXL_TYPE_WIX_UI;
	_tmp2_[5] = WIXL_TYPE_WIX_UI_REF;
	_tmp2_[6] = WIXL_TYPE_WIX_INSTALL_UI_SEQUENCE;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 7;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 7);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_fragment_instance_init (WixlWixFragment * self,
                                 gpointer klass)
{
}

static GType
wixl_wix_fragment_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixFragmentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_fragment_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixFragment), 0, (GInstanceInitFunc) wixl_wix_fragment_instance_init, NULL };
	GType wixl_wix_fragment_type_id;
	wixl_wix_fragment_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixFragment", &g_define_type_info, 0);
	return wixl_wix_fragment_type_id;
}

GType
wixl_wix_fragment_get_type (void)
{
	static volatile gsize wixl_wix_fragment_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_fragment_type_id__once)) {
		GType wixl_wix_fragment_type_id;
		wixl_wix_fragment_type_id = wixl_wix_fragment_get_type_once ();
		g_once_init_leave (&wixl_wix_fragment_type_id__once, wixl_wix_fragment_type_id);
	}
	return wixl_wix_fragment_type_id__once;
}

static inline gpointer
wixl_wix_registry_search_get_instance_private (WixlWixRegistrySearch* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixRegistrySearch_private_offset);
}

static void
wixl_wix_registry_search_real_accept (WixlWixNode* base,
                                      WixlWixNodeVisitor* visitor,
                                      GError** error)
{
	WixlWixRegistrySearch * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixRegistrySearch*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_registry_search (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixRegistrySearch*
wixl_wix_registry_search_construct (GType object_type)
{
	WixlWixRegistrySearch * self = NULL;
	self = (WixlWixRegistrySearch*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixRegistrySearch*
wixl_wix_registry_search_new (void)
{
	return wixl_wix_registry_search_construct (WIXL_TYPE_WIX_REGISTRY_SEARCH);
}

const gchar*
wixl_wix_registry_search_get_Root (WixlWixRegistrySearch* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Root;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_search_set_Root (WixlWixRegistrySearch* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_search_get_Root (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Root);
		self->priv->_Root = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_search_properties[WIXL_WIX_REGISTRY_SEARCH_ROOT_PROPERTY]);
	}
}

const gchar*
wixl_wix_registry_search_get_Key (WixlWixRegistrySearch* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Key;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_search_set_Key (WixlWixRegistrySearch* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_search_get_Key (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Key);
		self->priv->_Key = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_search_properties[WIXL_WIX_REGISTRY_SEARCH_KEY_PROPERTY]);
	}
}

const gchar*
wixl_wix_registry_search_get_Type (WixlWixRegistrySearch* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Type;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_search_set_Type (WixlWixRegistrySearch* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_search_get_Type (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Type);
		self->priv->_Type = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_search_properties[WIXL_WIX_REGISTRY_SEARCH_TYPE_PROPERTY]);
	}
}

const gchar*
wixl_wix_registry_search_get_Name (WixlWixRegistrySearch* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Name;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_search_set_Name (WixlWixRegistrySearch* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_search_get_Name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Name);
		self->priv->_Name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_search_properties[WIXL_WIX_REGISTRY_SEARCH_NAME_PROPERTY]);
	}
}

const gchar*
wixl_wix_registry_search_get_Win64 (WixlWixRegistrySearch* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Win64;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_search_set_Win64 (WixlWixRegistrySearch* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_search_get_Win64 (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Win64);
		self->priv->_Win64 = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_search_properties[WIXL_WIX_REGISTRY_SEARCH_WIN64_PROPERTY]);
	}
}

static void
wixl_wix_registry_search_class_init (WixlWixRegistrySearchClass * klass,
                                     gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_registry_search_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixRegistrySearch_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_registry_search_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_registry_search_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_registry_search_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_registry_search_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_SEARCH_ROOT_PROPERTY, wixl_wix_registry_search_properties[WIXL_WIX_REGISTRY_SEARCH_ROOT_PROPERTY] = g_param_spec_string ("Root", "Root", "Root", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_SEARCH_KEY_PROPERTY, wixl_wix_registry_search_properties[WIXL_WIX_REGISTRY_SEARCH_KEY_PROPERTY] = g_param_spec_string ("Key", "Key", "Key", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_SEARCH_TYPE_PROPERTY, wixl_wix_registry_search_properties[WIXL_WIX_REGISTRY_SEARCH_TYPE_PROPERTY] = g_param_spec_string ("Type", "Type", "Type", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_SEARCH_NAME_PROPERTY, wixl_wix_registry_search_properties[WIXL_WIX_REGISTRY_SEARCH_NAME_PROPERTY] = g_param_spec_string ("Name", "Name", "Name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_SEARCH_WIN64_PROPERTY, wixl_wix_registry_search_properties[WIXL_WIX_REGISTRY_SEARCH_WIN64_PROPERTY] = g_param_spec_string ("Win64", "Win64", "Win64", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("RegistrySearch");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_registry_search_instance_init (WixlWixRegistrySearch * self,
                                        gpointer klass)
{
	self->priv = wixl_wix_registry_search_get_instance_private (self);
}

static void
wixl_wix_registry_search_finalize (GObject * obj)
{
	WixlWixRegistrySearch * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_REGISTRY_SEARCH, WixlWixRegistrySearch);
	_g_free0 (self->priv->_Root);
	_g_free0 (self->priv->_Key);
	_g_free0 (self->priv->_Type);
	_g_free0 (self->priv->_Name);
	_g_free0 (self->priv->_Win64);
	G_OBJECT_CLASS (wixl_wix_registry_search_parent_class)->finalize (obj);
}

static GType
wixl_wix_registry_search_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixRegistrySearchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_registry_search_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixRegistrySearch), 0, (GInstanceInitFunc) wixl_wix_registry_search_instance_init, NULL };
	GType wixl_wix_registry_search_type_id;
	wixl_wix_registry_search_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixRegistrySearch", &g_define_type_info, 0);
	WixlWixRegistrySearch_private_offset = g_type_add_instance_private (wixl_wix_registry_search_type_id, sizeof (WixlWixRegistrySearchPrivate));
	return wixl_wix_registry_search_type_id;
}

GType
wixl_wix_registry_search_get_type (void)
{
	static volatile gsize wixl_wix_registry_search_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_registry_search_type_id__once)) {
		GType wixl_wix_registry_search_type_id;
		wixl_wix_registry_search_type_id = wixl_wix_registry_search_get_type_once ();
		g_once_init_leave (&wixl_wix_registry_search_type_id__once, wixl_wix_registry_search_type_id);
	}
	return wixl_wix_registry_search_type_id__once;
}

static void
_vala_wixl_wix_registry_search_get_property (GObject * object,
                                             guint property_id,
                                             GValue * value,
                                             GParamSpec * pspec)
{
	WixlWixRegistrySearch * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_REGISTRY_SEARCH, WixlWixRegistrySearch);
	switch (property_id) {
		case WIXL_WIX_REGISTRY_SEARCH_ROOT_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_search_get_Root (self));
		break;
		case WIXL_WIX_REGISTRY_SEARCH_KEY_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_search_get_Key (self));
		break;
		case WIXL_WIX_REGISTRY_SEARCH_TYPE_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_search_get_Type (self));
		break;
		case WIXL_WIX_REGISTRY_SEARCH_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_search_get_Name (self));
		break;
		case WIXL_WIX_REGISTRY_SEARCH_WIN64_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_search_get_Win64 (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_registry_search_set_property (GObject * object,
                                             guint property_id,
                                             const GValue * value,
                                             GParamSpec * pspec)
{
	WixlWixRegistrySearch * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_REGISTRY_SEARCH, WixlWixRegistrySearch);
	switch (property_id) {
		case WIXL_WIX_REGISTRY_SEARCH_ROOT_PROPERTY:
		wixl_wix_registry_search_set_Root (self, g_value_get_string (value));
		break;
		case WIXL_WIX_REGISTRY_SEARCH_KEY_PROPERTY:
		wixl_wix_registry_search_set_Key (self, g_value_get_string (value));
		break;
		case WIXL_WIX_REGISTRY_SEARCH_TYPE_PROPERTY:
		wixl_wix_registry_search_set_Type (self, g_value_get_string (value));
		break;
		case WIXL_WIX_REGISTRY_SEARCH_NAME_PROPERTY:
		wixl_wix_registry_search_set_Name (self, g_value_get_string (value));
		break;
		case WIXL_WIX_REGISTRY_SEARCH_WIN64_PROPERTY:
		wixl_wix_registry_search_set_Win64 (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_property_get_instance_private (WixlWixProperty* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixProperty_private_offset);
}

static void
wixl_wix_property_real_accept (WixlWixNode* base,
                               WixlWixNodeVisitor* visitor,
                               GError** error)
{
	WixlWixProperty * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixProperty*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_property_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_property (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixProperty*
wixl_wix_property_construct (GType object_type)
{
	WixlWixProperty * self = NULL;
	self = (WixlWixProperty*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixProperty*
wixl_wix_property_new (void)
{
	return wixl_wix_property_construct (WIXL_TYPE_WIX_PROPERTY);
}

const gchar*
wixl_wix_property_get_Value (WixlWixProperty* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Value;
	result = _tmp0_;
	return result;
}

void
wixl_wix_property_set_Value (WixlWixProperty* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_property_get_Value (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Value);
		self->priv->_Value = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_property_properties[WIXL_WIX_PROPERTY_VALUE_PROPERTY]);
	}
}

const gchar*
wixl_wix_property_get_Secure (WixlWixProperty* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Secure;
	result = _tmp0_;
	return result;
}

void
wixl_wix_property_set_Secure (WixlWixProperty* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_property_get_Secure (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Secure);
		self->priv->_Secure = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_property_properties[WIXL_WIX_PROPERTY_SECURE_PROPERTY]);
	}
}

static void
wixl_wix_property_class_init (WixlWixPropertyClass * klass,
                              gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_property_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixProperty_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_property_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_property_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_property_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_property_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PROPERTY_VALUE_PROPERTY, wixl_wix_property_properties[WIXL_WIX_PROPERTY_VALUE_PROPERTY] = g_param_spec_string ("Value", "Value", "Value", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PROPERTY_SECURE_PROPERTY, wixl_wix_property_properties[WIXL_WIX_PROPERTY_SECURE_PROPERTY] = g_param_spec_string ("Secure", "Secure", "Secure", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Property");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 1);
	_tmp2_[0] = WIXL_TYPE_WIX_REGISTRY_SEARCH;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 1;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 1);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_property_instance_init (WixlWixProperty * self,
                                 gpointer klass)
{
	self->priv = wixl_wix_property_get_instance_private (self);
}

static void
wixl_wix_property_finalize (GObject * obj)
{
	WixlWixProperty * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_PROPERTY, WixlWixProperty);
	_g_free0 (self->priv->_Value);
	_g_free0 (self->priv->_Secure);
	G_OBJECT_CLASS (wixl_wix_property_parent_class)->finalize (obj);
}

static GType
wixl_wix_property_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixPropertyClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_property_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixProperty), 0, (GInstanceInitFunc) wixl_wix_property_instance_init, NULL };
	GType wixl_wix_property_type_id;
	wixl_wix_property_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixProperty", &g_define_type_info, 0);
	WixlWixProperty_private_offset = g_type_add_instance_private (wixl_wix_property_type_id, sizeof (WixlWixPropertyPrivate));
	return wixl_wix_property_type_id;
}

GType
wixl_wix_property_get_type (void)
{
	static volatile gsize wixl_wix_property_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_property_type_id__once)) {
		GType wixl_wix_property_type_id;
		wixl_wix_property_type_id = wixl_wix_property_get_type_once ();
		g_once_init_leave (&wixl_wix_property_type_id__once, wixl_wix_property_type_id);
	}
	return wixl_wix_property_type_id__once;
}

static void
_vala_wixl_wix_property_get_property (GObject * object,
                                      guint property_id,
                                      GValue * value,
                                      GParamSpec * pspec)
{
	WixlWixProperty * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PROPERTY, WixlWixProperty);
	switch (property_id) {
		case WIXL_WIX_PROPERTY_VALUE_PROPERTY:
		g_value_set_string (value, wixl_wix_property_get_Value (self));
		break;
		case WIXL_WIX_PROPERTY_SECURE_PROPERTY:
		g_value_set_string (value, wixl_wix_property_get_Secure (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_property_set_property (GObject * object,
                                      guint property_id,
                                      const GValue * value,
                                      GParamSpec * pspec)
{
	WixlWixProperty * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PROPERTY, WixlWixProperty);
	switch (property_id) {
		case WIXL_WIX_PROPERTY_VALUE_PROPERTY:
		wixl_wix_property_set_Value (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PROPERTY_SECURE_PROPERTY:
		wixl_wix_property_set_Secure (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_package_get_instance_private (WixlWixPackage* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixPackage_private_offset);
}

static void
wixl_wix_package_real_accept (WixlWixNode* base,
                              WixlWixNodeVisitor* visitor,
                              GError** error)
{
	WixlWixPackage * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixPackage*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_package_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_package (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixPackage*
wixl_wix_package_construct (GType object_type)
{
	WixlWixPackage * self = NULL;
	self = (WixlWixPackage*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixPackage*
wixl_wix_package_new (void)
{
	return wixl_wix_package_construct (WIXL_TYPE_WIX_PACKAGE);
}

const gchar*
wixl_wix_package_get_Keywords (WixlWixPackage* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Keywords;
	result = _tmp0_;
	return result;
}

void
wixl_wix_package_set_Keywords (WixlWixPackage* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_package_get_Keywords (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Keywords);
		self->priv->_Keywords = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_package_properties[WIXL_WIX_PACKAGE_KEYWORDS_PROPERTY]);
	}
}

const gchar*
wixl_wix_package_get_InstallerDescription (WixlWixPackage* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_InstallerDescription;
	result = _tmp0_;
	return result;
}

void
wixl_wix_package_set_InstallerDescription (WixlWixPackage* self,
                                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_package_get_InstallerDescription (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_InstallerDescription);
		self->priv->_InstallerDescription = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_package_properties[WIXL_WIX_PACKAGE_INSTALLER_DESCRIPTION_PROPERTY]);
	}
}

const gchar*
wixl_wix_package_get_InstallerComments (WixlWixPackage* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_InstallerComments;
	result = _tmp0_;
	return result;
}

void
wixl_wix_package_set_InstallerComments (WixlWixPackage* self,
                                        const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_package_get_InstallerComments (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_InstallerComments);
		self->priv->_InstallerComments = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_package_properties[WIXL_WIX_PACKAGE_INSTALLER_COMMENTS_PROPERTY]);
	}
}

const gchar*
wixl_wix_package_get_Manufacturer (WixlWixPackage* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Manufacturer;
	result = _tmp0_;
	return result;
}

void
wixl_wix_package_set_Manufacturer (WixlWixPackage* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_package_get_Manufacturer (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Manufacturer);
		self->priv->_Manufacturer = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_package_properties[WIXL_WIX_PACKAGE_MANUFACTURER_PROPERTY]);
	}
}

const gchar*
wixl_wix_package_get_InstallerVersion (WixlWixPackage* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_InstallerVersion;
	result = _tmp0_;
	return result;
}

void
wixl_wix_package_set_InstallerVersion (WixlWixPackage* self,
                                       const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_package_get_InstallerVersion (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_InstallerVersion);
		self->priv->_InstallerVersion = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_package_properties[WIXL_WIX_PACKAGE_INSTALLER_VERSION_PROPERTY]);
	}
}

const gchar*
wixl_wix_package_get_Languages (WixlWixPackage* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Languages;
	result = _tmp0_;
	return result;
}

void
wixl_wix_package_set_Languages (WixlWixPackage* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_package_get_Languages (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Languages);
		self->priv->_Languages = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_package_properties[WIXL_WIX_PACKAGE_LANGUAGES_PROPERTY]);
	}
}

const gchar*
wixl_wix_package_get_Compressed (WixlWixPackage* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Compressed;
	result = _tmp0_;
	return result;
}

void
wixl_wix_package_set_Compressed (WixlWixPackage* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_package_get_Compressed (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Compressed);
		self->priv->_Compressed = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_package_properties[WIXL_WIX_PACKAGE_COMPRESSED_PROPERTY]);
	}
}

const gchar*
wixl_wix_package_get_SummaryCodepage (WixlWixPackage* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_SummaryCodepage;
	result = _tmp0_;
	return result;
}

void
wixl_wix_package_set_SummaryCodepage (WixlWixPackage* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_package_get_SummaryCodepage (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_SummaryCodepage);
		self->priv->_SummaryCodepage = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_package_properties[WIXL_WIX_PACKAGE_SUMMARY_CODEPAGE_PROPERTY]);
	}
}

const gchar*
wixl_wix_package_get_Comments (WixlWixPackage* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Comments;
	result = _tmp0_;
	return result;
}

void
wixl_wix_package_set_Comments (WixlWixPackage* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_package_get_Comments (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Comments);
		self->priv->_Comments = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_package_properties[WIXL_WIX_PACKAGE_COMMENTS_PROPERTY]);
	}
}

const gchar*
wixl_wix_package_get_Description (WixlWixPackage* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Description;
	result = _tmp0_;
	return result;
}

void
wixl_wix_package_set_Description (WixlWixPackage* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_package_get_Description (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Description);
		self->priv->_Description = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_package_properties[WIXL_WIX_PACKAGE_DESCRIPTION_PROPERTY]);
	}
}

const gchar*
wixl_wix_package_get_InstallScope (WixlWixPackage* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_InstallScope;
	result = _tmp0_;
	return result;
}

void
wixl_wix_package_set_InstallScope (WixlWixPackage* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_package_get_InstallScope (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_InstallScope);
		self->priv->_InstallScope = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_package_properties[WIXL_WIX_PACKAGE_INSTALL_SCOPE_PROPERTY]);
	}
}

static void
wixl_wix_package_class_init (WixlWixPackageClass * klass,
                             gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_package_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixPackage_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_package_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_package_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_package_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_package_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PACKAGE_KEYWORDS_PROPERTY, wixl_wix_package_properties[WIXL_WIX_PACKAGE_KEYWORDS_PROPERTY] = g_param_spec_string ("Keywords", "Keywords", "Keywords", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PACKAGE_INSTALLER_DESCRIPTION_PROPERTY, wixl_wix_package_properties[WIXL_WIX_PACKAGE_INSTALLER_DESCRIPTION_PROPERTY] = g_param_spec_string ("InstallerDescription", "InstallerDescription", "InstallerDescription", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PACKAGE_INSTALLER_COMMENTS_PROPERTY, wixl_wix_package_properties[WIXL_WIX_PACKAGE_INSTALLER_COMMENTS_PROPERTY] = g_param_spec_string ("InstallerComments", "InstallerComments", "InstallerComments", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PACKAGE_MANUFACTURER_PROPERTY, wixl_wix_package_properties[WIXL_WIX_PACKAGE_MANUFACTURER_PROPERTY] = g_param_spec_string ("Manufacturer", "Manufacturer", "Manufacturer", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PACKAGE_INSTALLER_VERSION_PROPERTY, wixl_wix_package_properties[WIXL_WIX_PACKAGE_INSTALLER_VERSION_PROPERTY] = g_param_spec_string ("InstallerVersion", "InstallerVersion", "InstallerVersion", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PACKAGE_LANGUAGES_PROPERTY, wixl_wix_package_properties[WIXL_WIX_PACKAGE_LANGUAGES_PROPERTY] = g_param_spec_string ("Languages", "Languages", "Languages", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PACKAGE_COMPRESSED_PROPERTY, wixl_wix_package_properties[WIXL_WIX_PACKAGE_COMPRESSED_PROPERTY] = g_param_spec_string ("Compressed", "Compressed", "Compressed", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PACKAGE_SUMMARY_CODEPAGE_PROPERTY, wixl_wix_package_properties[WIXL_WIX_PACKAGE_SUMMARY_CODEPAGE_PROPERTY] = g_param_spec_string ("SummaryCodepage", "SummaryCodepage", "SummaryCodepage", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PACKAGE_COMMENTS_PROPERTY, wixl_wix_package_properties[WIXL_WIX_PACKAGE_COMMENTS_PROPERTY] = g_param_spec_string ("Comments", "Comments", "Comments", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PACKAGE_DESCRIPTION_PROPERTY, wixl_wix_package_properties[WIXL_WIX_PACKAGE_DESCRIPTION_PROPERTY] = g_param_spec_string ("Description", "Description", "Description", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PACKAGE_INSTALL_SCOPE_PROPERTY, wixl_wix_package_properties[WIXL_WIX_PACKAGE_INSTALL_SCOPE_PROPERTY] = g_param_spec_string ("InstallScope", "InstallScope", "InstallScope", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Package");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_package_instance_init (WixlWixPackage * self,
                                gpointer klass)
{
	self->priv = wixl_wix_package_get_instance_private (self);
}

static void
wixl_wix_package_finalize (GObject * obj)
{
	WixlWixPackage * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_PACKAGE, WixlWixPackage);
	_g_free0 (self->priv->_Keywords);
	_g_free0 (self->priv->_InstallerDescription);
	_g_free0 (self->priv->_InstallerComments);
	_g_free0 (self->priv->_Manufacturer);
	_g_free0 (self->priv->_InstallerVersion);
	_g_free0 (self->priv->_Languages);
	_g_free0 (self->priv->_Compressed);
	_g_free0 (self->priv->_SummaryCodepage);
	_g_free0 (self->priv->_Comments);
	_g_free0 (self->priv->_Description);
	_g_free0 (self->priv->_InstallScope);
	G_OBJECT_CLASS (wixl_wix_package_parent_class)->finalize (obj);
}

static GType
wixl_wix_package_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixPackageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_package_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixPackage), 0, (GInstanceInitFunc) wixl_wix_package_instance_init, NULL };
	GType wixl_wix_package_type_id;
	wixl_wix_package_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixPackage", &g_define_type_info, 0);
	WixlWixPackage_private_offset = g_type_add_instance_private (wixl_wix_package_type_id, sizeof (WixlWixPackagePrivate));
	return wixl_wix_package_type_id;
}

GType
wixl_wix_package_get_type (void)
{
	static volatile gsize wixl_wix_package_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_package_type_id__once)) {
		GType wixl_wix_package_type_id;
		wixl_wix_package_type_id = wixl_wix_package_get_type_once ();
		g_once_init_leave (&wixl_wix_package_type_id__once, wixl_wix_package_type_id);
	}
	return wixl_wix_package_type_id__once;
}

static void
_vala_wixl_wix_package_get_property (GObject * object,
                                     guint property_id,
                                     GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixPackage * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PACKAGE, WixlWixPackage);
	switch (property_id) {
		case WIXL_WIX_PACKAGE_KEYWORDS_PROPERTY:
		g_value_set_string (value, wixl_wix_package_get_Keywords (self));
		break;
		case WIXL_WIX_PACKAGE_INSTALLER_DESCRIPTION_PROPERTY:
		g_value_set_string (value, wixl_wix_package_get_InstallerDescription (self));
		break;
		case WIXL_WIX_PACKAGE_INSTALLER_COMMENTS_PROPERTY:
		g_value_set_string (value, wixl_wix_package_get_InstallerComments (self));
		break;
		case WIXL_WIX_PACKAGE_MANUFACTURER_PROPERTY:
		g_value_set_string (value, wixl_wix_package_get_Manufacturer (self));
		break;
		case WIXL_WIX_PACKAGE_INSTALLER_VERSION_PROPERTY:
		g_value_set_string (value, wixl_wix_package_get_InstallerVersion (self));
		break;
		case WIXL_WIX_PACKAGE_LANGUAGES_PROPERTY:
		g_value_set_string (value, wixl_wix_package_get_Languages (self));
		break;
		case WIXL_WIX_PACKAGE_COMPRESSED_PROPERTY:
		g_value_set_string (value, wixl_wix_package_get_Compressed (self));
		break;
		case WIXL_WIX_PACKAGE_SUMMARY_CODEPAGE_PROPERTY:
		g_value_set_string (value, wixl_wix_package_get_SummaryCodepage (self));
		break;
		case WIXL_WIX_PACKAGE_COMMENTS_PROPERTY:
		g_value_set_string (value, wixl_wix_package_get_Comments (self));
		break;
		case WIXL_WIX_PACKAGE_DESCRIPTION_PROPERTY:
		g_value_set_string (value, wixl_wix_package_get_Description (self));
		break;
		case WIXL_WIX_PACKAGE_INSTALL_SCOPE_PROPERTY:
		g_value_set_string (value, wixl_wix_package_get_InstallScope (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_package_set_property (GObject * object,
                                     guint property_id,
                                     const GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixPackage * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PACKAGE, WixlWixPackage);
	switch (property_id) {
		case WIXL_WIX_PACKAGE_KEYWORDS_PROPERTY:
		wixl_wix_package_set_Keywords (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PACKAGE_INSTALLER_DESCRIPTION_PROPERTY:
		wixl_wix_package_set_InstallerDescription (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PACKAGE_INSTALLER_COMMENTS_PROPERTY:
		wixl_wix_package_set_InstallerComments (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PACKAGE_MANUFACTURER_PROPERTY:
		wixl_wix_package_set_Manufacturer (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PACKAGE_INSTALLER_VERSION_PROPERTY:
		wixl_wix_package_set_InstallerVersion (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PACKAGE_LANGUAGES_PROPERTY:
		wixl_wix_package_set_Languages (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PACKAGE_COMPRESSED_PROPERTY:
		wixl_wix_package_set_Compressed (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PACKAGE_SUMMARY_CODEPAGE_PROPERTY:
		wixl_wix_package_set_SummaryCodepage (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PACKAGE_COMMENTS_PROPERTY:
		wixl_wix_package_set_Comments (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PACKAGE_DESCRIPTION_PROPERTY:
		wixl_wix_package_set_Description (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PACKAGE_INSTALL_SCOPE_PROPERTY:
		wixl_wix_package_set_InstallScope (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_create_folder_get_instance_private (WixlWixCreateFolder* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixCreateFolder_private_offset);
}

static void
wixl_wix_create_folder_real_accept (WixlWixNode* base,
                                    WixlWixNodeVisitor* visitor,
                                    GError** error)
{
	WixlWixCreateFolder * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixCreateFolder*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_create_folder (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixCreateFolder*
wixl_wix_create_folder_construct (GType object_type)
{
	WixlWixCreateFolder * self = NULL;
	self = (WixlWixCreateFolder*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixCreateFolder*
wixl_wix_create_folder_new (void)
{
	return wixl_wix_create_folder_construct (WIXL_TYPE_WIX_CREATE_FOLDER);
}

const gchar*
wixl_wix_create_folder_get_Directory (WixlWixCreateFolder* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Directory;
	result = _tmp0_;
	return result;
}

void
wixl_wix_create_folder_set_Directory (WixlWixCreateFolder* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_create_folder_get_Directory (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Directory);
		self->priv->_Directory = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_create_folder_properties[WIXL_WIX_CREATE_FOLDER_DIRECTORY_PROPERTY]);
	}
}

static void
wixl_wix_create_folder_class_init (WixlWixCreateFolderClass * klass,
                                   gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_create_folder_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixCreateFolder_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_create_folder_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_create_folder_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_create_folder_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_create_folder_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CREATE_FOLDER_DIRECTORY_PROPERTY, wixl_wix_create_folder_properties[WIXL_WIX_CREATE_FOLDER_DIRECTORY_PROPERTY] = g_param_spec_string ("Directory", "Directory", "Directory", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("CreateFolder");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_create_folder_instance_init (WixlWixCreateFolder * self,
                                      gpointer klass)
{
	self->priv = wixl_wix_create_folder_get_instance_private (self);
}

static void
wixl_wix_create_folder_finalize (GObject * obj)
{
	WixlWixCreateFolder * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_CREATE_FOLDER, WixlWixCreateFolder);
	_g_free0 (self->priv->_Directory);
	G_OBJECT_CLASS (wixl_wix_create_folder_parent_class)->finalize (obj);
}

static GType
wixl_wix_create_folder_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixCreateFolderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_create_folder_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixCreateFolder), 0, (GInstanceInitFunc) wixl_wix_create_folder_instance_init, NULL };
	GType wixl_wix_create_folder_type_id;
	wixl_wix_create_folder_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixCreateFolder", &g_define_type_info, 0);
	WixlWixCreateFolder_private_offset = g_type_add_instance_private (wixl_wix_create_folder_type_id, sizeof (WixlWixCreateFolderPrivate));
	return wixl_wix_create_folder_type_id;
}

GType
wixl_wix_create_folder_get_type (void)
{
	static volatile gsize wixl_wix_create_folder_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_create_folder_type_id__once)) {
		GType wixl_wix_create_folder_type_id;
		wixl_wix_create_folder_type_id = wixl_wix_create_folder_get_type_once ();
		g_once_init_leave (&wixl_wix_create_folder_type_id__once, wixl_wix_create_folder_type_id);
	}
	return wixl_wix_create_folder_type_id__once;
}

static void
_vala_wixl_wix_create_folder_get_property (GObject * object,
                                           guint property_id,
                                           GValue * value,
                                           GParamSpec * pspec)
{
	WixlWixCreateFolder * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_CREATE_FOLDER, WixlWixCreateFolder);
	switch (property_id) {
		case WIXL_WIX_CREATE_FOLDER_DIRECTORY_PROPERTY:
		g_value_set_string (value, wixl_wix_create_folder_get_Directory (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_create_folder_set_property (GObject * object,
                                           guint property_id,
                                           const GValue * value,
                                           GParamSpec * pspec)
{
	WixlWixCreateFolder * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_CREATE_FOLDER, WixlWixCreateFolder);
	switch (property_id) {
		case WIXL_WIX_CREATE_FOLDER_DIRECTORY_PROPERTY:
		wixl_wix_create_folder_set_Directory (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_icon_get_instance_private (WixlWixIcon* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixIcon_private_offset);
}

static void
wixl_wix_icon_real_accept (WixlWixNode* base,
                           WixlWixNodeVisitor* visitor,
                           GError** error)
{
	WixlWixIcon * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixIcon*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_icon (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixIcon*
wixl_wix_icon_construct (GType object_type)
{
	WixlWixIcon * self = NULL;
	self = (WixlWixIcon*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixIcon*
wixl_wix_icon_new (void)
{
	return wixl_wix_icon_construct (WIXL_TYPE_WIX_ICON);
}

const gchar*
wixl_wix_icon_get_SourceFile (WixlWixIcon* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_SourceFile;
	result = _tmp0_;
	return result;
}

void
wixl_wix_icon_set_SourceFile (WixlWixIcon* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_icon_get_SourceFile (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_SourceFile);
		self->priv->_SourceFile = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_icon_properties[WIXL_WIX_ICON_SOURCE_FILE_PROPERTY]);
	}
}

static void
wixl_wix_icon_class_init (WixlWixIconClass * klass,
                          gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_icon_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixIcon_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_icon_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_icon_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_icon_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_icon_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ICON_SOURCE_FILE_PROPERTY, wixl_wix_icon_properties[WIXL_WIX_ICON_SOURCE_FILE_PROPERTY] = g_param_spec_string ("SourceFile", "SourceFile", "SourceFile", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Icon");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_icon_instance_init (WixlWixIcon * self,
                             gpointer klass)
{
	self->priv = wixl_wix_icon_get_instance_private (self);
}

static void
wixl_wix_icon_finalize (GObject * obj)
{
	WixlWixIcon * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_ICON, WixlWixIcon);
	_g_free0 (self->priv->_SourceFile);
	_g_object_unref0 (self->file);
	G_OBJECT_CLASS (wixl_wix_icon_parent_class)->finalize (obj);
}

static GType
wixl_wix_icon_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixIconClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_icon_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixIcon), 0, (GInstanceInitFunc) wixl_wix_icon_instance_init, NULL };
	GType wixl_wix_icon_type_id;
	wixl_wix_icon_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixIcon", &g_define_type_info, 0);
	WixlWixIcon_private_offset = g_type_add_instance_private (wixl_wix_icon_type_id, sizeof (WixlWixIconPrivate));
	return wixl_wix_icon_type_id;
}

GType
wixl_wix_icon_get_type (void)
{
	static volatile gsize wixl_wix_icon_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_icon_type_id__once)) {
		GType wixl_wix_icon_type_id;
		wixl_wix_icon_type_id = wixl_wix_icon_get_type_once ();
		g_once_init_leave (&wixl_wix_icon_type_id__once, wixl_wix_icon_type_id);
	}
	return wixl_wix_icon_type_id__once;
}

static void
_vala_wixl_wix_icon_get_property (GObject * object,
                                  guint property_id,
                                  GValue * value,
                                  GParamSpec * pspec)
{
	WixlWixIcon * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_ICON, WixlWixIcon);
	switch (property_id) {
		case WIXL_WIX_ICON_SOURCE_FILE_PROPERTY:
		g_value_set_string (value, wixl_wix_icon_get_SourceFile (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_icon_set_property (GObject * object,
                                  guint property_id,
                                  const GValue * value,
                                  GParamSpec * pspec)
{
	WixlWixIcon * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_ICON, WixlWixIcon);
	switch (property_id) {
		case WIXL_WIX_ICON_SOURCE_FILE_PROPERTY:
		wixl_wix_icon_set_SourceFile (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_shortcut_get_instance_private (WixlWixShortcut* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixShortcut_private_offset);
}

WixlWixComponent*
wixl_wix_shortcut_get_component (WixlWixShortcut* self)
{
	gboolean _tmp0_ = FALSE;
	WixlWixElement* _tmp1_;
	WixlWixComponent* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp1_ = ((WixlWixNode*) self)->parent;
	if (WIXL_IS_WIX_FILE (_tmp1_)) {
		_tmp0_ = TRUE;
	} else {
		WixlWixElement* _tmp2_;
		_tmp2_ = ((WixlWixNode*) self)->parent;
		_tmp0_ = WIXL_IS_WIX_CREATE_FOLDER (_tmp2_);
	}
	if (_tmp0_) {
		WixlWixElement* _tmp3_;
		WixlWixElement* _tmp4_;
		WixlWixComponent* _tmp5_;
		_tmp3_ = ((WixlWixNode*) self)->parent;
		_tmp4_ = ((WixlWixNode*) _tmp3_)->parent;
		_tmp5_ = _g_object_ref0 (WIXL_IS_WIX_COMPONENT (_tmp4_) ? ((WixlWixComponent*) _tmp4_) : NULL);
		result = _tmp5_;
		return result;
	} else {
		WixlWixElement* _tmp6_;
		WixlWixComponent* _tmp7_;
		_tmp6_ = ((WixlWixNode*) self)->parent;
		_tmp7_ = _g_object_ref0 (WIXL_IS_WIX_COMPONENT (_tmp6_) ? ((WixlWixComponent*) _tmp6_) : NULL);
		result = _tmp7_;
		return result;
	}
}

static void
wixl_wix_shortcut_real_accept (WixlWixNode* base,
                               WixlWixNodeVisitor* visitor,
                               GError** error)
{
	WixlWixShortcut * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixShortcut*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_shortcut (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixShortcut*
wixl_wix_shortcut_construct (GType object_type)
{
	WixlWixShortcut * self = NULL;
	self = (WixlWixShortcut*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixShortcut*
wixl_wix_shortcut_new (void)
{
	return wixl_wix_shortcut_construct (WIXL_TYPE_WIX_SHORTCUT);
}

const gchar*
wixl_wix_shortcut_get_Directory (WixlWixShortcut* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Directory;
	result = _tmp0_;
	return result;
}

void
wixl_wix_shortcut_set_Directory (WixlWixShortcut* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_shortcut_get_Directory (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Directory);
		self->priv->_Directory = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_DIRECTORY_PROPERTY]);
	}
}

const gchar*
wixl_wix_shortcut_get_Name (WixlWixShortcut* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Name;
	result = _tmp0_;
	return result;
}

void
wixl_wix_shortcut_set_Name (WixlWixShortcut* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_shortcut_get_Name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Name);
		self->priv->_Name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_NAME_PROPERTY]);
	}
}

const gchar*
wixl_wix_shortcut_get_IconIndex (WixlWixShortcut* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_IconIndex;
	result = _tmp0_;
	return result;
}

void
wixl_wix_shortcut_set_IconIndex (WixlWixShortcut* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_shortcut_get_IconIndex (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_IconIndex);
		self->priv->_IconIndex = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_ICON_INDEX_PROPERTY]);
	}
}

const gchar*
wixl_wix_shortcut_get_WorkingDirectory (WixlWixShortcut* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_WorkingDirectory;
	result = _tmp0_;
	return result;
}

void
wixl_wix_shortcut_set_WorkingDirectory (WixlWixShortcut* self,
                                        const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_shortcut_get_WorkingDirectory (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_WorkingDirectory);
		self->priv->_WorkingDirectory = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_WORKING_DIRECTORY_PROPERTY]);
	}
}

const gchar*
wixl_wix_shortcut_get_Icon (WixlWixShortcut* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Icon;
	result = _tmp0_;
	return result;
}

void
wixl_wix_shortcut_set_Icon (WixlWixShortcut* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_shortcut_get_Icon (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Icon);
		self->priv->_Icon = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_ICON_PROPERTY]);
	}
}

const gchar*
wixl_wix_shortcut_get_Advertise (WixlWixShortcut* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Advertise;
	result = _tmp0_;
	return result;
}

void
wixl_wix_shortcut_set_Advertise (WixlWixShortcut* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_shortcut_get_Advertise (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Advertise);
		self->priv->_Advertise = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_ADVERTISE_PROPERTY]);
	}
}

const gchar*
wixl_wix_shortcut_get_Arguments (WixlWixShortcut* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Arguments;
	result = _tmp0_;
	return result;
}

void
wixl_wix_shortcut_set_Arguments (WixlWixShortcut* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_shortcut_get_Arguments (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Arguments);
		self->priv->_Arguments = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_ARGUMENTS_PROPERTY]);
	}
}

const gchar*
wixl_wix_shortcut_get_Description (WixlWixShortcut* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Description;
	result = _tmp0_;
	return result;
}

void
wixl_wix_shortcut_set_Description (WixlWixShortcut* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_shortcut_get_Description (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Description);
		self->priv->_Description = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_DESCRIPTION_PROPERTY]);
	}
}

const gchar*
wixl_wix_shortcut_get_Target (WixlWixShortcut* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Target;
	result = _tmp0_;
	return result;
}

void
wixl_wix_shortcut_set_Target (WixlWixShortcut* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_shortcut_get_Target (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Target);
		self->priv->_Target = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_TARGET_PROPERTY]);
	}
}

static void
wixl_wix_shortcut_class_init (WixlWixShortcutClass * klass,
                              gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_shortcut_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixShortcut_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_shortcut_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_shortcut_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_shortcut_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_shortcut_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SHORTCUT_DIRECTORY_PROPERTY, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_DIRECTORY_PROPERTY] = g_param_spec_string ("Directory", "Directory", "Directory", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SHORTCUT_NAME_PROPERTY, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_NAME_PROPERTY] = g_param_spec_string ("Name", "Name", "Name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SHORTCUT_ICON_INDEX_PROPERTY, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_ICON_INDEX_PROPERTY] = g_param_spec_string ("IconIndex", "IconIndex", "IconIndex", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SHORTCUT_WORKING_DIRECTORY_PROPERTY, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_WORKING_DIRECTORY_PROPERTY] = g_param_spec_string ("WorkingDirectory", "WorkingDirectory", "WorkingDirectory", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SHORTCUT_ICON_PROPERTY, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_ICON_PROPERTY] = g_param_spec_string ("Icon", "Icon", "Icon", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SHORTCUT_ADVERTISE_PROPERTY, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_ADVERTISE_PROPERTY] = g_param_spec_string ("Advertise", "Advertise", "Advertise", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SHORTCUT_ARGUMENTS_PROPERTY, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_ARGUMENTS_PROPERTY] = g_param_spec_string ("Arguments", "Arguments", "Arguments", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SHORTCUT_DESCRIPTION_PROPERTY, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_DESCRIPTION_PROPERTY] = g_param_spec_string ("Description", "Description", "Description", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SHORTCUT_TARGET_PROPERTY, wixl_wix_shortcut_properties[WIXL_WIX_SHORTCUT_TARGET_PROPERTY] = g_param_spec_string ("Target", "Target", "Target", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Shortcut");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_shortcut_instance_init (WixlWixShortcut * self,
                                 gpointer klass)
{
	self->priv = wixl_wix_shortcut_get_instance_private (self);
}

static void
wixl_wix_shortcut_finalize (GObject * obj)
{
	WixlWixShortcut * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_SHORTCUT, WixlWixShortcut);
	_g_free0 (self->priv->_Directory);
	_g_free0 (self->priv->_Name);
	_g_free0 (self->priv->_IconIndex);
	_g_free0 (self->priv->_WorkingDirectory);
	_g_free0 (self->priv->_Icon);
	_g_free0 (self->priv->_Advertise);
	_g_free0 (self->priv->_Arguments);
	_g_free0 (self->priv->_Description);
	_g_free0 (self->priv->_Target);
	_g_object_unref0 (self->record);
	G_OBJECT_CLASS (wixl_wix_shortcut_parent_class)->finalize (obj);
}

static GType
wixl_wix_shortcut_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixShortcutClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_shortcut_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixShortcut), 0, (GInstanceInitFunc) wixl_wix_shortcut_instance_init, NULL };
	GType wixl_wix_shortcut_type_id;
	wixl_wix_shortcut_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixShortcut", &g_define_type_info, 0);
	WixlWixShortcut_private_offset = g_type_add_instance_private (wixl_wix_shortcut_type_id, sizeof (WixlWixShortcutPrivate));
	return wixl_wix_shortcut_type_id;
}

GType
wixl_wix_shortcut_get_type (void)
{
	static volatile gsize wixl_wix_shortcut_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_shortcut_type_id__once)) {
		GType wixl_wix_shortcut_type_id;
		wixl_wix_shortcut_type_id = wixl_wix_shortcut_get_type_once ();
		g_once_init_leave (&wixl_wix_shortcut_type_id__once, wixl_wix_shortcut_type_id);
	}
	return wixl_wix_shortcut_type_id__once;
}

static void
_vala_wixl_wix_shortcut_get_property (GObject * object,
                                      guint property_id,
                                      GValue * value,
                                      GParamSpec * pspec)
{
	WixlWixShortcut * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_SHORTCUT, WixlWixShortcut);
	switch (property_id) {
		case WIXL_WIX_SHORTCUT_DIRECTORY_PROPERTY:
		g_value_set_string (value, wixl_wix_shortcut_get_Directory (self));
		break;
		case WIXL_WIX_SHORTCUT_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_shortcut_get_Name (self));
		break;
		case WIXL_WIX_SHORTCUT_ICON_INDEX_PROPERTY:
		g_value_set_string (value, wixl_wix_shortcut_get_IconIndex (self));
		break;
		case WIXL_WIX_SHORTCUT_WORKING_DIRECTORY_PROPERTY:
		g_value_set_string (value, wixl_wix_shortcut_get_WorkingDirectory (self));
		break;
		case WIXL_WIX_SHORTCUT_ICON_PROPERTY:
		g_value_set_string (value, wixl_wix_shortcut_get_Icon (self));
		break;
		case WIXL_WIX_SHORTCUT_ADVERTISE_PROPERTY:
		g_value_set_string (value, wixl_wix_shortcut_get_Advertise (self));
		break;
		case WIXL_WIX_SHORTCUT_ARGUMENTS_PROPERTY:
		g_value_set_string (value, wixl_wix_shortcut_get_Arguments (self));
		break;
		case WIXL_WIX_SHORTCUT_DESCRIPTION_PROPERTY:
		g_value_set_string (value, wixl_wix_shortcut_get_Description (self));
		break;
		case WIXL_WIX_SHORTCUT_TARGET_PROPERTY:
		g_value_set_string (value, wixl_wix_shortcut_get_Target (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_shortcut_set_property (GObject * object,
                                      guint property_id,
                                      const GValue * value,
                                      GParamSpec * pspec)
{
	WixlWixShortcut * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_SHORTCUT, WixlWixShortcut);
	switch (property_id) {
		case WIXL_WIX_SHORTCUT_DIRECTORY_PROPERTY:
		wixl_wix_shortcut_set_Directory (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SHORTCUT_NAME_PROPERTY:
		wixl_wix_shortcut_set_Name (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SHORTCUT_ICON_INDEX_PROPERTY:
		wixl_wix_shortcut_set_IconIndex (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SHORTCUT_WORKING_DIRECTORY_PROPERTY:
		wixl_wix_shortcut_set_WorkingDirectory (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SHORTCUT_ICON_PROPERTY:
		wixl_wix_shortcut_set_Icon (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SHORTCUT_ADVERTISE_PROPERTY:
		wixl_wix_shortcut_set_Advertise (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SHORTCUT_ARGUMENTS_PROPERTY:
		wixl_wix_shortcut_set_Arguments (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SHORTCUT_DESCRIPTION_PROPERTY:
		wixl_wix_shortcut_set_Description (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SHORTCUT_TARGET_PROPERTY:
		wixl_wix_shortcut_set_Target (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_key_element_get_instance_private (WixlWixKeyElement* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixKeyElement_private_offset);
}

static gchar*
wixl_wix_key_element_real_path_name (WixlWixKeyElement* self,
                                     GError** error)
{
	GError* _tmp0_;
	GError* _inner_error0_ = NULL;
	_tmp0_ = g_error_new_literal (WIXL_ERROR, WIXL_ERROR_FAILED, "this key path does not support generating a component GUID");
	_inner_error0_ = _tmp0_;
	g_propagate_error (error, _inner_error0_);
	return NULL;
}

gchar*
wixl_wix_key_element_path_name (WixlWixKeyElement* self,
                                GError** error)
{
	WixlWixKeyElementClass* _klass_;
	g_return_val_if_fail (self != NULL, NULL);
	_klass_ = WIXL_WIX_KEY_ELEMENT_GET_CLASS (self);
	if (_klass_->path_name) {
		return _klass_->path_name (self, error);
	}
	return NULL;
}

WixlWixKeyElement*
wixl_wix_key_element_construct (GType object_type)
{
	WixlWixKeyElement * self = NULL;
	self = (WixlWixKeyElement*) wixl_wix_element_construct (object_type);
	return self;
}

const gchar*
wixl_wix_key_element_get_KeyPath (WixlWixKeyElement* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_KeyPath;
	result = _tmp0_;
	return result;
}

void
wixl_wix_key_element_set_KeyPath (WixlWixKeyElement* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_key_element_get_KeyPath (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_KeyPath);
		self->priv->_KeyPath = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_key_element_properties[WIXL_WIX_KEY_ELEMENT_KEY_PATH_PROPERTY]);
	}
}

static void
wixl_wix_key_element_class_init (WixlWixKeyElementClass * klass,
                                 gpointer klass_data)
{
	wixl_wix_key_element_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixKeyElement_private_offset);
	((WixlWixKeyElementClass *) klass)->path_name = (gchar* (*) (WixlWixKeyElement*, GError**)) wixl_wix_key_element_real_path_name;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_key_element_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_key_element_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_key_element_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_KEY_ELEMENT_KEY_PATH_PROPERTY, wixl_wix_key_element_properties[WIXL_WIX_KEY_ELEMENT_KEY_PATH_PROPERTY] = g_param_spec_string ("KeyPath", "KeyPath", "KeyPath", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
wixl_wix_key_element_instance_init (WixlWixKeyElement * self,
                                    gpointer klass)
{
	self->priv = wixl_wix_key_element_get_instance_private (self);
}

static void
wixl_wix_key_element_finalize (GObject * obj)
{
	WixlWixKeyElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_KEY_ELEMENT, WixlWixKeyElement);
	_g_free0 (self->priv->_KeyPath);
	G_OBJECT_CLASS (wixl_wix_key_element_parent_class)->finalize (obj);
}

static GType
wixl_wix_key_element_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixKeyElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_key_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixKeyElement), 0, (GInstanceInitFunc) wixl_wix_key_element_instance_init, NULL };
	GType wixl_wix_key_element_type_id;
	wixl_wix_key_element_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixKeyElement", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
	WixlWixKeyElement_private_offset = g_type_add_instance_private (wixl_wix_key_element_type_id, sizeof (WixlWixKeyElementPrivate));
	return wixl_wix_key_element_type_id;
}

GType
wixl_wix_key_element_get_type (void)
{
	static volatile gsize wixl_wix_key_element_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_key_element_type_id__once)) {
		GType wixl_wix_key_element_type_id;
		wixl_wix_key_element_type_id = wixl_wix_key_element_get_type_once ();
		g_once_init_leave (&wixl_wix_key_element_type_id__once, wixl_wix_key_element_type_id);
	}
	return wixl_wix_key_element_type_id__once;
}

static void
_vala_wixl_wix_key_element_get_property (GObject * object,
                                         guint property_id,
                                         GValue * value,
                                         GParamSpec * pspec)
{
	WixlWixKeyElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_KEY_ELEMENT, WixlWixKeyElement);
	switch (property_id) {
		case WIXL_WIX_KEY_ELEMENT_KEY_PATH_PROPERTY:
		g_value_set_string (value, wixl_wix_key_element_get_KeyPath (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_key_element_set_property (GObject * object,
                                         guint property_id,
                                         const GValue * value,
                                         GParamSpec * pspec)
{
	WixlWixKeyElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_KEY_ELEMENT, WixlWixKeyElement);
	switch (property_id) {
		case WIXL_WIX_KEY_ELEMENT_KEY_PATH_PROPERTY:
		wixl_wix_key_element_set_KeyPath (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_file_get_instance_private (WixlWixFile* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixFile_private_offset);
}

static gchar*
wixl_wix_file_real_path_name (WixlWixKeyElement* base,
                              GError** error)
{
	WixlWixFile * self;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp5_;
	gchar* result;
	self = (WixlWixFile*) base;
	_tmp1_ = self->priv->_Name;
	_tmp2_ = g_strdup (_tmp1_);
	_tmp0_ = _tmp2_;
	if (_tmp0_ == NULL) {
		const gchar* _tmp3_;
		gchar* _tmp4_;
		_tmp3_ = self->priv->_Source;
		_tmp4_ = g_path_get_basename (_tmp3_);
		_g_free0 (_tmp0_);
		_tmp0_ = _tmp4_;
	}
	_tmp5_ = _tmp0_;
	_tmp0_ = NULL;
	result = _tmp5_;
	_g_free0 (_tmp0_);
	return result;
}

static void
wixl_wix_file_real_accept (WixlWixNode* base,
                           WixlWixNodeVisitor* visitor,
                           GError** error)
{
	WixlWixFile * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixFile*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_file_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_KEY_ELEMENT, WixlWixKeyElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_file (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixFile*
wixl_wix_file_construct (GType object_type)
{
	WixlWixFile * self = NULL;
	self = (WixlWixFile*) wixl_wix_key_element_construct (object_type);
	return self;
}

WixlWixFile*
wixl_wix_file_new (void)
{
	return wixl_wix_file_construct (WIXL_TYPE_WIX_FILE);
}

const gchar*
wixl_wix_file_get_DiskId (WixlWixFile* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_DiskId;
	result = _tmp0_;
	return result;
}

void
wixl_wix_file_set_DiskId (WixlWixFile* self,
                          const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_file_get_DiskId (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_DiskId);
		self->priv->_DiskId = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_file_properties[WIXL_WIX_FILE_DISK_ID_PROPERTY]);
	}
}

const gchar*
wixl_wix_file_get_Source (WixlWixFile* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Source;
	result = _tmp0_;
	return result;
}

void
wixl_wix_file_set_Source (WixlWixFile* self,
                          const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_file_get_Source (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Source);
		self->priv->_Source = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_file_properties[WIXL_WIX_FILE_SOURCE_PROPERTY]);
	}
}

const gchar*
wixl_wix_file_get_Name (WixlWixFile* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Name;
	result = _tmp0_;
	return result;
}

void
wixl_wix_file_set_Name (WixlWixFile* self,
                        const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_file_get_Name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Name);
		self->priv->_Name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_file_properties[WIXL_WIX_FILE_NAME_PROPERTY]);
	}
}

const gchar*
wixl_wix_file_get_DefaultVersion (WixlWixFile* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_DefaultVersion;
	result = _tmp0_;
	return result;
}

void
wixl_wix_file_set_DefaultVersion (WixlWixFile* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_file_get_DefaultVersion (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_DefaultVersion);
		self->priv->_DefaultVersion = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_file_properties[WIXL_WIX_FILE_DEFAULT_VERSION_PROPERTY]);
	}
}

const gchar*
wixl_wix_file_get_CompanionFile (WixlWixFile* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_CompanionFile;
	result = _tmp0_;
	return result;
}

void
wixl_wix_file_set_CompanionFile (WixlWixFile* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_file_get_CompanionFile (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_CompanionFile);
		self->priv->_CompanionFile = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_file_properties[WIXL_WIX_FILE_COMPANION_FILE_PROPERTY]);
	}
}

static void
wixl_wix_file_class_init (WixlWixFileClass * klass,
                          gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_file_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixFile_private_offset);
	((WixlWixKeyElementClass *) klass)->path_name = (gchar* (*) (WixlWixKeyElement*, GError**)) wixl_wix_file_real_path_name;
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_file_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_file_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_file_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_file_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FILE_DISK_ID_PROPERTY, wixl_wix_file_properties[WIXL_WIX_FILE_DISK_ID_PROPERTY] = g_param_spec_string ("DiskId", "DiskId", "DiskId", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FILE_SOURCE_PROPERTY, wixl_wix_file_properties[WIXL_WIX_FILE_SOURCE_PROPERTY] = g_param_spec_string ("Source", "Source", "Source", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FILE_NAME_PROPERTY, wixl_wix_file_properties[WIXL_WIX_FILE_NAME_PROPERTY] = g_param_spec_string ("Name", "Name", "Name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FILE_DEFAULT_VERSION_PROPERTY, wixl_wix_file_properties[WIXL_WIX_FILE_DEFAULT_VERSION_PROPERTY] = g_param_spec_string ("DefaultVersion", "DefaultVersion", "DefaultVersion", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FILE_COMPANION_FILE_PROPERTY, wixl_wix_file_properties[WIXL_WIX_FILE_COMPANION_FILE_PROPERTY] = g_param_spec_string ("CompanionFile", "CompanionFile", "CompanionFile", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("File");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 1);
	_tmp2_[0] = WIXL_TYPE_WIX_SHORTCUT;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 1;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 1);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_file_instance_init (WixlWixFile * self,
                             gpointer klass)
{
	self->priv = wixl_wix_file_get_instance_private (self);
}

static void
wixl_wix_file_finalize (GObject * obj)
{
	WixlWixFile * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_FILE, WixlWixFile);
	_g_free0 (self->priv->_DiskId);
	_g_free0 (self->priv->_Source);
	_g_free0 (self->priv->_Name);
	_g_free0 (self->priv->_DefaultVersion);
	_g_free0 (self->priv->_CompanionFile);
	_g_object_unref0 (self->file);
	G_OBJECT_CLASS (wixl_wix_file_parent_class)->finalize (obj);
}

static GType
wixl_wix_file_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixFileClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_file_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixFile), 0, (GInstanceInitFunc) wixl_wix_file_instance_init, NULL };
	GType wixl_wix_file_type_id;
	wixl_wix_file_type_id = g_type_register_static (WIXL_TYPE_WIX_KEY_ELEMENT, "WixlWixFile", &g_define_type_info, 0);
	WixlWixFile_private_offset = g_type_add_instance_private (wixl_wix_file_type_id, sizeof (WixlWixFilePrivate));
	return wixl_wix_file_type_id;
}

GType
wixl_wix_file_get_type (void)
{
	static volatile gsize wixl_wix_file_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_file_type_id__once)) {
		GType wixl_wix_file_type_id;
		wixl_wix_file_type_id = wixl_wix_file_get_type_once ();
		g_once_init_leave (&wixl_wix_file_type_id__once, wixl_wix_file_type_id);
	}
	return wixl_wix_file_type_id__once;
}

static void
_vala_wixl_wix_file_get_property (GObject * object,
                                  guint property_id,
                                  GValue * value,
                                  GParamSpec * pspec)
{
	WixlWixFile * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_FILE, WixlWixFile);
	switch (property_id) {
		case WIXL_WIX_FILE_DISK_ID_PROPERTY:
		g_value_set_string (value, wixl_wix_file_get_DiskId (self));
		break;
		case WIXL_WIX_FILE_SOURCE_PROPERTY:
		g_value_set_string (value, wixl_wix_file_get_Source (self));
		break;
		case WIXL_WIX_FILE_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_file_get_Name (self));
		break;
		case WIXL_WIX_FILE_DEFAULT_VERSION_PROPERTY:
		g_value_set_string (value, wixl_wix_file_get_DefaultVersion (self));
		break;
		case WIXL_WIX_FILE_COMPANION_FILE_PROPERTY:
		g_value_set_string (value, wixl_wix_file_get_CompanionFile (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_file_set_property (GObject * object,
                                  guint property_id,
                                  const GValue * value,
                                  GParamSpec * pspec)
{
	WixlWixFile * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_FILE, WixlWixFile);
	switch (property_id) {
		case WIXL_WIX_FILE_DISK_ID_PROPERTY:
		wixl_wix_file_set_DiskId (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FILE_SOURCE_PROPERTY:
		wixl_wix_file_set_Source (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FILE_NAME_PROPERTY:
		wixl_wix_file_set_Name (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FILE_DEFAULT_VERSION_PROPERTY:
		wixl_wix_file_set_DefaultVersion (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FILE_COMPANION_FILE_PROPERTY:
		wixl_wix_file_set_CompanionFile (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_ini_file_get_instance_private (WixlWixIniFile* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixIniFile_private_offset);
}

static void
wixl_wix_ini_file_real_accept (WixlWixNode* base,
                               WixlWixNodeVisitor* visitor,
                               GError** error)
{
	WixlWixIniFile * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixIniFile*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_ini_file (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixIniFile*
wixl_wix_ini_file_construct (GType object_type)
{
	WixlWixIniFile * self = NULL;
	self = (WixlWixIniFile*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixIniFile*
wixl_wix_ini_file_new (void)
{
	return wixl_wix_ini_file_construct (WIXL_TYPE_WIX_INI_FILE);
}

const gchar*
wixl_wix_ini_file_get_Action (WixlWixIniFile* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Action;
	result = _tmp0_;
	return result;
}

void
wixl_wix_ini_file_set_Action (WixlWixIniFile* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_ini_file_get_Action (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Action);
		self->priv->_Action = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_ACTION_PROPERTY]);
	}
}

const gchar*
wixl_wix_ini_file_get_Directory (WixlWixIniFile* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Directory;
	result = _tmp0_;
	return result;
}

void
wixl_wix_ini_file_set_Directory (WixlWixIniFile* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_ini_file_get_Directory (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Directory);
		self->priv->_Directory = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_DIRECTORY_PROPERTY]);
	}
}

const gchar*
wixl_wix_ini_file_get_Key (WixlWixIniFile* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Key;
	result = _tmp0_;
	return result;
}

void
wixl_wix_ini_file_set_Key (WixlWixIniFile* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_ini_file_get_Key (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Key);
		self->priv->_Key = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_KEY_PROPERTY]);
	}
}

const gchar*
wixl_wix_ini_file_get_Name (WixlWixIniFile* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Name;
	result = _tmp0_;
	return result;
}

void
wixl_wix_ini_file_set_Name (WixlWixIniFile* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_ini_file_get_Name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Name);
		self->priv->_Name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_NAME_PROPERTY]);
	}
}

const gchar*
wixl_wix_ini_file_get_Section (WixlWixIniFile* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Section;
	result = _tmp0_;
	return result;
}

void
wixl_wix_ini_file_set_Section (WixlWixIniFile* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_ini_file_get_Section (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Section);
		self->priv->_Section = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_SECTION_PROPERTY]);
	}
}

const gchar*
wixl_wix_ini_file_get_Value (WixlWixIniFile* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Value;
	result = _tmp0_;
	return result;
}

void
wixl_wix_ini_file_set_Value (WixlWixIniFile* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_ini_file_get_Value (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Value);
		self->priv->_Value = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_VALUE_PROPERTY]);
	}
}

static void
wixl_wix_ini_file_class_init (WixlWixIniFileClass * klass,
                              gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_ini_file_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixIniFile_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_ini_file_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_ini_file_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_ini_file_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_ini_file_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_INI_FILE_ACTION_PROPERTY, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_ACTION_PROPERTY] = g_param_spec_string ("Action", "Action", "Action", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_INI_FILE_DIRECTORY_PROPERTY, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_DIRECTORY_PROPERTY] = g_param_spec_string ("Directory", "Directory", "Directory", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_INI_FILE_KEY_PROPERTY, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_KEY_PROPERTY] = g_param_spec_string ("Key", "Key", "Key", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_INI_FILE_NAME_PROPERTY, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_NAME_PROPERTY] = g_param_spec_string ("Name", "Name", "Name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_INI_FILE_SECTION_PROPERTY, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_SECTION_PROPERTY] = g_param_spec_string ("Section", "Section", "Section", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_INI_FILE_VALUE_PROPERTY, wixl_wix_ini_file_properties[WIXL_WIX_INI_FILE_VALUE_PROPERTY] = g_param_spec_string ("Value", "Value", "Value", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("IniFile");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_ini_file_instance_init (WixlWixIniFile * self,
                                 gpointer klass)
{
	self->priv = wixl_wix_ini_file_get_instance_private (self);
}

static void
wixl_wix_ini_file_finalize (GObject * obj)
{
	WixlWixIniFile * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_INI_FILE, WixlWixIniFile);
	_g_free0 (self->priv->_Action);
	_g_free0 (self->priv->_Directory);
	_g_free0 (self->priv->_Key);
	_g_free0 (self->priv->_Name);
	_g_free0 (self->priv->_Section);
	_g_free0 (self->priv->_Value);
	G_OBJECT_CLASS (wixl_wix_ini_file_parent_class)->finalize (obj);
}

static GType
wixl_wix_ini_file_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixIniFileClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_ini_file_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixIniFile), 0, (GInstanceInitFunc) wixl_wix_ini_file_instance_init, NULL };
	GType wixl_wix_ini_file_type_id;
	wixl_wix_ini_file_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixIniFile", &g_define_type_info, 0);
	WixlWixIniFile_private_offset = g_type_add_instance_private (wixl_wix_ini_file_type_id, sizeof (WixlWixIniFilePrivate));
	return wixl_wix_ini_file_type_id;
}

GType
wixl_wix_ini_file_get_type (void)
{
	static volatile gsize wixl_wix_ini_file_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_ini_file_type_id__once)) {
		GType wixl_wix_ini_file_type_id;
		wixl_wix_ini_file_type_id = wixl_wix_ini_file_get_type_once ();
		g_once_init_leave (&wixl_wix_ini_file_type_id__once, wixl_wix_ini_file_type_id);
	}
	return wixl_wix_ini_file_type_id__once;
}

static void
_vala_wixl_wix_ini_file_get_property (GObject * object,
                                      guint property_id,
                                      GValue * value,
                                      GParamSpec * pspec)
{
	WixlWixIniFile * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_INI_FILE, WixlWixIniFile);
	switch (property_id) {
		case WIXL_WIX_INI_FILE_ACTION_PROPERTY:
		g_value_set_string (value, wixl_wix_ini_file_get_Action (self));
		break;
		case WIXL_WIX_INI_FILE_DIRECTORY_PROPERTY:
		g_value_set_string (value, wixl_wix_ini_file_get_Directory (self));
		break;
		case WIXL_WIX_INI_FILE_KEY_PROPERTY:
		g_value_set_string (value, wixl_wix_ini_file_get_Key (self));
		break;
		case WIXL_WIX_INI_FILE_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_ini_file_get_Name (self));
		break;
		case WIXL_WIX_INI_FILE_SECTION_PROPERTY:
		g_value_set_string (value, wixl_wix_ini_file_get_Section (self));
		break;
		case WIXL_WIX_INI_FILE_VALUE_PROPERTY:
		g_value_set_string (value, wixl_wix_ini_file_get_Value (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_ini_file_set_property (GObject * object,
                                      guint property_id,
                                      const GValue * value,
                                      GParamSpec * pspec)
{
	WixlWixIniFile * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_INI_FILE, WixlWixIniFile);
	switch (property_id) {
		case WIXL_WIX_INI_FILE_ACTION_PROPERTY:
		wixl_wix_ini_file_set_Action (self, g_value_get_string (value));
		break;
		case WIXL_WIX_INI_FILE_DIRECTORY_PROPERTY:
		wixl_wix_ini_file_set_Directory (self, g_value_get_string (value));
		break;
		case WIXL_WIX_INI_FILE_KEY_PROPERTY:
		wixl_wix_ini_file_set_Key (self, g_value_get_string (value));
		break;
		case WIXL_WIX_INI_FILE_NAME_PROPERTY:
		wixl_wix_ini_file_set_Name (self, g_value_get_string (value));
		break;
		case WIXL_WIX_INI_FILE_SECTION_PROPERTY:
		wixl_wix_ini_file_set_Section (self, g_value_get_string (value));
		break;
		case WIXL_WIX_INI_FILE_VALUE_PROPERTY:
		wixl_wix_ini_file_set_Value (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_registry_value_get_instance_private (WixlWixRegistryValue* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixRegistryValue_private_offset);
}

static gchar*
wixl_wix_registry_value_real_path_name (WixlWixKeyElement* base,
                                        GError** error)
{
	WixlWixRegistryValue * self;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* result;
	self = (WixlWixRegistryValue*) base;
	_tmp0_ = self->priv->_Root;
	_tmp1_ = g_strconcat (_tmp0_, "/", NULL);
	_tmp2_ = _tmp1_;
	_tmp3_ = self->priv->_Key;
	_tmp4_ = g_strconcat (_tmp2_, _tmp3_, NULL);
	_tmp5_ = _tmp4_;
	_g_free0 (_tmp2_);
	result = _tmp5_;
	return result;
}

static void
wixl_wix_registry_value_real_accept (WixlWixNode* base,
                                     WixlWixNodeVisitor* visitor,
                                     GError** error)
{
	WixlWixRegistryValue * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixRegistryValue*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_registry_value (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixRegistryValue*
wixl_wix_registry_value_construct (GType object_type)
{
	WixlWixRegistryValue * self = NULL;
	self = (WixlWixRegistryValue*) wixl_wix_key_element_construct (object_type);
	return self;
}

WixlWixRegistryValue*
wixl_wix_registry_value_new (void)
{
	return wixl_wix_registry_value_construct (WIXL_TYPE_WIX_REGISTRY_VALUE);
}

const gchar*
wixl_wix_registry_value_get_Root (WixlWixRegistryValue* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Root;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_value_set_Root (WixlWixRegistryValue* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_value_get_Root (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Root);
		self->priv->_Root = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_value_properties[WIXL_WIX_REGISTRY_VALUE_ROOT_PROPERTY]);
	}
}

const gchar*
wixl_wix_registry_value_get_Key (WixlWixRegistryValue* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Key;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_value_set_Key (WixlWixRegistryValue* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_value_get_Key (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Key);
		self->priv->_Key = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_value_properties[WIXL_WIX_REGISTRY_VALUE_KEY_PROPERTY]);
	}
}

const gchar*
wixl_wix_registry_value_get_Type (WixlWixRegistryValue* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Type;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_value_set_Type (WixlWixRegistryValue* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_value_get_Type (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Type);
		self->priv->_Type = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_value_properties[WIXL_WIX_REGISTRY_VALUE_TYPE_PROPERTY]);
	}
}

const gchar*
wixl_wix_registry_value_get_Value (WixlWixRegistryValue* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Value;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_value_set_Value (WixlWixRegistryValue* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_value_get_Value (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Value);
		self->priv->_Value = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_value_properties[WIXL_WIX_REGISTRY_VALUE_VALUE_PROPERTY]);
	}
}

const gchar*
wixl_wix_registry_value_get_Name (WixlWixRegistryValue* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Name;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_value_set_Name (WixlWixRegistryValue* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_value_get_Name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Name);
		self->priv->_Name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_value_properties[WIXL_WIX_REGISTRY_VALUE_NAME_PROPERTY]);
	}
}

static void
wixl_wix_registry_value_class_init (WixlWixRegistryValueClass * klass,
                                    gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_registry_value_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixRegistryValue_private_offset);
	((WixlWixKeyElementClass *) klass)->path_name = (gchar* (*) (WixlWixKeyElement*, GError**)) wixl_wix_registry_value_real_path_name;
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_registry_value_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_registry_value_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_registry_value_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_registry_value_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_VALUE_ROOT_PROPERTY, wixl_wix_registry_value_properties[WIXL_WIX_REGISTRY_VALUE_ROOT_PROPERTY] = g_param_spec_string ("Root", "Root", "Root", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_VALUE_KEY_PROPERTY, wixl_wix_registry_value_properties[WIXL_WIX_REGISTRY_VALUE_KEY_PROPERTY] = g_param_spec_string ("Key", "Key", "Key", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_VALUE_TYPE_PROPERTY, wixl_wix_registry_value_properties[WIXL_WIX_REGISTRY_VALUE_TYPE_PROPERTY] = g_param_spec_string ("Type", "Type", "Type", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_VALUE_VALUE_PROPERTY, wixl_wix_registry_value_properties[WIXL_WIX_REGISTRY_VALUE_VALUE_PROPERTY] = g_param_spec_string ("Value", "Value", "Value", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_VALUE_NAME_PROPERTY, wixl_wix_registry_value_properties[WIXL_WIX_REGISTRY_VALUE_NAME_PROPERTY] = g_param_spec_string ("Name", "Name", "Name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("RegistryValue");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_registry_value_instance_init (WixlWixRegistryValue * self,
                                       gpointer klass)
{
	self->priv = wixl_wix_registry_value_get_instance_private (self);
}

static void
wixl_wix_registry_value_finalize (GObject * obj)
{
	WixlWixRegistryValue * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_REGISTRY_VALUE, WixlWixRegistryValue);
	_g_free0 (self->priv->_Root);
	_g_free0 (self->priv->_Key);
	_g_free0 (self->priv->_Type);
	_g_free0 (self->priv->_Value);
	_g_free0 (self->priv->_Name);
	G_OBJECT_CLASS (wixl_wix_registry_value_parent_class)->finalize (obj);
}

static GType
wixl_wix_registry_value_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixRegistryValueClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_registry_value_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixRegistryValue), 0, (GInstanceInitFunc) wixl_wix_registry_value_instance_init, NULL };
	GType wixl_wix_registry_value_type_id;
	wixl_wix_registry_value_type_id = g_type_register_static (WIXL_TYPE_WIX_KEY_ELEMENT, "WixlWixRegistryValue", &g_define_type_info, 0);
	WixlWixRegistryValue_private_offset = g_type_add_instance_private (wixl_wix_registry_value_type_id, sizeof (WixlWixRegistryValuePrivate));
	return wixl_wix_registry_value_type_id;
}

GType
wixl_wix_registry_value_get_type (void)
{
	static volatile gsize wixl_wix_registry_value_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_registry_value_type_id__once)) {
		GType wixl_wix_registry_value_type_id;
		wixl_wix_registry_value_type_id = wixl_wix_registry_value_get_type_once ();
		g_once_init_leave (&wixl_wix_registry_value_type_id__once, wixl_wix_registry_value_type_id);
	}
	return wixl_wix_registry_value_type_id__once;
}

static void
_vala_wixl_wix_registry_value_get_property (GObject * object,
                                            guint property_id,
                                            GValue * value,
                                            GParamSpec * pspec)
{
	WixlWixRegistryValue * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_REGISTRY_VALUE, WixlWixRegistryValue);
	switch (property_id) {
		case WIXL_WIX_REGISTRY_VALUE_ROOT_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_value_get_Root (self));
		break;
		case WIXL_WIX_REGISTRY_VALUE_KEY_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_value_get_Key (self));
		break;
		case WIXL_WIX_REGISTRY_VALUE_TYPE_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_value_get_Type (self));
		break;
		case WIXL_WIX_REGISTRY_VALUE_VALUE_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_value_get_Value (self));
		break;
		case WIXL_WIX_REGISTRY_VALUE_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_value_get_Name (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_registry_value_set_property (GObject * object,
                                            guint property_id,
                                            const GValue * value,
                                            GParamSpec * pspec)
{
	WixlWixRegistryValue * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_REGISTRY_VALUE, WixlWixRegistryValue);
	switch (property_id) {
		case WIXL_WIX_REGISTRY_VALUE_ROOT_PROPERTY:
		wixl_wix_registry_value_set_Root (self, g_value_get_string (value));
		break;
		case WIXL_WIX_REGISTRY_VALUE_KEY_PROPERTY:
		wixl_wix_registry_value_set_Key (self, g_value_get_string (value));
		break;
		case WIXL_WIX_REGISTRY_VALUE_TYPE_PROPERTY:
		wixl_wix_registry_value_set_Type (self, g_value_get_string (value));
		break;
		case WIXL_WIX_REGISTRY_VALUE_VALUE_PROPERTY:
		wixl_wix_registry_value_set_Value (self, g_value_get_string (value));
		break;
		case WIXL_WIX_REGISTRY_VALUE_NAME_PROPERTY:
		wixl_wix_registry_value_set_Name (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_remove_folder_get_instance_private (WixlWixRemoveFolder* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixRemoveFolder_private_offset);
}

static void
wixl_wix_remove_folder_real_accept (WixlWixNode* base,
                                    WixlWixNodeVisitor* visitor,
                                    GError** error)
{
	WixlWixRemoveFolder * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixRemoveFolder*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_remove_folder (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixRemoveFolder*
wixl_wix_remove_folder_construct (GType object_type)
{
	WixlWixRemoveFolder * self = NULL;
	self = (WixlWixRemoveFolder*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixRemoveFolder*
wixl_wix_remove_folder_new (void)
{
	return wixl_wix_remove_folder_construct (WIXL_TYPE_WIX_REMOVE_FOLDER);
}

const gchar*
wixl_wix_remove_folder_get_On (WixlWixRemoveFolder* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_On;
	result = _tmp0_;
	return result;
}

void
wixl_wix_remove_folder_set_On (WixlWixRemoveFolder* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_remove_folder_get_On (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_On);
		self->priv->_On = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_remove_folder_properties[WIXL_WIX_REMOVE_FOLDER_ON_PROPERTY]);
	}
}

static void
wixl_wix_remove_folder_class_init (WixlWixRemoveFolderClass * klass,
                                   gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_remove_folder_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixRemoveFolder_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_remove_folder_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_remove_folder_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_remove_folder_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_remove_folder_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REMOVE_FOLDER_ON_PROPERTY, wixl_wix_remove_folder_properties[WIXL_WIX_REMOVE_FOLDER_ON_PROPERTY] = g_param_spec_string ("On", "On", "On", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("RemoveFolder");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_remove_folder_instance_init (WixlWixRemoveFolder * self,
                                      gpointer klass)
{
	self->priv = wixl_wix_remove_folder_get_instance_private (self);
}

static void
wixl_wix_remove_folder_finalize (GObject * obj)
{
	WixlWixRemoveFolder * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_REMOVE_FOLDER, WixlWixRemoveFolder);
	_g_free0 (self->priv->_On);
	G_OBJECT_CLASS (wixl_wix_remove_folder_parent_class)->finalize (obj);
}

static GType
wixl_wix_remove_folder_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixRemoveFolderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_remove_folder_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixRemoveFolder), 0, (GInstanceInitFunc) wixl_wix_remove_folder_instance_init, NULL };
	GType wixl_wix_remove_folder_type_id;
	wixl_wix_remove_folder_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixRemoveFolder", &g_define_type_info, 0);
	WixlWixRemoveFolder_private_offset = g_type_add_instance_private (wixl_wix_remove_folder_type_id, sizeof (WixlWixRemoveFolderPrivate));
	return wixl_wix_remove_folder_type_id;
}

GType
wixl_wix_remove_folder_get_type (void)
{
	static volatile gsize wixl_wix_remove_folder_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_remove_folder_type_id__once)) {
		GType wixl_wix_remove_folder_type_id;
		wixl_wix_remove_folder_type_id = wixl_wix_remove_folder_get_type_once ();
		g_once_init_leave (&wixl_wix_remove_folder_type_id__once, wixl_wix_remove_folder_type_id);
	}
	return wixl_wix_remove_folder_type_id__once;
}

static void
_vala_wixl_wix_remove_folder_get_property (GObject * object,
                                           guint property_id,
                                           GValue * value,
                                           GParamSpec * pspec)
{
	WixlWixRemoveFolder * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_REMOVE_FOLDER, WixlWixRemoveFolder);
	switch (property_id) {
		case WIXL_WIX_REMOVE_FOLDER_ON_PROPERTY:
		g_value_set_string (value, wixl_wix_remove_folder_get_On (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_remove_folder_set_property (GObject * object,
                                           guint property_id,
                                           const GValue * value,
                                           GParamSpec * pspec)
{
	WixlWixRemoveFolder * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_REMOVE_FOLDER, WixlWixRemoveFolder);
	switch (property_id) {
		case WIXL_WIX_REMOVE_FOLDER_ON_PROPERTY:
		wixl_wix_remove_folder_set_On (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_feature_get_instance_private (WixlWixFeature* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixFeature_private_offset);
}

static void
wixl_wix_feature_real_accept (WixlWixNode* base,
                              WixlWixNodeVisitor* visitor,
                              GError** error)
{
	WixlWixFeature * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixFeature*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_feature (visitor, self, WIXL_VISIT_STATE_ENTER, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	WIXL_WIX_NODE_CLASS (wixl_wix_feature_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_feature (visitor, self, WIXL_VISIT_STATE_LEAVE, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixFeature*
wixl_wix_feature_construct (GType object_type)
{
	WixlWixFeature * self = NULL;
	self = (WixlWixFeature*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixFeature*
wixl_wix_feature_new (void)
{
	return wixl_wix_feature_construct (WIXL_TYPE_WIX_FEATURE);
}

const gchar*
wixl_wix_feature_get_Level (WixlWixFeature* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Level;
	result = _tmp0_;
	return result;
}

void
wixl_wix_feature_set_Level (WixlWixFeature* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_feature_get_Level (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Level);
		self->priv->_Level = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_feature_properties[WIXL_WIX_FEATURE_LEVEL_PROPERTY]);
	}
}

const gchar*
wixl_wix_feature_get_Title (WixlWixFeature* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Title;
	result = _tmp0_;
	return result;
}

void
wixl_wix_feature_set_Title (WixlWixFeature* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_feature_get_Title (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Title);
		self->priv->_Title = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_feature_properties[WIXL_WIX_FEATURE_TITLE_PROPERTY]);
	}
}

const gchar*
wixl_wix_feature_get_Description (WixlWixFeature* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Description;
	result = _tmp0_;
	return result;
}

void
wixl_wix_feature_set_Description (WixlWixFeature* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_feature_get_Description (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Description);
		self->priv->_Description = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_feature_properties[WIXL_WIX_FEATURE_DESCRIPTION_PROPERTY]);
	}
}

const gchar*
wixl_wix_feature_get_Display (WixlWixFeature* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Display;
	result = _tmp0_;
	return result;
}

void
wixl_wix_feature_set_Display (WixlWixFeature* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_feature_get_Display (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Display);
		self->priv->_Display = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_feature_properties[WIXL_WIX_FEATURE_DISPLAY_PROPERTY]);
	}
}

const gchar*
wixl_wix_feature_get_ConfigurableDirectory (WixlWixFeature* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ConfigurableDirectory;
	result = _tmp0_;
	return result;
}

void
wixl_wix_feature_set_ConfigurableDirectory (WixlWixFeature* self,
                                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_feature_get_ConfigurableDirectory (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_ConfigurableDirectory);
		self->priv->_ConfigurableDirectory = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_feature_properties[WIXL_WIX_FEATURE_CONFIGURABLE_DIRECTORY_PROPERTY]);
	}
}

const gchar*
wixl_wix_feature_get_AllowAdvertise (WixlWixFeature* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_AllowAdvertise;
	result = _tmp0_;
	return result;
}

void
wixl_wix_feature_set_AllowAdvertise (WixlWixFeature* self,
                                     const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_feature_get_AllowAdvertise (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_AllowAdvertise);
		self->priv->_AllowAdvertise = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_feature_properties[WIXL_WIX_FEATURE_ALLOW_ADVERTISE_PROPERTY]);
	}
}

const gchar*
wixl_wix_feature_get_Absent (WixlWixFeature* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Absent;
	result = _tmp0_;
	return result;
}

void
wixl_wix_feature_set_Absent (WixlWixFeature* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_feature_get_Absent (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Absent);
		self->priv->_Absent = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_feature_properties[WIXL_WIX_FEATURE_ABSENT_PROPERTY]);
	}
}

const gchar*
wixl_wix_feature_get_InstallDefault (WixlWixFeature* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_InstallDefault;
	result = _tmp0_;
	return result;
}

void
wixl_wix_feature_set_InstallDefault (WixlWixFeature* self,
                                     const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_feature_get_InstallDefault (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_InstallDefault);
		self->priv->_InstallDefault = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_feature_properties[WIXL_WIX_FEATURE_INSTALL_DEFAULT_PROPERTY]);
	}
}

const gchar*
wixl_wix_feature_get_TypicalDefault (WixlWixFeature* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_TypicalDefault;
	result = _tmp0_;
	return result;
}

void
wixl_wix_feature_set_TypicalDefault (WixlWixFeature* self,
                                     const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_feature_get_TypicalDefault (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_TypicalDefault);
		self->priv->_TypicalDefault = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_feature_properties[WIXL_WIX_FEATURE_TYPICAL_DEFAULT_PROPERTY]);
	}
}

static void
wixl_wix_feature_class_init (WixlWixFeatureClass * klass,
                             gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_feature_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixFeature_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_feature_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_feature_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_feature_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_feature_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FEATURE_LEVEL_PROPERTY, wixl_wix_feature_properties[WIXL_WIX_FEATURE_LEVEL_PROPERTY] = g_param_spec_string ("Level", "Level", "Level", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FEATURE_TITLE_PROPERTY, wixl_wix_feature_properties[WIXL_WIX_FEATURE_TITLE_PROPERTY] = g_param_spec_string ("Title", "Title", "Title", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FEATURE_DESCRIPTION_PROPERTY, wixl_wix_feature_properties[WIXL_WIX_FEATURE_DESCRIPTION_PROPERTY] = g_param_spec_string ("Description", "Description", "Description", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FEATURE_DISPLAY_PROPERTY, wixl_wix_feature_properties[WIXL_WIX_FEATURE_DISPLAY_PROPERTY] = g_param_spec_string ("Display", "Display", "Display", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FEATURE_CONFIGURABLE_DIRECTORY_PROPERTY, wixl_wix_feature_properties[WIXL_WIX_FEATURE_CONFIGURABLE_DIRECTORY_PROPERTY] = g_param_spec_string ("ConfigurableDirectory", "ConfigurableDirectory", "ConfigurableDirectory", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FEATURE_ALLOW_ADVERTISE_PROPERTY, wixl_wix_feature_properties[WIXL_WIX_FEATURE_ALLOW_ADVERTISE_PROPERTY] = g_param_spec_string ("AllowAdvertise", "AllowAdvertise", "AllowAdvertise", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FEATURE_ABSENT_PROPERTY, wixl_wix_feature_properties[WIXL_WIX_FEATURE_ABSENT_PROPERTY] = g_param_spec_string ("Absent", "Absent", "Absent", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FEATURE_INSTALL_DEFAULT_PROPERTY, wixl_wix_feature_properties[WIXL_WIX_FEATURE_INSTALL_DEFAULT_PROPERTY] = g_param_spec_string ("InstallDefault", "InstallDefault", "InstallDefault", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_FEATURE_TYPICAL_DEFAULT_PROPERTY, wixl_wix_feature_properties[WIXL_WIX_FEATURE_TYPICAL_DEFAULT_PROPERTY] = g_param_spec_string ("TypicalDefault", "TypicalDefault", "TypicalDefault", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Feature");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 4);
	_tmp2_[0] = WIXL_TYPE_WIX_COMPONENT_REF;
	_tmp2_[1] = WIXL_TYPE_WIX_COMPONENT_GROUP_REF;
	_tmp2_[2] = WIXL_TYPE_WIX_FEATURE;
	_tmp2_[3] = WIXL_TYPE_WIX_CONDITION;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 4;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 4);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_feature_instance_init (WixlWixFeature * self,
                                gpointer klass)
{
	self->priv = wixl_wix_feature_get_instance_private (self);
}

static void
wixl_wix_feature_finalize (GObject * obj)
{
	WixlWixFeature * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_FEATURE, WixlWixFeature);
	_g_free0 (self->priv->_Level);
	_g_free0 (self->priv->_Title);
	_g_free0 (self->priv->_Description);
	_g_free0 (self->priv->_Display);
	_g_free0 (self->priv->_ConfigurableDirectory);
	_g_free0 (self->priv->_AllowAdvertise);
	_g_free0 (self->priv->_Absent);
	_g_free0 (self->priv->_InstallDefault);
	_g_free0 (self->priv->_TypicalDefault);
	G_OBJECT_CLASS (wixl_wix_feature_parent_class)->finalize (obj);
}

static GType
wixl_wix_feature_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixFeatureClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_feature_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixFeature), 0, (GInstanceInitFunc) wixl_wix_feature_instance_init, NULL };
	GType wixl_wix_feature_type_id;
	wixl_wix_feature_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixFeature", &g_define_type_info, 0);
	WixlWixFeature_private_offset = g_type_add_instance_private (wixl_wix_feature_type_id, sizeof (WixlWixFeaturePrivate));
	return wixl_wix_feature_type_id;
}

GType
wixl_wix_feature_get_type (void)
{
	static volatile gsize wixl_wix_feature_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_feature_type_id__once)) {
		GType wixl_wix_feature_type_id;
		wixl_wix_feature_type_id = wixl_wix_feature_get_type_once ();
		g_once_init_leave (&wixl_wix_feature_type_id__once, wixl_wix_feature_type_id);
	}
	return wixl_wix_feature_type_id__once;
}

static void
_vala_wixl_wix_feature_get_property (GObject * object,
                                     guint property_id,
                                     GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixFeature * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_FEATURE, WixlWixFeature);
	switch (property_id) {
		case WIXL_WIX_FEATURE_LEVEL_PROPERTY:
		g_value_set_string (value, wixl_wix_feature_get_Level (self));
		break;
		case WIXL_WIX_FEATURE_TITLE_PROPERTY:
		g_value_set_string (value, wixl_wix_feature_get_Title (self));
		break;
		case WIXL_WIX_FEATURE_DESCRIPTION_PROPERTY:
		g_value_set_string (value, wixl_wix_feature_get_Description (self));
		break;
		case WIXL_WIX_FEATURE_DISPLAY_PROPERTY:
		g_value_set_string (value, wixl_wix_feature_get_Display (self));
		break;
		case WIXL_WIX_FEATURE_CONFIGURABLE_DIRECTORY_PROPERTY:
		g_value_set_string (value, wixl_wix_feature_get_ConfigurableDirectory (self));
		break;
		case WIXL_WIX_FEATURE_ALLOW_ADVERTISE_PROPERTY:
		g_value_set_string (value, wixl_wix_feature_get_AllowAdvertise (self));
		break;
		case WIXL_WIX_FEATURE_ABSENT_PROPERTY:
		g_value_set_string (value, wixl_wix_feature_get_Absent (self));
		break;
		case WIXL_WIX_FEATURE_INSTALL_DEFAULT_PROPERTY:
		g_value_set_string (value, wixl_wix_feature_get_InstallDefault (self));
		break;
		case WIXL_WIX_FEATURE_TYPICAL_DEFAULT_PROPERTY:
		g_value_set_string (value, wixl_wix_feature_get_TypicalDefault (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_feature_set_property (GObject * object,
                                     guint property_id,
                                     const GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixFeature * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_FEATURE, WixlWixFeature);
	switch (property_id) {
		case WIXL_WIX_FEATURE_LEVEL_PROPERTY:
		wixl_wix_feature_set_Level (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FEATURE_TITLE_PROPERTY:
		wixl_wix_feature_set_Title (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FEATURE_DESCRIPTION_PROPERTY:
		wixl_wix_feature_set_Description (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FEATURE_DISPLAY_PROPERTY:
		wixl_wix_feature_set_Display (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FEATURE_CONFIGURABLE_DIRECTORY_PROPERTY:
		wixl_wix_feature_set_ConfigurableDirectory (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FEATURE_ALLOW_ADVERTISE_PROPERTY:
		wixl_wix_feature_set_AllowAdvertise (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FEATURE_ABSENT_PROPERTY:
		wixl_wix_feature_set_Absent (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FEATURE_INSTALL_DEFAULT_PROPERTY:
		wixl_wix_feature_set_InstallDefault (self, g_value_get_string (value));
		break;
		case WIXL_WIX_FEATURE_TYPICAL_DEFAULT_PROPERTY:
		wixl_wix_feature_set_TypicalDefault (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static gchar*
wixl_wix_component_ref_real_full_path (WixlWixElement* base,
                                       WixlWixResolver* r,
                                       GError** error)
{
	WixlWixComponentRef * self;
	WixlWixComponent* _tmp0_ = NULL;
	gpointer _tmp1_;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_;
	gchar* _tmp4_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	self = (WixlWixComponentRef*) base;
	g_return_val_if_fail (r != NULL, NULL);
	_tmp1_ = wixl_wix_resolver_resolve (r, WIXL_TYPE_WIX_COMPONENT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, (WixlWixElement*) self, &_inner_error0_);
	_tmp0_ = (WixlWixComponent*) _tmp1_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return NULL;
	}
	_tmp3_ = wixl_wix_element_full_path (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), r, &_inner_error0_);
	_tmp2_ = _tmp3_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (_tmp0_);
		return NULL;
	}
	_tmp4_ = _tmp2_;
	_tmp2_ = NULL;
	result = _tmp4_;
	_g_free0 (_tmp2_);
	_g_object_unref0 (_tmp0_);
	return result;
}

static void
wixl_wix_component_ref_real_accept (WixlWixNode* base,
                                    WixlWixNodeVisitor* visitor,
                                    GError** error)
{
	WixlWixComponentRef * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixComponentRef*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_component_ref (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixComponentRef*
wixl_wix_component_ref_construct (GType object_type)
{
	WixlWixComponentRef * self = NULL;
	self = (WixlWixComponentRef*) wixl_wix_element_ref_construct (object_type, WIXL_TYPE_WIX_COMPONENT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
	return self;
}

WixlWixComponentRef*
wixl_wix_component_ref_new (void)
{
	return wixl_wix_component_ref_construct (WIXL_TYPE_WIX_COMPONENT_REF);
}

static void
wixl_wix_component_ref_class_init (WixlWixComponentRefClass * klass,
                                   gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_component_ref_parent_class = g_type_class_peek_parent (klass);
	((WixlWixElementClass *) klass)->full_path = (gchar* (*) (WixlWixElement*, WixlWixResolver*, GError**)) wixl_wix_component_ref_real_full_path;
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_component_ref_real_accept;
	_tmp0_ = g_strdup ("ComponentRef");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	WIXL_WIX_ELEMENT_REF_CLASS (klass)->ref_type = WIXL_TYPE_WIX_COMPONENT;
}

static void
wixl_wix_component_ref_instance_init (WixlWixComponentRef * self,
                                      gpointer klass)
{
}

static GType
wixl_wix_component_ref_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixComponentRefClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_component_ref_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixComponentRef), 0, (GInstanceInitFunc) wixl_wix_component_ref_instance_init, NULL };
	GType wixl_wix_component_ref_type_id;
	wixl_wix_component_ref_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT_REF, "WixlWixComponentRef", &g_define_type_info, 0);
	return wixl_wix_component_ref_type_id;
}

GType
wixl_wix_component_ref_get_type (void)
{
	static volatile gsize wixl_wix_component_ref_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_component_ref_type_id__once)) {
		GType wixl_wix_component_ref_type_id;
		wixl_wix_component_ref_type_id = wixl_wix_component_ref_get_type_once ();
		g_once_init_leave (&wixl_wix_component_ref_type_id__once, wixl_wix_component_ref_type_id);
	}
	return wixl_wix_component_ref_type_id__once;
}

static gchar*
wixl_wix_component_group_ref_real_full_path (WixlWixElement* base,
                                             WixlWixResolver* r,
                                             GError** error)
{
	WixlWixComponentGroupRef * self;
	WixlWixComponentGroup* _tmp0_ = NULL;
	gpointer _tmp1_;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_;
	gchar* _tmp4_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	self = (WixlWixComponentGroupRef*) base;
	g_return_val_if_fail (r != NULL, NULL);
	_tmp1_ = wixl_wix_resolver_resolve (r, WIXL_TYPE_WIX_COMPONENT_GROUP, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, (WixlWixElement*) self, &_inner_error0_);
	_tmp0_ = (WixlWixComponentGroup*) _tmp1_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return NULL;
	}
	_tmp3_ = wixl_wix_element_full_path (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), r, &_inner_error0_);
	_tmp2_ = _tmp3_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (_tmp0_);
		return NULL;
	}
	_tmp4_ = _tmp2_;
	_tmp2_ = NULL;
	result = _tmp4_;
	_g_free0 (_tmp2_);
	_g_object_unref0 (_tmp0_);
	return result;
}

static void
wixl_wix_component_group_ref_real_accept (WixlWixNode* base,
                                          WixlWixNodeVisitor* visitor,
                                          GError** error)
{
	WixlWixComponentGroupRef * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixComponentGroupRef*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_component_group_ref (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixComponentGroupRef*
wixl_wix_component_group_ref_construct (GType object_type)
{
	WixlWixComponentGroupRef * self = NULL;
	self = (WixlWixComponentGroupRef*) wixl_wix_element_ref_construct (object_type, WIXL_TYPE_WIX_COMPONENT_GROUP, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
	return self;
}

WixlWixComponentGroupRef*
wixl_wix_component_group_ref_new (void)
{
	return wixl_wix_component_group_ref_construct (WIXL_TYPE_WIX_COMPONENT_GROUP_REF);
}

static void
wixl_wix_component_group_ref_class_init (WixlWixComponentGroupRefClass * klass,
                                         gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_component_group_ref_parent_class = g_type_class_peek_parent (klass);
	((WixlWixElementClass *) klass)->full_path = (gchar* (*) (WixlWixElement*, WixlWixResolver*, GError**)) wixl_wix_component_group_ref_real_full_path;
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_component_group_ref_real_accept;
	_tmp0_ = g_strdup ("ComponentGroupRef");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	WIXL_WIX_ELEMENT_REF_CLASS (klass)->ref_type = WIXL_TYPE_WIX_COMPONENT_GROUP;
}

static void
wixl_wix_component_group_ref_instance_init (WixlWixComponentGroupRef * self,
                                            gpointer klass)
{
}

static GType
wixl_wix_component_group_ref_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixComponentGroupRefClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_component_group_ref_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixComponentGroupRef), 0, (GInstanceInitFunc) wixl_wix_component_group_ref_instance_init, NULL };
	GType wixl_wix_component_group_ref_type_id;
	wixl_wix_component_group_ref_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT_REF, "WixlWixComponentGroupRef", &g_define_type_info, 0);
	return wixl_wix_component_group_ref_type_id;
}

GType
wixl_wix_component_group_ref_get_type (void)
{
	static volatile gsize wixl_wix_component_group_ref_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_component_group_ref_type_id__once)) {
		GType wixl_wix_component_group_ref_type_id;
		wixl_wix_component_group_ref_type_id = wixl_wix_component_group_ref_get_type_once ();
		g_once_init_leave (&wixl_wix_component_group_ref_type_id__once, wixl_wix_component_group_ref_type_id);
	}
	return wixl_wix_component_group_ref_type_id__once;
}

static inline gpointer
wixl_wix_condition_get_instance_private (WixlWixCondition* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixCondition_private_offset);
}

static void
wixl_wix_condition_real_accept (WixlWixNode* base,
                                WixlWixNodeVisitor* visitor,
                                GError** error)
{
	WixlWixCondition * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixCondition*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_condition (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixCondition*
wixl_wix_condition_construct (GType object_type)
{
	WixlWixCondition * self = NULL;
	self = (WixlWixCondition*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixCondition*
wixl_wix_condition_new (void)
{
	return wixl_wix_condition_construct (WIXL_TYPE_WIX_CONDITION);
}

const gchar*
wixl_wix_condition_get_Message (WixlWixCondition* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Message;
	result = _tmp0_;
	return result;
}

void
wixl_wix_condition_set_Message (WixlWixCondition* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_condition_get_Message (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Message);
		self->priv->_Message = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_condition_properties[WIXL_WIX_CONDITION_MESSAGE_PROPERTY]);
	}
}

const gchar*
wixl_wix_condition_get_Level (WixlWixCondition* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Level;
	result = _tmp0_;
	return result;
}

void
wixl_wix_condition_set_Level (WixlWixCondition* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_condition_get_Level (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Level);
		self->priv->_Level = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_condition_properties[WIXL_WIX_CONDITION_LEVEL_PROPERTY]);
	}
}

static void
wixl_wix_condition_class_init (WixlWixConditionClass * klass,
                               gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_condition_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixCondition_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_condition_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_condition_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_condition_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_condition_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONDITION_MESSAGE_PROPERTY, wixl_wix_condition_properties[WIXL_WIX_CONDITION_MESSAGE_PROPERTY] = g_param_spec_string ("Message", "Message", "Message", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONDITION_LEVEL_PROPERTY, wixl_wix_condition_properties[WIXL_WIX_CONDITION_LEVEL_PROPERTY] = g_param_spec_string ("Level", "Level", "Level", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Condition");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_condition_instance_init (WixlWixCondition * self,
                                  gpointer klass)
{
	self->priv = wixl_wix_condition_get_instance_private (self);
}

static void
wixl_wix_condition_finalize (GObject * obj)
{
	WixlWixCondition * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_CONDITION, WixlWixCondition);
	_g_free0 (self->priv->_Message);
	_g_free0 (self->priv->_Level);
	G_OBJECT_CLASS (wixl_wix_condition_parent_class)->finalize (obj);
}

static GType
wixl_wix_condition_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixConditionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_condition_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixCondition), 0, (GInstanceInitFunc) wixl_wix_condition_instance_init, NULL };
	GType wixl_wix_condition_type_id;
	wixl_wix_condition_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixCondition", &g_define_type_info, 0);
	WixlWixCondition_private_offset = g_type_add_instance_private (wixl_wix_condition_type_id, sizeof (WixlWixConditionPrivate));
	return wixl_wix_condition_type_id;
}

GType
wixl_wix_condition_get_type (void)
{
	static volatile gsize wixl_wix_condition_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_condition_type_id__once)) {
		GType wixl_wix_condition_type_id;
		wixl_wix_condition_type_id = wixl_wix_condition_get_type_once ();
		g_once_init_leave (&wixl_wix_condition_type_id__once, wixl_wix_condition_type_id);
	}
	return wixl_wix_condition_type_id__once;
}

static void
_vala_wixl_wix_condition_get_property (GObject * object,
                                       guint property_id,
                                       GValue * value,
                                       GParamSpec * pspec)
{
	WixlWixCondition * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_CONDITION, WixlWixCondition);
	switch (property_id) {
		case WIXL_WIX_CONDITION_MESSAGE_PROPERTY:
		g_value_set_string (value, wixl_wix_condition_get_Message (self));
		break;
		case WIXL_WIX_CONDITION_LEVEL_PROPERTY:
		g_value_set_string (value, wixl_wix_condition_get_Level (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_condition_set_property (GObject * object,
                                       guint property_id,
                                       const GValue * value,
                                       GParamSpec * pspec)
{
	WixlWixCondition * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_CONDITION, WixlWixCondition);
	switch (property_id) {
		case WIXL_WIX_CONDITION_MESSAGE_PROPERTY:
		wixl_wix_condition_set_Message (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONDITION_LEVEL_PROPERTY:
		wixl_wix_condition_set_Level (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_mime_get_instance_private (WixlWixMIME* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixMIME_private_offset);
}

static void
wixl_wix_mime_real_accept (WixlWixNode* base,
                           WixlWixNodeVisitor* visitor,
                           GError** error)
{
	WixlWixMIME * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixMIME*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_mime (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixMIME*
wixl_wix_mime_construct (GType object_type)
{
	WixlWixMIME * self = NULL;
	self = (WixlWixMIME*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixMIME*
wixl_wix_mime_new (void)
{
	return wixl_wix_mime_construct (WIXL_TYPE_WIX_MIME);
}

const gchar*
wixl_wix_mime_get_Advertise (WixlWixMIME* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Advertise;
	result = _tmp0_;
	return result;
}

void
wixl_wix_mime_set_Advertise (WixlWixMIME* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_mime_get_Advertise (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Advertise);
		self->priv->_Advertise = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_mime_properties[WIXL_WIX_MIME_ADVERTISE_PROPERTY]);
	}
}

const gchar*
wixl_wix_mime_get_ContentType (WixlWixMIME* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ContentType;
	result = _tmp0_;
	return result;
}

void
wixl_wix_mime_set_ContentType (WixlWixMIME* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_mime_get_ContentType (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_ContentType);
		self->priv->_ContentType = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_mime_properties[WIXL_WIX_MIME_CONTENT_TYPE_PROPERTY]);
	}
}

const gchar*
wixl_wix_mime_get_Default (WixlWixMIME* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Default;
	result = _tmp0_;
	return result;
}

void
wixl_wix_mime_set_Default (WixlWixMIME* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_mime_get_Default (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Default);
		self->priv->_Default = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_mime_properties[WIXL_WIX_MIME_DEFAULT_PROPERTY]);
	}
}

static void
wixl_wix_mime_class_init (WixlWixMIMEClass * klass,
                          gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_mime_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixMIME_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_mime_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_mime_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_mime_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_mime_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_MIME_ADVERTISE_PROPERTY, wixl_wix_mime_properties[WIXL_WIX_MIME_ADVERTISE_PROPERTY] = g_param_spec_string ("Advertise", "Advertise", "Advertise", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_MIME_CONTENT_TYPE_PROPERTY, wixl_wix_mime_properties[WIXL_WIX_MIME_CONTENT_TYPE_PROPERTY] = g_param_spec_string ("ContentType", "ContentType", "ContentType", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_MIME_DEFAULT_PROPERTY, wixl_wix_mime_properties[WIXL_WIX_MIME_DEFAULT_PROPERTY] = g_param_spec_string ("Default", "Default", "Default", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("MIME");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_mime_instance_init (WixlWixMIME * self,
                             gpointer klass)
{
	self->priv = wixl_wix_mime_get_instance_private (self);
}

static void
wixl_wix_mime_finalize (GObject * obj)
{
	WixlWixMIME * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_MIME, WixlWixMIME);
	_g_free0 (self->priv->_Advertise);
	_g_free0 (self->priv->_ContentType);
	_g_free0 (self->priv->_Default);
	G_OBJECT_CLASS (wixl_wix_mime_parent_class)->finalize (obj);
}

static GType
wixl_wix_mime_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixMIMEClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_mime_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixMIME), 0, (GInstanceInitFunc) wixl_wix_mime_instance_init, NULL };
	GType wixl_wix_mime_type_id;
	wixl_wix_mime_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixMIME", &g_define_type_info, 0);
	WixlWixMIME_private_offset = g_type_add_instance_private (wixl_wix_mime_type_id, sizeof (WixlWixMIMEPrivate));
	return wixl_wix_mime_type_id;
}

GType
wixl_wix_mime_get_type (void)
{
	static volatile gsize wixl_wix_mime_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_mime_type_id__once)) {
		GType wixl_wix_mime_type_id;
		wixl_wix_mime_type_id = wixl_wix_mime_get_type_once ();
		g_once_init_leave (&wixl_wix_mime_type_id__once, wixl_wix_mime_type_id);
	}
	return wixl_wix_mime_type_id__once;
}

static void
_vala_wixl_wix_mime_get_property (GObject * object,
                                  guint property_id,
                                  GValue * value,
                                  GParamSpec * pspec)
{
	WixlWixMIME * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_MIME, WixlWixMIME);
	switch (property_id) {
		case WIXL_WIX_MIME_ADVERTISE_PROPERTY:
		g_value_set_string (value, wixl_wix_mime_get_Advertise (self));
		break;
		case WIXL_WIX_MIME_CONTENT_TYPE_PROPERTY:
		g_value_set_string (value, wixl_wix_mime_get_ContentType (self));
		break;
		case WIXL_WIX_MIME_DEFAULT_PROPERTY:
		g_value_set_string (value, wixl_wix_mime_get_Default (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_mime_set_property (GObject * object,
                                  guint property_id,
                                  const GValue * value,
                                  GParamSpec * pspec)
{
	WixlWixMIME * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_MIME, WixlWixMIME);
	switch (property_id) {
		case WIXL_WIX_MIME_ADVERTISE_PROPERTY:
		wixl_wix_mime_set_Advertise (self, g_value_get_string (value));
		break;
		case WIXL_WIX_MIME_CONTENT_TYPE_PROPERTY:
		wixl_wix_mime_set_ContentType (self, g_value_get_string (value));
		break;
		case WIXL_WIX_MIME_DEFAULT_PROPERTY:
		wixl_wix_mime_set_Default (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

gchar*
wixl_wix_service_argument_get_text (WixlWixServiceArgument* self)
{
	GList* _tmp0_;
	gchar* _tmp6_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = ((WixlWixElement*) self)->children;
	{
		GList* c_collection = NULL;
		GList* c_it = NULL;
		c_collection = _tmp0_;
		for (c_it = c_collection; c_it != NULL; c_it = c_it->next) {
			WixlWixNode* _tmp1_;
			WixlWixNode* c = NULL;
			_tmp1_ = _g_object_ref0 ((WixlWixNode*) c_it->data);
			c = _tmp1_;
			{
				WixlWixNode* _tmp2_;
				_tmp2_ = c;
				if (WIXL_IS_WIX_TEXT (_tmp2_)) {
					WixlWixNode* _tmp3_;
					const gchar* _tmp4_;
					gchar* _tmp5_;
					_tmp3_ = c;
					_tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, WIXL_TYPE_WIX_TEXT, WixlWixText)->Text;
					_tmp5_ = g_strdup (_tmp4_);
					result = _tmp5_;
					_g_object_unref0 (c);
					return result;
				}
				_g_object_unref0 (c);
			}
		}
	}
	_tmp6_ = g_strdup ("");
	result = _tmp6_;
	return result;
}

static void
wixl_wix_service_argument_real_accept (WixlWixNode* base,
                                       WixlWixNodeVisitor* visitor,
                                       GError** error)
{
	WixlWixServiceArgument * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixServiceArgument*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_service_argument (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixServiceArgument*
wixl_wix_service_argument_construct (GType object_type)
{
	WixlWixServiceArgument * self = NULL;
	self = (WixlWixServiceArgument*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixServiceArgument*
wixl_wix_service_argument_new (void)
{
	return wixl_wix_service_argument_construct (WIXL_TYPE_WIX_SERVICE_ARGUMENT);
}

static void
wixl_wix_service_argument_class_init (WixlWixServiceArgumentClass * klass,
                                      gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_service_argument_parent_class = g_type_class_peek_parent (klass);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_service_argument_real_accept;
	_tmp0_ = g_strdup ("ServiceArgument");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_service_argument_instance_init (WixlWixServiceArgument * self,
                                         gpointer klass)
{
}

static GType
wixl_wix_service_argument_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixServiceArgumentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_service_argument_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixServiceArgument), 0, (GInstanceInitFunc) wixl_wix_service_argument_instance_init, NULL };
	GType wixl_wix_service_argument_type_id;
	wixl_wix_service_argument_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixServiceArgument", &g_define_type_info, 0);
	return wixl_wix_service_argument_type_id;
}

GType
wixl_wix_service_argument_get_type (void)
{
	static volatile gsize wixl_wix_service_argument_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_service_argument_type_id__once)) {
		GType wixl_wix_service_argument_type_id;
		wixl_wix_service_argument_type_id = wixl_wix_service_argument_get_type_once ();
		g_once_init_leave (&wixl_wix_service_argument_type_id__once, wixl_wix_service_argument_type_id);
	}
	return wixl_wix_service_argument_type_id__once;
}

static inline gpointer
wixl_wix_service_control_get_instance_private (WixlWixServiceControl* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixServiceControl_private_offset);
}

static void
wixl_wix_service_control_real_accept (WixlWixNode* base,
                                      WixlWixNodeVisitor* visitor,
                                      GError** error)
{
	WixlWixServiceControl * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixServiceControl*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_service_control (visitor, self, WIXL_VISIT_STATE_ENTER, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	WIXL_WIX_NODE_CLASS (wixl_wix_service_control_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_service_control (visitor, self, WIXL_VISIT_STATE_LEAVE, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixServiceControl*
wixl_wix_service_control_construct (GType object_type)
{
	WixlWixServiceControl * self = NULL;
	self = (WixlWixServiceControl*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixServiceControl*
wixl_wix_service_control_new (void)
{
	return wixl_wix_service_control_construct (WIXL_TYPE_WIX_SERVICE_CONTROL);
}

const gchar*
wixl_wix_service_control_get_Name (WixlWixServiceControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Name;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_control_set_Name (WixlWixServiceControl* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_control_get_Name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Name);
		self->priv->_Name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_control_properties[WIXL_WIX_SERVICE_CONTROL_NAME_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_control_get_Start (WixlWixServiceControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Start;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_control_set_Start (WixlWixServiceControl* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_control_get_Start (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Start);
		self->priv->_Start = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_control_properties[WIXL_WIX_SERVICE_CONTROL_START_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_control_get_Stop (WixlWixServiceControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Stop;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_control_set_Stop (WixlWixServiceControl* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_control_get_Stop (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Stop);
		self->priv->_Stop = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_control_properties[WIXL_WIX_SERVICE_CONTROL_STOP_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_control_get_Remove (WixlWixServiceControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Remove;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_control_set_Remove (WixlWixServiceControl* self,
                                     const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_control_get_Remove (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Remove);
		self->priv->_Remove = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_control_properties[WIXL_WIX_SERVICE_CONTROL_REMOVE_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_control_get_Wait (WixlWixServiceControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Wait;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_control_set_Wait (WixlWixServiceControl* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_control_get_Wait (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Wait);
		self->priv->_Wait = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_control_properties[WIXL_WIX_SERVICE_CONTROL_WAIT_PROPERTY]);
	}
}

static void
wixl_wix_service_control_class_init (WixlWixServiceControlClass * klass,
                                     gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_service_control_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixServiceControl_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_service_control_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_service_control_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_service_control_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_service_control_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_CONTROL_NAME_PROPERTY, wixl_wix_service_control_properties[WIXL_WIX_SERVICE_CONTROL_NAME_PROPERTY] = g_param_spec_string ("Name", "Name", "Name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_CONTROL_START_PROPERTY, wixl_wix_service_control_properties[WIXL_WIX_SERVICE_CONTROL_START_PROPERTY] = g_param_spec_string ("Start", "Start", "Start", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_CONTROL_STOP_PROPERTY, wixl_wix_service_control_properties[WIXL_WIX_SERVICE_CONTROL_STOP_PROPERTY] = g_param_spec_string ("Stop", "Stop", "Stop", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_CONTROL_REMOVE_PROPERTY, wixl_wix_service_control_properties[WIXL_WIX_SERVICE_CONTROL_REMOVE_PROPERTY] = g_param_spec_string ("Remove", "Remove", "Remove", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_CONTROL_WAIT_PROPERTY, wixl_wix_service_control_properties[WIXL_WIX_SERVICE_CONTROL_WAIT_PROPERTY] = g_param_spec_string ("Wait", "Wait", "Wait", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("ServiceControl");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 1);
	_tmp2_[0] = WIXL_TYPE_WIX_SERVICE_ARGUMENT;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 1;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 1);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_service_control_instance_init (WixlWixServiceControl * self,
                                        gpointer klass)
{
	self->priv = wixl_wix_service_control_get_instance_private (self);
}

static void
wixl_wix_service_control_finalize (GObject * obj)
{
	WixlWixServiceControl * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_SERVICE_CONTROL, WixlWixServiceControl);
	_g_free0 (self->priv->_Name);
	_g_free0 (self->priv->_Start);
	_g_free0 (self->priv->_Stop);
	_g_free0 (self->priv->_Remove);
	_g_free0 (self->priv->_Wait);
	G_OBJECT_CLASS (wixl_wix_service_control_parent_class)->finalize (obj);
}

static GType
wixl_wix_service_control_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixServiceControlClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_service_control_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixServiceControl), 0, (GInstanceInitFunc) wixl_wix_service_control_instance_init, NULL };
	GType wixl_wix_service_control_type_id;
	wixl_wix_service_control_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixServiceControl", &g_define_type_info, 0);
	WixlWixServiceControl_private_offset = g_type_add_instance_private (wixl_wix_service_control_type_id, sizeof (WixlWixServiceControlPrivate));
	return wixl_wix_service_control_type_id;
}

GType
wixl_wix_service_control_get_type (void)
{
	static volatile gsize wixl_wix_service_control_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_service_control_type_id__once)) {
		GType wixl_wix_service_control_type_id;
		wixl_wix_service_control_type_id = wixl_wix_service_control_get_type_once ();
		g_once_init_leave (&wixl_wix_service_control_type_id__once, wixl_wix_service_control_type_id);
	}
	return wixl_wix_service_control_type_id__once;
}

static void
_vala_wixl_wix_service_control_get_property (GObject * object,
                                             guint property_id,
                                             GValue * value,
                                             GParamSpec * pspec)
{
	WixlWixServiceControl * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_SERVICE_CONTROL, WixlWixServiceControl);
	switch (property_id) {
		case WIXL_WIX_SERVICE_CONTROL_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_service_control_get_Name (self));
		break;
		case WIXL_WIX_SERVICE_CONTROL_START_PROPERTY:
		g_value_set_string (value, wixl_wix_service_control_get_Start (self));
		break;
		case WIXL_WIX_SERVICE_CONTROL_STOP_PROPERTY:
		g_value_set_string (value, wixl_wix_service_control_get_Stop (self));
		break;
		case WIXL_WIX_SERVICE_CONTROL_REMOVE_PROPERTY:
		g_value_set_string (value, wixl_wix_service_control_get_Remove (self));
		break;
		case WIXL_WIX_SERVICE_CONTROL_WAIT_PROPERTY:
		g_value_set_string (value, wixl_wix_service_control_get_Wait (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_service_control_set_property (GObject * object,
                                             guint property_id,
                                             const GValue * value,
                                             GParamSpec * pspec)
{
	WixlWixServiceControl * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_SERVICE_CONTROL, WixlWixServiceControl);
	switch (property_id) {
		case WIXL_WIX_SERVICE_CONTROL_NAME_PROPERTY:
		wixl_wix_service_control_set_Name (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_CONTROL_START_PROPERTY:
		wixl_wix_service_control_set_Start (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_CONTROL_STOP_PROPERTY:
		wixl_wix_service_control_set_Stop (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_CONTROL_REMOVE_PROPERTY:
		wixl_wix_service_control_set_Remove (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_CONTROL_WAIT_PROPERTY:
		wixl_wix_service_control_set_Wait (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_service_dependency_get_instance_private (WixlWixServiceDependency* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixServiceDependency_private_offset);
}

static void
wixl_wix_service_dependency_real_accept (WixlWixNode* base,
                                         WixlWixNodeVisitor* visitor,
                                         GError** error)
{
	WixlWixServiceDependency * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixServiceDependency*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_service_dependency (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixServiceDependency*
wixl_wix_service_dependency_construct (GType object_type)
{
	WixlWixServiceDependency * self = NULL;
	self = (WixlWixServiceDependency*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixServiceDependency*
wixl_wix_service_dependency_new (void)
{
	return wixl_wix_service_dependency_construct (WIXL_TYPE_WIX_SERVICE_DEPENDENCY);
}

const gchar*
wixl_wix_service_dependency_get_Group (WixlWixServiceDependency* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Group;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_dependency_set_Group (WixlWixServiceDependency* self,
                                       const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_dependency_get_Group (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Group);
		self->priv->_Group = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_dependency_properties[WIXL_WIX_SERVICE_DEPENDENCY_GROUP_PROPERTY]);
	}
}

static void
wixl_wix_service_dependency_class_init (WixlWixServiceDependencyClass * klass,
                                        gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_service_dependency_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixServiceDependency_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_service_dependency_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_service_dependency_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_service_dependency_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_service_dependency_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_DEPENDENCY_GROUP_PROPERTY, wixl_wix_service_dependency_properties[WIXL_WIX_SERVICE_DEPENDENCY_GROUP_PROPERTY] = g_param_spec_string ("Group", "Group", "Group", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("ServiceDependency");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_service_dependency_instance_init (WixlWixServiceDependency * self,
                                           gpointer klass)
{
	self->priv = wixl_wix_service_dependency_get_instance_private (self);
}

static void
wixl_wix_service_dependency_finalize (GObject * obj)
{
	WixlWixServiceDependency * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_SERVICE_DEPENDENCY, WixlWixServiceDependency);
	_g_free0 (self->priv->_Group);
	G_OBJECT_CLASS (wixl_wix_service_dependency_parent_class)->finalize (obj);
}

static GType
wixl_wix_service_dependency_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixServiceDependencyClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_service_dependency_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixServiceDependency), 0, (GInstanceInitFunc) wixl_wix_service_dependency_instance_init, NULL };
	GType wixl_wix_service_dependency_type_id;
	wixl_wix_service_dependency_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixServiceDependency", &g_define_type_info, 0);
	WixlWixServiceDependency_private_offset = g_type_add_instance_private (wixl_wix_service_dependency_type_id, sizeof (WixlWixServiceDependencyPrivate));
	return wixl_wix_service_dependency_type_id;
}

GType
wixl_wix_service_dependency_get_type (void)
{
	static volatile gsize wixl_wix_service_dependency_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_service_dependency_type_id__once)) {
		GType wixl_wix_service_dependency_type_id;
		wixl_wix_service_dependency_type_id = wixl_wix_service_dependency_get_type_once ();
		g_once_init_leave (&wixl_wix_service_dependency_type_id__once, wixl_wix_service_dependency_type_id);
	}
	return wixl_wix_service_dependency_type_id__once;
}

static void
_vala_wixl_wix_service_dependency_get_property (GObject * object,
                                                guint property_id,
                                                GValue * value,
                                                GParamSpec * pspec)
{
	WixlWixServiceDependency * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_SERVICE_DEPENDENCY, WixlWixServiceDependency);
	switch (property_id) {
		case WIXL_WIX_SERVICE_DEPENDENCY_GROUP_PROPERTY:
		g_value_set_string (value, wixl_wix_service_dependency_get_Group (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_service_dependency_set_property (GObject * object,
                                                guint property_id,
                                                const GValue * value,
                                                GParamSpec * pspec)
{
	WixlWixServiceDependency * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_SERVICE_DEPENDENCY, WixlWixServiceDependency);
	switch (property_id) {
		case WIXL_WIX_SERVICE_DEPENDENCY_GROUP_PROPERTY:
		wixl_wix_service_dependency_set_Group (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_service_install_get_instance_private (WixlWixServiceInstall* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixServiceInstall_private_offset);
}

static void
wixl_wix_service_install_real_accept (WixlWixNode* base,
                                      WixlWixNodeVisitor* visitor,
                                      GError** error)
{
	WixlWixServiceInstall * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixServiceInstall*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_service_install (visitor, self, WIXL_VISIT_STATE_ENTER, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	WIXL_WIX_NODE_CLASS (wixl_wix_service_install_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_service_install (visitor, self, WIXL_VISIT_STATE_LEAVE, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixServiceInstall*
wixl_wix_service_install_construct (GType object_type)
{
	WixlWixServiceInstall * self = NULL;
	self = (WixlWixServiceInstall*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixServiceInstall*
wixl_wix_service_install_new (void)
{
	return wixl_wix_service_install_construct (WIXL_TYPE_WIX_SERVICE_INSTALL);
}

const gchar*
wixl_wix_service_install_get_Name (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Name;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_Name (WixlWixServiceInstall* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_Name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Name);
		self->priv->_Name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_NAME_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_DisplayName (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_DisplayName;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_DisplayName (WixlWixServiceInstall* self,
                                          const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_DisplayName (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_DisplayName);
		self->priv->_DisplayName = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_DISPLAY_NAME_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_Type (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Type;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_Type (WixlWixServiceInstall* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_Type (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Type);
		self->priv->_Type = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_TYPE_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_Interactive (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Interactive;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_Interactive (WixlWixServiceInstall* self,
                                          const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_Interactive (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Interactive);
		self->priv->_Interactive = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_INTERACTIVE_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_Start (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Start;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_Start (WixlWixServiceInstall* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_Start (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Start);
		self->priv->_Start = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_START_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_ErrorControl (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ErrorControl;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_ErrorControl (WixlWixServiceInstall* self,
                                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_ErrorControl (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_ErrorControl);
		self->priv->_ErrorControl = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_ERROR_CONTROL_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_Vital (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Vital;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_Vital (WixlWixServiceInstall* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_Vital (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Vital);
		self->priv->_Vital = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_VITAL_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_LoadOrderGroup (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_LoadOrderGroup;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_LoadOrderGroup (WixlWixServiceInstall* self,
                                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_LoadOrderGroup (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_LoadOrderGroup);
		self->priv->_LoadOrderGroup = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_LOAD_ORDER_GROUP_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_Account (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Account;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_Account (WixlWixServiceInstall* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_Account (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Account);
		self->priv->_Account = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_ACCOUNT_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_Password (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Password;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_Password (WixlWixServiceInstall* self,
                                       const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_Password (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Password);
		self->priv->_Password = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_PASSWORD_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_Arguments (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Arguments;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_Arguments (WixlWixServiceInstall* self,
                                        const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_Arguments (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Arguments);
		self->priv->_Arguments = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_ARGUMENTS_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_Description (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Description;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_Description (WixlWixServiceInstall* self,
                                          const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_Description (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Description);
		self->priv->_Description = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_DESCRIPTION_PROPERTY]);
	}
}

const gchar*
wixl_wix_service_install_get_EraseDescription (WixlWixServiceInstall* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_EraseDescription;
	result = _tmp0_;
	return result;
}

void
wixl_wix_service_install_set_EraseDescription (WixlWixServiceInstall* self,
                                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_service_install_get_EraseDescription (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_EraseDescription);
		self->priv->_EraseDescription = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_ERASE_DESCRIPTION_PROPERTY]);
	}
}

static void
wixl_wix_service_install_class_init (WixlWixServiceInstallClass * klass,
                                     gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_service_install_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixServiceInstall_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_service_install_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_service_install_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_service_install_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_service_install_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_NAME_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_NAME_PROPERTY] = g_param_spec_string ("Name", "Name", "Name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_DISPLAY_NAME_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_DISPLAY_NAME_PROPERTY] = g_param_spec_string ("DisplayName", "DisplayName", "DisplayName", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_TYPE_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_TYPE_PROPERTY] = g_param_spec_string ("Type", "Type", "Type", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_INTERACTIVE_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_INTERACTIVE_PROPERTY] = g_param_spec_string ("Interactive", "Interactive", "Interactive", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_START_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_START_PROPERTY] = g_param_spec_string ("Start", "Start", "Start", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_ERROR_CONTROL_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_ERROR_CONTROL_PROPERTY] = g_param_spec_string ("ErrorControl", "ErrorControl", "ErrorControl", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_VITAL_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_VITAL_PROPERTY] = g_param_spec_string ("Vital", "Vital", "Vital", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_LOAD_ORDER_GROUP_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_LOAD_ORDER_GROUP_PROPERTY] = g_param_spec_string ("LoadOrderGroup", "LoadOrderGroup", "LoadOrderGroup", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_ACCOUNT_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_ACCOUNT_PROPERTY] = g_param_spec_string ("Account", "Account", "Account", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_PASSWORD_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_PASSWORD_PROPERTY] = g_param_spec_string ("Password", "Password", "Password", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_ARGUMENTS_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_ARGUMENTS_PROPERTY] = g_param_spec_string ("Arguments", "Arguments", "Arguments", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_DESCRIPTION_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_DESCRIPTION_PROPERTY] = g_param_spec_string ("Description", "Description", "Description", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SERVICE_INSTALL_ERASE_DESCRIPTION_PROPERTY, wixl_wix_service_install_properties[WIXL_WIX_SERVICE_INSTALL_ERASE_DESCRIPTION_PROPERTY] = g_param_spec_string ("EraseDescription", "EraseDescription", "EraseDescription", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("ServiceInstall");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 1);
	_tmp2_[0] = WIXL_TYPE_WIX_SERVICE_DEPENDENCY;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 1;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 1);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_service_install_instance_init (WixlWixServiceInstall * self,
                                        gpointer klass)
{
	self->priv = wixl_wix_service_install_get_instance_private (self);
}

static void
wixl_wix_service_install_finalize (GObject * obj)
{
	WixlWixServiceInstall * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_SERVICE_INSTALL, WixlWixServiceInstall);
	_g_free0 (self->priv->_Name);
	_g_free0 (self->priv->_DisplayName);
	_g_free0 (self->priv->_Type);
	_g_free0 (self->priv->_Interactive);
	_g_free0 (self->priv->_Start);
	_g_free0 (self->priv->_ErrorControl);
	_g_free0 (self->priv->_Vital);
	_g_free0 (self->priv->_LoadOrderGroup);
	_g_free0 (self->priv->_Account);
	_g_free0 (self->priv->_Password);
	_g_free0 (self->priv->_Arguments);
	_g_free0 (self->priv->_Description);
	_g_free0 (self->priv->_EraseDescription);
	G_OBJECT_CLASS (wixl_wix_service_install_parent_class)->finalize (obj);
}

static GType
wixl_wix_service_install_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixServiceInstallClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_service_install_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixServiceInstall), 0, (GInstanceInitFunc) wixl_wix_service_install_instance_init, NULL };
	GType wixl_wix_service_install_type_id;
	wixl_wix_service_install_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixServiceInstall", &g_define_type_info, 0);
	WixlWixServiceInstall_private_offset = g_type_add_instance_private (wixl_wix_service_install_type_id, sizeof (WixlWixServiceInstallPrivate));
	return wixl_wix_service_install_type_id;
}

GType
wixl_wix_service_install_get_type (void)
{
	static volatile gsize wixl_wix_service_install_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_service_install_type_id__once)) {
		GType wixl_wix_service_install_type_id;
		wixl_wix_service_install_type_id = wixl_wix_service_install_get_type_once ();
		g_once_init_leave (&wixl_wix_service_install_type_id__once, wixl_wix_service_install_type_id);
	}
	return wixl_wix_service_install_type_id__once;
}

static void
_vala_wixl_wix_service_install_get_property (GObject * object,
                                             guint property_id,
                                             GValue * value,
                                             GParamSpec * pspec)
{
	WixlWixServiceInstall * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_SERVICE_INSTALL, WixlWixServiceInstall);
	switch (property_id) {
		case WIXL_WIX_SERVICE_INSTALL_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_Name (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_DISPLAY_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_DisplayName (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_TYPE_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_Type (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_INTERACTIVE_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_Interactive (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_START_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_Start (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_ERROR_CONTROL_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_ErrorControl (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_VITAL_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_Vital (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_LOAD_ORDER_GROUP_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_LoadOrderGroup (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_ACCOUNT_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_Account (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_PASSWORD_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_Password (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_ARGUMENTS_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_Arguments (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_DESCRIPTION_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_Description (self));
		break;
		case WIXL_WIX_SERVICE_INSTALL_ERASE_DESCRIPTION_PROPERTY:
		g_value_set_string (value, wixl_wix_service_install_get_EraseDescription (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_service_install_set_property (GObject * object,
                                             guint property_id,
                                             const GValue * value,
                                             GParamSpec * pspec)
{
	WixlWixServiceInstall * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_SERVICE_INSTALL, WixlWixServiceInstall);
	switch (property_id) {
		case WIXL_WIX_SERVICE_INSTALL_NAME_PROPERTY:
		wixl_wix_service_install_set_Name (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_DISPLAY_NAME_PROPERTY:
		wixl_wix_service_install_set_DisplayName (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_TYPE_PROPERTY:
		wixl_wix_service_install_set_Type (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_INTERACTIVE_PROPERTY:
		wixl_wix_service_install_set_Interactive (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_START_PROPERTY:
		wixl_wix_service_install_set_Start (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_ERROR_CONTROL_PROPERTY:
		wixl_wix_service_install_set_ErrorControl (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_VITAL_PROPERTY:
		wixl_wix_service_install_set_Vital (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_LOAD_ORDER_GROUP_PROPERTY:
		wixl_wix_service_install_set_LoadOrderGroup (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_ACCOUNT_PROPERTY:
		wixl_wix_service_install_set_Account (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_PASSWORD_PROPERTY:
		wixl_wix_service_install_set_Password (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_ARGUMENTS_PROPERTY:
		wixl_wix_service_install_set_Arguments (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_DESCRIPTION_PROPERTY:
		wixl_wix_service_install_set_Description (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SERVICE_INSTALL_ERASE_DESCRIPTION_PROPERTY:
		wixl_wix_service_install_set_EraseDescription (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_verb_get_instance_private (WixlWixVerb* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixVerb_private_offset);
}

static void
wixl_wix_verb_real_accept (WixlWixNode* base,
                           WixlWixNodeVisitor* visitor,
                           GError** error)
{
	WixlWixVerb * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixVerb*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_verb_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_verb (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixVerb*
wixl_wix_verb_construct (GType object_type)
{
	WixlWixVerb * self = NULL;
	self = (WixlWixVerb*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixVerb*
wixl_wix_verb_new (void)
{
	return wixl_wix_verb_construct (WIXL_TYPE_WIX_VERB);
}

const gchar*
wixl_wix_verb_get_Command (WixlWixVerb* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Command;
	result = _tmp0_;
	return result;
}

void
wixl_wix_verb_set_Command (WixlWixVerb* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_verb_get_Command (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Command);
		self->priv->_Command = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_verb_properties[WIXL_WIX_VERB_COMMAND_PROPERTY]);
	}
}

const gchar*
wixl_wix_verb_get_TargetFile (WixlWixVerb* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_TargetFile;
	result = _tmp0_;
	return result;
}

void
wixl_wix_verb_set_TargetFile (WixlWixVerb* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_verb_get_TargetFile (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_TargetFile);
		self->priv->_TargetFile = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_verb_properties[WIXL_WIX_VERB_TARGET_FILE_PROPERTY]);
	}
}

const gchar*
wixl_wix_verb_get_Argument (WixlWixVerb* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Argument;
	result = _tmp0_;
	return result;
}

void
wixl_wix_verb_set_Argument (WixlWixVerb* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_verb_get_Argument (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Argument);
		self->priv->_Argument = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_verb_properties[WIXL_WIX_VERB_ARGUMENT_PROPERTY]);
	}
}

static void
wixl_wix_verb_class_init (WixlWixVerbClass * klass,
                          gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_verb_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixVerb_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_verb_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_verb_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_verb_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_verb_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_VERB_COMMAND_PROPERTY, wixl_wix_verb_properties[WIXL_WIX_VERB_COMMAND_PROPERTY] = g_param_spec_string ("Command", "Command", "Command", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_VERB_TARGET_FILE_PROPERTY, wixl_wix_verb_properties[WIXL_WIX_VERB_TARGET_FILE_PROPERTY] = g_param_spec_string ("TargetFile", "TargetFile", "TargetFile", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_VERB_ARGUMENT_PROPERTY, wixl_wix_verb_properties[WIXL_WIX_VERB_ARGUMENT_PROPERTY] = g_param_spec_string ("Argument", "Argument", "Argument", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Verb");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_verb_instance_init (WixlWixVerb * self,
                             gpointer klass)
{
	self->priv = wixl_wix_verb_get_instance_private (self);
}

static void
wixl_wix_verb_finalize (GObject * obj)
{
	WixlWixVerb * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_VERB, WixlWixVerb);
	_g_free0 (self->priv->_Command);
	_g_free0 (self->priv->_TargetFile);
	_g_free0 (self->priv->_Argument);
	G_OBJECT_CLASS (wixl_wix_verb_parent_class)->finalize (obj);
}

static GType
wixl_wix_verb_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixVerbClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_verb_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixVerb), 0, (GInstanceInitFunc) wixl_wix_verb_instance_init, NULL };
	GType wixl_wix_verb_type_id;
	wixl_wix_verb_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixVerb", &g_define_type_info, 0);
	WixlWixVerb_private_offset = g_type_add_instance_private (wixl_wix_verb_type_id, sizeof (WixlWixVerbPrivate));
	return wixl_wix_verb_type_id;
}

GType
wixl_wix_verb_get_type (void)
{
	static volatile gsize wixl_wix_verb_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_verb_type_id__once)) {
		GType wixl_wix_verb_type_id;
		wixl_wix_verb_type_id = wixl_wix_verb_get_type_once ();
		g_once_init_leave (&wixl_wix_verb_type_id__once, wixl_wix_verb_type_id);
	}
	return wixl_wix_verb_type_id__once;
}

static void
_vala_wixl_wix_verb_get_property (GObject * object,
                                  guint property_id,
                                  GValue * value,
                                  GParamSpec * pspec)
{
	WixlWixVerb * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_VERB, WixlWixVerb);
	switch (property_id) {
		case WIXL_WIX_VERB_COMMAND_PROPERTY:
		g_value_set_string (value, wixl_wix_verb_get_Command (self));
		break;
		case WIXL_WIX_VERB_TARGET_FILE_PROPERTY:
		g_value_set_string (value, wixl_wix_verb_get_TargetFile (self));
		break;
		case WIXL_WIX_VERB_ARGUMENT_PROPERTY:
		g_value_set_string (value, wixl_wix_verb_get_Argument (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_verb_set_property (GObject * object,
                                  guint property_id,
                                  const GValue * value,
                                  GParamSpec * pspec)
{
	WixlWixVerb * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_VERB, WixlWixVerb);
	switch (property_id) {
		case WIXL_WIX_VERB_COMMAND_PROPERTY:
		wixl_wix_verb_set_Command (self, g_value_get_string (value));
		break;
		case WIXL_WIX_VERB_TARGET_FILE_PROPERTY:
		wixl_wix_verb_set_TargetFile (self, g_value_get_string (value));
		break;
		case WIXL_WIX_VERB_ARGUMENT_PROPERTY:
		wixl_wix_verb_set_Argument (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_extension_get_instance_private (WixlWixExtension* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixExtension_private_offset);
}

static void
wixl_wix_extension_real_accept (WixlWixNode* base,
                                WixlWixNodeVisitor* visitor,
                                GError** error)
{
	WixlWixExtension * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixExtension*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_extension_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_extension (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixExtension*
wixl_wix_extension_construct (GType object_type)
{
	WixlWixExtension * self = NULL;
	self = (WixlWixExtension*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixExtension*
wixl_wix_extension_new (void)
{
	return wixl_wix_extension_construct (WIXL_TYPE_WIX_EXTENSION);
}

const gchar*
wixl_wix_extension_get_ContentType (WixlWixExtension* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ContentType;
	result = _tmp0_;
	return result;
}

void
wixl_wix_extension_set_ContentType (WixlWixExtension* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_extension_get_ContentType (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_ContentType);
		self->priv->_ContentType = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_extension_properties[WIXL_WIX_EXTENSION_CONTENT_TYPE_PROPERTY]);
	}
}

const gchar*
wixl_wix_extension_get_Advertise (WixlWixExtension* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Advertise;
	result = _tmp0_;
	return result;
}

void
wixl_wix_extension_set_Advertise (WixlWixExtension* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_extension_get_Advertise (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Advertise);
		self->priv->_Advertise = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_extension_properties[WIXL_WIX_EXTENSION_ADVERTISE_PROPERTY]);
	}
}

static void
wixl_wix_extension_class_init (WixlWixExtensionClass * klass,
                               gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_extension_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixExtension_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_extension_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_extension_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_extension_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_extension_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_EXTENSION_CONTENT_TYPE_PROPERTY, wixl_wix_extension_properties[WIXL_WIX_EXTENSION_CONTENT_TYPE_PROPERTY] = g_param_spec_string ("ContentType", "ContentType", "ContentType", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_EXTENSION_ADVERTISE_PROPERTY, wixl_wix_extension_properties[WIXL_WIX_EXTENSION_ADVERTISE_PROPERTY] = g_param_spec_string ("Advertise", "Advertise", "Advertise", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Extension");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 2);
	_tmp2_[0] = WIXL_TYPE_WIX_VERB;
	_tmp2_[1] = WIXL_TYPE_WIX_MIME;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 2;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 2);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_extension_instance_init (WixlWixExtension * self,
                                  gpointer klass)
{
	self->priv = wixl_wix_extension_get_instance_private (self);
}

static void
wixl_wix_extension_finalize (GObject * obj)
{
	WixlWixExtension * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_EXTENSION, WixlWixExtension);
	_g_free0 (self->priv->_ContentType);
	_g_free0 (self->priv->_Advertise);
	G_OBJECT_CLASS (wixl_wix_extension_parent_class)->finalize (obj);
}

static GType
wixl_wix_extension_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixExtensionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_extension_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixExtension), 0, (GInstanceInitFunc) wixl_wix_extension_instance_init, NULL };
	GType wixl_wix_extension_type_id;
	wixl_wix_extension_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixExtension", &g_define_type_info, 0);
	WixlWixExtension_private_offset = g_type_add_instance_private (wixl_wix_extension_type_id, sizeof (WixlWixExtensionPrivate));
	return wixl_wix_extension_type_id;
}

GType
wixl_wix_extension_get_type (void)
{
	static volatile gsize wixl_wix_extension_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_extension_type_id__once)) {
		GType wixl_wix_extension_type_id;
		wixl_wix_extension_type_id = wixl_wix_extension_get_type_once ();
		g_once_init_leave (&wixl_wix_extension_type_id__once, wixl_wix_extension_type_id);
	}
	return wixl_wix_extension_type_id__once;
}

static void
_vala_wixl_wix_extension_get_property (GObject * object,
                                       guint property_id,
                                       GValue * value,
                                       GParamSpec * pspec)
{
	WixlWixExtension * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_EXTENSION, WixlWixExtension);
	switch (property_id) {
		case WIXL_WIX_EXTENSION_CONTENT_TYPE_PROPERTY:
		g_value_set_string (value, wixl_wix_extension_get_ContentType (self));
		break;
		case WIXL_WIX_EXTENSION_ADVERTISE_PROPERTY:
		g_value_set_string (value, wixl_wix_extension_get_Advertise (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_extension_set_property (GObject * object,
                                       guint property_id,
                                       const GValue * value,
                                       GParamSpec * pspec)
{
	WixlWixExtension * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_EXTENSION, WixlWixExtension);
	switch (property_id) {
		case WIXL_WIX_EXTENSION_CONTENT_TYPE_PROPERTY:
		wixl_wix_extension_set_ContentType (self, g_value_get_string (value));
		break;
		case WIXL_WIX_EXTENSION_ADVERTISE_PROPERTY:
		wixl_wix_extension_set_Advertise (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_prog_id_get_instance_private (WixlWixProgId* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixProgId_private_offset);
}

static void
wixl_wix_prog_id_real_accept (WixlWixNode* base,
                              WixlWixNodeVisitor* visitor,
                              GError** error)
{
	WixlWixProgId * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixProgId*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_prog_id_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_progid (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixProgId*
wixl_wix_prog_id_construct (GType object_type)
{
	WixlWixProgId * self = NULL;
	self = (WixlWixProgId*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixProgId*
wixl_wix_prog_id_new (void)
{
	return wixl_wix_prog_id_construct (WIXL_TYPE_WIX_PROG_ID);
}

const gchar*
wixl_wix_prog_id_get_Description (WixlWixProgId* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Description;
	result = _tmp0_;
	return result;
}

void
wixl_wix_prog_id_set_Description (WixlWixProgId* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_prog_id_get_Description (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Description);
		self->priv->_Description = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_prog_id_properties[WIXL_WIX_PROG_ID_DESCRIPTION_PROPERTY]);
	}
}

const gchar*
wixl_wix_prog_id_get_Advertise (WixlWixProgId* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Advertise;
	result = _tmp0_;
	return result;
}

void
wixl_wix_prog_id_set_Advertise (WixlWixProgId* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_prog_id_get_Advertise (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Advertise);
		self->priv->_Advertise = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_prog_id_properties[WIXL_WIX_PROG_ID_ADVERTISE_PROPERTY]);
	}
}

static void
wixl_wix_prog_id_class_init (WixlWixProgIdClass * klass,
                             gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_prog_id_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixProgId_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_prog_id_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_prog_id_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_prog_id_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_prog_id_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PROG_ID_DESCRIPTION_PROPERTY, wixl_wix_prog_id_properties[WIXL_WIX_PROG_ID_DESCRIPTION_PROPERTY] = g_param_spec_string ("Description", "Description", "Description", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PROG_ID_ADVERTISE_PROPERTY, wixl_wix_prog_id_properties[WIXL_WIX_PROG_ID_ADVERTISE_PROPERTY] = g_param_spec_string ("Advertise", "Advertise", "Advertise", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("ProgId");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 1);
	_tmp2_[0] = WIXL_TYPE_WIX_EXTENSION;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 1;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 1);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_prog_id_instance_init (WixlWixProgId * self,
                                gpointer klass)
{
	self->priv = wixl_wix_prog_id_get_instance_private (self);
}

static void
wixl_wix_prog_id_finalize (GObject * obj)
{
	WixlWixProgId * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_PROG_ID, WixlWixProgId);
	_g_free0 (self->priv->_Description);
	_g_free0 (self->priv->_Advertise);
	G_OBJECT_CLASS (wixl_wix_prog_id_parent_class)->finalize (obj);
}

static GType
wixl_wix_prog_id_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixProgIdClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_prog_id_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixProgId), 0, (GInstanceInitFunc) wixl_wix_prog_id_instance_init, NULL };
	GType wixl_wix_prog_id_type_id;
	wixl_wix_prog_id_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixProgId", &g_define_type_info, 0);
	WixlWixProgId_private_offset = g_type_add_instance_private (wixl_wix_prog_id_type_id, sizeof (WixlWixProgIdPrivate));
	return wixl_wix_prog_id_type_id;
}

GType
wixl_wix_prog_id_get_type (void)
{
	static volatile gsize wixl_wix_prog_id_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_prog_id_type_id__once)) {
		GType wixl_wix_prog_id_type_id;
		wixl_wix_prog_id_type_id = wixl_wix_prog_id_get_type_once ();
		g_once_init_leave (&wixl_wix_prog_id_type_id__once, wixl_wix_prog_id_type_id);
	}
	return wixl_wix_prog_id_type_id__once;
}

static void
_vala_wixl_wix_prog_id_get_property (GObject * object,
                                     guint property_id,
                                     GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixProgId * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PROG_ID, WixlWixProgId);
	switch (property_id) {
		case WIXL_WIX_PROG_ID_DESCRIPTION_PROPERTY:
		g_value_set_string (value, wixl_wix_prog_id_get_Description (self));
		break;
		case WIXL_WIX_PROG_ID_ADVERTISE_PROPERTY:
		g_value_set_string (value, wixl_wix_prog_id_get_Advertise (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_prog_id_set_property (GObject * object,
                                     guint property_id,
                                     const GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixProgId * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PROG_ID, WixlWixProgId);
	switch (property_id) {
		case WIXL_WIX_PROG_ID_DESCRIPTION_PROPERTY:
		wixl_wix_prog_id_set_Description (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PROG_ID_ADVERTISE_PROPERTY:
		wixl_wix_prog_id_set_Advertise (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_action_get_instance_private (WixlWixAction* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixAction_private_offset);
}

static void
wixl_wix_action_real_load (WixlWixElement* base,
                           xmlNode* node,
                           GError** error)
{
	WixlWixAction * self;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	GError* _inner_error0_ = NULL;
	self = (WixlWixAction*) base;
	WIXL_WIX_ELEMENT_CLASS (wixl_wix_action_parent_class)->load (G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), node, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == WIXL_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return;
		}
	}
	_tmp0_ = node->name;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->name);
	self->name = _tmp1_;
}

static void
wixl_wix_action_real_accept (WixlWixNode* base,
                             WixlWixNodeVisitor* visitor,
                             GError** error)
{
	WixlWixAction * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixAction*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_action (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixAction*
wixl_wix_action_construct (GType object_type)
{
	WixlWixAction * self = NULL;
	self = (WixlWixAction*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixAction*
wixl_wix_action_new (void)
{
	return wixl_wix_action_construct (WIXL_TYPE_WIX_ACTION);
}

const gchar*
wixl_wix_action_get_After (WixlWixAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_After;
	result = _tmp0_;
	return result;
}

void
wixl_wix_action_set_After (WixlWixAction* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_action_get_After (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_After);
		self->priv->_After = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_action_properties[WIXL_WIX_ACTION_AFTER_PROPERTY]);
	}
}

const gchar*
wixl_wix_action_get_Before (WixlWixAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Before;
	result = _tmp0_;
	return result;
}

void
wixl_wix_action_set_Before (WixlWixAction* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_action_get_Before (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Before);
		self->priv->_Before = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_action_properties[WIXL_WIX_ACTION_BEFORE_PROPERTY]);
	}
}

const gchar*
wixl_wix_action_get_Overridable (WixlWixAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Overridable;
	result = _tmp0_;
	return result;
}

void
wixl_wix_action_set_Overridable (WixlWixAction* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_action_get_Overridable (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Overridable);
		self->priv->_Overridable = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_action_properties[WIXL_WIX_ACTION_OVERRIDABLE_PROPERTY]);
	}
}

const gchar*
wixl_wix_action_get_Sequence (WixlWixAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Sequence;
	result = _tmp0_;
	return result;
}

void
wixl_wix_action_set_Sequence (WixlWixAction* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_action_get_Sequence (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Sequence);
		self->priv->_Sequence = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_action_properties[WIXL_WIX_ACTION_SEQUENCE_PROPERTY]);
	}
}

const gchar*
wixl_wix_action_get_Suppress (WixlWixAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Suppress;
	result = _tmp0_;
	return result;
}

void
wixl_wix_action_set_Suppress (WixlWixAction* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_action_get_Suppress (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Suppress);
		self->priv->_Suppress = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_action_properties[WIXL_WIX_ACTION_SUPPRESS_PROPERTY]);
	}
}

const gchar*
wixl_wix_action_get_Action (WixlWixAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Action;
	result = _tmp0_;
	return result;
}

void
wixl_wix_action_set_Action (WixlWixAction* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_action_get_Action (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Action);
		self->priv->_Action = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_action_properties[WIXL_WIX_ACTION_ACTION_PROPERTY]);
	}
}

const gchar*
wixl_wix_action_get_Dialog (WixlWixAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Dialog;
	result = _tmp0_;
	return result;
}

void
wixl_wix_action_set_Dialog (WixlWixAction* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_action_get_Dialog (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Dialog);
		self->priv->_Dialog = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_action_properties[WIXL_WIX_ACTION_DIALOG_PROPERTY]);
	}
}

const gchar*
wixl_wix_action_get_OnExit (WixlWixAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_OnExit;
	result = _tmp0_;
	return result;
}

void
wixl_wix_action_set_OnExit (WixlWixAction* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_action_get_OnExit (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_OnExit);
		self->priv->_OnExit = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_action_properties[WIXL_WIX_ACTION_ON_EXIT_PROPERTY]);
	}
}

const gchar*
wixl_wix_action_get_Condition (WixlWixAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Condition;
	result = _tmp0_;
	return result;
}

void
wixl_wix_action_set_Condition (WixlWixAction* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_action_get_Condition (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Condition);
		self->priv->_Condition = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_action_properties[WIXL_WIX_ACTION_CONDITION_PROPERTY]);
	}
}

static void
wixl_wix_action_class_init (WixlWixActionClass * klass,
                            gpointer klass_data)
{
	wixl_wix_action_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixAction_private_offset);
	((WixlWixElementClass *) klass)->load = (void (*) (WixlWixElement*, xmlNode*, GError**)) wixl_wix_action_real_load;
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_action_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_action_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_action_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_action_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ACTION_AFTER_PROPERTY, wixl_wix_action_properties[WIXL_WIX_ACTION_AFTER_PROPERTY] = g_param_spec_string ("After", "After", "After", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ACTION_BEFORE_PROPERTY, wixl_wix_action_properties[WIXL_WIX_ACTION_BEFORE_PROPERTY] = g_param_spec_string ("Before", "Before", "Before", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ACTION_OVERRIDABLE_PROPERTY, wixl_wix_action_properties[WIXL_WIX_ACTION_OVERRIDABLE_PROPERTY] = g_param_spec_string ("Overridable", "Overridable", "Overridable", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ACTION_SEQUENCE_PROPERTY, wixl_wix_action_properties[WIXL_WIX_ACTION_SEQUENCE_PROPERTY] = g_param_spec_string ("Sequence", "Sequence", "Sequence", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ACTION_SUPPRESS_PROPERTY, wixl_wix_action_properties[WIXL_WIX_ACTION_SUPPRESS_PROPERTY] = g_param_spec_string ("Suppress", "Suppress", "Suppress", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ACTION_ACTION_PROPERTY, wixl_wix_action_properties[WIXL_WIX_ACTION_ACTION_PROPERTY] = g_param_spec_string ("Action", "Action", "Action", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ACTION_DIALOG_PROPERTY, wixl_wix_action_properties[WIXL_WIX_ACTION_DIALOG_PROPERTY] = g_param_spec_string ("Dialog", "Dialog", "Dialog", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ACTION_ON_EXIT_PROPERTY, wixl_wix_action_properties[WIXL_WIX_ACTION_ON_EXIT_PROPERTY] = g_param_spec_string ("OnExit", "OnExit", "OnExit", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ACTION_CONDITION_PROPERTY, wixl_wix_action_properties[WIXL_WIX_ACTION_CONDITION_PROPERTY] = g_param_spec_string ("Condition", "Condition", "Condition", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
wixl_wix_action_instance_init (WixlWixAction * self,
                               gpointer klass)
{
	self->priv = wixl_wix_action_get_instance_private (self);
}

static void
wixl_wix_action_finalize (GObject * obj)
{
	WixlWixAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_ACTION, WixlWixAction);
	_g_free0 (self->name);
	_g_free0 (self->priv->_After);
	_g_free0 (self->priv->_Before);
	_g_free0 (self->priv->_Overridable);
	_g_free0 (self->priv->_Sequence);
	_g_free0 (self->priv->_Suppress);
	_g_free0 (self->priv->_Action);
	_g_free0 (self->priv->_Dialog);
	_g_free0 (self->priv->_OnExit);
	_g_free0 (self->priv->_Condition);
	G_OBJECT_CLASS (wixl_wix_action_parent_class)->finalize (obj);
}

static GType
wixl_wix_action_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixAction), 0, (GInstanceInitFunc) wixl_wix_action_instance_init, NULL };
	GType wixl_wix_action_type_id;
	wixl_wix_action_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixAction", &g_define_type_info, 0);
	WixlWixAction_private_offset = g_type_add_instance_private (wixl_wix_action_type_id, sizeof (WixlWixActionPrivate));
	return wixl_wix_action_type_id;
}

GType
wixl_wix_action_get_type (void)
{
	static volatile gsize wixl_wix_action_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_action_type_id__once)) {
		GType wixl_wix_action_type_id;
		wixl_wix_action_type_id = wixl_wix_action_get_type_once ();
		g_once_init_leave (&wixl_wix_action_type_id__once, wixl_wix_action_type_id);
	}
	return wixl_wix_action_type_id__once;
}

static void
_vala_wixl_wix_action_get_property (GObject * object,
                                    guint property_id,
                                    GValue * value,
                                    GParamSpec * pspec)
{
	WixlWixAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_ACTION, WixlWixAction);
	switch (property_id) {
		case WIXL_WIX_ACTION_AFTER_PROPERTY:
		g_value_set_string (value, wixl_wix_action_get_After (self));
		break;
		case WIXL_WIX_ACTION_BEFORE_PROPERTY:
		g_value_set_string (value, wixl_wix_action_get_Before (self));
		break;
		case WIXL_WIX_ACTION_OVERRIDABLE_PROPERTY:
		g_value_set_string (value, wixl_wix_action_get_Overridable (self));
		break;
		case WIXL_WIX_ACTION_SEQUENCE_PROPERTY:
		g_value_set_string (value, wixl_wix_action_get_Sequence (self));
		break;
		case WIXL_WIX_ACTION_SUPPRESS_PROPERTY:
		g_value_set_string (value, wixl_wix_action_get_Suppress (self));
		break;
		case WIXL_WIX_ACTION_ACTION_PROPERTY:
		g_value_set_string (value, wixl_wix_action_get_Action (self));
		break;
		case WIXL_WIX_ACTION_DIALOG_PROPERTY:
		g_value_set_string (value, wixl_wix_action_get_Dialog (self));
		break;
		case WIXL_WIX_ACTION_ON_EXIT_PROPERTY:
		g_value_set_string (value, wixl_wix_action_get_OnExit (self));
		break;
		case WIXL_WIX_ACTION_CONDITION_PROPERTY:
		g_value_set_string (value, wixl_wix_action_get_Condition (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_action_set_property (GObject * object,
                                    guint property_id,
                                    const GValue * value,
                                    GParamSpec * pspec)
{
	WixlWixAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_ACTION, WixlWixAction);
	switch (property_id) {
		case WIXL_WIX_ACTION_AFTER_PROPERTY:
		wixl_wix_action_set_After (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ACTION_BEFORE_PROPERTY:
		wixl_wix_action_set_Before (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ACTION_OVERRIDABLE_PROPERTY:
		wixl_wix_action_set_Overridable (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ACTION_SEQUENCE_PROPERTY:
		wixl_wix_action_set_Sequence (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ACTION_SUPPRESS_PROPERTY:
		wixl_wix_action_set_Suppress (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ACTION_ACTION_PROPERTY:
		wixl_wix_action_set_Action (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ACTION_DIALOG_PROPERTY:
		wixl_wix_action_set_Dialog (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ACTION_ON_EXIT_PROPERTY:
		wixl_wix_action_set_OnExit (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ACTION_CONDITION_PROPERTY:
		wixl_wix_action_set_Condition (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
wixl_wix_sequence_real_accept (WixlWixNode* base,
                               WixlWixNodeVisitor* visitor,
                               GError** error)
{
	WixlWixSequence * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixSequence*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_sequence_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_sequence (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixSequence*
wixl_wix_sequence_construct (GType object_type)
{
	WixlWixSequence * self = NULL;
	self = (WixlWixSequence*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixSequence*
wixl_wix_sequence_new (void)
{
	return wixl_wix_sequence_construct (WIXL_TYPE_WIX_SEQUENCE);
}

static void
wixl_wix_sequence_class_init (WixlWixSequenceClass * klass,
                              gpointer klass_data)
{
	wixl_wix_sequence_parent_class = g_type_class_peek_parent (klass);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_sequence_real_accept;
}

static void
wixl_wix_sequence_instance_init (WixlWixSequence * self,
                                 gpointer klass)
{
}

static GType
wixl_wix_sequence_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixSequenceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_sequence_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixSequence), 0, (GInstanceInitFunc) wixl_wix_sequence_instance_init, NULL };
	GType wixl_wix_sequence_type_id;
	wixl_wix_sequence_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixSequence", &g_define_type_info, 0);
	return wixl_wix_sequence_type_id;
}

GType
wixl_wix_sequence_get_type (void)
{
	static volatile gsize wixl_wix_sequence_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_sequence_type_id__once)) {
		GType wixl_wix_sequence_type_id;
		wixl_wix_sequence_type_id = wixl_wix_sequence_get_type_once ();
		g_once_init_leave (&wixl_wix_sequence_type_id__once, wixl_wix_sequence_type_id);
	}
	return wixl_wix_sequence_type_id__once;
}

WixlWixInstallExecuteSequence*
wixl_wix_install_execute_sequence_construct (GType object_type)
{
	WixlWixInstallExecuteSequence * self = NULL;
	self = (WixlWixInstallExecuteSequence*) wixl_wix_sequence_construct (object_type);
	return self;
}

WixlWixInstallExecuteSequence*
wixl_wix_install_execute_sequence_new (void)
{
	return wixl_wix_install_execute_sequence_construct (WIXL_TYPE_WIX_INSTALL_EXECUTE_SEQUENCE);
}

static void
wixl_wix_install_execute_sequence_class_init (WixlWixInstallExecuteSequenceClass * klass,
                                              gpointer klass_data)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	gchar* _tmp15_;
	gchar* _tmp16_;
	gchar* _tmp17_;
	gchar* _tmp18_;
	gchar* _tmp19_;
	gchar* _tmp20_;
	gchar* _tmp21_;
	gchar* _tmp22_;
	gchar* _tmp23_;
	gchar* _tmp24_;
	gchar* _tmp25_;
	gchar* _tmp26_;
	gchar* _tmp27_;
	gchar* _tmp28_;
	gchar* _tmp29_;
	gchar* _tmp30_;
	gchar* _tmp31_;
	gchar* _tmp32_;
	gchar* _tmp33_;
	gchar* _tmp34_;
	gchar* _tmp35_;
	gchar* _tmp36_;
	gchar* _tmp37_;
	gchar* _tmp38_;
	gchar* _tmp39_;
	gchar* _tmp40_;
	gchar* _tmp41_;
	gchar* _tmp42_;
	gchar* _tmp43_;
	gchar* _tmp44_;
	gchar* _tmp45_;
	gchar* _tmp46_;
	gchar* _tmp47_;
	gchar* _tmp48_;
	gchar* _tmp49_;
	gchar* _tmp50_;
	gchar* _tmp51_;
	gchar* _tmp52_;
	gchar* _tmp53_;
	gchar* _tmp54_;
	gchar* _tmp55_;
	gchar* _tmp56_;
	gchar* _tmp57_;
	gchar* _tmp58_;
	gchar* _tmp59_;
	gchar* _tmp60_;
	gchar* _tmp61_;
	gchar* _tmp62_;
	gchar* _tmp63_;
	gchar* _tmp64_;
	gchar* _tmp65_;
	gchar* _tmp66_;
	gchar* _tmp67_;
	gchar* _tmp68_;
	gchar* _tmp69_;
	gchar* _tmp70_;
	gchar* _tmp71_;
	gchar* _tmp72_;
	gchar* _tmp73_;
	gchar** _tmp74_;
	wixl_wix_install_execute_sequence_parent_class = g_type_class_peek_parent (klass);
	_tmp0_ = g_strdup ("InstallExecuteSequence");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = g_strdup ("AllocateRegistrySpace");
	_tmp2_ = g_strdup ("AppSearch");
	_tmp3_ = g_strdup ("BindImage");
	_tmp4_ = g_strdup ("CCPSearch");
	_tmp5_ = g_strdup ("CostFinalize");
	_tmp6_ = g_strdup ("CostInitialize");
	_tmp7_ = g_strdup ("CreateFolders");
	_tmp8_ = g_strdup ("CreateShortcuts");
	_tmp9_ = g_strdup ("Custom");
	_tmp10_ = g_strdup ("DeleteServices");
	_tmp11_ = g_strdup ("DisableRollback");
	_tmp12_ = g_strdup ("DuplicateFiles");
	_tmp13_ = g_strdup ("FileCost");
	_tmp14_ = g_strdup ("FindRelatedProducts");
	_tmp15_ = g_strdup ("ForceReboot");
	_tmp16_ = g_strdup ("InstallExecute");
	_tmp17_ = g_strdup ("InstallExecuteAgain");
	_tmp18_ = g_strdup ("InstallFiles");
	_tmp19_ = g_strdup ("InstallFinalize");
	_tmp20_ = g_strdup ("InstallInitialize");
	_tmp21_ = g_strdup ("InstallODBC");
	_tmp22_ = g_strdup ("InstallServices");
	_tmp23_ = g_strdup ("InstallValidate");
	_tmp24_ = g_strdup ("IsolateComponents");
	_tmp25_ = g_strdup ("LaunchConditions");
	_tmp26_ = g_strdup ("MigrateFeatureStates");
	_tmp27_ = g_strdup ("MoveFiles");
	_tmp28_ = g_strdup ("MsiPublishAssemblies");
	_tmp29_ = g_strdup ("MsiUnpublishAssemblies");
	_tmp30_ = g_strdup ("PatchFiles");
	_tmp31_ = g_strdup ("ProcessComponents");
	_tmp32_ = g_strdup ("PublishComponents");
	_tmp33_ = g_strdup ("PublishFeatures");
	_tmp34_ = g_strdup ("PublishProduct");
	_tmp35_ = g_strdup ("RegisterClassInfo");
	_tmp36_ = g_strdup ("RegisterComPlus");
	_tmp37_ = g_strdup ("RegisterExtensionInfo");
	_tmp38_ = g_strdup ("RegisterFonts");
	_tmp39_ = g_strdup ("RegisterMIMEInfo");
	_tmp40_ = g_strdup ("RegisterProduct");
	_tmp41_ = g_strdup ("RegisterProgIdInfo");
	_tmp42_ = g_strdup ("RegisterTypeLibraries");
	_tmp43_ = g_strdup ("RegisterUser");
	_tmp44_ = g_strdup ("RemoveDuplicateFiles");
	_tmp45_ = g_strdup ("RemoveEnvironmentStrings");
	_tmp46_ = g_strdup ("RemoveExistingProducts");
	_tmp47_ = g_strdup ("RemoveFiles");
	_tmp48_ = g_strdup ("RemoveFolders");
	_tmp49_ = g_strdup ("RemoveIniValues");
	_tmp50_ = g_strdup ("RemoveODBC");
	_tmp51_ = g_strdup ("RemoveRegistryValues");
	_tmp52_ = g_strdup ("RemoveShortcuts");
	_tmp53_ = g_strdup ("ResolveSource");
	_tmp54_ = g_strdup ("RMCCPSearch");
	_tmp55_ = g_strdup ("ScheduleReboot");
	_tmp56_ = g_strdup ("SelfRegModules");
	_tmp57_ = g_strdup ("SelfUnregModules");
	_tmp58_ = g_strdup ("SetODBCFolders");
	_tmp59_ = g_strdup ("StartServices");
	_tmp60_ = g_strdup ("StopServices");
	_tmp61_ = g_strdup ("UnpublishComponents");
	_tmp62_ = g_strdup ("UnpublishFeatures");
	_tmp63_ = g_strdup ("UnregisterClassInfo");
	_tmp64_ = g_strdup ("UnregisterComPlus");
	_tmp65_ = g_strdup ("UnregisterExtensionInfo");
	_tmp66_ = g_strdup ("UnregisterFonts");
	_tmp67_ = g_strdup ("UnregisterMIMEInfo");
	_tmp68_ = g_strdup ("UnregisterProgIdInfo");
	_tmp69_ = g_strdup ("UnregisterTypeLibraries");
	_tmp70_ = g_strdup ("ValidateProductID");
	_tmp71_ = g_strdup ("WriteEnvironmentStrings");
	_tmp72_ = g_strdup ("WriteIniValues");
	_tmp73_ = g_strdup ("WriteRegistryValues");
	_tmp74_ = g_new0 (gchar*, 73 + 1);
	_tmp74_[0] = _tmp1_;
	_tmp74_[1] = _tmp2_;
	_tmp74_[2] = _tmp3_;
	_tmp74_[3] = _tmp4_;
	_tmp74_[4] = _tmp5_;
	_tmp74_[5] = _tmp6_;
	_tmp74_[6] = _tmp7_;
	_tmp74_[7] = _tmp8_;
	_tmp74_[8] = _tmp9_;
	_tmp74_[9] = _tmp10_;
	_tmp74_[10] = _tmp11_;
	_tmp74_[11] = _tmp12_;
	_tmp74_[12] = _tmp13_;
	_tmp74_[13] = _tmp14_;
	_tmp74_[14] = _tmp15_;
	_tmp74_[15] = _tmp16_;
	_tmp74_[16] = _tmp17_;
	_tmp74_[17] = _tmp18_;
	_tmp74_[18] = _tmp19_;
	_tmp74_[19] = _tmp20_;
	_tmp74_[20] = _tmp21_;
	_tmp74_[21] = _tmp22_;
	_tmp74_[22] = _tmp23_;
	_tmp74_[23] = _tmp24_;
	_tmp74_[24] = _tmp25_;
	_tmp74_[25] = _tmp26_;
	_tmp74_[26] = _tmp27_;
	_tmp74_[27] = _tmp28_;
	_tmp74_[28] = _tmp29_;
	_tmp74_[29] = _tmp30_;
	_tmp74_[30] = _tmp31_;
	_tmp74_[31] = _tmp32_;
	_tmp74_[32] = _tmp33_;
	_tmp74_[33] = _tmp34_;
	_tmp74_[34] = _tmp35_;
	_tmp74_[35] = _tmp36_;
	_tmp74_[36] = _tmp37_;
	_tmp74_[37] = _tmp38_;
	_tmp74_[38] = _tmp39_;
	_tmp74_[39] = _tmp40_;
	_tmp74_[40] = _tmp41_;
	_tmp74_[41] = _tmp42_;
	_tmp74_[42] = _tmp43_;
	_tmp74_[43] = _tmp44_;
	_tmp74_[44] = _tmp45_;
	_tmp74_[45] = _tmp46_;
	_tmp74_[46] = _tmp47_;
	_tmp74_[47] = _tmp48_;
	_tmp74_[48] = _tmp49_;
	_tmp74_[49] = _tmp50_;
	_tmp74_[50] = _tmp51_;
	_tmp74_[51] = _tmp52_;
	_tmp74_[52] = _tmp53_;
	_tmp74_[53] = _tmp54_;
	_tmp74_[54] = _tmp55_;
	_tmp74_[55] = _tmp56_;
	_tmp74_[56] = _tmp57_;
	_tmp74_[57] = _tmp58_;
	_tmp74_[58] = _tmp59_;
	_tmp74_[59] = _tmp60_;
	_tmp74_[60] = _tmp61_;
	_tmp74_[61] = _tmp62_;
	_tmp74_[62] = _tmp63_;
	_tmp74_[63] = _tmp64_;
	_tmp74_[64] = _tmp65_;
	_tmp74_[65] = _tmp66_;
	_tmp74_[66] = _tmp67_;
	_tmp74_[67] = _tmp68_;
	_tmp74_[68] = _tmp69_;
	_tmp74_[69] = _tmp70_;
	_tmp74_[70] = _tmp71_;
	_tmp74_[71] = _tmp72_;
	_tmp74_[72] = _tmp73_;
	{
		gchar** action_collection = NULL;
		gint action_collection_length1 = 0;
		gint _action_collection_size_ = 0;
		gint action_it = 0;
		action_collection = _tmp74_;
		action_collection_length1 = 73;
		for (action_it = 0; action_it < action_collection_length1; action_it = action_it + 1) {
			gchar* _tmp75_;
			gchar* action = NULL;
			_tmp75_ = g_strdup (action_collection[action_it]);
			action = _tmp75_;
			{
				GHashTable* _tmp76_;
				const gchar* _tmp77_;
				gchar* _tmp78_;
				_tmp76_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
				_tmp77_ = action;
				_tmp78_ = g_strdup (_tmp77_);
				g_hash_table_insert (_tmp76_, _tmp78_, (gpointer) ((gintptr) WIXL_TYPE_WIX_ACTION));
				_g_free0 (action);
			}
		}
		action_collection = (_vala_array_free (action_collection, action_collection_length1, (GDestroyNotify) g_free), NULL);
	}
}

static void
wixl_wix_install_execute_sequence_instance_init (WixlWixInstallExecuteSequence * self,
                                                 gpointer klass)
{
}

static GType
wixl_wix_install_execute_sequence_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixInstallExecuteSequenceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_install_execute_sequence_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixInstallExecuteSequence), 0, (GInstanceInitFunc) wixl_wix_install_execute_sequence_instance_init, NULL };
	GType wixl_wix_install_execute_sequence_type_id;
	wixl_wix_install_execute_sequence_type_id = g_type_register_static (WIXL_TYPE_WIX_SEQUENCE, "WixlWixInstallExecuteSequence", &g_define_type_info, 0);
	return wixl_wix_install_execute_sequence_type_id;
}

GType
wixl_wix_install_execute_sequence_get_type (void)
{
	static volatile gsize wixl_wix_install_execute_sequence_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_install_execute_sequence_type_id__once)) {
		GType wixl_wix_install_execute_sequence_type_id;
		wixl_wix_install_execute_sequence_type_id = wixl_wix_install_execute_sequence_get_type_once ();
		g_once_init_leave (&wixl_wix_install_execute_sequence_type_id__once, wixl_wix_install_execute_sequence_type_id);
	}
	return wixl_wix_install_execute_sequence_type_id__once;
}

WixlWixInstallUISequence*
wixl_wix_install_ui_sequence_construct (GType object_type)
{
	WixlWixInstallUISequence * self = NULL;
	self = (WixlWixInstallUISequence*) wixl_wix_sequence_construct (object_type);
	return self;
}

WixlWixInstallUISequence*
wixl_wix_install_ui_sequence_new (void)
{
	return wixl_wix_install_ui_sequence_construct (WIXL_TYPE_WIX_INSTALL_UI_SEQUENCE);
}

static void
wixl_wix_install_ui_sequence_class_init (WixlWixInstallUISequenceClass * klass,
                                         gpointer klass_data)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	gchar* _tmp15_;
	gchar* _tmp16_;
	gchar* _tmp17_;
	gchar* _tmp18_;
	gchar* _tmp19_;
	gchar* _tmp20_;
	gchar* _tmp21_;
	gchar* _tmp22_;
	gchar* _tmp23_;
	gchar* _tmp24_;
	gchar* _tmp25_;
	gchar** _tmp26_;
	wixl_wix_install_ui_sequence_parent_class = g_type_class_peek_parent (klass);
	_tmp0_ = g_strdup ("InstallUISequence");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = g_strdup ("AppSearch");
	_tmp2_ = g_strdup ("CCPSearch");
	_tmp3_ = g_strdup ("CostFinalize");
	_tmp4_ = g_strdup ("CostInitialize");
	_tmp5_ = g_strdup ("Custom");
	_tmp6_ = g_strdup ("ExecuteAction");
	_tmp7_ = g_strdup ("ExitDialog");
	_tmp8_ = g_strdup ("FatalError");
	_tmp9_ = g_strdup ("FileCost");
	_tmp10_ = g_strdup ("FindRelatedProducts");
	_tmp11_ = g_strdup ("IsolateComponents");
	_tmp12_ = g_strdup ("LaunchConditions");
	_tmp13_ = g_strdup ("MaintenanceWelcomeDlg");
	_tmp14_ = g_strdup ("MigrateFeatureStates");
	_tmp15_ = g_strdup ("PrepareDlg");
	_tmp16_ = g_strdup ("ProgressDlg");
	_tmp17_ = g_strdup ("ResolveSource");
	_tmp18_ = g_strdup ("ResumeDlg");
	_tmp19_ = g_strdup ("RMCCPSearch");
	_tmp20_ = g_strdup ("ScheduleReboot");
	_tmp21_ = g_strdup ("Show");
	_tmp22_ = g_strdup ("UserExit");
	_tmp23_ = g_strdup ("ValidateProductID");
	_tmp24_ = g_strdup ("WelcomeDlg");
	_tmp25_ = g_strdup ("WelcomeEulaDlg");
	_tmp26_ = g_new0 (gchar*, 25 + 1);
	_tmp26_[0] = _tmp1_;
	_tmp26_[1] = _tmp2_;
	_tmp26_[2] = _tmp3_;
	_tmp26_[3] = _tmp4_;
	_tmp26_[4] = _tmp5_;
	_tmp26_[5] = _tmp6_;
	_tmp26_[6] = _tmp7_;
	_tmp26_[7] = _tmp8_;
	_tmp26_[8] = _tmp9_;
	_tmp26_[9] = _tmp10_;
	_tmp26_[10] = _tmp11_;
	_tmp26_[11] = _tmp12_;
	_tmp26_[12] = _tmp13_;
	_tmp26_[13] = _tmp14_;
	_tmp26_[14] = _tmp15_;
	_tmp26_[15] = _tmp16_;
	_tmp26_[16] = _tmp17_;
	_tmp26_[17] = _tmp18_;
	_tmp26_[18] = _tmp19_;
	_tmp26_[19] = _tmp20_;
	_tmp26_[20] = _tmp21_;
	_tmp26_[21] = _tmp22_;
	_tmp26_[22] = _tmp23_;
	_tmp26_[23] = _tmp24_;
	_tmp26_[24] = _tmp25_;
	{
		gchar** action_collection = NULL;
		gint action_collection_length1 = 0;
		gint _action_collection_size_ = 0;
		gint action_it = 0;
		action_collection = _tmp26_;
		action_collection_length1 = 25;
		for (action_it = 0; action_it < action_collection_length1; action_it = action_it + 1) {
			gchar* _tmp27_;
			gchar* action = NULL;
			_tmp27_ = g_strdup (action_collection[action_it]);
			action = _tmp27_;
			{
				GHashTable* _tmp28_;
				const gchar* _tmp29_;
				gchar* _tmp30_;
				_tmp28_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
				_tmp29_ = action;
				_tmp30_ = g_strdup (_tmp29_);
				g_hash_table_insert (_tmp28_, _tmp30_, (gpointer) ((gintptr) WIXL_TYPE_WIX_ACTION));
				_g_free0 (action);
			}
		}
		action_collection = (_vala_array_free (action_collection, action_collection_length1, (GDestroyNotify) g_free), NULL);
	}
}

static void
wixl_wix_install_ui_sequence_instance_init (WixlWixInstallUISequence * self,
                                            gpointer klass)
{
}

static GType
wixl_wix_install_ui_sequence_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixInstallUISequenceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_install_ui_sequence_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixInstallUISequence), 0, (GInstanceInitFunc) wixl_wix_install_ui_sequence_instance_init, NULL };
	GType wixl_wix_install_ui_sequence_type_id;
	wixl_wix_install_ui_sequence_type_id = g_type_register_static (WIXL_TYPE_WIX_SEQUENCE, "WixlWixInstallUISequence", &g_define_type_info, 0);
	return wixl_wix_install_ui_sequence_type_id;
}

GType
wixl_wix_install_ui_sequence_get_type (void)
{
	static volatile gsize wixl_wix_install_ui_sequence_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_install_ui_sequence_type_id__once)) {
		GType wixl_wix_install_ui_sequence_type_id;
		wixl_wix_install_ui_sequence_type_id = wixl_wix_install_ui_sequence_get_type_once ();
		g_once_init_leave (&wixl_wix_install_ui_sequence_type_id__once, wixl_wix_install_ui_sequence_type_id);
	}
	return wixl_wix_install_ui_sequence_type_id__once;
}

WixlWixAdminExecuteSequence*
wixl_wix_admin_execute_sequence_construct (GType object_type)
{
	WixlWixAdminExecuteSequence * self = NULL;
	self = (WixlWixAdminExecuteSequence*) wixl_wix_sequence_construct (object_type);
	return self;
}

WixlWixAdminExecuteSequence*
wixl_wix_admin_execute_sequence_new (void)
{
	return wixl_wix_admin_execute_sequence_construct (WIXL_TYPE_WIX_ADMIN_EXECUTE_SEQUENCE);
}

static void
wixl_wix_admin_execute_sequence_class_init (WixlWixAdminExecuteSequenceClass * klass,
                                            gpointer klass_data)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gchar** _tmp13_;
	wixl_wix_admin_execute_sequence_parent_class = g_type_class_peek_parent (klass);
	_tmp0_ = g_strdup ("AdminExecuteSequence");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = g_strdup ("CostFinalize");
	_tmp2_ = g_strdup ("CostInitialize");
	_tmp3_ = g_strdup ("Custom");
	_tmp4_ = g_strdup ("FileCost");
	_tmp5_ = g_strdup ("InstallAdminPackage");
	_tmp6_ = g_strdup ("InstallFiles");
	_tmp7_ = g_strdup ("InstallFinalize");
	_tmp8_ = g_strdup ("InstallInitialize");
	_tmp9_ = g_strdup ("InstallValidate");
	_tmp10_ = g_strdup ("LaunchConditions");
	_tmp11_ = g_strdup ("PatchFiles");
	_tmp12_ = g_strdup ("ResolveSource");
	_tmp13_ = g_new0 (gchar*, 12 + 1);
	_tmp13_[0] = _tmp1_;
	_tmp13_[1] = _tmp2_;
	_tmp13_[2] = _tmp3_;
	_tmp13_[3] = _tmp4_;
	_tmp13_[4] = _tmp5_;
	_tmp13_[5] = _tmp6_;
	_tmp13_[6] = _tmp7_;
	_tmp13_[7] = _tmp8_;
	_tmp13_[8] = _tmp9_;
	_tmp13_[9] = _tmp10_;
	_tmp13_[10] = _tmp11_;
	_tmp13_[11] = _tmp12_;
	{
		gchar** action_collection = NULL;
		gint action_collection_length1 = 0;
		gint _action_collection_size_ = 0;
		gint action_it = 0;
		action_collection = _tmp13_;
		action_collection_length1 = 12;
		for (action_it = 0; action_it < action_collection_length1; action_it = action_it + 1) {
			gchar* _tmp14_;
			gchar* action = NULL;
			_tmp14_ = g_strdup (action_collection[action_it]);
			action = _tmp14_;
			{
				GHashTable* _tmp15_;
				const gchar* _tmp16_;
				gchar* _tmp17_;
				_tmp15_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
				_tmp16_ = action;
				_tmp17_ = g_strdup (_tmp16_);
				g_hash_table_insert (_tmp15_, _tmp17_, (gpointer) ((gintptr) WIXL_TYPE_WIX_ACTION));
				_g_free0 (action);
			}
		}
		action_collection = (_vala_array_free (action_collection, action_collection_length1, (GDestroyNotify) g_free), NULL);
	}
}

static void
wixl_wix_admin_execute_sequence_instance_init (WixlWixAdminExecuteSequence * self,
                                               gpointer klass)
{
}

static GType
wixl_wix_admin_execute_sequence_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixAdminExecuteSequenceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_admin_execute_sequence_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixAdminExecuteSequence), 0, (GInstanceInitFunc) wixl_wix_admin_execute_sequence_instance_init, NULL };
	GType wixl_wix_admin_execute_sequence_type_id;
	wixl_wix_admin_execute_sequence_type_id = g_type_register_static (WIXL_TYPE_WIX_SEQUENCE, "WixlWixAdminExecuteSequence", &g_define_type_info, 0);
	return wixl_wix_admin_execute_sequence_type_id;
}

GType
wixl_wix_admin_execute_sequence_get_type (void)
{
	static volatile gsize wixl_wix_admin_execute_sequence_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_admin_execute_sequence_type_id__once)) {
		GType wixl_wix_admin_execute_sequence_type_id;
		wixl_wix_admin_execute_sequence_type_id = wixl_wix_admin_execute_sequence_get_type_once ();
		g_once_init_leave (&wixl_wix_admin_execute_sequence_type_id__once, wixl_wix_admin_execute_sequence_type_id);
	}
	return wixl_wix_admin_execute_sequence_type_id__once;
}

WixlWixAdminUISequence*
wixl_wix_admin_ui_sequence_construct (GType object_type)
{
	WixlWixAdminUISequence * self = NULL;
	self = (WixlWixAdminUISequence*) wixl_wix_sequence_construct (object_type);
	return self;
}

WixlWixAdminUISequence*
wixl_wix_admin_ui_sequence_new (void)
{
	return wixl_wix_admin_ui_sequence_construct (WIXL_TYPE_WIX_ADMIN_UI_SEQUENCE);
}

static void
wixl_wix_admin_ui_sequence_class_init (WixlWixAdminUISequenceClass * klass,
                                       gpointer klass_data)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	gchar* _tmp15_;
	gchar** _tmp16_;
	wixl_wix_admin_ui_sequence_parent_class = g_type_class_peek_parent (klass);
	_tmp0_ = g_strdup ("AdminUISequence");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = g_strdup ("CostFinalize");
	_tmp2_ = g_strdup ("CostInitialize");
	_tmp3_ = g_strdup ("Custom");
	_tmp4_ = g_strdup ("ExecuteAction");
	_tmp5_ = g_strdup ("ExitDialog");
	_tmp6_ = g_strdup ("FatalError");
	_tmp7_ = g_strdup ("FileCost");
	_tmp8_ = g_strdup ("InstallAdminPackage");
	_tmp9_ = g_strdup ("InstallFiles");
	_tmp10_ = g_strdup ("InstallFinalize");
	_tmp11_ = g_strdup ("InstallInitialize");
	_tmp12_ = g_strdup ("InstallValidate");
	_tmp13_ = g_strdup ("LaunchConditions");
	_tmp14_ = g_strdup ("Show");
	_tmp15_ = g_strdup ("UserExit");
	_tmp16_ = g_new0 (gchar*, 15 + 1);
	_tmp16_[0] = _tmp1_;
	_tmp16_[1] = _tmp2_;
	_tmp16_[2] = _tmp3_;
	_tmp16_[3] = _tmp4_;
	_tmp16_[4] = _tmp5_;
	_tmp16_[5] = _tmp6_;
	_tmp16_[6] = _tmp7_;
	_tmp16_[7] = _tmp8_;
	_tmp16_[8] = _tmp9_;
	_tmp16_[9] = _tmp10_;
	_tmp16_[10] = _tmp11_;
	_tmp16_[11] = _tmp12_;
	_tmp16_[12] = _tmp13_;
	_tmp16_[13] = _tmp14_;
	_tmp16_[14] = _tmp15_;
	{
		gchar** action_collection = NULL;
		gint action_collection_length1 = 0;
		gint _action_collection_size_ = 0;
		gint action_it = 0;
		action_collection = _tmp16_;
		action_collection_length1 = 15;
		for (action_it = 0; action_it < action_collection_length1; action_it = action_it + 1) {
			gchar* _tmp17_;
			gchar* action = NULL;
			_tmp17_ = g_strdup (action_collection[action_it]);
			action = _tmp17_;
			{
				GHashTable* _tmp18_;
				const gchar* _tmp19_;
				gchar* _tmp20_;
				_tmp18_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
				_tmp19_ = action;
				_tmp20_ = g_strdup (_tmp19_);
				g_hash_table_insert (_tmp18_, _tmp20_, (gpointer) ((gintptr) WIXL_TYPE_WIX_ACTION));
				_g_free0 (action);
			}
		}
		action_collection = (_vala_array_free (action_collection, action_collection_length1, (GDestroyNotify) g_free), NULL);
	}
}

static void
wixl_wix_admin_ui_sequence_instance_init (WixlWixAdminUISequence * self,
                                          gpointer klass)
{
}

static GType
wixl_wix_admin_ui_sequence_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixAdminUISequenceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_admin_ui_sequence_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixAdminUISequence), 0, (GInstanceInitFunc) wixl_wix_admin_ui_sequence_instance_init, NULL };
	GType wixl_wix_admin_ui_sequence_type_id;
	wixl_wix_admin_ui_sequence_type_id = g_type_register_static (WIXL_TYPE_WIX_SEQUENCE, "WixlWixAdminUISequence", &g_define_type_info, 0);
	return wixl_wix_admin_ui_sequence_type_id;
}

GType
wixl_wix_admin_ui_sequence_get_type (void)
{
	static volatile gsize wixl_wix_admin_ui_sequence_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_admin_ui_sequence_type_id__once)) {
		GType wixl_wix_admin_ui_sequence_type_id;
		wixl_wix_admin_ui_sequence_type_id = wixl_wix_admin_ui_sequence_get_type_once ();
		g_once_init_leave (&wixl_wix_admin_ui_sequence_type_id__once, wixl_wix_admin_ui_sequence_type_id);
	}
	return wixl_wix_admin_ui_sequence_type_id__once;
}

WixlWixAdvertiseExecuteSequence*
wixl_wix_advertise_execute_sequence_construct (GType object_type)
{
	WixlWixAdvertiseExecuteSequence * self = NULL;
	self = (WixlWixAdvertiseExecuteSequence*) wixl_wix_sequence_construct (object_type);
	return self;
}

WixlWixAdvertiseExecuteSequence*
wixl_wix_advertise_execute_sequence_new (void)
{
	return wixl_wix_advertise_execute_sequence_construct (WIXL_TYPE_WIX_ADVERTISE_EXECUTE_SEQUENCE);
}

static void
wixl_wix_advertise_execute_sequence_class_init (WixlWixAdvertiseExecuteSequenceClass * klass,
                                                gpointer klass_data)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	gchar* _tmp15_;
	gchar** _tmp16_;
	wixl_wix_advertise_execute_sequence_parent_class = g_type_class_peek_parent (klass);
	_tmp0_ = g_strdup ("AdvertiseExecuteSequence");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = g_strdup ("CostFinalize");
	_tmp2_ = g_strdup ("CostInitialize");
	_tmp3_ = g_strdup ("CreateShortcuts");
	_tmp4_ = g_strdup ("Custom");
	_tmp5_ = g_strdup ("InstallFinalize");
	_tmp6_ = g_strdup ("InstallInitialize");
	_tmp7_ = g_strdup ("InstallValidate");
	_tmp8_ = g_strdup ("MsiPublishAssemblies");
	_tmp9_ = g_strdup ("PublishComponents");
	_tmp10_ = g_strdup ("PublishFeatures");
	_tmp11_ = g_strdup ("PublishProduct");
	_tmp12_ = g_strdup ("RegisterClassInfo");
	_tmp13_ = g_strdup ("RegisterExtensionInfo");
	_tmp14_ = g_strdup ("RegisterMIMEInfo");
	_tmp15_ = g_strdup ("RegisterProgIdInfo");
	_tmp16_ = g_new0 (gchar*, 15 + 1);
	_tmp16_[0] = _tmp1_;
	_tmp16_[1] = _tmp2_;
	_tmp16_[2] = _tmp3_;
	_tmp16_[3] = _tmp4_;
	_tmp16_[4] = _tmp5_;
	_tmp16_[5] = _tmp6_;
	_tmp16_[6] = _tmp7_;
	_tmp16_[7] = _tmp8_;
	_tmp16_[8] = _tmp9_;
	_tmp16_[9] = _tmp10_;
	_tmp16_[10] = _tmp11_;
	_tmp16_[11] = _tmp12_;
	_tmp16_[12] = _tmp13_;
	_tmp16_[13] = _tmp14_;
	_tmp16_[14] = _tmp15_;
	{
		gchar** action_collection = NULL;
		gint action_collection_length1 = 0;
		gint _action_collection_size_ = 0;
		gint action_it = 0;
		action_collection = _tmp16_;
		action_collection_length1 = 15;
		for (action_it = 0; action_it < action_collection_length1; action_it = action_it + 1) {
			gchar* _tmp17_;
			gchar* action = NULL;
			_tmp17_ = g_strdup (action_collection[action_it]);
			action = _tmp17_;
			{
				GHashTable* _tmp18_;
				const gchar* _tmp19_;
				gchar* _tmp20_;
				_tmp18_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
				_tmp19_ = action;
				_tmp20_ = g_strdup (_tmp19_);
				g_hash_table_insert (_tmp18_, _tmp20_, (gpointer) ((gintptr) WIXL_TYPE_WIX_ACTION));
				_g_free0 (action);
			}
		}
		action_collection = (_vala_array_free (action_collection, action_collection_length1, (GDestroyNotify) g_free), NULL);
	}
}

static void
wixl_wix_advertise_execute_sequence_instance_init (WixlWixAdvertiseExecuteSequence * self,
                                                   gpointer klass)
{
}

static GType
wixl_wix_advertise_execute_sequence_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixAdvertiseExecuteSequenceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_advertise_execute_sequence_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixAdvertiseExecuteSequence), 0, (GInstanceInitFunc) wixl_wix_advertise_execute_sequence_instance_init, NULL };
	GType wixl_wix_advertise_execute_sequence_type_id;
	wixl_wix_advertise_execute_sequence_type_id = g_type_register_static (WIXL_TYPE_WIX_SEQUENCE, "WixlWixAdvertiseExecuteSequence", &g_define_type_info, 0);
	return wixl_wix_advertise_execute_sequence_type_id;
}

GType
wixl_wix_advertise_execute_sequence_get_type (void)
{
	static volatile gsize wixl_wix_advertise_execute_sequence_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_advertise_execute_sequence_type_id__once)) {
		GType wixl_wix_advertise_execute_sequence_type_id;
		wixl_wix_advertise_execute_sequence_type_id = wixl_wix_advertise_execute_sequence_get_type_once ();
		g_once_init_leave (&wixl_wix_advertise_execute_sequence_type_id__once, wixl_wix_advertise_execute_sequence_type_id);
	}
	return wixl_wix_advertise_execute_sequence_type_id__once;
}

static void
wixl_wix_upgrade_real_accept (WixlWixNode* base,
                              WixlWixNodeVisitor* visitor,
                              GError** error)
{
	WixlWixUpgrade * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixUpgrade*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_upgrade_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_upgrade (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixUpgrade*
wixl_wix_upgrade_construct (GType object_type)
{
	WixlWixUpgrade * self = NULL;
	self = (WixlWixUpgrade*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixUpgrade*
wixl_wix_upgrade_new (void)
{
	return wixl_wix_upgrade_construct (WIXL_TYPE_WIX_UPGRADE);
}

static void
wixl_wix_upgrade_class_init (WixlWixUpgradeClass * klass,
                             gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_upgrade_parent_class = g_type_class_peek_parent (klass);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_upgrade_real_accept;
	_tmp0_ = g_strdup ("Upgrade");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 1);
	_tmp2_[0] = WIXL_TYPE_WIX_UPGRADE_VERSION;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 1;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 1);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_upgrade_instance_init (WixlWixUpgrade * self,
                                gpointer klass)
{
}

static GType
wixl_wix_upgrade_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixUpgradeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_upgrade_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixUpgrade), 0, (GInstanceInitFunc) wixl_wix_upgrade_instance_init, NULL };
	GType wixl_wix_upgrade_type_id;
	wixl_wix_upgrade_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixUpgrade", &g_define_type_info, 0);
	return wixl_wix_upgrade_type_id;
}

GType
wixl_wix_upgrade_get_type (void)
{
	static volatile gsize wixl_wix_upgrade_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_upgrade_type_id__once)) {
		GType wixl_wix_upgrade_type_id;
		wixl_wix_upgrade_type_id = wixl_wix_upgrade_get_type_once ();
		g_once_init_leave (&wixl_wix_upgrade_type_id__once, wixl_wix_upgrade_type_id);
	}
	return wixl_wix_upgrade_type_id__once;
}

static inline gpointer
wixl_wix_upgrade_version_get_instance_private (WixlWixUpgradeVersion* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixUpgradeVersion_private_offset);
}

static void
wixl_wix_upgrade_version_real_accept (WixlWixNode* base,
                                      WixlWixNodeVisitor* visitor,
                                      GError** error)
{
	WixlWixUpgradeVersion * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixUpgradeVersion*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_upgrade_version (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixUpgradeVersion*
wixl_wix_upgrade_version_construct (GType object_type)
{
	WixlWixUpgradeVersion * self = NULL;
	self = (WixlWixUpgradeVersion*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixUpgradeVersion*
wixl_wix_upgrade_version_new (void)
{
	return wixl_wix_upgrade_version_construct (WIXL_TYPE_WIX_UPGRADE_VERSION);
}

const gchar*
wixl_wix_upgrade_version_get_Minimum (WixlWixUpgradeVersion* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Minimum;
	result = _tmp0_;
	return result;
}

void
wixl_wix_upgrade_version_set_Minimum (WixlWixUpgradeVersion* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_upgrade_version_get_Minimum (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Minimum);
		self->priv->_Minimum = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_MINIMUM_PROPERTY]);
	}
}

const gchar*
wixl_wix_upgrade_version_get_Maximum (WixlWixUpgradeVersion* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Maximum;
	result = _tmp0_;
	return result;
}

void
wixl_wix_upgrade_version_set_Maximum (WixlWixUpgradeVersion* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_upgrade_version_get_Maximum (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Maximum);
		self->priv->_Maximum = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_MAXIMUM_PROPERTY]);
	}
}

const gchar*
wixl_wix_upgrade_version_get_IncludeMinimum (WixlWixUpgradeVersion* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_IncludeMinimum;
	result = _tmp0_;
	return result;
}

void
wixl_wix_upgrade_version_set_IncludeMinimum (WixlWixUpgradeVersion* self,
                                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_upgrade_version_get_IncludeMinimum (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_IncludeMinimum);
		self->priv->_IncludeMinimum = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_INCLUDE_MINIMUM_PROPERTY]);
	}
}

const gchar*
wixl_wix_upgrade_version_get_IncludeMaximum (WixlWixUpgradeVersion* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_IncludeMaximum;
	result = _tmp0_;
	return result;
}

void
wixl_wix_upgrade_version_set_IncludeMaximum (WixlWixUpgradeVersion* self,
                                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_upgrade_version_get_IncludeMaximum (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_IncludeMaximum);
		self->priv->_IncludeMaximum = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_INCLUDE_MAXIMUM_PROPERTY]);
	}
}

const gchar*
wixl_wix_upgrade_version_get_MigrateFeatures (WixlWixUpgradeVersion* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_MigrateFeatures;
	result = _tmp0_;
	return result;
}

void
wixl_wix_upgrade_version_set_MigrateFeatures (WixlWixUpgradeVersion* self,
                                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_upgrade_version_get_MigrateFeatures (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_MigrateFeatures);
		self->priv->_MigrateFeatures = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_MIGRATE_FEATURES_PROPERTY]);
	}
}

const gchar*
wixl_wix_upgrade_version_get_OnlyDetect (WixlWixUpgradeVersion* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_OnlyDetect;
	result = _tmp0_;
	return result;
}

void
wixl_wix_upgrade_version_set_OnlyDetect (WixlWixUpgradeVersion* self,
                                         const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_upgrade_version_get_OnlyDetect (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_OnlyDetect);
		self->priv->_OnlyDetect = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_ONLY_DETECT_PROPERTY]);
	}
}

const gchar*
wixl_wix_upgrade_version_get_Property (WixlWixUpgradeVersion* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Property;
	result = _tmp0_;
	return result;
}

void
wixl_wix_upgrade_version_set_Property (WixlWixUpgradeVersion* self,
                                       const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_upgrade_version_get_Property (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Property);
		self->priv->_Property = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_PROPERTY_PROPERTY]);
	}
}

static void
wixl_wix_upgrade_version_class_init (WixlWixUpgradeVersionClass * klass,
                                     gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_upgrade_version_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixUpgradeVersion_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_upgrade_version_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_upgrade_version_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_upgrade_version_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_upgrade_version_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_UPGRADE_VERSION_MINIMUM_PROPERTY, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_MINIMUM_PROPERTY] = g_param_spec_string ("Minimum", "Minimum", "Minimum", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_UPGRADE_VERSION_MAXIMUM_PROPERTY, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_MAXIMUM_PROPERTY] = g_param_spec_string ("Maximum", "Maximum", "Maximum", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_UPGRADE_VERSION_INCLUDE_MINIMUM_PROPERTY, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_INCLUDE_MINIMUM_PROPERTY] = g_param_spec_string ("IncludeMinimum", "IncludeMinimum", "IncludeMinimum", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_UPGRADE_VERSION_INCLUDE_MAXIMUM_PROPERTY, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_INCLUDE_MAXIMUM_PROPERTY] = g_param_spec_string ("IncludeMaximum", "IncludeMaximum", "IncludeMaximum", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_UPGRADE_VERSION_MIGRATE_FEATURES_PROPERTY, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_MIGRATE_FEATURES_PROPERTY] = g_param_spec_string ("MigrateFeatures", "MigrateFeatures", "MigrateFeatures", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_UPGRADE_VERSION_ONLY_DETECT_PROPERTY, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_ONLY_DETECT_PROPERTY] = g_param_spec_string ("OnlyDetect", "OnlyDetect", "OnlyDetect", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_UPGRADE_VERSION_PROPERTY_PROPERTY, wixl_wix_upgrade_version_properties[WIXL_WIX_UPGRADE_VERSION_PROPERTY_PROPERTY] = g_param_spec_string ("Property", "Property", "Property", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("UpgradeVersion");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_upgrade_version_instance_init (WixlWixUpgradeVersion * self,
                                        gpointer klass)
{
	self->priv = wixl_wix_upgrade_version_get_instance_private (self);
}

static void
wixl_wix_upgrade_version_finalize (GObject * obj)
{
	WixlWixUpgradeVersion * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_UPGRADE_VERSION, WixlWixUpgradeVersion);
	_g_free0 (self->priv->_Minimum);
	_g_free0 (self->priv->_Maximum);
	_g_free0 (self->priv->_IncludeMinimum);
	_g_free0 (self->priv->_IncludeMaximum);
	_g_free0 (self->priv->_MigrateFeatures);
	_g_free0 (self->priv->_OnlyDetect);
	_g_free0 (self->priv->_Property);
	G_OBJECT_CLASS (wixl_wix_upgrade_version_parent_class)->finalize (obj);
}

static GType
wixl_wix_upgrade_version_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixUpgradeVersionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_upgrade_version_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixUpgradeVersion), 0, (GInstanceInitFunc) wixl_wix_upgrade_version_instance_init, NULL };
	GType wixl_wix_upgrade_version_type_id;
	wixl_wix_upgrade_version_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixUpgradeVersion", &g_define_type_info, 0);
	WixlWixUpgradeVersion_private_offset = g_type_add_instance_private (wixl_wix_upgrade_version_type_id, sizeof (WixlWixUpgradeVersionPrivate));
	return wixl_wix_upgrade_version_type_id;
}

GType
wixl_wix_upgrade_version_get_type (void)
{
	static volatile gsize wixl_wix_upgrade_version_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_upgrade_version_type_id__once)) {
		GType wixl_wix_upgrade_version_type_id;
		wixl_wix_upgrade_version_type_id = wixl_wix_upgrade_version_get_type_once ();
		g_once_init_leave (&wixl_wix_upgrade_version_type_id__once, wixl_wix_upgrade_version_type_id);
	}
	return wixl_wix_upgrade_version_type_id__once;
}

static void
_vala_wixl_wix_upgrade_version_get_property (GObject * object,
                                             guint property_id,
                                             GValue * value,
                                             GParamSpec * pspec)
{
	WixlWixUpgradeVersion * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_UPGRADE_VERSION, WixlWixUpgradeVersion);
	switch (property_id) {
		case WIXL_WIX_UPGRADE_VERSION_MINIMUM_PROPERTY:
		g_value_set_string (value, wixl_wix_upgrade_version_get_Minimum (self));
		break;
		case WIXL_WIX_UPGRADE_VERSION_MAXIMUM_PROPERTY:
		g_value_set_string (value, wixl_wix_upgrade_version_get_Maximum (self));
		break;
		case WIXL_WIX_UPGRADE_VERSION_INCLUDE_MINIMUM_PROPERTY:
		g_value_set_string (value, wixl_wix_upgrade_version_get_IncludeMinimum (self));
		break;
		case WIXL_WIX_UPGRADE_VERSION_INCLUDE_MAXIMUM_PROPERTY:
		g_value_set_string (value, wixl_wix_upgrade_version_get_IncludeMaximum (self));
		break;
		case WIXL_WIX_UPGRADE_VERSION_MIGRATE_FEATURES_PROPERTY:
		g_value_set_string (value, wixl_wix_upgrade_version_get_MigrateFeatures (self));
		break;
		case WIXL_WIX_UPGRADE_VERSION_ONLY_DETECT_PROPERTY:
		g_value_set_string (value, wixl_wix_upgrade_version_get_OnlyDetect (self));
		break;
		case WIXL_WIX_UPGRADE_VERSION_PROPERTY_PROPERTY:
		g_value_set_string (value, wixl_wix_upgrade_version_get_Property (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_upgrade_version_set_property (GObject * object,
                                             guint property_id,
                                             const GValue * value,
                                             GParamSpec * pspec)
{
	WixlWixUpgradeVersion * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_UPGRADE_VERSION, WixlWixUpgradeVersion);
	switch (property_id) {
		case WIXL_WIX_UPGRADE_VERSION_MINIMUM_PROPERTY:
		wixl_wix_upgrade_version_set_Minimum (self, g_value_get_string (value));
		break;
		case WIXL_WIX_UPGRADE_VERSION_MAXIMUM_PROPERTY:
		wixl_wix_upgrade_version_set_Maximum (self, g_value_get_string (value));
		break;
		case WIXL_WIX_UPGRADE_VERSION_INCLUDE_MINIMUM_PROPERTY:
		wixl_wix_upgrade_version_set_IncludeMinimum (self, g_value_get_string (value));
		break;
		case WIXL_WIX_UPGRADE_VERSION_INCLUDE_MAXIMUM_PROPERTY:
		wixl_wix_upgrade_version_set_IncludeMaximum (self, g_value_get_string (value));
		break;
		case WIXL_WIX_UPGRADE_VERSION_MIGRATE_FEATURES_PROPERTY:
		wixl_wix_upgrade_version_set_MigrateFeatures (self, g_value_get_string (value));
		break;
		case WIXL_WIX_UPGRADE_VERSION_ONLY_DETECT_PROPERTY:
		wixl_wix_upgrade_version_set_OnlyDetect (self, g_value_get_string (value));
		break;
		case WIXL_WIX_UPGRADE_VERSION_PROPERTY_PROPERTY:
		wixl_wix_upgrade_version_set_Property (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_custom_action_get_instance_private (WixlWixCustomAction* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixCustomAction_private_offset);
}

static void
wixl_wix_custom_action_real_accept (WixlWixNode* base,
                                    WixlWixNodeVisitor* visitor,
                                    GError** error)
{
	WixlWixCustomAction * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixCustomAction*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_custom_action (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixCustomAction*
wixl_wix_custom_action_construct (GType object_type)
{
	WixlWixCustomAction * self = NULL;
	self = (WixlWixCustomAction*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixCustomAction*
wixl_wix_custom_action_new (void)
{
	return wixl_wix_custom_action_construct (WIXL_TYPE_WIX_CUSTOM_ACTION);
}

const gchar*
wixl_wix_custom_action_get_Property (WixlWixCustomAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Property;
	result = _tmp0_;
	return result;
}

void
wixl_wix_custom_action_set_Property (WixlWixCustomAction* self,
                                     const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_custom_action_get_Property (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Property);
		self->priv->_Property = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_PROPERTY_PROPERTY]);
	}
}

const gchar*
wixl_wix_custom_action_get_Execute (WixlWixCustomAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Execute;
	result = _tmp0_;
	return result;
}

void
wixl_wix_custom_action_set_Execute (WixlWixCustomAction* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_custom_action_get_Execute (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Execute);
		self->priv->_Execute = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_EXECUTE_PROPERTY]);
	}
}

const gchar*
wixl_wix_custom_action_get_FileKey (WixlWixCustomAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_FileKey;
	result = _tmp0_;
	return result;
}

void
wixl_wix_custom_action_set_FileKey (WixlWixCustomAction* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_custom_action_get_FileKey (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_FileKey);
		self->priv->_FileKey = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_FILE_KEY_PROPERTY]);
	}
}

const gchar*
wixl_wix_custom_action_get_ExeCommand (WixlWixCustomAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ExeCommand;
	result = _tmp0_;
	return result;
}

void
wixl_wix_custom_action_set_ExeCommand (WixlWixCustomAction* self,
                                       const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_custom_action_get_ExeCommand (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_ExeCommand);
		self->priv->_ExeCommand = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_EXE_COMMAND_PROPERTY]);
	}
}

const gchar*
wixl_wix_custom_action_get_Impersonate (WixlWixCustomAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Impersonate;
	result = _tmp0_;
	return result;
}

void
wixl_wix_custom_action_set_Impersonate (WixlWixCustomAction* self,
                                        const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_custom_action_get_Impersonate (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Impersonate);
		self->priv->_Impersonate = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_IMPERSONATE_PROPERTY]);
	}
}

const gchar*
wixl_wix_custom_action_get_Return (WixlWixCustomAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Return;
	result = _tmp0_;
	return result;
}

void
wixl_wix_custom_action_set_Return (WixlWixCustomAction* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_custom_action_get_Return (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Return);
		self->priv->_Return = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_RETURN_PROPERTY]);
	}
}

const gchar*
wixl_wix_custom_action_get_BinaryKey (WixlWixCustomAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_BinaryKey;
	result = _tmp0_;
	return result;
}

void
wixl_wix_custom_action_set_BinaryKey (WixlWixCustomAction* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_custom_action_get_BinaryKey (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_BinaryKey);
		self->priv->_BinaryKey = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_BINARY_KEY_PROPERTY]);
	}
}

const gchar*
wixl_wix_custom_action_get_DllEntry (WixlWixCustomAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_DllEntry;
	result = _tmp0_;
	return result;
}

void
wixl_wix_custom_action_set_DllEntry (WixlWixCustomAction* self,
                                     const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_custom_action_get_DllEntry (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_DllEntry);
		self->priv->_DllEntry = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_DLL_ENTRY_PROPERTY]);
	}
}

const gchar*
wixl_wix_custom_action_get_HideTarget (WixlWixCustomAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_HideTarget;
	result = _tmp0_;
	return result;
}

void
wixl_wix_custom_action_set_HideTarget (WixlWixCustomAction* self,
                                       const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_custom_action_get_HideTarget (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_HideTarget);
		self->priv->_HideTarget = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_HIDE_TARGET_PROPERTY]);
	}
}

const gchar*
wixl_wix_custom_action_get_JScriptCall (WixlWixCustomAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_JScriptCall;
	result = _tmp0_;
	return result;
}

void
wixl_wix_custom_action_set_JScriptCall (WixlWixCustomAction* self,
                                        const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_custom_action_get_JScriptCall (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_JScriptCall);
		self->priv->_JScriptCall = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_JSCRIPT_CALL_PROPERTY]);
	}
}

const gchar*
wixl_wix_custom_action_get_Value (WixlWixCustomAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Value;
	result = _tmp0_;
	return result;
}

void
wixl_wix_custom_action_set_Value (WixlWixCustomAction* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_custom_action_get_Value (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Value);
		self->priv->_Value = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_VALUE_PROPERTY]);
	}
}

static void
wixl_wix_custom_action_class_init (WixlWixCustomActionClass * klass,
                                   gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_custom_action_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixCustomAction_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_custom_action_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_custom_action_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_custom_action_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_custom_action_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CUSTOM_ACTION_PROPERTY_PROPERTY, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_PROPERTY_PROPERTY] = g_param_spec_string ("Property", "Property", "Property", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CUSTOM_ACTION_EXECUTE_PROPERTY, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_EXECUTE_PROPERTY] = g_param_spec_string ("Execute", "Execute", "Execute", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CUSTOM_ACTION_FILE_KEY_PROPERTY, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_FILE_KEY_PROPERTY] = g_param_spec_string ("FileKey", "FileKey", "FileKey", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CUSTOM_ACTION_EXE_COMMAND_PROPERTY, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_EXE_COMMAND_PROPERTY] = g_param_spec_string ("ExeCommand", "ExeCommand", "ExeCommand", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CUSTOM_ACTION_IMPERSONATE_PROPERTY, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_IMPERSONATE_PROPERTY] = g_param_spec_string ("Impersonate", "Impersonate", "Impersonate", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CUSTOM_ACTION_RETURN_PROPERTY, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_RETURN_PROPERTY] = g_param_spec_string ("Return", "Return", "Return", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CUSTOM_ACTION_BINARY_KEY_PROPERTY, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_BINARY_KEY_PROPERTY] = g_param_spec_string ("BinaryKey", "BinaryKey", "BinaryKey", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CUSTOM_ACTION_DLL_ENTRY_PROPERTY, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_DLL_ENTRY_PROPERTY] = g_param_spec_string ("DllEntry", "DllEntry", "DllEntry", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CUSTOM_ACTION_HIDE_TARGET_PROPERTY, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_HIDE_TARGET_PROPERTY] = g_param_spec_string ("HideTarget", "HideTarget", "HideTarget", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CUSTOM_ACTION_JSCRIPT_CALL_PROPERTY, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_JSCRIPT_CALL_PROPERTY] = g_param_spec_string ("JScriptCall", "JScriptCall", "JScriptCall", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CUSTOM_ACTION_VALUE_PROPERTY, wixl_wix_custom_action_properties[WIXL_WIX_CUSTOM_ACTION_VALUE_PROPERTY] = g_param_spec_string ("Value", "Value", "Value", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("CustomAction");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_custom_action_instance_init (WixlWixCustomAction * self,
                                      gpointer klass)
{
	self->priv = wixl_wix_custom_action_get_instance_private (self);
}

static void
wixl_wix_custom_action_finalize (GObject * obj)
{
	WixlWixCustomAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_CUSTOM_ACTION, WixlWixCustomAction);
	_g_free0 (self->priv->_Property);
	_g_free0 (self->priv->_Execute);
	_g_free0 (self->priv->_FileKey);
	_g_free0 (self->priv->_ExeCommand);
	_g_free0 (self->priv->_Impersonate);
	_g_free0 (self->priv->_Return);
	_g_free0 (self->priv->_BinaryKey);
	_g_free0 (self->priv->_DllEntry);
	_g_free0 (self->priv->_HideTarget);
	_g_free0 (self->priv->_JScriptCall);
	_g_free0 (self->priv->_Value);
	G_OBJECT_CLASS (wixl_wix_custom_action_parent_class)->finalize (obj);
}

static GType
wixl_wix_custom_action_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixCustomActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_custom_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixCustomAction), 0, (GInstanceInitFunc) wixl_wix_custom_action_instance_init, NULL };
	GType wixl_wix_custom_action_type_id;
	wixl_wix_custom_action_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixCustomAction", &g_define_type_info, 0);
	WixlWixCustomAction_private_offset = g_type_add_instance_private (wixl_wix_custom_action_type_id, sizeof (WixlWixCustomActionPrivate));
	return wixl_wix_custom_action_type_id;
}

GType
wixl_wix_custom_action_get_type (void)
{
	static volatile gsize wixl_wix_custom_action_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_custom_action_type_id__once)) {
		GType wixl_wix_custom_action_type_id;
		wixl_wix_custom_action_type_id = wixl_wix_custom_action_get_type_once ();
		g_once_init_leave (&wixl_wix_custom_action_type_id__once, wixl_wix_custom_action_type_id);
	}
	return wixl_wix_custom_action_type_id__once;
}

static void
_vala_wixl_wix_custom_action_get_property (GObject * object,
                                           guint property_id,
                                           GValue * value,
                                           GParamSpec * pspec)
{
	WixlWixCustomAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_CUSTOM_ACTION, WixlWixCustomAction);
	switch (property_id) {
		case WIXL_WIX_CUSTOM_ACTION_PROPERTY_PROPERTY:
		g_value_set_string (value, wixl_wix_custom_action_get_Property (self));
		break;
		case WIXL_WIX_CUSTOM_ACTION_EXECUTE_PROPERTY:
		g_value_set_string (value, wixl_wix_custom_action_get_Execute (self));
		break;
		case WIXL_WIX_CUSTOM_ACTION_FILE_KEY_PROPERTY:
		g_value_set_string (value, wixl_wix_custom_action_get_FileKey (self));
		break;
		case WIXL_WIX_CUSTOM_ACTION_EXE_COMMAND_PROPERTY:
		g_value_set_string (value, wixl_wix_custom_action_get_ExeCommand (self));
		break;
		case WIXL_WIX_CUSTOM_ACTION_IMPERSONATE_PROPERTY:
		g_value_set_string (value, wixl_wix_custom_action_get_Impersonate (self));
		break;
		case WIXL_WIX_CUSTOM_ACTION_RETURN_PROPERTY:
		g_value_set_string (value, wixl_wix_custom_action_get_Return (self));
		break;
		case WIXL_WIX_CUSTOM_ACTION_BINARY_KEY_PROPERTY:
		g_value_set_string (value, wixl_wix_custom_action_get_BinaryKey (self));
		break;
		case WIXL_WIX_CUSTOM_ACTION_DLL_ENTRY_PROPERTY:
		g_value_set_string (value, wixl_wix_custom_action_get_DllEntry (self));
		break;
		case WIXL_WIX_CUSTOM_ACTION_HIDE_TARGET_PROPERTY:
		g_value_set_string (value, wixl_wix_custom_action_get_HideTarget (self));
		break;
		case WIXL_WIX_CUSTOM_ACTION_JSCRIPT_CALL_PROPERTY:
		g_value_set_string (value, wixl_wix_custom_action_get_JScriptCall (self));
		break;
		case WIXL_WIX_CUSTOM_ACTION_VALUE_PROPERTY:
		g_value_set_string (value, wixl_wix_custom_action_get_Value (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_custom_action_set_property (GObject * object,
                                           guint property_id,
                                           const GValue * value,
                                           GParamSpec * pspec)
{
	WixlWixCustomAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_CUSTOM_ACTION, WixlWixCustomAction);
	switch (property_id) {
		case WIXL_WIX_CUSTOM_ACTION_PROPERTY_PROPERTY:
		wixl_wix_custom_action_set_Property (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CUSTOM_ACTION_EXECUTE_PROPERTY:
		wixl_wix_custom_action_set_Execute (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CUSTOM_ACTION_FILE_KEY_PROPERTY:
		wixl_wix_custom_action_set_FileKey (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CUSTOM_ACTION_EXE_COMMAND_PROPERTY:
		wixl_wix_custom_action_set_ExeCommand (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CUSTOM_ACTION_IMPERSONATE_PROPERTY:
		wixl_wix_custom_action_set_Impersonate (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CUSTOM_ACTION_RETURN_PROPERTY:
		wixl_wix_custom_action_set_Return (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CUSTOM_ACTION_BINARY_KEY_PROPERTY:
		wixl_wix_custom_action_set_BinaryKey (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CUSTOM_ACTION_DLL_ENTRY_PROPERTY:
		wixl_wix_custom_action_set_DllEntry (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CUSTOM_ACTION_HIDE_TARGET_PROPERTY:
		wixl_wix_custom_action_set_HideTarget (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CUSTOM_ACTION_JSCRIPT_CALL_PROPERTY:
		wixl_wix_custom_action_set_JScriptCall (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CUSTOM_ACTION_VALUE_PROPERTY:
		wixl_wix_custom_action_set_Value (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_binary_get_instance_private (WixlWixBinary* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixBinary_private_offset);
}

static void
wixl_wix_binary_real_accept (WixlWixNode* base,
                             WixlWixNodeVisitor* visitor,
                             GError** error)
{
	WixlWixBinary * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixBinary*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_binary (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixBinary*
wixl_wix_binary_construct (GType object_type)
{
	WixlWixBinary * self = NULL;
	self = (WixlWixBinary*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixBinary*
wixl_wix_binary_new (void)
{
	return wixl_wix_binary_construct (WIXL_TYPE_WIX_BINARY);
}

const gchar*
wixl_wix_binary_get_SourceFile (WixlWixBinary* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_SourceFile;
	result = _tmp0_;
	return result;
}

void
wixl_wix_binary_set_SourceFile (WixlWixBinary* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_binary_get_SourceFile (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_SourceFile);
		self->priv->_SourceFile = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_binary_properties[WIXL_WIX_BINARY_SOURCE_FILE_PROPERTY]);
	}
}

static void
wixl_wix_binary_class_init (WixlWixBinaryClass * klass,
                            gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_binary_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixBinary_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_binary_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_binary_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_binary_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_binary_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_BINARY_SOURCE_FILE_PROPERTY, wixl_wix_binary_properties[WIXL_WIX_BINARY_SOURCE_FILE_PROPERTY] = g_param_spec_string ("SourceFile", "SourceFile", "SourceFile", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Binary");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_binary_instance_init (WixlWixBinary * self,
                               gpointer klass)
{
	self->priv = wixl_wix_binary_get_instance_private (self);
}

static void
wixl_wix_binary_finalize (GObject * obj)
{
	WixlWixBinary * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_BINARY, WixlWixBinary);
	_g_free0 (self->priv->_SourceFile);
	_g_object_unref0 (self->file);
	G_OBJECT_CLASS (wixl_wix_binary_parent_class)->finalize (obj);
}

static GType
wixl_wix_binary_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixBinaryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_binary_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixBinary), 0, (GInstanceInitFunc) wixl_wix_binary_instance_init, NULL };
	GType wixl_wix_binary_type_id;
	wixl_wix_binary_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixBinary", &g_define_type_info, 0);
	WixlWixBinary_private_offset = g_type_add_instance_private (wixl_wix_binary_type_id, sizeof (WixlWixBinaryPrivate));
	return wixl_wix_binary_type_id;
}

GType
wixl_wix_binary_get_type (void)
{
	static volatile gsize wixl_wix_binary_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_binary_type_id__once)) {
		GType wixl_wix_binary_type_id;
		wixl_wix_binary_type_id = wixl_wix_binary_get_type_once ();
		g_once_init_leave (&wixl_wix_binary_type_id__once, wixl_wix_binary_type_id);
	}
	return wixl_wix_binary_type_id__once;
}

static void
_vala_wixl_wix_binary_get_property (GObject * object,
                                    guint property_id,
                                    GValue * value,
                                    GParamSpec * pspec)
{
	WixlWixBinary * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_BINARY, WixlWixBinary);
	switch (property_id) {
		case WIXL_WIX_BINARY_SOURCE_FILE_PROPERTY:
		g_value_set_string (value, wixl_wix_binary_get_SourceFile (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_binary_set_property (GObject * object,
                                    guint property_id,
                                    const GValue * value,
                                    GParamSpec * pspec)
{
	WixlWixBinary * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_BINARY, WixlWixBinary);
	switch (property_id) {
		case WIXL_WIX_BINARY_SOURCE_FILE_PROPERTY:
		wixl_wix_binary_set_SourceFile (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_major_upgrade_get_instance_private (WixlWixMajorUpgrade* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixMajorUpgrade_private_offset);
}

static void
wixl_wix_major_upgrade_real_accept (WixlWixNode* base,
                                    WixlWixNodeVisitor* visitor,
                                    GError** error)
{
	WixlWixMajorUpgrade * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixMajorUpgrade*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_major_upgrade (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixMajorUpgrade*
wixl_wix_major_upgrade_construct (GType object_type)
{
	WixlWixMajorUpgrade * self = NULL;
	self = (WixlWixMajorUpgrade*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixMajorUpgrade*
wixl_wix_major_upgrade_new (void)
{
	return wixl_wix_major_upgrade_construct (WIXL_TYPE_WIX_MAJOR_UPGRADE);
}

const gchar*
wixl_wix_major_upgrade_get_DowngradeErrorMessage (WixlWixMajorUpgrade* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_DowngradeErrorMessage;
	result = _tmp0_;
	return result;
}

void
wixl_wix_major_upgrade_set_DowngradeErrorMessage (WixlWixMajorUpgrade* self,
                                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_major_upgrade_get_DowngradeErrorMessage (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_DowngradeErrorMessage);
		self->priv->_DowngradeErrorMessage = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_major_upgrade_properties[WIXL_WIX_MAJOR_UPGRADE_DOWNGRADE_ERROR_MESSAGE_PROPERTY]);
	}
}

const gchar*
wixl_wix_major_upgrade_get_AllowSameVersionUpgrades (WixlWixMajorUpgrade* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_AllowSameVersionUpgrades;
	result = _tmp0_;
	return result;
}

void
wixl_wix_major_upgrade_set_AllowSameVersionUpgrades (WixlWixMajorUpgrade* self,
                                                     const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_major_upgrade_get_AllowSameVersionUpgrades (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_AllowSameVersionUpgrades);
		self->priv->_AllowSameVersionUpgrades = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_major_upgrade_properties[WIXL_WIX_MAJOR_UPGRADE_ALLOW_SAME_VERSION_UPGRADES_PROPERTY]);
	}
}

const gchar*
wixl_wix_major_upgrade_get_AllowDowngrades (WixlWixMajorUpgrade* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_AllowDowngrades;
	result = _tmp0_;
	return result;
}

void
wixl_wix_major_upgrade_set_AllowDowngrades (WixlWixMajorUpgrade* self,
                                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_major_upgrade_get_AllowDowngrades (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_AllowDowngrades);
		self->priv->_AllowDowngrades = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_major_upgrade_properties[WIXL_WIX_MAJOR_UPGRADE_ALLOW_DOWNGRADES_PROPERTY]);
	}
}

static void
wixl_wix_major_upgrade_class_init (WixlWixMajorUpgradeClass * klass,
                                   gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_major_upgrade_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixMajorUpgrade_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_major_upgrade_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_major_upgrade_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_major_upgrade_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_major_upgrade_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_MAJOR_UPGRADE_DOWNGRADE_ERROR_MESSAGE_PROPERTY, wixl_wix_major_upgrade_properties[WIXL_WIX_MAJOR_UPGRADE_DOWNGRADE_ERROR_MESSAGE_PROPERTY] = g_param_spec_string ("DowngradeErrorMessage", "DowngradeErrorMessage", "DowngradeErrorMessage", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_MAJOR_UPGRADE_ALLOW_SAME_VERSION_UPGRADES_PROPERTY, wixl_wix_major_upgrade_properties[WIXL_WIX_MAJOR_UPGRADE_ALLOW_SAME_VERSION_UPGRADES_PROPERTY] = g_param_spec_string ("AllowSameVersionUpgrades", "AllowSameVersionUpgrades", "AllowSameVersionUpgrades", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_MAJOR_UPGRADE_ALLOW_DOWNGRADES_PROPERTY, wixl_wix_major_upgrade_properties[WIXL_WIX_MAJOR_UPGRADE_ALLOW_DOWNGRADES_PROPERTY] = g_param_spec_string ("AllowDowngrades", "AllowDowngrades", "AllowDowngrades", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("MajorUpgrade");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_major_upgrade_instance_init (WixlWixMajorUpgrade * self,
                                      gpointer klass)
{
	self->priv = wixl_wix_major_upgrade_get_instance_private (self);
}

static void
wixl_wix_major_upgrade_finalize (GObject * obj)
{
	WixlWixMajorUpgrade * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_MAJOR_UPGRADE, WixlWixMajorUpgrade);
	_g_free0 (self->priv->_DowngradeErrorMessage);
	_g_free0 (self->priv->_AllowSameVersionUpgrades);
	_g_free0 (self->priv->_AllowDowngrades);
	G_OBJECT_CLASS (wixl_wix_major_upgrade_parent_class)->finalize (obj);
}

static GType
wixl_wix_major_upgrade_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixMajorUpgradeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_major_upgrade_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixMajorUpgrade), 0, (GInstanceInitFunc) wixl_wix_major_upgrade_instance_init, NULL };
	GType wixl_wix_major_upgrade_type_id;
	wixl_wix_major_upgrade_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixMajorUpgrade", &g_define_type_info, 0);
	WixlWixMajorUpgrade_private_offset = g_type_add_instance_private (wixl_wix_major_upgrade_type_id, sizeof (WixlWixMajorUpgradePrivate));
	return wixl_wix_major_upgrade_type_id;
}

GType
wixl_wix_major_upgrade_get_type (void)
{
	static volatile gsize wixl_wix_major_upgrade_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_major_upgrade_type_id__once)) {
		GType wixl_wix_major_upgrade_type_id;
		wixl_wix_major_upgrade_type_id = wixl_wix_major_upgrade_get_type_once ();
		g_once_init_leave (&wixl_wix_major_upgrade_type_id__once, wixl_wix_major_upgrade_type_id);
	}
	return wixl_wix_major_upgrade_type_id__once;
}

static void
_vala_wixl_wix_major_upgrade_get_property (GObject * object,
                                           guint property_id,
                                           GValue * value,
                                           GParamSpec * pspec)
{
	WixlWixMajorUpgrade * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_MAJOR_UPGRADE, WixlWixMajorUpgrade);
	switch (property_id) {
		case WIXL_WIX_MAJOR_UPGRADE_DOWNGRADE_ERROR_MESSAGE_PROPERTY:
		g_value_set_string (value, wixl_wix_major_upgrade_get_DowngradeErrorMessage (self));
		break;
		case WIXL_WIX_MAJOR_UPGRADE_ALLOW_SAME_VERSION_UPGRADES_PROPERTY:
		g_value_set_string (value, wixl_wix_major_upgrade_get_AllowSameVersionUpgrades (self));
		break;
		case WIXL_WIX_MAJOR_UPGRADE_ALLOW_DOWNGRADES_PROPERTY:
		g_value_set_string (value, wixl_wix_major_upgrade_get_AllowDowngrades (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_major_upgrade_set_property (GObject * object,
                                           guint property_id,
                                           const GValue * value,
                                           GParamSpec * pspec)
{
	WixlWixMajorUpgrade * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_MAJOR_UPGRADE, WixlWixMajorUpgrade);
	switch (property_id) {
		case WIXL_WIX_MAJOR_UPGRADE_DOWNGRADE_ERROR_MESSAGE_PROPERTY:
		wixl_wix_major_upgrade_set_DowngradeErrorMessage (self, g_value_get_string (value));
		break;
		case WIXL_WIX_MAJOR_UPGRADE_ALLOW_SAME_VERSION_UPGRADES_PROPERTY:
		wixl_wix_major_upgrade_set_AllowSameVersionUpgrades (self, g_value_get_string (value));
		break;
		case WIXL_WIX_MAJOR_UPGRADE_ALLOW_DOWNGRADES_PROPERTY:
		wixl_wix_major_upgrade_set_AllowDowngrades (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_media_template_get_instance_private (WixlWixMediaTemplate* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixMediaTemplate_private_offset);
}

static void
wixl_wix_media_template_real_accept (WixlWixNode* base,
                                     WixlWixNodeVisitor* visitor,
                                     GError** error)
{
	WixlWixMediaTemplate * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixMediaTemplate*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_media_template (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixMediaTemplate*
wixl_wix_media_template_construct (GType object_type)
{
	WixlWixMediaTemplate * self = NULL;
	self = (WixlWixMediaTemplate*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixMediaTemplate*
wixl_wix_media_template_new (void)
{
	return wixl_wix_media_template_construct (WIXL_TYPE_WIX_MEDIA_TEMPLATE);
}

const gchar*
wixl_wix_media_template_get_EmbedCab (WixlWixMediaTemplate* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_EmbedCab;
	result = _tmp0_;
	return result;
}

void
wixl_wix_media_template_set_EmbedCab (WixlWixMediaTemplate* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_media_template_get_EmbedCab (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_EmbedCab);
		self->priv->_EmbedCab = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_media_template_properties[WIXL_WIX_MEDIA_TEMPLATE_EMBED_CAB_PROPERTY]);
	}
}

static void
wixl_wix_media_template_class_init (WixlWixMediaTemplateClass * klass,
                                    gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_media_template_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixMediaTemplate_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_media_template_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_media_template_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_media_template_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_media_template_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_MEDIA_TEMPLATE_EMBED_CAB_PROPERTY, wixl_wix_media_template_properties[WIXL_WIX_MEDIA_TEMPLATE_EMBED_CAB_PROPERTY] = g_param_spec_string ("EmbedCab", "EmbedCab", "EmbedCab", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("MediaTemplate");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_media_template_instance_init (WixlWixMediaTemplate * self,
                                       gpointer klass)
{
	self->priv = wixl_wix_media_template_get_instance_private (self);
}

static void
wixl_wix_media_template_finalize (GObject * obj)
{
	WixlWixMediaTemplate * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_MEDIA_TEMPLATE, WixlWixMediaTemplate);
	_g_free0 (self->priv->_EmbedCab);
	G_OBJECT_CLASS (wixl_wix_media_template_parent_class)->finalize (obj);
}

static GType
wixl_wix_media_template_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixMediaTemplateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_media_template_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixMediaTemplate), 0, (GInstanceInitFunc) wixl_wix_media_template_instance_init, NULL };
	GType wixl_wix_media_template_type_id;
	wixl_wix_media_template_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixMediaTemplate", &g_define_type_info, 0);
	WixlWixMediaTemplate_private_offset = g_type_add_instance_private (wixl_wix_media_template_type_id, sizeof (WixlWixMediaTemplatePrivate));
	return wixl_wix_media_template_type_id;
}

GType
wixl_wix_media_template_get_type (void)
{
	static volatile gsize wixl_wix_media_template_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_media_template_type_id__once)) {
		GType wixl_wix_media_template_type_id;
		wixl_wix_media_template_type_id = wixl_wix_media_template_get_type_once ();
		g_once_init_leave (&wixl_wix_media_template_type_id__once, wixl_wix_media_template_type_id);
	}
	return wixl_wix_media_template_type_id__once;
}

static void
_vala_wixl_wix_media_template_get_property (GObject * object,
                                            guint property_id,
                                            GValue * value,
                                            GParamSpec * pspec)
{
	WixlWixMediaTemplate * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_MEDIA_TEMPLATE, WixlWixMediaTemplate);
	switch (property_id) {
		case WIXL_WIX_MEDIA_TEMPLATE_EMBED_CAB_PROPERTY:
		g_value_set_string (value, wixl_wix_media_template_get_EmbedCab (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_media_template_set_property (GObject * object,
                                            guint property_id,
                                            const GValue * value,
                                            GParamSpec * pspec)
{
	WixlWixMediaTemplate * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_MEDIA_TEMPLATE, WixlWixMediaTemplate);
	switch (property_id) {
		case WIXL_WIX_MEDIA_TEMPLATE_EMBED_CAB_PROPERTY:
		wixl_wix_media_template_set_EmbedCab (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_product_get_instance_private (WixlWixProduct* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixProduct_private_offset);
}

WixlWixProduct*
wixl_wix_product_construct (GType object_type)
{
	WixlWixProduct * self = NULL;
	self = (WixlWixProduct*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixProduct*
wixl_wix_product_new (void)
{
	return wixl_wix_product_construct (WIXL_TYPE_WIX_PRODUCT);
}

static void
wixl_wix_product_real_accept (WixlWixNode* base,
                              WixlWixNodeVisitor* visitor,
                              GError** error)
{
	WixlWixProduct * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixProduct*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_product_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_product (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

const gchar*
wixl_wix_product_get_Name (WixlWixProduct* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Name;
	result = _tmp0_;
	return result;
}

void
wixl_wix_product_set_Name (WixlWixProduct* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_product_get_Name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Name);
		self->priv->_Name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_product_properties[WIXL_WIX_PRODUCT_NAME_PROPERTY]);
	}
}

const gchar*
wixl_wix_product_get_UpgradeCode (WixlWixProduct* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_UpgradeCode;
	result = _tmp0_;
	return result;
}

void
wixl_wix_product_set_UpgradeCode (WixlWixProduct* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_product_get_UpgradeCode (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_UpgradeCode);
		self->priv->_UpgradeCode = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_product_properties[WIXL_WIX_PRODUCT_UPGRADE_CODE_PROPERTY]);
	}
}

const gchar*
wixl_wix_product_get_Language (WixlWixProduct* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Language;
	result = _tmp0_;
	return result;
}

void
wixl_wix_product_set_Language (WixlWixProduct* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_product_get_Language (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Language);
		self->priv->_Language = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_product_properties[WIXL_WIX_PRODUCT_LANGUAGE_PROPERTY]);
	}
}

const gchar*
wixl_wix_product_get_Codepage (WixlWixProduct* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Codepage;
	result = _tmp0_;
	return result;
}

void
wixl_wix_product_set_Codepage (WixlWixProduct* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_product_get_Codepage (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Codepage);
		self->priv->_Codepage = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_product_properties[WIXL_WIX_PRODUCT_CODEPAGE_PROPERTY]);
	}
}

const gchar*
wixl_wix_product_get_Version (WixlWixProduct* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Version;
	result = _tmp0_;
	return result;
}

void
wixl_wix_product_set_Version (WixlWixProduct* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_product_get_Version (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Version);
		self->priv->_Version = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_product_properties[WIXL_WIX_PRODUCT_VERSION_PROPERTY]);
	}
}

const gchar*
wixl_wix_product_get_Manufacturer (WixlWixProduct* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Manufacturer;
	result = _tmp0_;
	return result;
}

void
wixl_wix_product_set_Manufacturer (WixlWixProduct* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_product_get_Manufacturer (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Manufacturer);
		self->priv->_Manufacturer = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_product_properties[WIXL_WIX_PRODUCT_MANUFACTURER_PROPERTY]);
	}
}

static void
wixl_wix_product_class_init (WixlWixProductClass * klass,
                             gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_product_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixProduct_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_product_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_product_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_product_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_product_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PRODUCT_NAME_PROPERTY, wixl_wix_product_properties[WIXL_WIX_PRODUCT_NAME_PROPERTY] = g_param_spec_string ("Name", "Name", "Name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PRODUCT_UPGRADE_CODE_PROPERTY, wixl_wix_product_properties[WIXL_WIX_PRODUCT_UPGRADE_CODE_PROPERTY] = g_param_spec_string ("UpgradeCode", "UpgradeCode", "UpgradeCode", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PRODUCT_LANGUAGE_PROPERTY, wixl_wix_product_properties[WIXL_WIX_PRODUCT_LANGUAGE_PROPERTY] = g_param_spec_string ("Language", "Language", "Language", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PRODUCT_CODEPAGE_PROPERTY, wixl_wix_product_properties[WIXL_WIX_PRODUCT_CODEPAGE_PROPERTY] = g_param_spec_string ("Codepage", "Codepage", "Codepage", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PRODUCT_VERSION_PROPERTY, wixl_wix_product_properties[WIXL_WIX_PRODUCT_VERSION_PROPERTY] = g_param_spec_string ("Version", "Version", "Version", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PRODUCT_MANUFACTURER_PROPERTY, wixl_wix_product_properties[WIXL_WIX_PRODUCT_MANUFACTURER_PROPERTY] = g_param_spec_string ("Manufacturer", "Manufacturer", "Manufacturer", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Product");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 20);
	_tmp2_[0] = WIXL_TYPE_WIX_COMPONENT_GROUP;
	_tmp2_[1] = WIXL_TYPE_WIX_CONDITION;
	_tmp2_[2] = WIXL_TYPE_WIX_DIRECTORY;
	_tmp2_[3] = WIXL_TYPE_WIX_DIRECTORY_REF;
	_tmp2_[4] = WIXL_TYPE_WIX_FEATURE;
	_tmp2_[5] = WIXL_TYPE_WIX_ICON;
	_tmp2_[6] = WIXL_TYPE_WIX_INSTALL_EXECUTE_SEQUENCE;
	_tmp2_[7] = WIXL_TYPE_WIX_INSTALL_UI_SEQUENCE;
	_tmp2_[8] = WIXL_TYPE_WIX_ADMIN_EXECUTE_SEQUENCE;
	_tmp2_[9] = WIXL_TYPE_WIX_ADMIN_UI_SEQUENCE;
	_tmp2_[10] = WIXL_TYPE_WIX_ADVERTISE_EXECUTE_SEQUENCE;
	_tmp2_[11] = WIXL_TYPE_WIX_MEDIA;
	_tmp2_[12] = WIXL_TYPE_WIX_PACKAGE;
	_tmp2_[13] = WIXL_TYPE_WIX_PROPERTY;
	_tmp2_[14] = WIXL_TYPE_WIX_UPGRADE;
	_tmp2_[15] = WIXL_TYPE_WIX_CUSTOM_ACTION;
	_tmp2_[16] = WIXL_TYPE_WIX_BINARY;
	_tmp2_[17] = WIXL_TYPE_WIX_MAJOR_UPGRADE;
	_tmp2_[18] = WIXL_TYPE_WIX_MEDIA_TEMPLATE;
	_tmp2_[19] = WIXL_TYPE_WIX_UI_REF;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 20;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 20);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_product_instance_init (WixlWixProduct * self,
                                gpointer klass)
{
	self->priv = wixl_wix_product_get_instance_private (self);
}

static void
wixl_wix_product_finalize (GObject * obj)
{
	WixlWixProduct * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_PRODUCT, WixlWixProduct);
	_g_free0 (self->priv->_Name);
	_g_free0 (self->priv->_UpgradeCode);
	_g_free0 (self->priv->_Language);
	_g_free0 (self->priv->_Codepage);
	_g_free0 (self->priv->_Version);
	_g_free0 (self->priv->_Manufacturer);
	G_OBJECT_CLASS (wixl_wix_product_parent_class)->finalize (obj);
}

static GType
wixl_wix_product_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixProductClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_product_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixProduct), 0, (GInstanceInitFunc) wixl_wix_product_instance_init, NULL };
	GType wixl_wix_product_type_id;
	wixl_wix_product_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixProduct", &g_define_type_info, 0);
	WixlWixProduct_private_offset = g_type_add_instance_private (wixl_wix_product_type_id, sizeof (WixlWixProductPrivate));
	return wixl_wix_product_type_id;
}

GType
wixl_wix_product_get_type (void)
{
	static volatile gsize wixl_wix_product_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_product_type_id__once)) {
		GType wixl_wix_product_type_id;
		wixl_wix_product_type_id = wixl_wix_product_get_type_once ();
		g_once_init_leave (&wixl_wix_product_type_id__once, wixl_wix_product_type_id);
	}
	return wixl_wix_product_type_id__once;
}

static void
_vala_wixl_wix_product_get_property (GObject * object,
                                     guint property_id,
                                     GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixProduct * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PRODUCT, WixlWixProduct);
	switch (property_id) {
		case WIXL_WIX_PRODUCT_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_product_get_Name (self));
		break;
		case WIXL_WIX_PRODUCT_UPGRADE_CODE_PROPERTY:
		g_value_set_string (value, wixl_wix_product_get_UpgradeCode (self));
		break;
		case WIXL_WIX_PRODUCT_LANGUAGE_PROPERTY:
		g_value_set_string (value, wixl_wix_product_get_Language (self));
		break;
		case WIXL_WIX_PRODUCT_CODEPAGE_PROPERTY:
		g_value_set_string (value, wixl_wix_product_get_Codepage (self));
		break;
		case WIXL_WIX_PRODUCT_VERSION_PROPERTY:
		g_value_set_string (value, wixl_wix_product_get_Version (self));
		break;
		case WIXL_WIX_PRODUCT_MANUFACTURER_PROPERTY:
		g_value_set_string (value, wixl_wix_product_get_Manufacturer (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_product_set_property (GObject * object,
                                     guint property_id,
                                     const GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixProduct * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PRODUCT, WixlWixProduct);
	switch (property_id) {
		case WIXL_WIX_PRODUCT_NAME_PROPERTY:
		wixl_wix_product_set_Name (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PRODUCT_UPGRADE_CODE_PROPERTY:
		wixl_wix_product_set_UpgradeCode (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PRODUCT_LANGUAGE_PROPERTY:
		wixl_wix_product_set_Language (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PRODUCT_CODEPAGE_PROPERTY:
		wixl_wix_product_set_Codepage (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PRODUCT_VERSION_PROPERTY:
		wixl_wix_product_set_Version (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PRODUCT_MANUFACTURER_PROPERTY:
		wixl_wix_product_set_Manufacturer (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_media_get_instance_private (WixlWixMedia* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixMedia_private_offset);
}

static void
wixl_wix_media_real_accept (WixlWixNode* base,
                            WixlWixNodeVisitor* visitor,
                            GError** error)
{
	WixlWixMedia * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixMedia*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_media (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixMedia*
wixl_wix_media_construct (GType object_type)
{
	WixlWixMedia * self = NULL;
	self = (WixlWixMedia*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixMedia*
wixl_wix_media_new (void)
{
	return wixl_wix_media_construct (WIXL_TYPE_WIX_MEDIA);
}

const gchar*
wixl_wix_media_get_Cabinet (WixlWixMedia* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Cabinet;
	result = _tmp0_;
	return result;
}

void
wixl_wix_media_set_Cabinet (WixlWixMedia* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_media_get_Cabinet (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Cabinet);
		self->priv->_Cabinet = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_media_properties[WIXL_WIX_MEDIA_CABINET_PROPERTY]);
	}
}

const gchar*
wixl_wix_media_get_EmbedCab (WixlWixMedia* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_EmbedCab;
	result = _tmp0_;
	return result;
}

void
wixl_wix_media_set_EmbedCab (WixlWixMedia* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_media_get_EmbedCab (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_EmbedCab);
		self->priv->_EmbedCab = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_media_properties[WIXL_WIX_MEDIA_EMBED_CAB_PROPERTY]);
	}
}

const gchar*
wixl_wix_media_get_DiskPrompt (WixlWixMedia* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_DiskPrompt;
	result = _tmp0_;
	return result;
}

void
wixl_wix_media_set_DiskPrompt (WixlWixMedia* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_media_get_DiskPrompt (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_DiskPrompt);
		self->priv->_DiskPrompt = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_media_properties[WIXL_WIX_MEDIA_DISK_PROMPT_PROPERTY]);
	}
}

static void
wixl_wix_media_class_init (WixlWixMediaClass * klass,
                           gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_media_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixMedia_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_media_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_media_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_media_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_media_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_MEDIA_CABINET_PROPERTY, wixl_wix_media_properties[WIXL_WIX_MEDIA_CABINET_PROPERTY] = g_param_spec_string ("Cabinet", "Cabinet", "Cabinet", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_MEDIA_EMBED_CAB_PROPERTY, wixl_wix_media_properties[WIXL_WIX_MEDIA_EMBED_CAB_PROPERTY] = g_param_spec_string ("EmbedCab", "EmbedCab", "EmbedCab", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_MEDIA_DISK_PROMPT_PROPERTY, wixl_wix_media_properties[WIXL_WIX_MEDIA_DISK_PROMPT_PROPERTY] = g_param_spec_string ("DiskPrompt", "DiskPrompt", "DiskPrompt", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Media");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_media_instance_init (WixlWixMedia * self,
                              gpointer klass)
{
	self->priv = wixl_wix_media_get_instance_private (self);
}

static void
wixl_wix_media_finalize (GObject * obj)
{
	WixlWixMedia * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_MEDIA, WixlWixMedia);
	_g_free0 (self->priv->_Cabinet);
	_g_free0 (self->priv->_EmbedCab);
	_g_free0 (self->priv->_DiskPrompt);
	_g_object_unref0 (self->record);
	G_OBJECT_CLASS (wixl_wix_media_parent_class)->finalize (obj);
}

static GType
wixl_wix_media_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixMediaClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_media_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixMedia), 0, (GInstanceInitFunc) wixl_wix_media_instance_init, NULL };
	GType wixl_wix_media_type_id;
	wixl_wix_media_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixMedia", &g_define_type_info, 0);
	WixlWixMedia_private_offset = g_type_add_instance_private (wixl_wix_media_type_id, sizeof (WixlWixMediaPrivate));
	return wixl_wix_media_type_id;
}

GType
wixl_wix_media_get_type (void)
{
	static volatile gsize wixl_wix_media_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_media_type_id__once)) {
		GType wixl_wix_media_type_id;
		wixl_wix_media_type_id = wixl_wix_media_get_type_once ();
		g_once_init_leave (&wixl_wix_media_type_id__once, wixl_wix_media_type_id);
	}
	return wixl_wix_media_type_id__once;
}

static void
_vala_wixl_wix_media_get_property (GObject * object,
                                   guint property_id,
                                   GValue * value,
                                   GParamSpec * pspec)
{
	WixlWixMedia * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_MEDIA, WixlWixMedia);
	switch (property_id) {
		case WIXL_WIX_MEDIA_CABINET_PROPERTY:
		g_value_set_string (value, wixl_wix_media_get_Cabinet (self));
		break;
		case WIXL_WIX_MEDIA_EMBED_CAB_PROPERTY:
		g_value_set_string (value, wixl_wix_media_get_EmbedCab (self));
		break;
		case WIXL_WIX_MEDIA_DISK_PROMPT_PROPERTY:
		g_value_set_string (value, wixl_wix_media_get_DiskPrompt (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_media_set_property (GObject * object,
                                   guint property_id,
                                   const GValue * value,
                                   GParamSpec * pspec)
{
	WixlWixMedia * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_MEDIA, WixlWixMedia);
	switch (property_id) {
		case WIXL_WIX_MEDIA_CABINET_PROPERTY:
		wixl_wix_media_set_Cabinet (self, g_value_get_string (value));
		break;
		case WIXL_WIX_MEDIA_EMBED_CAB_PROPERTY:
		wixl_wix_media_set_EmbedCab (self, g_value_get_string (value));
		break;
		case WIXL_WIX_MEDIA_DISK_PROMPT_PROPERTY:
		wixl_wix_media_set_DiskPrompt (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_registry_key_get_instance_private (WixlWixRegistryKey* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixRegistryKey_private_offset);
}

WixlWixRegistryKey*
wixl_wix_registry_key_construct (GType object_type)
{
	WixlWixRegistryKey * self = NULL;
	self = (WixlWixRegistryKey*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixRegistryKey*
wixl_wix_registry_key_new (void)
{
	return wixl_wix_registry_key_construct (WIXL_TYPE_WIX_REGISTRY_KEY);
}

const gchar*
wixl_wix_registry_key_get_Key (WixlWixRegistryKey* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Key;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_key_set_Key (WixlWixRegistryKey* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_key_get_Key (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Key);
		self->priv->_Key = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_key_properties[WIXL_WIX_REGISTRY_KEY_KEY_PROPERTY]);
	}
}

const gchar*
wixl_wix_registry_key_get_Root (WixlWixRegistryKey* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Root;
	result = _tmp0_;
	return result;
}

void
wixl_wix_registry_key_set_Root (WixlWixRegistryKey* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_registry_key_get_Root (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Root);
		self->priv->_Root = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_registry_key_properties[WIXL_WIX_REGISTRY_KEY_ROOT_PROPERTY]);
	}
}

static void
wixl_wix_registry_key_class_init (WixlWixRegistryKeyClass * klass,
                                  gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_registry_key_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixRegistryKey_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_registry_key_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_registry_key_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_registry_key_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_KEY_KEY_PROPERTY, wixl_wix_registry_key_properties[WIXL_WIX_REGISTRY_KEY_KEY_PROPERTY] = g_param_spec_string ("Key", "Key", "Key", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_REGISTRY_KEY_ROOT_PROPERTY, wixl_wix_registry_key_properties[WIXL_WIX_REGISTRY_KEY_ROOT_PROPERTY] = g_param_spec_string ("Root", "Root", "Root", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("RegistryKey");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 1);
	_tmp2_[0] = WIXL_TYPE_WIX_REGISTRY_VALUE;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 1;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 1);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_registry_key_instance_init (WixlWixRegistryKey * self,
                                     gpointer klass)
{
	self->priv = wixl_wix_registry_key_get_instance_private (self);
}

static void
wixl_wix_registry_key_finalize (GObject * obj)
{
	WixlWixRegistryKey * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_REGISTRY_KEY, WixlWixRegistryKey);
	_g_free0 (self->priv->_Key);
	_g_free0 (self->priv->_Root);
	G_OBJECT_CLASS (wixl_wix_registry_key_parent_class)->finalize (obj);
}

static GType
wixl_wix_registry_key_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixRegistryKeyClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_registry_key_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixRegistryKey), 0, (GInstanceInitFunc) wixl_wix_registry_key_instance_init, NULL };
	GType wixl_wix_registry_key_type_id;
	wixl_wix_registry_key_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixRegistryKey", &g_define_type_info, 0);
	WixlWixRegistryKey_private_offset = g_type_add_instance_private (wixl_wix_registry_key_type_id, sizeof (WixlWixRegistryKeyPrivate));
	return wixl_wix_registry_key_type_id;
}

GType
wixl_wix_registry_key_get_type (void)
{
	static volatile gsize wixl_wix_registry_key_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_registry_key_type_id__once)) {
		GType wixl_wix_registry_key_type_id;
		wixl_wix_registry_key_type_id = wixl_wix_registry_key_get_type_once ();
		g_once_init_leave (&wixl_wix_registry_key_type_id__once, wixl_wix_registry_key_type_id);
	}
	return wixl_wix_registry_key_type_id__once;
}

static void
_vala_wixl_wix_registry_key_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec)
{
	WixlWixRegistryKey * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_REGISTRY_KEY, WixlWixRegistryKey);
	switch (property_id) {
		case WIXL_WIX_REGISTRY_KEY_KEY_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_key_get_Key (self));
		break;
		case WIXL_WIX_REGISTRY_KEY_ROOT_PROPERTY:
		g_value_set_string (value, wixl_wix_registry_key_get_Root (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_registry_key_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec)
{
	WixlWixRegistryKey * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_REGISTRY_KEY, WixlWixRegistryKey);
	switch (property_id) {
		case WIXL_WIX_REGISTRY_KEY_KEY_PROPERTY:
		wixl_wix_registry_key_set_Key (self, g_value_get_string (value));
		break;
		case WIXL_WIX_REGISTRY_KEY_ROOT_PROPERTY:
		wixl_wix_registry_key_set_Root (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_component_get_instance_private (WixlWixComponent* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixComponent_private_offset);
}

static void
wixl_wix_component_real_accept (WixlWixNode* base,
                                WixlWixNodeVisitor* visitor,
                                GError** error)
{
	WixlWixComponent * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixComponent*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_component (visitor, self, WIXL_VISIT_STATE_ENTER, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	WIXL_WIX_NODE_CLASS (wixl_wix_component_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_component (visitor, self, WIXL_VISIT_STATE_LEAVE, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

static gchar*
wixl_wix_component_real_full_path (WixlWixElement* base,
                                   WixlWixResolver* r,
                                   GError** error)
{
	WixlWixComponent * self;
	WixlWixKeyElement* _tmp0_;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_;
	gchar* _tmp4_ = NULL;
	WixlWixKeyElement* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	self = (WixlWixComponent*) base;
	g_return_val_if_fail (r != NULL, NULL);
	_tmp0_ = self->key;
	if (_tmp0_ == NULL) {
		GError* _tmp1_;
		_tmp1_ = g_error_new_literal (WIXL_ERROR, WIXL_ERROR_FAILED, "a child is needed to generate a component GUID");
		_inner_error0_ = _tmp1_;
		g_propagate_error (error, _inner_error0_);
		return NULL;
	}
	_tmp3_ = WIXL_WIX_ELEMENT_CLASS (wixl_wix_component_parent_class)->full_path (G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), r, &_inner_error0_);
	_tmp2_ = _tmp3_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return NULL;
	}
	_tmp5_ = self->key;
	_tmp6_ = wixl_wix_key_element_path_name (_tmp5_, &_inner_error0_);
	_tmp4_ = _tmp6_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_free0 (_tmp2_);
		return NULL;
	}
	_tmp7_ = g_strconcat (_tmp2_, "/", NULL);
	_tmp8_ = _tmp7_;
	_tmp9_ = g_strconcat (_tmp8_, _tmp4_, NULL);
	_tmp10_ = _tmp9_;
	_g_free0 (_tmp8_);
	result = _tmp10_;
	_g_free0 (_tmp4_);
	_g_free0 (_tmp2_);
	return result;
}

WixlWixComponent*
wixl_wix_component_construct (GType object_type)
{
	WixlWixComponent * self = NULL;
	self = (WixlWixComponent*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixComponent*
wixl_wix_component_new (void)
{
	return wixl_wix_component_construct (WIXL_TYPE_WIX_COMPONENT);
}

const gchar*
wixl_wix_component_get_Guid (WixlWixComponent* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Guid;
	result = _tmp0_;
	return result;
}

void
wixl_wix_component_set_Guid (WixlWixComponent* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_component_get_Guid (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Guid);
		self->priv->_Guid = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_component_properties[WIXL_WIX_COMPONENT_GUID_PROPERTY]);
	}
}

const gchar*
wixl_wix_component_get_Win64 (WixlWixComponent* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Win64;
	result = _tmp0_;
	return result;
}

void
wixl_wix_component_set_Win64 (WixlWixComponent* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_component_get_Win64 (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Win64);
		self->priv->_Win64 = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_component_properties[WIXL_WIX_COMPONENT_WIN64_PROPERTY]);
	}
}

const gchar*
wixl_wix_component_get_Permanent (WixlWixComponent* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Permanent;
	result = _tmp0_;
	return result;
}

void
wixl_wix_component_set_Permanent (WixlWixComponent* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_component_get_Permanent (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Permanent);
		self->priv->_Permanent = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_component_properties[WIXL_WIX_COMPONENT_PERMANENT_PROPERTY]);
	}
}

const gchar*
wixl_wix_component_get_Condition (WixlWixComponent* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Condition;
	result = _tmp0_;
	return result;
}

void
wixl_wix_component_set_Condition (WixlWixComponent* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_component_get_Condition (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Condition);
		self->priv->_Condition = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_component_properties[WIXL_WIX_COMPONENT_CONDITION_PROPERTY]);
	}
}

static void
wixl_wix_component_class_init (WixlWixComponentClass * klass,
                               gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_component_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixComponent_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_component_real_accept;
	((WixlWixElementClass *) klass)->full_path = (gchar* (*) (WixlWixElement*, WixlWixResolver*, GError**)) wixl_wix_component_real_full_path;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_component_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_component_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_component_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_COMPONENT_GUID_PROPERTY, wixl_wix_component_properties[WIXL_WIX_COMPONENT_GUID_PROPERTY] = g_param_spec_string ("Guid", "Guid", "Guid", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_COMPONENT_WIN64_PROPERTY, wixl_wix_component_properties[WIXL_WIX_COMPONENT_WIN64_PROPERTY] = g_param_spec_string ("Win64", "Win64", "Win64", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_COMPONENT_PERMANENT_PROPERTY, wixl_wix_component_properties[WIXL_WIX_COMPONENT_PERMANENT_PROPERTY] = g_param_spec_string ("Permanent", "Permanent", "Permanent", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_COMPONENT_CONDITION_PROPERTY, wixl_wix_component_properties[WIXL_WIX_COMPONENT_CONDITION_PROPERTY] = g_param_spec_string ("Condition", "Condition", "Condition", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Component");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 12);
	_tmp2_[0] = WIXL_TYPE_WIX_CREATE_FOLDER;
	_tmp2_[1] = WIXL_TYPE_WIX_REMOVE_FOLDER;
	_tmp2_[2] = WIXL_TYPE_WIX_REGISTRY_VALUE;
	_tmp2_[3] = WIXL_TYPE_WIX_FILE;
	_tmp2_[4] = WIXL_TYPE_WIX_SHORTCUT;
	_tmp2_[5] = WIXL_TYPE_WIX_PROG_ID;
	_tmp2_[6] = WIXL_TYPE_WIX_REGISTRY_KEY;
	_tmp2_[7] = WIXL_TYPE_WIX_SERVICE_CONTROL;
	_tmp2_[8] = WIXL_TYPE_WIX_SERVICE_INSTALL;
	_tmp2_[9] = WIXL_TYPE_WIX_INI_FILE;
	_tmp2_[10] = WIXL_TYPE_WIX_CONDITION;
	_tmp2_[11] = WIXL_TYPE_WIX_ENVIRONMENT;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 12;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 12);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_component_instance_init (WixlWixComponent * self,
                                  gpointer klass)
{
	self->priv = wixl_wix_component_get_instance_private (self);
}

static void
wixl_wix_component_finalize (GObject * obj)
{
	WixlWixComponent * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_COMPONENT, WixlWixComponent);
	_g_free0 (self->priv->_Guid);
	_g_free0 (self->priv->_Win64);
	_g_object_unref0 (self->key);
	_g_free0 (self->priv->_Permanent);
	_g_free0 (self->priv->_Condition);
	(self->in_feature == NULL) ? NULL : (self->in_feature = (_g_list_free__g_object_unref0_ (self->in_feature), NULL));
	G_OBJECT_CLASS (wixl_wix_component_parent_class)->finalize (obj);
}

static GType
wixl_wix_component_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixComponentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_component_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixComponent), 0, (GInstanceInitFunc) wixl_wix_component_instance_init, NULL };
	GType wixl_wix_component_type_id;
	wixl_wix_component_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixComponent", &g_define_type_info, 0);
	WixlWixComponent_private_offset = g_type_add_instance_private (wixl_wix_component_type_id, sizeof (WixlWixComponentPrivate));
	return wixl_wix_component_type_id;
}

GType
wixl_wix_component_get_type (void)
{
	static volatile gsize wixl_wix_component_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_component_type_id__once)) {
		GType wixl_wix_component_type_id;
		wixl_wix_component_type_id = wixl_wix_component_get_type_once ();
		g_once_init_leave (&wixl_wix_component_type_id__once, wixl_wix_component_type_id);
	}
	return wixl_wix_component_type_id__once;
}

static void
_vala_wixl_wix_component_get_property (GObject * object,
                                       guint property_id,
                                       GValue * value,
                                       GParamSpec * pspec)
{
	WixlWixComponent * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_COMPONENT, WixlWixComponent);
	switch (property_id) {
		case WIXL_WIX_COMPONENT_GUID_PROPERTY:
		g_value_set_string (value, wixl_wix_component_get_Guid (self));
		break;
		case WIXL_WIX_COMPONENT_WIN64_PROPERTY:
		g_value_set_string (value, wixl_wix_component_get_Win64 (self));
		break;
		case WIXL_WIX_COMPONENT_PERMANENT_PROPERTY:
		g_value_set_string (value, wixl_wix_component_get_Permanent (self));
		break;
		case WIXL_WIX_COMPONENT_CONDITION_PROPERTY:
		g_value_set_string (value, wixl_wix_component_get_Condition (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_component_set_property (GObject * object,
                                       guint property_id,
                                       const GValue * value,
                                       GParamSpec * pspec)
{
	WixlWixComponent * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_COMPONENT, WixlWixComponent);
	switch (property_id) {
		case WIXL_WIX_COMPONENT_GUID_PROPERTY:
		wixl_wix_component_set_Guid (self, g_value_get_string (value));
		break;
		case WIXL_WIX_COMPONENT_WIN64_PROPERTY:
		wixl_wix_component_set_Win64 (self, g_value_get_string (value));
		break;
		case WIXL_WIX_COMPONENT_PERMANENT_PROPERTY:
		wixl_wix_component_set_Permanent (self, g_value_get_string (value));
		break;
		case WIXL_WIX_COMPONENT_CONDITION_PROPERTY:
		wixl_wix_component_set_Condition (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_directory_get_instance_private (WixlWixDirectory* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixDirectory_private_offset);
}

static void
wixl_wix_directory_real_accept (WixlWixNode* base,
                                WixlWixNodeVisitor* visitor,
                                GError** error)
{
	WixlWixDirectory * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixDirectory*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_directory_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_directory (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

gchar*
wixl_wix_directory_path_name (WixlWixDirectory* self)
{
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_;
	gchar* _tmp4_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp1_ = self->priv->_Name;
	_tmp0_ = _tmp1_;
	if (_tmp0_ == NULL) {
		const gchar* _tmp2_;
		const gchar* _tmp3_;
		_tmp2_ = wixl_wix_element_get_Id ((WixlWixElement*) self);
		_tmp3_ = _tmp2_;
		_tmp0_ = _tmp3_;
	}
	_tmp4_ = g_strdup (_tmp0_);
	result = _tmp4_;
	return result;
}

static gchar*
wixl_wix_directory_real_full_path (WixlWixElement* base,
                                   WixlWixResolver* r,
                                   GError** error)
{
	WixlWixDirectory * self;
	gboolean _tmp0_ = FALSE;
	WixlWixElement* _tmp1_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	self = (WixlWixDirectory*) base;
	g_return_val_if_fail (r != NULL, NULL);
	_tmp1_ = ((WixlWixNode*) self)->parent;
	if (_tmp1_ != NULL) {
		gboolean _tmp2_ = FALSE;
		WixlWixElement* _tmp3_;
		_tmp3_ = ((WixlWixNode*) self)->parent;
		if (WIXL_IS_WIX_DIRECTORY (_tmp3_)) {
			_tmp2_ = TRUE;
		} else {
			WixlWixElement* _tmp4_;
			_tmp4_ = ((WixlWixNode*) self)->parent;
			_tmp2_ = WIXL_IS_WIX_DIRECTORY_REF (_tmp4_);
		}
		_tmp0_ = _tmp2_;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		gchar* _tmp5_ = NULL;
		WixlWixElement* _tmp6_;
		gchar* _tmp7_;
		gchar* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		gchar* _tmp13_;
		_tmp6_ = ((WixlWixNode*) self)->parent;
		_tmp7_ = wixl_wix_element_full_path (_tmp6_, r, &_inner_error0_);
		_tmp5_ = _tmp7_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			g_propagate_error (error, _inner_error0_);
			return NULL;
		}
		_tmp8_ = g_strconcat (_tmp5_, "/", NULL);
		_tmp9_ = _tmp8_;
		_tmp10_ = wixl_wix_directory_path_name (self);
		_tmp11_ = _tmp10_;
		_tmp12_ = g_strconcat (_tmp9_, _tmp11_, NULL);
		_tmp13_ = _tmp12_;
		_g_free0 (_tmp11_);
		_g_free0 (_tmp9_);
		result = _tmp13_;
		_g_free0 (_tmp5_);
		return result;
	} else {
		gchar* _tmp14_;
		_tmp14_ = wixl_wix_directory_path_name (self);
		result = _tmp14_;
		return result;
	}
}

WixlWixDirectory*
wixl_wix_directory_construct (GType object_type)
{
	WixlWixDirectory * self = NULL;
	self = (WixlWixDirectory*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixDirectory*
wixl_wix_directory_new (void)
{
	return wixl_wix_directory_construct (WIXL_TYPE_WIX_DIRECTORY);
}

const gchar*
wixl_wix_directory_get_Name (WixlWixDirectory* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Name;
	result = _tmp0_;
	return result;
}

void
wixl_wix_directory_set_Name (WixlWixDirectory* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_directory_get_Name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Name);
		self->priv->_Name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_directory_properties[WIXL_WIX_DIRECTORY_NAME_PROPERTY]);
	}
}

static void
wixl_wix_directory_class_init (WixlWixDirectoryClass * klass,
                               gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_directory_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixDirectory_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_directory_real_accept;
	((WixlWixElementClass *) klass)->full_path = (gchar* (*) (WixlWixElement*, WixlWixResolver*, GError**)) wixl_wix_directory_real_full_path;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_directory_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_directory_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_directory_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIRECTORY_NAME_PROPERTY, wixl_wix_directory_properties[WIXL_WIX_DIRECTORY_NAME_PROPERTY] = g_param_spec_string ("Name", "Name", "Name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Directory");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 2);
	_tmp2_[0] = WIXL_TYPE_WIX_DIRECTORY;
	_tmp2_[1] = WIXL_TYPE_WIX_COMPONENT;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 2;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 2);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_directory_instance_init (WixlWixDirectory * self,
                                  gpointer klass)
{
	self->priv = wixl_wix_directory_get_instance_private (self);
}

static void
wixl_wix_directory_finalize (GObject * obj)
{
	WixlWixDirectory * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_DIRECTORY, WixlWixDirectory);
	_g_free0 (self->priv->_Name);
	G_OBJECT_CLASS (wixl_wix_directory_parent_class)->finalize (obj);
}

static GType
wixl_wix_directory_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixDirectoryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_directory_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixDirectory), 0, (GInstanceInitFunc) wixl_wix_directory_instance_init, NULL };
	GType wixl_wix_directory_type_id;
	wixl_wix_directory_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixDirectory", &g_define_type_info, 0);
	WixlWixDirectory_private_offset = g_type_add_instance_private (wixl_wix_directory_type_id, sizeof (WixlWixDirectoryPrivate));
	return wixl_wix_directory_type_id;
}

GType
wixl_wix_directory_get_type (void)
{
	static volatile gsize wixl_wix_directory_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_directory_type_id__once)) {
		GType wixl_wix_directory_type_id;
		wixl_wix_directory_type_id = wixl_wix_directory_get_type_once ();
		g_once_init_leave (&wixl_wix_directory_type_id__once, wixl_wix_directory_type_id);
	}
	return wixl_wix_directory_type_id__once;
}

static void
_vala_wixl_wix_directory_get_property (GObject * object,
                                       guint property_id,
                                       GValue * value,
                                       GParamSpec * pspec)
{
	WixlWixDirectory * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_DIRECTORY, WixlWixDirectory);
	switch (property_id) {
		case WIXL_WIX_DIRECTORY_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_directory_get_Name (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_directory_set_property (GObject * object,
                                       guint property_id,
                                       const GValue * value,
                                       GParamSpec * pspec)
{
	WixlWixDirectory * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_DIRECTORY, WixlWixDirectory);
	switch (property_id) {
		case WIXL_WIX_DIRECTORY_NAME_PROPERTY:
		wixl_wix_directory_set_Name (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_element_ref_get_instance_private (WixlWixElementRef* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixElementRef_private_offset);
}

static gchar*
wixl_wix_element_ref_real_full_path (WixlWixElement* base,
                                     WixlWixResolver* r,
                                     GError** error)
{
	WixlWixElementRef * self;
	gpointer _tmp0_ = NULL;
	gpointer _tmp1_;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_;
	gchar* _tmp4_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	self = (WixlWixElementRef*) base;
	g_return_val_if_fail (r != NULL, NULL);
	_tmp1_ = wixl_wix_resolver_resolve (r, self->priv->g_type, (GBoxedCopyFunc) self->priv->g_dup_func, (GDestroyNotify) self->priv->g_destroy_func, (WixlWixElement*) self, &_inner_error0_);
	_tmp0_ = _tmp1_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return NULL;
	}
	_tmp3_ = wixl_wix_element_full_path (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), r, &_inner_error0_);
	_tmp2_ = _tmp3_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		((_tmp0_ == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp0_ = (self->priv->g_destroy_func (_tmp0_), NULL));
		return NULL;
	}
	_tmp4_ = _tmp2_;
	_tmp2_ = NULL;
	result = _tmp4_;
	_g_free0 (_tmp2_);
	((_tmp0_ == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp0_ = (self->priv->g_destroy_func (_tmp0_), NULL));
	return result;
}

WixlWixElementRef*
wixl_wix_element_ref_construct (GType object_type,
                                GType g_type,
                                GBoxedCopyFunc g_dup_func,
                                GDestroyNotify g_destroy_func)
{
	WixlWixElementRef * self = NULL;
	self = (WixlWixElementRef*) wixl_wix_element_construct (object_type);
	self->priv->g_type = g_type;
	self->priv->g_dup_func = g_dup_func;
	self->priv->g_destroy_func = g_destroy_func;
	return self;
}

WixlWixElementRef*
wixl_wix_element_ref_new (GType g_type,
                          GBoxedCopyFunc g_dup_func,
                          GDestroyNotify g_destroy_func)
{
	return wixl_wix_element_ref_construct (WIXL_TYPE_WIX_ELEMENT_REF, g_type, g_dup_func, g_destroy_func);
}

static void
wixl_wix_element_ref_class_init (WixlWixElementRefClass * klass,
                                 gpointer klass_data)
{
	wixl_wix_element_ref_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixElementRef_private_offset);
	((WixlWixElementClass *) klass)->full_path = (gchar* (*) (WixlWixElement*, WixlWixResolver*, GError**)) wixl_wix_element_ref_real_full_path;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_element_ref_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_element_ref_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_element_ref_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ELEMENT_REF_G_TYPE, g_param_spec_gtype ("g-type", "type", "type", G_TYPE_NONE, G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ELEMENT_REF_G_DUP_FUNC, g_param_spec_pointer ("g-dup-func", "dup func", "dup func", G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ELEMENT_REF_G_DESTROY_FUNC, g_param_spec_pointer ("g-destroy-func", "destroy func", "destroy func", G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
}

static void
wixl_wix_element_ref_instance_init (WixlWixElementRef * self,
                                    gpointer klass)
{
	self->priv = wixl_wix_element_ref_get_instance_private (self);
}

static void
wixl_wix_element_ref_finalize (GObject * obj)
{
	WixlWixElementRef * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_ELEMENT_REF, WixlWixElementRef);
	((self->resolved == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (self->resolved = (self->priv->g_destroy_func (self->resolved), NULL));
	G_OBJECT_CLASS (wixl_wix_element_ref_parent_class)->finalize (obj);
}

static GType
wixl_wix_element_ref_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixElementRefClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_element_ref_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixElementRef), 0, (GInstanceInitFunc) wixl_wix_element_ref_instance_init, NULL };
	GType wixl_wix_element_ref_type_id;
	wixl_wix_element_ref_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixElementRef", &g_define_type_info, 0);
	WixlWixElementRef_private_offset = g_type_add_instance_private (wixl_wix_element_ref_type_id, sizeof (WixlWixElementRefPrivate));
	return wixl_wix_element_ref_type_id;
}

GType
wixl_wix_element_ref_get_type (void)
{
	static volatile gsize wixl_wix_element_ref_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_element_ref_type_id__once)) {
		GType wixl_wix_element_ref_type_id;
		wixl_wix_element_ref_type_id = wixl_wix_element_ref_get_type_once ();
		g_once_init_leave (&wixl_wix_element_ref_type_id__once, wixl_wix_element_ref_type_id);
	}
	return wixl_wix_element_ref_type_id__once;
}

static void
_vala_wixl_wix_element_ref_get_property (GObject * object,
                                         guint property_id,
                                         GValue * value,
                                         GParamSpec * pspec)
{
	WixlWixElementRef * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_ELEMENT_REF, WixlWixElementRef);
	switch (property_id) {
		case WIXL_WIX_ELEMENT_REF_G_TYPE:
		g_value_set_gtype (value, self->priv->g_type);
		break;
		case WIXL_WIX_ELEMENT_REF_G_DUP_FUNC:
		g_value_set_pointer (value, self->priv->g_dup_func);
		break;
		case WIXL_WIX_ELEMENT_REF_G_DESTROY_FUNC:
		g_value_set_pointer (value, self->priv->g_destroy_func);
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_element_ref_set_property (GObject * object,
                                         guint property_id,
                                         const GValue * value,
                                         GParamSpec * pspec)
{
	WixlWixElementRef * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_ELEMENT_REF, WixlWixElementRef);
	switch (property_id) {
		case WIXL_WIX_ELEMENT_REF_G_TYPE:
		self->priv->g_type = g_value_get_gtype (value);
		break;
		case WIXL_WIX_ELEMENT_REF_G_DUP_FUNC:
		self->priv->g_dup_func = g_value_get_pointer (value);
		break;
		case WIXL_WIX_ELEMENT_REF_G_DESTROY_FUNC:
		self->priv->g_destroy_func = g_value_get_pointer (value);
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static gchar*
wixl_wix_directory_ref_real_full_path (WixlWixElement* base,
                                       WixlWixResolver* r,
                                       GError** error)
{
	WixlWixDirectoryRef * self;
	WixlWixDirectory* _tmp0_ = NULL;
	gpointer _tmp1_;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_;
	gchar* _tmp4_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	self = (WixlWixDirectoryRef*) base;
	g_return_val_if_fail (r != NULL, NULL);
	_tmp1_ = wixl_wix_resolver_resolve (r, WIXL_TYPE_WIX_DIRECTORY, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, (WixlWixElement*) self, &_inner_error0_);
	_tmp0_ = (WixlWixDirectory*) _tmp1_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return NULL;
	}
	_tmp3_ = wixl_wix_element_full_path (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), r, &_inner_error0_);
	_tmp2_ = _tmp3_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (_tmp0_);
		return NULL;
	}
	_tmp4_ = _tmp2_;
	_tmp2_ = NULL;
	result = _tmp4_;
	_g_free0 (_tmp2_);
	_g_object_unref0 (_tmp0_);
	return result;
}

WixlWixDirectoryRef*
wixl_wix_directory_ref_construct (GType object_type)
{
	WixlWixDirectoryRef * self = NULL;
	self = (WixlWixDirectoryRef*) wixl_wix_element_ref_construct (object_type, WIXL_TYPE_WIX_DIRECTORY, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
	return self;
}

WixlWixDirectoryRef*
wixl_wix_directory_ref_new (void)
{
	return wixl_wix_directory_ref_construct (WIXL_TYPE_WIX_DIRECTORY_REF);
}

static void
wixl_wix_directory_ref_class_init (WixlWixDirectoryRefClass * klass,
                                   gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_directory_ref_parent_class = g_type_class_peek_parent (klass);
	((WixlWixElementClass *) klass)->full_path = (gchar* (*) (WixlWixElement*, WixlWixResolver*, GError**)) wixl_wix_directory_ref_real_full_path;
	_tmp0_ = g_strdup ("DirectoryRef");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	WIXL_WIX_ELEMENT_REF_CLASS (klass)->ref_type = WIXL_TYPE_WIX_DIRECTORY;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 2);
	_tmp2_[0] = WIXL_TYPE_WIX_DIRECTORY;
	_tmp2_[1] = WIXL_TYPE_WIX_COMPONENT;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 2;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 2);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_directory_ref_instance_init (WixlWixDirectoryRef * self,
                                      gpointer klass)
{
}

static GType
wixl_wix_directory_ref_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixDirectoryRefClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_directory_ref_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixDirectoryRef), 0, (GInstanceInitFunc) wixl_wix_directory_ref_instance_init, NULL };
	GType wixl_wix_directory_ref_type_id;
	wixl_wix_directory_ref_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT_REF, "WixlWixDirectoryRef", &g_define_type_info, 0);
	return wixl_wix_directory_ref_type_id;
}

GType
wixl_wix_directory_ref_get_type (void)
{
	static volatile gsize wixl_wix_directory_ref_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_directory_ref_type_id__once)) {
		GType wixl_wix_directory_ref_type_id;
		wixl_wix_directory_ref_type_id = wixl_wix_directory_ref_get_type_once ();
		g_once_init_leave (&wixl_wix_directory_ref_type_id__once, wixl_wix_directory_ref_type_id);
	}
	return wixl_wix_directory_ref_type_id__once;
}

WixlWixUI*
wixl_wix_ui_construct (GType object_type)
{
	WixlWixUI * self = NULL;
	self = (WixlWixUI*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixUI*
wixl_wix_ui_new (void)
{
	return wixl_wix_ui_construct (WIXL_TYPE_WIX_UI);
}

static void
wixl_wix_ui_class_init (WixlWixUIClass * klass,
                        gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_ui_parent_class = g_type_class_peek_parent (klass);
	_tmp0_ = g_strdup ("UI");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 11);
	_tmp2_[0] = WIXL_TYPE_WIX_BINARY;
	_tmp2_[1] = WIXL_TYPE_WIX_DIALOG;
	_tmp2_[2] = WIXL_TYPE_WIX_DIALOG_REF;
	_tmp2_[3] = WIXL_TYPE_WIX_PROPERTY;
	_tmp2_[4] = WIXL_TYPE_WIX_PUBLISH;
	_tmp2_[5] = WIXL_TYPE_WIX_TEXT_STYLE;
	_tmp2_[6] = WIXL_TYPE_WIX_UI_REF;
	_tmp2_[7] = WIXL_TYPE_WIX_UI_TEXT;
	_tmp2_[8] = WIXL_TYPE_WIX_ADMIN_UI_SEQUENCE;
	_tmp2_[9] = WIXL_TYPE_WIX_INSTALL_UI_SEQUENCE;
	_tmp2_[10] = WIXL_TYPE_WIX_PROGRESS_TEXT;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 11;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 11);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_ui_instance_init (WixlWixUI * self,
                           gpointer klass)
{
}

static GType
wixl_wix_ui_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixUIClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_ui_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixUI), 0, (GInstanceInitFunc) wixl_wix_ui_instance_init, NULL };
	GType wixl_wix_ui_type_id;
	wixl_wix_ui_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixUI", &g_define_type_info, 0);
	return wixl_wix_ui_type_id;
}

GType
wixl_wix_ui_get_type (void)
{
	static volatile gsize wixl_wix_ui_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_ui_type_id__once)) {
		GType wixl_wix_ui_type_id;
		wixl_wix_ui_type_id = wixl_wix_ui_get_type_once ();
		g_once_init_leave (&wixl_wix_ui_type_id__once, wixl_wix_ui_type_id);
	}
	return wixl_wix_ui_type_id__once;
}

static gchar*
wixl_wix_ui_ref_real_full_path (WixlWixElement* base,
                                WixlWixResolver* r,
                                GError** error)
{
	WixlWixUIRef * self;
	WixlWixUI* _tmp0_ = NULL;
	gpointer _tmp1_;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_;
	gchar* _tmp4_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	self = (WixlWixUIRef*) base;
	g_return_val_if_fail (r != NULL, NULL);
	_tmp1_ = wixl_wix_resolver_resolve (r, WIXL_TYPE_WIX_UI, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, (WixlWixElement*) self, &_inner_error0_);
	_tmp0_ = (WixlWixUI*) _tmp1_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return NULL;
	}
	_tmp3_ = wixl_wix_element_full_path (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), r, &_inner_error0_);
	_tmp2_ = _tmp3_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (_tmp0_);
		return NULL;
	}
	_tmp4_ = _tmp2_;
	_tmp2_ = NULL;
	result = _tmp4_;
	_g_free0 (_tmp2_);
	_g_object_unref0 (_tmp0_);
	return result;
}

static void
wixl_wix_ui_ref_real_accept (WixlWixNode* base,
                             WixlWixNodeVisitor* visitor,
                             GError** error)
{
	WixlWixUIRef * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixUIRef*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_ui_ref (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixUIRef*
wixl_wix_ui_ref_construct (GType object_type)
{
	WixlWixUIRef * self = NULL;
	self = (WixlWixUIRef*) wixl_wix_element_ref_construct (object_type, WIXL_TYPE_WIX_UI, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
	return self;
}

WixlWixUIRef*
wixl_wix_ui_ref_new (void)
{
	return wixl_wix_ui_ref_construct (WIXL_TYPE_WIX_UI_REF);
}

static void
wixl_wix_ui_ref_class_init (WixlWixUIRefClass * klass,
                            gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_ui_ref_parent_class = g_type_class_peek_parent (klass);
	((WixlWixElementClass *) klass)->full_path = (gchar* (*) (WixlWixElement*, WixlWixResolver*, GError**)) wixl_wix_ui_ref_real_full_path;
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_ui_ref_real_accept;
	_tmp0_ = g_strdup ("UIRef");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	WIXL_WIX_ELEMENT_REF_CLASS (klass)->ref_type = WIXL_TYPE_WIX_UI;
}

static void
wixl_wix_ui_ref_instance_init (WixlWixUIRef * self,
                               gpointer klass)
{
}

static GType
wixl_wix_ui_ref_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixUIRefClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_ui_ref_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixUIRef), 0, (GInstanceInitFunc) wixl_wix_ui_ref_instance_init, NULL };
	GType wixl_wix_ui_ref_type_id;
	wixl_wix_ui_ref_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT_REF, "WixlWixUIRef", &g_define_type_info, 0);
	return wixl_wix_ui_ref_type_id;
}

GType
wixl_wix_ui_ref_get_type (void)
{
	static volatile gsize wixl_wix_ui_ref_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_ui_ref_type_id__once)) {
		GType wixl_wix_ui_ref_type_id;
		wixl_wix_ui_ref_type_id = wixl_wix_ui_ref_get_type_once ();
		g_once_init_leave (&wixl_wix_ui_ref_type_id__once, wixl_wix_ui_ref_type_id);
	}
	return wixl_wix_ui_ref_type_id__once;
}

static inline gpointer
wixl_wix_ui_text_get_instance_private (WixlWixUIText* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixUIText_private_offset);
}

static void
wixl_wix_ui_text_real_accept (WixlWixNode* base,
                              WixlWixNodeVisitor* visitor,
                              GError** error)
{
	WixlWixUIText * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixUIText*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_ui_text (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixUIText*
wixl_wix_ui_text_construct (GType object_type)
{
	WixlWixUIText * self = NULL;
	self = (WixlWixUIText*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixUIText*
wixl_wix_ui_text_new (void)
{
	return wixl_wix_ui_text_construct (WIXL_TYPE_WIX_UI_TEXT);
}

const gchar*
wixl_wix_ui_text_get_Value (WixlWixUIText* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Value;
	result = _tmp0_;
	return result;
}

void
wixl_wix_ui_text_set_Value (WixlWixUIText* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_ui_text_get_Value (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Value);
		self->priv->_Value = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_ui_text_properties[WIXL_WIX_UI_TEXT_VALUE_PROPERTY]);
	}
}

static void
wixl_wix_ui_text_class_init (WixlWixUITextClass * klass,
                             gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_ui_text_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixUIText_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_ui_text_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_ui_text_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_ui_text_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_ui_text_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_UI_TEXT_VALUE_PROPERTY, wixl_wix_ui_text_properties[WIXL_WIX_UI_TEXT_VALUE_PROPERTY] = g_param_spec_string ("Value", "Value", "Value", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("UIText");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_ui_text_instance_init (WixlWixUIText * self,
                                gpointer klass)
{
	self->priv = wixl_wix_ui_text_get_instance_private (self);
}

static void
wixl_wix_ui_text_finalize (GObject * obj)
{
	WixlWixUIText * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_UI_TEXT, WixlWixUIText);
	_g_free0 (self->priv->_Value);
	G_OBJECT_CLASS (wixl_wix_ui_text_parent_class)->finalize (obj);
}

static GType
wixl_wix_ui_text_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixUITextClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_ui_text_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixUIText), 0, (GInstanceInitFunc) wixl_wix_ui_text_instance_init, NULL };
	GType wixl_wix_ui_text_type_id;
	wixl_wix_ui_text_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixUIText", &g_define_type_info, 0);
	WixlWixUIText_private_offset = g_type_add_instance_private (wixl_wix_ui_text_type_id, sizeof (WixlWixUITextPrivate));
	return wixl_wix_ui_text_type_id;
}

GType
wixl_wix_ui_text_get_type (void)
{
	static volatile gsize wixl_wix_ui_text_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_ui_text_type_id__once)) {
		GType wixl_wix_ui_text_type_id;
		wixl_wix_ui_text_type_id = wixl_wix_ui_text_get_type_once ();
		g_once_init_leave (&wixl_wix_ui_text_type_id__once, wixl_wix_ui_text_type_id);
	}
	return wixl_wix_ui_text_type_id__once;
}

static void
_vala_wixl_wix_ui_text_get_property (GObject * object,
                                     guint property_id,
                                     GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixUIText * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_UI_TEXT, WixlWixUIText);
	switch (property_id) {
		case WIXL_WIX_UI_TEXT_VALUE_PROPERTY:
		g_value_set_string (value, wixl_wix_ui_text_get_Value (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_ui_text_set_property (GObject * object,
                                     guint property_id,
                                     const GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixUIText * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_UI_TEXT, WixlWixUIText);
	switch (property_id) {
		case WIXL_WIX_UI_TEXT_VALUE_PROPERTY:
		wixl_wix_ui_text_set_Value (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_text_element_get_instance_private (WixlWixTextElement* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixTextElement_private_offset);
}

static void
wixl_wix_text_element_real_accept (WixlWixNode* base,
                                   WixlWixNodeVisitor* visitor,
                                   GError** error)
{
	WixlWixTextElement * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixTextElement*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_text_element (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixTextElement*
wixl_wix_text_element_construct (GType object_type)
{
	WixlWixTextElement * self = NULL;
	self = (WixlWixTextElement*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixTextElement*
wixl_wix_text_element_new (void)
{
	return wixl_wix_text_element_construct (WIXL_TYPE_WIX_TEXT_ELEMENT);
}

const gchar*
wixl_wix_text_element_get_SourceFile (WixlWixTextElement* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_SourceFile;
	result = _tmp0_;
	return result;
}

void
wixl_wix_text_element_set_SourceFile (WixlWixTextElement* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_text_element_get_SourceFile (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_SourceFile);
		self->priv->_SourceFile = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_text_element_properties[WIXL_WIX_TEXT_ELEMENT_SOURCE_FILE_PROPERTY]);
	}
}

static void
wixl_wix_text_element_class_init (WixlWixTextElementClass * klass,
                                  gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_text_element_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixTextElement_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_text_element_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_text_element_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_text_element_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_text_element_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_TEXT_ELEMENT_SOURCE_FILE_PROPERTY, wixl_wix_text_element_properties[WIXL_WIX_TEXT_ELEMENT_SOURCE_FILE_PROPERTY] = g_param_spec_string ("SourceFile", "SourceFile", "SourceFile", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Text");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_text_element_instance_init (WixlWixTextElement * self,
                                     gpointer klass)
{
	self->priv = wixl_wix_text_element_get_instance_private (self);
}

static void
wixl_wix_text_element_finalize (GObject * obj)
{
	WixlWixTextElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_TEXT_ELEMENT, WixlWixTextElement);
	_g_free0 (self->priv->_SourceFile);
	G_OBJECT_CLASS (wixl_wix_text_element_parent_class)->finalize (obj);
}

static GType
wixl_wix_text_element_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixTextElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_text_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixTextElement), 0, (GInstanceInitFunc) wixl_wix_text_element_instance_init, NULL };
	GType wixl_wix_text_element_type_id;
	wixl_wix_text_element_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixTextElement", &g_define_type_info, 0);
	WixlWixTextElement_private_offset = g_type_add_instance_private (wixl_wix_text_element_type_id, sizeof (WixlWixTextElementPrivate));
	return wixl_wix_text_element_type_id;
}

GType
wixl_wix_text_element_get_type (void)
{
	static volatile gsize wixl_wix_text_element_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_text_element_type_id__once)) {
		GType wixl_wix_text_element_type_id;
		wixl_wix_text_element_type_id = wixl_wix_text_element_get_type_once ();
		g_once_init_leave (&wixl_wix_text_element_type_id__once, wixl_wix_text_element_type_id);
	}
	return wixl_wix_text_element_type_id__once;
}

static void
_vala_wixl_wix_text_element_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec)
{
	WixlWixTextElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_TEXT_ELEMENT, WixlWixTextElement);
	switch (property_id) {
		case WIXL_WIX_TEXT_ELEMENT_SOURCE_FILE_PROPERTY:
		g_value_set_string (value, wixl_wix_text_element_get_SourceFile (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_text_element_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec)
{
	WixlWixTextElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_TEXT_ELEMENT, WixlWixTextElement);
	switch (property_id) {
		case WIXL_WIX_TEXT_ELEMENT_SOURCE_FILE_PROPERTY:
		wixl_wix_text_element_set_SourceFile (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_text_style_get_instance_private (WixlWixTextStyle* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixTextStyle_private_offset);
}

static void
wixl_wix_text_style_real_accept (WixlWixNode* base,
                                 WixlWixNodeVisitor* visitor,
                                 GError** error)
{
	WixlWixTextStyle * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixTextStyle*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_text_style (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixTextStyle*
wixl_wix_text_style_construct (GType object_type)
{
	WixlWixTextStyle * self = NULL;
	self = (WixlWixTextStyle*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixTextStyle*
wixl_wix_text_style_new (void)
{
	return wixl_wix_text_style_construct (WIXL_TYPE_WIX_TEXT_STYLE);
}

const gchar*
wixl_wix_text_style_get_Blue (WixlWixTextStyle* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Blue;
	result = _tmp0_;
	return result;
}

void
wixl_wix_text_style_set_Blue (WixlWixTextStyle* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_text_style_get_Blue (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Blue);
		self->priv->_Blue = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_BLUE_PROPERTY]);
	}
}

const gchar*
wixl_wix_text_style_get_Bold (WixlWixTextStyle* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Bold;
	result = _tmp0_;
	return result;
}

void
wixl_wix_text_style_set_Bold (WixlWixTextStyle* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_text_style_get_Bold (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Bold);
		self->priv->_Bold = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_BOLD_PROPERTY]);
	}
}

const gchar*
wixl_wix_text_style_get_FaceName (WixlWixTextStyle* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_FaceName;
	result = _tmp0_;
	return result;
}

void
wixl_wix_text_style_set_FaceName (WixlWixTextStyle* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_text_style_get_FaceName (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_FaceName);
		self->priv->_FaceName = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_FACE_NAME_PROPERTY]);
	}
}

const gchar*
wixl_wix_text_style_get_Green (WixlWixTextStyle* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Green;
	result = _tmp0_;
	return result;
}

void
wixl_wix_text_style_set_Green (WixlWixTextStyle* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_text_style_get_Green (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Green);
		self->priv->_Green = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_GREEN_PROPERTY]);
	}
}

const gchar*
wixl_wix_text_style_get_Italic (WixlWixTextStyle* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Italic;
	result = _tmp0_;
	return result;
}

void
wixl_wix_text_style_set_Italic (WixlWixTextStyle* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_text_style_get_Italic (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Italic);
		self->priv->_Italic = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_ITALIC_PROPERTY]);
	}
}

const gchar*
wixl_wix_text_style_get_Red (WixlWixTextStyle* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Red;
	result = _tmp0_;
	return result;
}

void
wixl_wix_text_style_set_Red (WixlWixTextStyle* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_text_style_get_Red (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Red);
		self->priv->_Red = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_RED_PROPERTY]);
	}
}

const gchar*
wixl_wix_text_style_get_Size (WixlWixTextStyle* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Size;
	result = _tmp0_;
	return result;
}

void
wixl_wix_text_style_set_Size (WixlWixTextStyle* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_text_style_get_Size (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Size);
		self->priv->_Size = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_SIZE_PROPERTY]);
	}
}

const gchar*
wixl_wix_text_style_get_Strike (WixlWixTextStyle* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Strike;
	result = _tmp0_;
	return result;
}

void
wixl_wix_text_style_set_Strike (WixlWixTextStyle* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_text_style_get_Strike (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Strike);
		self->priv->_Strike = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_STRIKE_PROPERTY]);
	}
}

const gchar*
wixl_wix_text_style_get_Underline (WixlWixTextStyle* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Underline;
	result = _tmp0_;
	return result;
}

void
wixl_wix_text_style_set_Underline (WixlWixTextStyle* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_text_style_get_Underline (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Underline);
		self->priv->_Underline = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_UNDERLINE_PROPERTY]);
	}
}

static void
wixl_wix_text_style_class_init (WixlWixTextStyleClass * klass,
                                gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_text_style_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixTextStyle_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_text_style_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_text_style_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_text_style_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_text_style_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_TEXT_STYLE_BLUE_PROPERTY, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_BLUE_PROPERTY] = g_param_spec_string ("Blue", "Blue", "Blue", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_TEXT_STYLE_BOLD_PROPERTY, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_BOLD_PROPERTY] = g_param_spec_string ("Bold", "Bold", "Bold", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_TEXT_STYLE_FACE_NAME_PROPERTY, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_FACE_NAME_PROPERTY] = g_param_spec_string ("FaceName", "FaceName", "FaceName", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_TEXT_STYLE_GREEN_PROPERTY, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_GREEN_PROPERTY] = g_param_spec_string ("Green", "Green", "Green", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_TEXT_STYLE_ITALIC_PROPERTY, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_ITALIC_PROPERTY] = g_param_spec_string ("Italic", "Italic", "Italic", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_TEXT_STYLE_RED_PROPERTY, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_RED_PROPERTY] = g_param_spec_string ("Red", "Red", "Red", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_TEXT_STYLE_SIZE_PROPERTY, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_SIZE_PROPERTY] = g_param_spec_string ("Size", "Size", "Size", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_TEXT_STYLE_STRIKE_PROPERTY, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_STRIKE_PROPERTY] = g_param_spec_string ("Strike", "Strike", "Strike", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_TEXT_STYLE_UNDERLINE_PROPERTY, wixl_wix_text_style_properties[WIXL_WIX_TEXT_STYLE_UNDERLINE_PROPERTY] = g_param_spec_string ("Underline", "Underline", "Underline", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("TextStyle");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_text_style_instance_init (WixlWixTextStyle * self,
                                   gpointer klass)
{
	self->priv = wixl_wix_text_style_get_instance_private (self);
}

static void
wixl_wix_text_style_finalize (GObject * obj)
{
	WixlWixTextStyle * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_TEXT_STYLE, WixlWixTextStyle);
	_g_free0 (self->priv->_Blue);
	_g_free0 (self->priv->_Bold);
	_g_free0 (self->priv->_FaceName);
	_g_free0 (self->priv->_Green);
	_g_free0 (self->priv->_Italic);
	_g_free0 (self->priv->_Red);
	_g_free0 (self->priv->_Size);
	_g_free0 (self->priv->_Strike);
	_g_free0 (self->priv->_Underline);
	G_OBJECT_CLASS (wixl_wix_text_style_parent_class)->finalize (obj);
}

static GType
wixl_wix_text_style_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixTextStyleClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_text_style_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixTextStyle), 0, (GInstanceInitFunc) wixl_wix_text_style_instance_init, NULL };
	GType wixl_wix_text_style_type_id;
	wixl_wix_text_style_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixTextStyle", &g_define_type_info, 0);
	WixlWixTextStyle_private_offset = g_type_add_instance_private (wixl_wix_text_style_type_id, sizeof (WixlWixTextStylePrivate));
	return wixl_wix_text_style_type_id;
}

GType
wixl_wix_text_style_get_type (void)
{
	static volatile gsize wixl_wix_text_style_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_text_style_type_id__once)) {
		GType wixl_wix_text_style_type_id;
		wixl_wix_text_style_type_id = wixl_wix_text_style_get_type_once ();
		g_once_init_leave (&wixl_wix_text_style_type_id__once, wixl_wix_text_style_type_id);
	}
	return wixl_wix_text_style_type_id__once;
}

static void
_vala_wixl_wix_text_style_get_property (GObject * object,
                                        guint property_id,
                                        GValue * value,
                                        GParamSpec * pspec)
{
	WixlWixTextStyle * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_TEXT_STYLE, WixlWixTextStyle);
	switch (property_id) {
		case WIXL_WIX_TEXT_STYLE_BLUE_PROPERTY:
		g_value_set_string (value, wixl_wix_text_style_get_Blue (self));
		break;
		case WIXL_WIX_TEXT_STYLE_BOLD_PROPERTY:
		g_value_set_string (value, wixl_wix_text_style_get_Bold (self));
		break;
		case WIXL_WIX_TEXT_STYLE_FACE_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_text_style_get_FaceName (self));
		break;
		case WIXL_WIX_TEXT_STYLE_GREEN_PROPERTY:
		g_value_set_string (value, wixl_wix_text_style_get_Green (self));
		break;
		case WIXL_WIX_TEXT_STYLE_ITALIC_PROPERTY:
		g_value_set_string (value, wixl_wix_text_style_get_Italic (self));
		break;
		case WIXL_WIX_TEXT_STYLE_RED_PROPERTY:
		g_value_set_string (value, wixl_wix_text_style_get_Red (self));
		break;
		case WIXL_WIX_TEXT_STYLE_SIZE_PROPERTY:
		g_value_set_string (value, wixl_wix_text_style_get_Size (self));
		break;
		case WIXL_WIX_TEXT_STYLE_STRIKE_PROPERTY:
		g_value_set_string (value, wixl_wix_text_style_get_Strike (self));
		break;
		case WIXL_WIX_TEXT_STYLE_UNDERLINE_PROPERTY:
		g_value_set_string (value, wixl_wix_text_style_get_Underline (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_text_style_set_property (GObject * object,
                                        guint property_id,
                                        const GValue * value,
                                        GParamSpec * pspec)
{
	WixlWixTextStyle * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_TEXT_STYLE, WixlWixTextStyle);
	switch (property_id) {
		case WIXL_WIX_TEXT_STYLE_BLUE_PROPERTY:
		wixl_wix_text_style_set_Blue (self, g_value_get_string (value));
		break;
		case WIXL_WIX_TEXT_STYLE_BOLD_PROPERTY:
		wixl_wix_text_style_set_Bold (self, g_value_get_string (value));
		break;
		case WIXL_WIX_TEXT_STYLE_FACE_NAME_PROPERTY:
		wixl_wix_text_style_set_FaceName (self, g_value_get_string (value));
		break;
		case WIXL_WIX_TEXT_STYLE_GREEN_PROPERTY:
		wixl_wix_text_style_set_Green (self, g_value_get_string (value));
		break;
		case WIXL_WIX_TEXT_STYLE_ITALIC_PROPERTY:
		wixl_wix_text_style_set_Italic (self, g_value_get_string (value));
		break;
		case WIXL_WIX_TEXT_STYLE_RED_PROPERTY:
		wixl_wix_text_style_set_Red (self, g_value_get_string (value));
		break;
		case WIXL_WIX_TEXT_STYLE_SIZE_PROPERTY:
		wixl_wix_text_style_set_Size (self, g_value_get_string (value));
		break;
		case WIXL_WIX_TEXT_STYLE_STRIKE_PROPERTY:
		wixl_wix_text_style_set_Strike (self, g_value_get_string (value));
		break;
		case WIXL_WIX_TEXT_STYLE_UNDERLINE_PROPERTY:
		wixl_wix_text_style_set_Underline (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_dialog_get_instance_private (WixlWixDialog* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixDialog_private_offset);
}

static void
wixl_wix_dialog_real_accept (WixlWixNode* base,
                             WixlWixNodeVisitor* visitor,
                             GError** error)
{
	WixlWixDialog * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixDialog*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_dialog_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_dialog (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixDialog*
wixl_wix_dialog_construct (GType object_type)
{
	WixlWixDialog * self = NULL;
	self = (WixlWixDialog*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixDialog*
wixl_wix_dialog_new (void)
{
	return wixl_wix_dialog_construct (WIXL_TYPE_WIX_DIALOG);
}

const gchar*
wixl_wix_dialog_get_CustomPalette (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_CustomPalette;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_CustomPalette (WixlWixDialog* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_CustomPalette (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_CustomPalette);
		self->priv->_CustomPalette = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_CUSTOM_PALETTE_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_ErrorDialog (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ErrorDialog;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_ErrorDialog (WixlWixDialog* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_ErrorDialog (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_ErrorDialog);
		self->priv->_ErrorDialog = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_ERROR_DIALOG_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_Height (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Height;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_Height (WixlWixDialog* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_Height (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Height);
		self->priv->_Height = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_HEIGHT_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_Hidden (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Hidden;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_Hidden (WixlWixDialog* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_Hidden (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Hidden);
		self->priv->_Hidden = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_HIDDEN_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_KeepModeless (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_KeepModeless;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_KeepModeless (WixlWixDialog* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_KeepModeless (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_KeepModeless);
		self->priv->_KeepModeless = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_KEEP_MODELESS_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_LeftScroll (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_LeftScroll;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_LeftScroll (WixlWixDialog* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_LeftScroll (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_LeftScroll);
		self->priv->_LeftScroll = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_LEFT_SCROLL_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_Modeless (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Modeless;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_Modeless (WixlWixDialog* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_Modeless (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Modeless);
		self->priv->_Modeless = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_MODELESS_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_NoMinimize (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_NoMinimize;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_NoMinimize (WixlWixDialog* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_NoMinimize (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_NoMinimize);
		self->priv->_NoMinimize = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_NO_MINIMIZE_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_RightAligned (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_RightAligned;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_RightAligned (WixlWixDialog* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_RightAligned (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_RightAligned);
		self->priv->_RightAligned = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_RIGHT_ALIGNED_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_RightToLeft (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_RightToLeft;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_RightToLeft (WixlWixDialog* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_RightToLeft (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_RightToLeft);
		self->priv->_RightToLeft = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_RIGHT_TO_LEFT_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_Title (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Title;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_Title (WixlWixDialog* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_Title (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Title);
		self->priv->_Title = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_TITLE_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_TrackDiskSpace (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_TrackDiskSpace;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_TrackDiskSpace (WixlWixDialog* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_TrackDiskSpace (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_TrackDiskSpace);
		self->priv->_TrackDiskSpace = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_TRACK_DISK_SPACE_PROPERTY]);
	}
}

const gchar*
wixl_wix_dialog_get_Width (WixlWixDialog* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Width;
	result = _tmp0_;
	return result;
}

void
wixl_wix_dialog_set_Width (WixlWixDialog* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_dialog_get_Width (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Width);
		self->priv->_Width = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_WIDTH_PROPERTY]);
	}
}

static void
wixl_wix_dialog_class_init (WixlWixDialogClass * klass,
                            gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_dialog_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixDialog_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_dialog_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_dialog_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_dialog_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_dialog_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_CUSTOM_PALETTE_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_CUSTOM_PALETTE_PROPERTY] = g_param_spec_string ("CustomPalette", "CustomPalette", "CustomPalette", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_ERROR_DIALOG_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_ERROR_DIALOG_PROPERTY] = g_param_spec_string ("ErrorDialog", "ErrorDialog", "ErrorDialog", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_HEIGHT_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_HEIGHT_PROPERTY] = g_param_spec_string ("Height", "Height", "Height", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_HIDDEN_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_HIDDEN_PROPERTY] = g_param_spec_string ("Hidden", "Hidden", "Hidden", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_KEEP_MODELESS_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_KEEP_MODELESS_PROPERTY] = g_param_spec_string ("KeepModeless", "KeepModeless", "KeepModeless", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_LEFT_SCROLL_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_LEFT_SCROLL_PROPERTY] = g_param_spec_string ("LeftScroll", "LeftScroll", "LeftScroll", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_MODELESS_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_MODELESS_PROPERTY] = g_param_spec_string ("Modeless", "Modeless", "Modeless", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_NO_MINIMIZE_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_NO_MINIMIZE_PROPERTY] = g_param_spec_string ("NoMinimize", "NoMinimize", "NoMinimize", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_RIGHT_ALIGNED_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_RIGHT_ALIGNED_PROPERTY] = g_param_spec_string ("RightAligned", "RightAligned", "RightAligned", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_RIGHT_TO_LEFT_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_RIGHT_TO_LEFT_PROPERTY] = g_param_spec_string ("RightToLeft", "RightToLeft", "RightToLeft", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_TITLE_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_TITLE_PROPERTY] = g_param_spec_string ("Title", "Title", "Title", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_TRACK_DISK_SPACE_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_TRACK_DISK_SPACE_PROPERTY] = g_param_spec_string ("TrackDiskSpace", "TrackDiskSpace", "TrackDiskSpace", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_DIALOG_WIDTH_PROPERTY, wixl_wix_dialog_properties[WIXL_WIX_DIALOG_WIDTH_PROPERTY] = g_param_spec_string ("Width", "Width", "Width", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Dialog");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 1);
	_tmp2_[0] = WIXL_TYPE_WIX_CONTROL;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 1;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 1);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_dialog_instance_init (WixlWixDialog * self,
                               gpointer klass)
{
	self->priv = wixl_wix_dialog_get_instance_private (self);
}

static void
wixl_wix_dialog_finalize (GObject * obj)
{
	WixlWixDialog * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_DIALOG, WixlWixDialog);
	_g_free0 (self->priv->_CustomPalette);
	_g_free0 (self->priv->_ErrorDialog);
	_g_free0 (self->priv->_Height);
	_g_free0 (self->priv->_Hidden);
	_g_free0 (self->priv->_KeepModeless);
	_g_free0 (self->priv->_LeftScroll);
	_g_free0 (self->priv->_Modeless);
	_g_free0 (self->priv->_NoMinimize);
	_g_free0 (self->priv->_RightAligned);
	_g_free0 (self->priv->_RightToLeft);
	_g_free0 (self->priv->_Title);
	_g_free0 (self->priv->_TrackDiskSpace);
	_g_free0 (self->priv->_Width);
	_g_free0 (self->Default);
	_g_free0 (self->Cancel);
	G_OBJECT_CLASS (wixl_wix_dialog_parent_class)->finalize (obj);
}

static GType
wixl_wix_dialog_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixDialog), 0, (GInstanceInitFunc) wixl_wix_dialog_instance_init, NULL };
	GType wixl_wix_dialog_type_id;
	wixl_wix_dialog_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixDialog", &g_define_type_info, 0);
	WixlWixDialog_private_offset = g_type_add_instance_private (wixl_wix_dialog_type_id, sizeof (WixlWixDialogPrivate));
	return wixl_wix_dialog_type_id;
}

GType
wixl_wix_dialog_get_type (void)
{
	static volatile gsize wixl_wix_dialog_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_dialog_type_id__once)) {
		GType wixl_wix_dialog_type_id;
		wixl_wix_dialog_type_id = wixl_wix_dialog_get_type_once ();
		g_once_init_leave (&wixl_wix_dialog_type_id__once, wixl_wix_dialog_type_id);
	}
	return wixl_wix_dialog_type_id__once;
}

static void
_vala_wixl_wix_dialog_get_property (GObject * object,
                                    guint property_id,
                                    GValue * value,
                                    GParamSpec * pspec)
{
	WixlWixDialog * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_DIALOG, WixlWixDialog);
	switch (property_id) {
		case WIXL_WIX_DIALOG_CUSTOM_PALETTE_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_CustomPalette (self));
		break;
		case WIXL_WIX_DIALOG_ERROR_DIALOG_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_ErrorDialog (self));
		break;
		case WIXL_WIX_DIALOG_HEIGHT_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_Height (self));
		break;
		case WIXL_WIX_DIALOG_HIDDEN_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_Hidden (self));
		break;
		case WIXL_WIX_DIALOG_KEEP_MODELESS_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_KeepModeless (self));
		break;
		case WIXL_WIX_DIALOG_LEFT_SCROLL_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_LeftScroll (self));
		break;
		case WIXL_WIX_DIALOG_MODELESS_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_Modeless (self));
		break;
		case WIXL_WIX_DIALOG_NO_MINIMIZE_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_NoMinimize (self));
		break;
		case WIXL_WIX_DIALOG_RIGHT_ALIGNED_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_RightAligned (self));
		break;
		case WIXL_WIX_DIALOG_RIGHT_TO_LEFT_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_RightToLeft (self));
		break;
		case WIXL_WIX_DIALOG_TITLE_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_Title (self));
		break;
		case WIXL_WIX_DIALOG_TRACK_DISK_SPACE_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_TrackDiskSpace (self));
		break;
		case WIXL_WIX_DIALOG_WIDTH_PROPERTY:
		g_value_set_string (value, wixl_wix_dialog_get_Width (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_dialog_set_property (GObject * object,
                                    guint property_id,
                                    const GValue * value,
                                    GParamSpec * pspec)
{
	WixlWixDialog * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_DIALOG, WixlWixDialog);
	switch (property_id) {
		case WIXL_WIX_DIALOG_CUSTOM_PALETTE_PROPERTY:
		wixl_wix_dialog_set_CustomPalette (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_ERROR_DIALOG_PROPERTY:
		wixl_wix_dialog_set_ErrorDialog (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_HEIGHT_PROPERTY:
		wixl_wix_dialog_set_Height (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_HIDDEN_PROPERTY:
		wixl_wix_dialog_set_Hidden (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_KEEP_MODELESS_PROPERTY:
		wixl_wix_dialog_set_KeepModeless (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_LEFT_SCROLL_PROPERTY:
		wixl_wix_dialog_set_LeftScroll (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_MODELESS_PROPERTY:
		wixl_wix_dialog_set_Modeless (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_NO_MINIMIZE_PROPERTY:
		wixl_wix_dialog_set_NoMinimize (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_RIGHT_ALIGNED_PROPERTY:
		wixl_wix_dialog_set_RightAligned (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_RIGHT_TO_LEFT_PROPERTY:
		wixl_wix_dialog_set_RightToLeft (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_TITLE_PROPERTY:
		wixl_wix_dialog_set_Title (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_TRACK_DISK_SPACE_PROPERTY:
		wixl_wix_dialog_set_TrackDiskSpace (self, g_value_get_string (value));
		break;
		case WIXL_WIX_DIALOG_WIDTH_PROPERTY:
		wixl_wix_dialog_set_Width (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static gchar*
wixl_wix_dialog_ref_real_full_path (WixlWixElement* base,
                                    WixlWixResolver* r,
                                    GError** error)
{
	WixlWixDialogRef * self;
	WixlWixDialog* _tmp0_ = NULL;
	gpointer _tmp1_;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_;
	gchar* _tmp4_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	self = (WixlWixDialogRef*) base;
	g_return_val_if_fail (r != NULL, NULL);
	_tmp1_ = wixl_wix_resolver_resolve (r, WIXL_TYPE_WIX_DIALOG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, (WixlWixElement*) self, &_inner_error0_);
	_tmp0_ = (WixlWixDialog*) _tmp1_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return NULL;
	}
	_tmp3_ = wixl_wix_element_full_path (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), r, &_inner_error0_);
	_tmp2_ = _tmp3_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (_tmp0_);
		return NULL;
	}
	_tmp4_ = _tmp2_;
	_tmp2_ = NULL;
	result = _tmp4_;
	_g_free0 (_tmp2_);
	_g_object_unref0 (_tmp0_);
	return result;
}

static void
wixl_wix_dialog_ref_real_accept (WixlWixNode* base,
                                 WixlWixNodeVisitor* visitor,
                                 GError** error)
{
	WixlWixDialogRef * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixDialogRef*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_dialog_ref (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixDialogRef*
wixl_wix_dialog_ref_construct (GType object_type)
{
	WixlWixDialogRef * self = NULL;
	self = (WixlWixDialogRef*) wixl_wix_element_ref_construct (object_type, WIXL_TYPE_WIX_DIALOG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
	return self;
}

WixlWixDialogRef*
wixl_wix_dialog_ref_new (void)
{
	return wixl_wix_dialog_ref_construct (WIXL_TYPE_WIX_DIALOG_REF);
}

static void
wixl_wix_dialog_ref_class_init (WixlWixDialogRefClass * klass,
                                gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_dialog_ref_parent_class = g_type_class_peek_parent (klass);
	((WixlWixElementClass *) klass)->full_path = (gchar* (*) (WixlWixElement*, WixlWixResolver*, GError**)) wixl_wix_dialog_ref_real_full_path;
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_dialog_ref_real_accept;
	_tmp0_ = g_strdup ("DialogRef");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	WIXL_WIX_ELEMENT_REF_CLASS (klass)->ref_type = WIXL_TYPE_WIX_DIALOG;
}

static void
wixl_wix_dialog_ref_instance_init (WixlWixDialogRef * self,
                                   gpointer klass)
{
}

static GType
wixl_wix_dialog_ref_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixDialogRefClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_dialog_ref_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixDialogRef), 0, (GInstanceInitFunc) wixl_wix_dialog_ref_instance_init, NULL };
	GType wixl_wix_dialog_ref_type_id;
	wixl_wix_dialog_ref_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT_REF, "WixlWixDialogRef", &g_define_type_info, 0);
	return wixl_wix_dialog_ref_type_id;
}

GType
wixl_wix_dialog_ref_get_type (void)
{
	static volatile gsize wixl_wix_dialog_ref_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_dialog_ref_type_id__once)) {
		GType wixl_wix_dialog_ref_type_id;
		wixl_wix_dialog_ref_type_id = wixl_wix_dialog_ref_get_type_once ();
		g_once_init_leave (&wixl_wix_dialog_ref_type_id__once, wixl_wix_dialog_ref_type_id);
	}
	return wixl_wix_dialog_ref_type_id__once;
}

static inline gpointer
wixl_wix_control_get_instance_private (WixlWixControl* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixControl_private_offset);
}

static void
wixl_wix_control_real_accept (WixlWixNode* base,
                              WixlWixNodeVisitor* visitor,
                              GError** error)
{
	WixlWixControl * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixControl*) base;
	g_return_if_fail (visitor != NULL);
	WIXL_WIX_NODE_CLASS (wixl_wix_control_parent_class)->accept ((WixlWixNode*) G_TYPE_CHECK_INSTANCE_CAST (self, WIXL_TYPE_WIX_ELEMENT, WixlWixElement), visitor, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
	wixl_wix_node_visitor_visit_control (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixControl*
wixl_wix_control_construct (GType object_type)
{
	WixlWixControl * self = NULL;
	self = (WixlWixControl*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixControl*
wixl_wix_control_new (void)
{
	return wixl_wix_control_construct (WIXL_TYPE_WIX_CONTROL);
}

const gchar*
wixl_wix_control_get_Bitmap (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Bitmap;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Bitmap (WixlWixControl* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Bitmap (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Bitmap);
		self->priv->_Bitmap = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_BITMAP_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Cancel (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Cancel;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Cancel (WixlWixControl* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Cancel (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Cancel);
		self->priv->_Cancel = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_CANCEL_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_CheckBoxValue (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_CheckBoxValue;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_CheckBoxValue (WixlWixControl* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_CheckBoxValue (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_CheckBoxValue);
		self->priv->_CheckBoxValue = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_CHECK_BOX_VALUE_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Default (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Default;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Default (WixlWixControl* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Default (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Default);
		self->priv->_Default = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_DEFAULT_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Disabled (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Disabled;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Disabled (WixlWixControl* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Disabled (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Disabled);
		self->priv->_Disabled = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_DISABLED_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_ElevationShield (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ElevationShield;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_ElevationShield (WixlWixControl* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_ElevationShield (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_ElevationShield);
		self->priv->_ElevationShield = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_ELEVATION_SHIELD_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Fixed (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Fixed;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Fixed (WixlWixControl* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Fixed (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Fixed);
		self->priv->_Fixed = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_FIXED_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_FixedSize (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_FixedSize;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_FixedSize (WixlWixControl* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_FixedSize (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_FixedSize);
		self->priv->_FixedSize = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_FIXED_SIZE_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Height (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Height;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Height (WixlWixControl* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Height (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Height);
		self->priv->_Height = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_HEIGHT_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Hidden (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Hidden;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Hidden (WixlWixControl* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Hidden (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Hidden);
		self->priv->_Hidden = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_HIDDEN_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_IconSize (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_IconSize;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_IconSize (WixlWixControl* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_IconSize (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_IconSize);
		self->priv->_IconSize = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_ICON_SIZE_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_NoPrefix (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_NoPrefix;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_NoPrefix (WixlWixControl* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_NoPrefix (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_NoPrefix);
		self->priv->_NoPrefix = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_NO_PREFIX_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_ProgressBlocks (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ProgressBlocks;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_ProgressBlocks (WixlWixControl* self,
                                     const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_ProgressBlocks (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_ProgressBlocks);
		self->priv->_ProgressBlocks = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_PROGRESS_BLOCKS_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Property (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Property;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Property (WixlWixControl* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Property (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Property);
		self->priv->_Property = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_PROPERTY_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Remote (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Remote;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Remote (WixlWixControl* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Remote (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Remote);
		self->priv->_Remote = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_REMOTE_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_ShowRollbackCost (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ShowRollbackCost;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_ShowRollbackCost (WixlWixControl* self,
                                       const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_ShowRollbackCost (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_ShowRollbackCost);
		self->priv->_ShowRollbackCost = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_SHOW_ROLLBACK_COST_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Sunken (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Sunken;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Sunken (WixlWixControl* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Sunken (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Sunken);
		self->priv->_Sunken = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_SUNKEN_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Indirect (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Indirect;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Indirect (WixlWixControl* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Indirect (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Indirect);
		self->priv->_Indirect = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_INDIRECT_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Icon (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Icon;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Icon (WixlWixControl* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Icon (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Icon);
		self->priv->_Icon = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_ICON_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_TabSkip (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_TabSkip;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_TabSkip (WixlWixControl* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_TabSkip (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_TabSkip);
		self->priv->_TabSkip = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_TAB_SKIP_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Text (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Text;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Text (WixlWixControl* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Text (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Text);
		self->priv->_Text = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_TEXT_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_ToolTip (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ToolTip;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_ToolTip (WixlWixControl* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_ToolTip (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_ToolTip);
		self->priv->_ToolTip = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_TOOL_TIP_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Transparent (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Transparent;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Transparent (WixlWixControl* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Transparent (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Transparent);
		self->priv->_Transparent = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_TRANSPARENT_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Type (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Type;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Type (WixlWixControl* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Type (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Type);
		self->priv->_Type = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_TYPE_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Width (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Width;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Width (WixlWixControl* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Width (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Width);
		self->priv->_Width = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_WIDTH_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_X (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_X;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_X (WixlWixControl* self,
                        const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_X (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_X);
		self->priv->_X = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_X_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_Y (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Y;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_Y (WixlWixControl* self,
                        const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_Y (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Y);
		self->priv->_Y = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_Y_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_DefaultCondition (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_DefaultCondition;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_DefaultCondition (WixlWixControl* self,
                                       const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_DefaultCondition (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_DefaultCondition);
		self->priv->_DefaultCondition = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_DEFAULT_CONDITION_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_DisableCondition (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_DisableCondition;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_DisableCondition (WixlWixControl* self,
                                       const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_DisableCondition (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_DisableCondition);
		self->priv->_DisableCondition = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_DISABLE_CONDITION_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_EnableCondition (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_EnableCondition;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_EnableCondition (WixlWixControl* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_EnableCondition (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_EnableCondition);
		self->priv->_EnableCondition = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_ENABLE_CONDITION_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_HideCondition (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_HideCondition;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_HideCondition (WixlWixControl* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_HideCondition (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_HideCondition);
		self->priv->_HideCondition = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_HIDE_CONDITION_PROPERTY]);
	}
}

const gchar*
wixl_wix_control_get_ShowCondition (WixlWixControl* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ShowCondition;
	result = _tmp0_;
	return result;
}

void
wixl_wix_control_set_ShowCondition (WixlWixControl* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_control_get_ShowCondition (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_ShowCondition);
		self->priv->_ShowCondition = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_control_properties[WIXL_WIX_CONTROL_SHOW_CONDITION_PROPERTY]);
	}
}

static void
wixl_wix_control_class_init (WixlWixControlClass * klass,
                             gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_control_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixControl_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_control_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_control_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_control_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_control_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_BITMAP_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_BITMAP_PROPERTY] = g_param_spec_string ("Bitmap", "Bitmap", "Bitmap", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_CANCEL_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_CANCEL_PROPERTY] = g_param_spec_string ("Cancel", "Cancel", "Cancel", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_CHECK_BOX_VALUE_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_CHECK_BOX_VALUE_PROPERTY] = g_param_spec_string ("CheckBoxValue", "CheckBoxValue", "CheckBoxValue", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_DEFAULT_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_DEFAULT_PROPERTY] = g_param_spec_string ("Default", "Default", "Default", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_DISABLED_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_DISABLED_PROPERTY] = g_param_spec_string ("Disabled", "Disabled", "Disabled", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_ELEVATION_SHIELD_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_ELEVATION_SHIELD_PROPERTY] = g_param_spec_string ("ElevationShield", "ElevationShield", "ElevationShield", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_FIXED_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_FIXED_PROPERTY] = g_param_spec_string ("Fixed", "Fixed", "Fixed", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_FIXED_SIZE_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_FIXED_SIZE_PROPERTY] = g_param_spec_string ("FixedSize", "FixedSize", "FixedSize", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_HEIGHT_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_HEIGHT_PROPERTY] = g_param_spec_string ("Height", "Height", "Height", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_HIDDEN_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_HIDDEN_PROPERTY] = g_param_spec_string ("Hidden", "Hidden", "Hidden", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_ICON_SIZE_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_ICON_SIZE_PROPERTY] = g_param_spec_string ("IconSize", "IconSize", "IconSize", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_NO_PREFIX_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_NO_PREFIX_PROPERTY] = g_param_spec_string ("NoPrefix", "NoPrefix", "NoPrefix", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_PROGRESS_BLOCKS_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_PROGRESS_BLOCKS_PROPERTY] = g_param_spec_string ("ProgressBlocks", "ProgressBlocks", "ProgressBlocks", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_PROPERTY_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_PROPERTY_PROPERTY] = g_param_spec_string ("Property", "Property", "Property", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_REMOTE_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_REMOTE_PROPERTY] = g_param_spec_string ("Remote", "Remote", "Remote", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_SHOW_ROLLBACK_COST_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_SHOW_ROLLBACK_COST_PROPERTY] = g_param_spec_string ("ShowRollbackCost", "ShowRollbackCost", "ShowRollbackCost", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_SUNKEN_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_SUNKEN_PROPERTY] = g_param_spec_string ("Sunken", "Sunken", "Sunken", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_INDIRECT_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_INDIRECT_PROPERTY] = g_param_spec_string ("Indirect", "Indirect", "Indirect", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_ICON_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_ICON_PROPERTY] = g_param_spec_string ("Icon", "Icon", "Icon", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_TAB_SKIP_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_TAB_SKIP_PROPERTY] = g_param_spec_string ("TabSkip", "TabSkip", "TabSkip", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_TEXT_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_TEXT_PROPERTY] = g_param_spec_string ("Text", "Text", "Text", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_TOOL_TIP_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_TOOL_TIP_PROPERTY] = g_param_spec_string ("ToolTip", "ToolTip", "ToolTip", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_TRANSPARENT_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_TRANSPARENT_PROPERTY] = g_param_spec_string ("Transparent", "Transparent", "Transparent", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_TYPE_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_TYPE_PROPERTY] = g_param_spec_string ("Type", "Type", "Type", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_WIDTH_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_WIDTH_PROPERTY] = g_param_spec_string ("Width", "Width", "Width", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_X_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_X_PROPERTY] = g_param_spec_string ("X", "X", "X", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_Y_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_Y_PROPERTY] = g_param_spec_string ("Y", "Y", "Y", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_DEFAULT_CONDITION_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_DEFAULT_CONDITION_PROPERTY] = g_param_spec_string ("DefaultCondition", "DefaultCondition", "DefaultCondition", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_DISABLE_CONDITION_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_DISABLE_CONDITION_PROPERTY] = g_param_spec_string ("DisableCondition", "DisableCondition", "DisableCondition", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_ENABLE_CONDITION_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_ENABLE_CONDITION_PROPERTY] = g_param_spec_string ("EnableCondition", "EnableCondition", "EnableCondition", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_HIDE_CONDITION_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_HIDE_CONDITION_PROPERTY] = g_param_spec_string ("HideCondition", "HideCondition", "HideCondition", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_CONTROL_SHOW_CONDITION_PROPERTY, wixl_wix_control_properties[WIXL_WIX_CONTROL_SHOW_CONDITION_PROPERTY] = g_param_spec_string ("ShowCondition", "ShowCondition", "ShowCondition", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Control");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 4);
	_tmp2_[0] = WIXL_TYPE_WIX_PUBLISH;
	_tmp2_[1] = WIXL_TYPE_WIX_RADIO_BUTTON_GROUP;
	_tmp2_[2] = WIXL_TYPE_WIX_SUBSCRIBE;
	_tmp2_[3] = WIXL_TYPE_WIX_TEXT_ELEMENT;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 4;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 4);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_control_instance_init (WixlWixControl * self,
                                gpointer klass)
{
	self->priv = wixl_wix_control_get_instance_private (self);
}

static void
wixl_wix_control_finalize (GObject * obj)
{
	WixlWixControl * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_CONTROL, WixlWixControl);
	_g_free0 (self->priv->_Bitmap);
	_g_free0 (self->priv->_Cancel);
	_g_free0 (self->priv->_CheckBoxValue);
	_g_free0 (self->priv->_Default);
	_g_free0 (self->priv->_Disabled);
	_g_free0 (self->priv->_ElevationShield);
	_g_free0 (self->priv->_Fixed);
	_g_free0 (self->priv->_FixedSize);
	_g_free0 (self->priv->_Height);
	_g_free0 (self->priv->_Hidden);
	_g_free0 (self->priv->_IconSize);
	_g_free0 (self->priv->_NoPrefix);
	_g_free0 (self->priv->_ProgressBlocks);
	_g_free0 (self->priv->_Property);
	_g_free0 (self->priv->_Remote);
	_g_free0 (self->priv->_ShowRollbackCost);
	_g_free0 (self->priv->_Sunken);
	_g_free0 (self->priv->_Indirect);
	_g_free0 (self->priv->_Icon);
	_g_free0 (self->priv->_TabSkip);
	_g_free0 (self->priv->_Text);
	_g_free0 (self->priv->_ToolTip);
	_g_free0 (self->priv->_Transparent);
	_g_free0 (self->priv->_Type);
	_g_free0 (self->priv->_Width);
	_g_free0 (self->priv->_X);
	_g_free0 (self->priv->_Y);
	_g_free0 (self->priv->_DefaultCondition);
	_g_free0 (self->priv->_DisableCondition);
	_g_free0 (self->priv->_EnableCondition);
	_g_free0 (self->priv->_HideCondition);
	_g_free0 (self->priv->_ShowCondition);
	_g_object_unref0 (self->file);
	_g_object_unref0 (self->record);
	G_OBJECT_CLASS (wixl_wix_control_parent_class)->finalize (obj);
}

static GType
wixl_wix_control_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixControlClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_control_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixControl), 0, (GInstanceInitFunc) wixl_wix_control_instance_init, NULL };
	GType wixl_wix_control_type_id;
	wixl_wix_control_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixControl", &g_define_type_info, 0);
	WixlWixControl_private_offset = g_type_add_instance_private (wixl_wix_control_type_id, sizeof (WixlWixControlPrivate));
	return wixl_wix_control_type_id;
}

GType
wixl_wix_control_get_type (void)
{
	static volatile gsize wixl_wix_control_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_control_type_id__once)) {
		GType wixl_wix_control_type_id;
		wixl_wix_control_type_id = wixl_wix_control_get_type_once ();
		g_once_init_leave (&wixl_wix_control_type_id__once, wixl_wix_control_type_id);
	}
	return wixl_wix_control_type_id__once;
}

static void
_vala_wixl_wix_control_get_property (GObject * object,
                                     guint property_id,
                                     GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixControl * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_CONTROL, WixlWixControl);
	switch (property_id) {
		case WIXL_WIX_CONTROL_BITMAP_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Bitmap (self));
		break;
		case WIXL_WIX_CONTROL_CANCEL_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Cancel (self));
		break;
		case WIXL_WIX_CONTROL_CHECK_BOX_VALUE_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_CheckBoxValue (self));
		break;
		case WIXL_WIX_CONTROL_DEFAULT_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Default (self));
		break;
		case WIXL_WIX_CONTROL_DISABLED_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Disabled (self));
		break;
		case WIXL_WIX_CONTROL_ELEVATION_SHIELD_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_ElevationShield (self));
		break;
		case WIXL_WIX_CONTROL_FIXED_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Fixed (self));
		break;
		case WIXL_WIX_CONTROL_FIXED_SIZE_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_FixedSize (self));
		break;
		case WIXL_WIX_CONTROL_HEIGHT_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Height (self));
		break;
		case WIXL_WIX_CONTROL_HIDDEN_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Hidden (self));
		break;
		case WIXL_WIX_CONTROL_ICON_SIZE_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_IconSize (self));
		break;
		case WIXL_WIX_CONTROL_NO_PREFIX_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_NoPrefix (self));
		break;
		case WIXL_WIX_CONTROL_PROGRESS_BLOCKS_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_ProgressBlocks (self));
		break;
		case WIXL_WIX_CONTROL_PROPERTY_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Property (self));
		break;
		case WIXL_WIX_CONTROL_REMOTE_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Remote (self));
		break;
		case WIXL_WIX_CONTROL_SHOW_ROLLBACK_COST_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_ShowRollbackCost (self));
		break;
		case WIXL_WIX_CONTROL_SUNKEN_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Sunken (self));
		break;
		case WIXL_WIX_CONTROL_INDIRECT_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Indirect (self));
		break;
		case WIXL_WIX_CONTROL_ICON_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Icon (self));
		break;
		case WIXL_WIX_CONTROL_TAB_SKIP_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_TabSkip (self));
		break;
		case WIXL_WIX_CONTROL_TEXT_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Text (self));
		break;
		case WIXL_WIX_CONTROL_TOOL_TIP_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_ToolTip (self));
		break;
		case WIXL_WIX_CONTROL_TRANSPARENT_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Transparent (self));
		break;
		case WIXL_WIX_CONTROL_TYPE_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Type (self));
		break;
		case WIXL_WIX_CONTROL_WIDTH_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Width (self));
		break;
		case WIXL_WIX_CONTROL_X_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_X (self));
		break;
		case WIXL_WIX_CONTROL_Y_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_Y (self));
		break;
		case WIXL_WIX_CONTROL_DEFAULT_CONDITION_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_DefaultCondition (self));
		break;
		case WIXL_WIX_CONTROL_DISABLE_CONDITION_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_DisableCondition (self));
		break;
		case WIXL_WIX_CONTROL_ENABLE_CONDITION_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_EnableCondition (self));
		break;
		case WIXL_WIX_CONTROL_HIDE_CONDITION_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_HideCondition (self));
		break;
		case WIXL_WIX_CONTROL_SHOW_CONDITION_PROPERTY:
		g_value_set_string (value, wixl_wix_control_get_ShowCondition (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_control_set_property (GObject * object,
                                     guint property_id,
                                     const GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixControl * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_CONTROL, WixlWixControl);
	switch (property_id) {
		case WIXL_WIX_CONTROL_BITMAP_PROPERTY:
		wixl_wix_control_set_Bitmap (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_CANCEL_PROPERTY:
		wixl_wix_control_set_Cancel (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_CHECK_BOX_VALUE_PROPERTY:
		wixl_wix_control_set_CheckBoxValue (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_DEFAULT_PROPERTY:
		wixl_wix_control_set_Default (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_DISABLED_PROPERTY:
		wixl_wix_control_set_Disabled (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_ELEVATION_SHIELD_PROPERTY:
		wixl_wix_control_set_ElevationShield (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_FIXED_PROPERTY:
		wixl_wix_control_set_Fixed (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_FIXED_SIZE_PROPERTY:
		wixl_wix_control_set_FixedSize (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_HEIGHT_PROPERTY:
		wixl_wix_control_set_Height (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_HIDDEN_PROPERTY:
		wixl_wix_control_set_Hidden (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_ICON_SIZE_PROPERTY:
		wixl_wix_control_set_IconSize (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_NO_PREFIX_PROPERTY:
		wixl_wix_control_set_NoPrefix (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_PROGRESS_BLOCKS_PROPERTY:
		wixl_wix_control_set_ProgressBlocks (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_PROPERTY_PROPERTY:
		wixl_wix_control_set_Property (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_REMOTE_PROPERTY:
		wixl_wix_control_set_Remote (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_SHOW_ROLLBACK_COST_PROPERTY:
		wixl_wix_control_set_ShowRollbackCost (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_SUNKEN_PROPERTY:
		wixl_wix_control_set_Sunken (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_INDIRECT_PROPERTY:
		wixl_wix_control_set_Indirect (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_ICON_PROPERTY:
		wixl_wix_control_set_Icon (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_TAB_SKIP_PROPERTY:
		wixl_wix_control_set_TabSkip (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_TEXT_PROPERTY:
		wixl_wix_control_set_Text (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_TOOL_TIP_PROPERTY:
		wixl_wix_control_set_ToolTip (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_TRANSPARENT_PROPERTY:
		wixl_wix_control_set_Transparent (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_TYPE_PROPERTY:
		wixl_wix_control_set_Type (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_WIDTH_PROPERTY:
		wixl_wix_control_set_Width (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_X_PROPERTY:
		wixl_wix_control_set_X (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_Y_PROPERTY:
		wixl_wix_control_set_Y (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_DEFAULT_CONDITION_PROPERTY:
		wixl_wix_control_set_DefaultCondition (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_DISABLE_CONDITION_PROPERTY:
		wixl_wix_control_set_DisableCondition (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_ENABLE_CONDITION_PROPERTY:
		wixl_wix_control_set_EnableCondition (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_HIDE_CONDITION_PROPERTY:
		wixl_wix_control_set_HideCondition (self, g_value_get_string (value));
		break;
		case WIXL_WIX_CONTROL_SHOW_CONDITION_PROPERTY:
		wixl_wix_control_set_ShowCondition (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_publish_get_instance_private (WixlWixPublish* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixPublish_private_offset);
}

static void
wixl_wix_publish_real_accept (WixlWixNode* base,
                              WixlWixNodeVisitor* visitor,
                              GError** error)
{
	WixlWixPublish * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixPublish*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_publish (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixPublish*
wixl_wix_publish_construct (GType object_type)
{
	WixlWixPublish * self = NULL;
	self = (WixlWixPublish*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixPublish*
wixl_wix_publish_new (void)
{
	return wixl_wix_publish_construct (WIXL_TYPE_WIX_PUBLISH);
}

const gchar*
wixl_wix_publish_get_Control (WixlWixPublish* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Control;
	result = _tmp0_;
	return result;
}

void
wixl_wix_publish_set_Control (WixlWixPublish* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_publish_get_Control (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Control);
		self->priv->_Control = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_CONTROL_PROPERTY]);
	}
}

const gchar*
wixl_wix_publish_get_Dialog (WixlWixPublish* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Dialog;
	result = _tmp0_;
	return result;
}

void
wixl_wix_publish_set_Dialog (WixlWixPublish* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_publish_get_Dialog (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Dialog);
		self->priv->_Dialog = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_DIALOG_PROPERTY]);
	}
}

const gchar*
wixl_wix_publish_get_Event (WixlWixPublish* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Event;
	result = _tmp0_;
	return result;
}

void
wixl_wix_publish_set_Event (WixlWixPublish* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_publish_get_Event (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Event);
		self->priv->_Event = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_EVENT_PROPERTY]);
	}
}

const gchar*
wixl_wix_publish_get_Order (WixlWixPublish* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Order;
	result = _tmp0_;
	return result;
}

void
wixl_wix_publish_set_Order (WixlWixPublish* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_publish_get_Order (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Order);
		self->priv->_Order = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_ORDER_PROPERTY]);
	}
}

const gchar*
wixl_wix_publish_get_Property (WixlWixPublish* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Property;
	result = _tmp0_;
	return result;
}

void
wixl_wix_publish_set_Property (WixlWixPublish* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_publish_get_Property (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Property);
		self->priv->_Property = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_PROPERTY_PROPERTY]);
	}
}

const gchar*
wixl_wix_publish_get_Value (WixlWixPublish* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Value;
	result = _tmp0_;
	return result;
}

void
wixl_wix_publish_set_Value (WixlWixPublish* self,
                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_publish_get_Value (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Value);
		self->priv->_Value = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_VALUE_PROPERTY]);
	}
}

const gchar*
wixl_wix_publish_get_Condition (WixlWixPublish* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Condition;
	result = _tmp0_;
	return result;
}

void
wixl_wix_publish_set_Condition (WixlWixPublish* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_publish_get_Condition (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Condition);
		self->priv->_Condition = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_CONDITION_PROPERTY]);
	}
}

static void
wixl_wix_publish_class_init (WixlWixPublishClass * klass,
                             gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_publish_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixPublish_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_publish_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_publish_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_publish_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_publish_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PUBLISH_CONTROL_PROPERTY, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_CONTROL_PROPERTY] = g_param_spec_string ("Control", "Control", "Control", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PUBLISH_DIALOG_PROPERTY, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_DIALOG_PROPERTY] = g_param_spec_string ("Dialog", "Dialog", "Dialog", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PUBLISH_EVENT_PROPERTY, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_EVENT_PROPERTY] = g_param_spec_string ("Event", "Event", "Event", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PUBLISH_ORDER_PROPERTY, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_ORDER_PROPERTY] = g_param_spec_string ("Order", "Order", "Order", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PUBLISH_PROPERTY_PROPERTY, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_PROPERTY_PROPERTY] = g_param_spec_string ("Property", "Property", "Property", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PUBLISH_VALUE_PROPERTY, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_VALUE_PROPERTY] = g_param_spec_string ("Value", "Value", "Value", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PUBLISH_CONDITION_PROPERTY, wixl_wix_publish_properties[WIXL_WIX_PUBLISH_CONDITION_PROPERTY] = g_param_spec_string ("Condition", "Condition", "Condition", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Publish");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_publish_instance_init (WixlWixPublish * self,
                                gpointer klass)
{
	self->priv = wixl_wix_publish_get_instance_private (self);
}

static void
wixl_wix_publish_finalize (GObject * obj)
{
	WixlWixPublish * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_PUBLISH, WixlWixPublish);
	_g_free0 (self->priv->_Control);
	_g_free0 (self->priv->_Dialog);
	_g_free0 (self->priv->_Event);
	_g_free0 (self->priv->_Order);
	_g_free0 (self->priv->_Property);
	_g_free0 (self->priv->_Value);
	_g_free0 (self->priv->_Condition);
	G_OBJECT_CLASS (wixl_wix_publish_parent_class)->finalize (obj);
}

static GType
wixl_wix_publish_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixPublishClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_publish_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixPublish), 0, (GInstanceInitFunc) wixl_wix_publish_instance_init, NULL };
	GType wixl_wix_publish_type_id;
	wixl_wix_publish_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixPublish", &g_define_type_info, 0);
	WixlWixPublish_private_offset = g_type_add_instance_private (wixl_wix_publish_type_id, sizeof (WixlWixPublishPrivate));
	return wixl_wix_publish_type_id;
}

GType
wixl_wix_publish_get_type (void)
{
	static volatile gsize wixl_wix_publish_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_publish_type_id__once)) {
		GType wixl_wix_publish_type_id;
		wixl_wix_publish_type_id = wixl_wix_publish_get_type_once ();
		g_once_init_leave (&wixl_wix_publish_type_id__once, wixl_wix_publish_type_id);
	}
	return wixl_wix_publish_type_id__once;
}

static void
_vala_wixl_wix_publish_get_property (GObject * object,
                                     guint property_id,
                                     GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixPublish * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PUBLISH, WixlWixPublish);
	switch (property_id) {
		case WIXL_WIX_PUBLISH_CONTROL_PROPERTY:
		g_value_set_string (value, wixl_wix_publish_get_Control (self));
		break;
		case WIXL_WIX_PUBLISH_DIALOG_PROPERTY:
		g_value_set_string (value, wixl_wix_publish_get_Dialog (self));
		break;
		case WIXL_WIX_PUBLISH_EVENT_PROPERTY:
		g_value_set_string (value, wixl_wix_publish_get_Event (self));
		break;
		case WIXL_WIX_PUBLISH_ORDER_PROPERTY:
		g_value_set_string (value, wixl_wix_publish_get_Order (self));
		break;
		case WIXL_WIX_PUBLISH_PROPERTY_PROPERTY:
		g_value_set_string (value, wixl_wix_publish_get_Property (self));
		break;
		case WIXL_WIX_PUBLISH_VALUE_PROPERTY:
		g_value_set_string (value, wixl_wix_publish_get_Value (self));
		break;
		case WIXL_WIX_PUBLISH_CONDITION_PROPERTY:
		g_value_set_string (value, wixl_wix_publish_get_Condition (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_publish_set_property (GObject * object,
                                     guint property_id,
                                     const GValue * value,
                                     GParamSpec * pspec)
{
	WixlWixPublish * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PUBLISH, WixlWixPublish);
	switch (property_id) {
		case WIXL_WIX_PUBLISH_CONTROL_PROPERTY:
		wixl_wix_publish_set_Control (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PUBLISH_DIALOG_PROPERTY:
		wixl_wix_publish_set_Dialog (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PUBLISH_EVENT_PROPERTY:
		wixl_wix_publish_set_Event (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PUBLISH_ORDER_PROPERTY:
		wixl_wix_publish_set_Order (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PUBLISH_PROPERTY_PROPERTY:
		wixl_wix_publish_set_Property (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PUBLISH_VALUE_PROPERTY:
		wixl_wix_publish_set_Value (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PUBLISH_CONDITION_PROPERTY:
		wixl_wix_publish_set_Condition (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_radio_button_group_get_instance_private (WixlWixRadioButtonGroup* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixRadioButtonGroup_private_offset);
}

WixlWixRadioButtonGroup*
wixl_wix_radio_button_group_construct (GType object_type)
{
	WixlWixRadioButtonGroup * self = NULL;
	self = (WixlWixRadioButtonGroup*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixRadioButtonGroup*
wixl_wix_radio_button_group_new (void)
{
	return wixl_wix_radio_button_group_construct (WIXL_TYPE_WIX_RADIO_BUTTON_GROUP);
}

const gchar*
wixl_wix_radio_button_group_get_Property (WixlWixRadioButtonGroup* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Property;
	result = _tmp0_;
	return result;
}

void
wixl_wix_radio_button_group_set_Property (WixlWixRadioButtonGroup* self,
                                          const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_radio_button_group_get_Property (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Property);
		self->priv->_Property = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_radio_button_group_properties[WIXL_WIX_RADIO_BUTTON_GROUP_PROPERTY_PROPERTY]);
	}
}

static void
wixl_wix_radio_button_group_class_init (WixlWixRadioButtonGroupClass * klass,
                                        gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_radio_button_group_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixRadioButtonGroup_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_radio_button_group_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_radio_button_group_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_radio_button_group_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_RADIO_BUTTON_GROUP_PROPERTY_PROPERTY, wixl_wix_radio_button_group_properties[WIXL_WIX_RADIO_BUTTON_GROUP_PROPERTY_PROPERTY] = g_param_spec_string ("Property", "Property", "Property", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("RadioButtonGroup");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 1);
	_tmp2_[0] = WIXL_TYPE_WIX_RADIO_BUTTON;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 1;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 1);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_radio_button_group_instance_init (WixlWixRadioButtonGroup * self,
                                           gpointer klass)
{
	self->priv = wixl_wix_radio_button_group_get_instance_private (self);
	self->order = 1;
}

static void
wixl_wix_radio_button_group_finalize (GObject * obj)
{
	WixlWixRadioButtonGroup * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_RADIO_BUTTON_GROUP, WixlWixRadioButtonGroup);
	_g_free0 (self->priv->_Property);
	G_OBJECT_CLASS (wixl_wix_radio_button_group_parent_class)->finalize (obj);
}

static GType
wixl_wix_radio_button_group_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixRadioButtonGroupClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_radio_button_group_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixRadioButtonGroup), 0, (GInstanceInitFunc) wixl_wix_radio_button_group_instance_init, NULL };
	GType wixl_wix_radio_button_group_type_id;
	wixl_wix_radio_button_group_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixRadioButtonGroup", &g_define_type_info, 0);
	WixlWixRadioButtonGroup_private_offset = g_type_add_instance_private (wixl_wix_radio_button_group_type_id, sizeof (WixlWixRadioButtonGroupPrivate));
	return wixl_wix_radio_button_group_type_id;
}

GType
wixl_wix_radio_button_group_get_type (void)
{
	static volatile gsize wixl_wix_radio_button_group_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_radio_button_group_type_id__once)) {
		GType wixl_wix_radio_button_group_type_id;
		wixl_wix_radio_button_group_type_id = wixl_wix_radio_button_group_get_type_once ();
		g_once_init_leave (&wixl_wix_radio_button_group_type_id__once, wixl_wix_radio_button_group_type_id);
	}
	return wixl_wix_radio_button_group_type_id__once;
}

static void
_vala_wixl_wix_radio_button_group_get_property (GObject * object,
                                                guint property_id,
                                                GValue * value,
                                                GParamSpec * pspec)
{
	WixlWixRadioButtonGroup * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_RADIO_BUTTON_GROUP, WixlWixRadioButtonGroup);
	switch (property_id) {
		case WIXL_WIX_RADIO_BUTTON_GROUP_PROPERTY_PROPERTY:
		g_value_set_string (value, wixl_wix_radio_button_group_get_Property (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_radio_button_group_set_property (GObject * object,
                                                guint property_id,
                                                const GValue * value,
                                                GParamSpec * pspec)
{
	WixlWixRadioButtonGroup * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_RADIO_BUTTON_GROUP, WixlWixRadioButtonGroup);
	switch (property_id) {
		case WIXL_WIX_RADIO_BUTTON_GROUP_PROPERTY_PROPERTY:
		wixl_wix_radio_button_group_set_Property (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_radio_button_get_instance_private (WixlWixRadioButton* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixRadioButton_private_offset);
}

static void
wixl_wix_radio_button_real_accept (WixlWixNode* base,
                                   WixlWixNodeVisitor* visitor,
                                   GError** error)
{
	WixlWixRadioButton * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixRadioButton*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_radio_button (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixRadioButton*
wixl_wix_radio_button_construct (GType object_type)
{
	WixlWixRadioButton * self = NULL;
	self = (WixlWixRadioButton*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixRadioButton*
wixl_wix_radio_button_new (void)
{
	return wixl_wix_radio_button_construct (WIXL_TYPE_WIX_RADIO_BUTTON);
}

const gchar*
wixl_wix_radio_button_get_Height (WixlWixRadioButton* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Height;
	result = _tmp0_;
	return result;
}

void
wixl_wix_radio_button_set_Height (WixlWixRadioButton* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_radio_button_get_Height (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Height);
		self->priv->_Height = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_HEIGHT_PROPERTY]);
	}
}

const gchar*
wixl_wix_radio_button_get_Help (WixlWixRadioButton* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Help;
	result = _tmp0_;
	return result;
}

void
wixl_wix_radio_button_set_Help (WixlWixRadioButton* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_radio_button_get_Help (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Help);
		self->priv->_Help = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_HELP_PROPERTY]);
	}
}

const gchar*
wixl_wix_radio_button_get_Text (WixlWixRadioButton* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Text;
	result = _tmp0_;
	return result;
}

void
wixl_wix_radio_button_set_Text (WixlWixRadioButton* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_radio_button_get_Text (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Text);
		self->priv->_Text = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_TEXT_PROPERTY]);
	}
}

const gchar*
wixl_wix_radio_button_get_Value (WixlWixRadioButton* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Value;
	result = _tmp0_;
	return result;
}

void
wixl_wix_radio_button_set_Value (WixlWixRadioButton* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_radio_button_get_Value (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Value);
		self->priv->_Value = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_VALUE_PROPERTY]);
	}
}

const gchar*
wixl_wix_radio_button_get_Width (WixlWixRadioButton* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Width;
	result = _tmp0_;
	return result;
}

void
wixl_wix_radio_button_set_Width (WixlWixRadioButton* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_radio_button_get_Width (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Width);
		self->priv->_Width = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_WIDTH_PROPERTY]);
	}
}

const gchar*
wixl_wix_radio_button_get_X (WixlWixRadioButton* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_X;
	result = _tmp0_;
	return result;
}

void
wixl_wix_radio_button_set_X (WixlWixRadioButton* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_radio_button_get_X (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_X);
		self->priv->_X = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_X_PROPERTY]);
	}
}

const gchar*
wixl_wix_radio_button_get_Y (WixlWixRadioButton* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Y;
	result = _tmp0_;
	return result;
}

void
wixl_wix_radio_button_set_Y (WixlWixRadioButton* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_radio_button_get_Y (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Y);
		self->priv->_Y = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_Y_PROPERTY]);
	}
}

static void
wixl_wix_radio_button_class_init (WixlWixRadioButtonClass * klass,
                                  gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_radio_button_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixRadioButton_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_radio_button_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_radio_button_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_radio_button_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_radio_button_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_RADIO_BUTTON_HEIGHT_PROPERTY, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_HEIGHT_PROPERTY] = g_param_spec_string ("Height", "Height", "Height", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_RADIO_BUTTON_HELP_PROPERTY, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_HELP_PROPERTY] = g_param_spec_string ("Help", "Help", "Help", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_RADIO_BUTTON_TEXT_PROPERTY, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_TEXT_PROPERTY] = g_param_spec_string ("Text", "Text", "Text", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_RADIO_BUTTON_VALUE_PROPERTY, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_VALUE_PROPERTY] = g_param_spec_string ("Value", "Value", "Value", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_RADIO_BUTTON_WIDTH_PROPERTY, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_WIDTH_PROPERTY] = g_param_spec_string ("Width", "Width", "Width", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_RADIO_BUTTON_X_PROPERTY, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_X_PROPERTY] = g_param_spec_string ("X", "X", "X", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_RADIO_BUTTON_Y_PROPERTY, wixl_wix_radio_button_properties[WIXL_WIX_RADIO_BUTTON_Y_PROPERTY] = g_param_spec_string ("Y", "Y", "Y", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("RadioButton");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_radio_button_instance_init (WixlWixRadioButton * self,
                                     gpointer klass)
{
	self->priv = wixl_wix_radio_button_get_instance_private (self);
}

static void
wixl_wix_radio_button_finalize (GObject * obj)
{
	WixlWixRadioButton * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_RADIO_BUTTON, WixlWixRadioButton);
	_g_free0 (self->priv->_Height);
	_g_free0 (self->priv->_Help);
	_g_free0 (self->priv->_Text);
	_g_free0 (self->priv->_Value);
	_g_free0 (self->priv->_Width);
	_g_free0 (self->priv->_X);
	_g_free0 (self->priv->_Y);
	G_OBJECT_CLASS (wixl_wix_radio_button_parent_class)->finalize (obj);
}

static GType
wixl_wix_radio_button_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixRadioButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_radio_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixRadioButton), 0, (GInstanceInitFunc) wixl_wix_radio_button_instance_init, NULL };
	GType wixl_wix_radio_button_type_id;
	wixl_wix_radio_button_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixRadioButton", &g_define_type_info, 0);
	WixlWixRadioButton_private_offset = g_type_add_instance_private (wixl_wix_radio_button_type_id, sizeof (WixlWixRadioButtonPrivate));
	return wixl_wix_radio_button_type_id;
}

GType
wixl_wix_radio_button_get_type (void)
{
	static volatile gsize wixl_wix_radio_button_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_radio_button_type_id__once)) {
		GType wixl_wix_radio_button_type_id;
		wixl_wix_radio_button_type_id = wixl_wix_radio_button_get_type_once ();
		g_once_init_leave (&wixl_wix_radio_button_type_id__once, wixl_wix_radio_button_type_id);
	}
	return wixl_wix_radio_button_type_id__once;
}

static void
_vala_wixl_wix_radio_button_get_property (GObject * object,
                                          guint property_id,
                                          GValue * value,
                                          GParamSpec * pspec)
{
	WixlWixRadioButton * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_RADIO_BUTTON, WixlWixRadioButton);
	switch (property_id) {
		case WIXL_WIX_RADIO_BUTTON_HEIGHT_PROPERTY:
		g_value_set_string (value, wixl_wix_radio_button_get_Height (self));
		break;
		case WIXL_WIX_RADIO_BUTTON_HELP_PROPERTY:
		g_value_set_string (value, wixl_wix_radio_button_get_Help (self));
		break;
		case WIXL_WIX_RADIO_BUTTON_TEXT_PROPERTY:
		g_value_set_string (value, wixl_wix_radio_button_get_Text (self));
		break;
		case WIXL_WIX_RADIO_BUTTON_VALUE_PROPERTY:
		g_value_set_string (value, wixl_wix_radio_button_get_Value (self));
		break;
		case WIXL_WIX_RADIO_BUTTON_WIDTH_PROPERTY:
		g_value_set_string (value, wixl_wix_radio_button_get_Width (self));
		break;
		case WIXL_WIX_RADIO_BUTTON_X_PROPERTY:
		g_value_set_string (value, wixl_wix_radio_button_get_X (self));
		break;
		case WIXL_WIX_RADIO_BUTTON_Y_PROPERTY:
		g_value_set_string (value, wixl_wix_radio_button_get_Y (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_radio_button_set_property (GObject * object,
                                          guint property_id,
                                          const GValue * value,
                                          GParamSpec * pspec)
{
	WixlWixRadioButton * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_RADIO_BUTTON, WixlWixRadioButton);
	switch (property_id) {
		case WIXL_WIX_RADIO_BUTTON_HEIGHT_PROPERTY:
		wixl_wix_radio_button_set_Height (self, g_value_get_string (value));
		break;
		case WIXL_WIX_RADIO_BUTTON_HELP_PROPERTY:
		wixl_wix_radio_button_set_Help (self, g_value_get_string (value));
		break;
		case WIXL_WIX_RADIO_BUTTON_TEXT_PROPERTY:
		wixl_wix_radio_button_set_Text (self, g_value_get_string (value));
		break;
		case WIXL_WIX_RADIO_BUTTON_VALUE_PROPERTY:
		wixl_wix_radio_button_set_Value (self, g_value_get_string (value));
		break;
		case WIXL_WIX_RADIO_BUTTON_WIDTH_PROPERTY:
		wixl_wix_radio_button_set_Width (self, g_value_get_string (value));
		break;
		case WIXL_WIX_RADIO_BUTTON_X_PROPERTY:
		wixl_wix_radio_button_set_X (self, g_value_get_string (value));
		break;
		case WIXL_WIX_RADIO_BUTTON_Y_PROPERTY:
		wixl_wix_radio_button_set_Y (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_subscribe_get_instance_private (WixlWixSubscribe* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixSubscribe_private_offset);
}

static void
wixl_wix_subscribe_real_accept (WixlWixNode* base,
                                WixlWixNodeVisitor* visitor,
                                GError** error)
{
	WixlWixSubscribe * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixSubscribe*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_subscribe (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixSubscribe*
wixl_wix_subscribe_construct (GType object_type)
{
	WixlWixSubscribe * self = NULL;
	self = (WixlWixSubscribe*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixSubscribe*
wixl_wix_subscribe_new (void)
{
	return wixl_wix_subscribe_construct (WIXL_TYPE_WIX_SUBSCRIBE);
}

const gchar*
wixl_wix_subscribe_get_Attribute (WixlWixSubscribe* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Attribute;
	result = _tmp0_;
	return result;
}

void
wixl_wix_subscribe_set_Attribute (WixlWixSubscribe* self,
                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_subscribe_get_Attribute (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Attribute);
		self->priv->_Attribute = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_subscribe_properties[WIXL_WIX_SUBSCRIBE_ATTRIBUTE_PROPERTY]);
	}
}

const gchar*
wixl_wix_subscribe_get_Event (WixlWixSubscribe* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Event;
	result = _tmp0_;
	return result;
}

void
wixl_wix_subscribe_set_Event (WixlWixSubscribe* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_subscribe_get_Event (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Event);
		self->priv->_Event = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_subscribe_properties[WIXL_WIX_SUBSCRIBE_EVENT_PROPERTY]);
	}
}

static void
wixl_wix_subscribe_class_init (WixlWixSubscribeClass * klass,
                               gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_subscribe_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixSubscribe_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_subscribe_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_subscribe_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_subscribe_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_subscribe_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SUBSCRIBE_ATTRIBUTE_PROPERTY, wixl_wix_subscribe_properties[WIXL_WIX_SUBSCRIBE_ATTRIBUTE_PROPERTY] = g_param_spec_string ("Attribute", "Attribute", "Attribute", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_SUBSCRIBE_EVENT_PROPERTY, wixl_wix_subscribe_properties[WIXL_WIX_SUBSCRIBE_EVENT_PROPERTY] = g_param_spec_string ("Event", "Event", "Event", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Subscribe");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_subscribe_instance_init (WixlWixSubscribe * self,
                                  gpointer klass)
{
	self->priv = wixl_wix_subscribe_get_instance_private (self);
}

static void
wixl_wix_subscribe_finalize (GObject * obj)
{
	WixlWixSubscribe * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_SUBSCRIBE, WixlWixSubscribe);
	_g_free0 (self->priv->_Attribute);
	_g_free0 (self->priv->_Event);
	G_OBJECT_CLASS (wixl_wix_subscribe_parent_class)->finalize (obj);
}

static GType
wixl_wix_subscribe_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixSubscribeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_subscribe_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixSubscribe), 0, (GInstanceInitFunc) wixl_wix_subscribe_instance_init, NULL };
	GType wixl_wix_subscribe_type_id;
	wixl_wix_subscribe_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixSubscribe", &g_define_type_info, 0);
	WixlWixSubscribe_private_offset = g_type_add_instance_private (wixl_wix_subscribe_type_id, sizeof (WixlWixSubscribePrivate));
	return wixl_wix_subscribe_type_id;
}

GType
wixl_wix_subscribe_get_type (void)
{
	static volatile gsize wixl_wix_subscribe_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_subscribe_type_id__once)) {
		GType wixl_wix_subscribe_type_id;
		wixl_wix_subscribe_type_id = wixl_wix_subscribe_get_type_once ();
		g_once_init_leave (&wixl_wix_subscribe_type_id__once, wixl_wix_subscribe_type_id);
	}
	return wixl_wix_subscribe_type_id__once;
}

static void
_vala_wixl_wix_subscribe_get_property (GObject * object,
                                       guint property_id,
                                       GValue * value,
                                       GParamSpec * pspec)
{
	WixlWixSubscribe * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_SUBSCRIBE, WixlWixSubscribe);
	switch (property_id) {
		case WIXL_WIX_SUBSCRIBE_ATTRIBUTE_PROPERTY:
		g_value_set_string (value, wixl_wix_subscribe_get_Attribute (self));
		break;
		case WIXL_WIX_SUBSCRIBE_EVENT_PROPERTY:
		g_value_set_string (value, wixl_wix_subscribe_get_Event (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_subscribe_set_property (GObject * object,
                                       guint property_id,
                                       const GValue * value,
                                       GParamSpec * pspec)
{
	WixlWixSubscribe * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_SUBSCRIBE, WixlWixSubscribe);
	switch (property_id) {
		case WIXL_WIX_SUBSCRIBE_ATTRIBUTE_PROPERTY:
		wixl_wix_subscribe_set_Attribute (self, g_value_get_string (value));
		break;
		case WIXL_WIX_SUBSCRIBE_EVENT_PROPERTY:
		wixl_wix_subscribe_set_Event (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
wixl_wix_progress_text_get_instance_private (WixlWixProgressText* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixProgressText_private_offset);
}

static void
wixl_wix_progress_text_real_accept (WixlWixNode* base,
                                    WixlWixNodeVisitor* visitor,
                                    GError** error)
{
	WixlWixProgressText * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixProgressText*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_progress_text (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixProgressText*
wixl_wix_progress_text_construct (GType object_type)
{
	WixlWixProgressText * self = NULL;
	self = (WixlWixProgressText*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixProgressText*
wixl_wix_progress_text_new (void)
{
	return wixl_wix_progress_text_construct (WIXL_TYPE_WIX_PROGRESS_TEXT);
}

const gchar*
wixl_wix_progress_text_get_Action (WixlWixProgressText* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Action;
	result = _tmp0_;
	return result;
}

void
wixl_wix_progress_text_set_Action (WixlWixProgressText* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_progress_text_get_Action (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Action);
		self->priv->_Action = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_progress_text_properties[WIXL_WIX_PROGRESS_TEXT_ACTION_PROPERTY]);
	}
}

const gchar*
wixl_wix_progress_text_get_Template (WixlWixProgressText* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Template;
	result = _tmp0_;
	return result;
}

void
wixl_wix_progress_text_set_Template (WixlWixProgressText* self,
                                     const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_progress_text_get_Template (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Template);
		self->priv->_Template = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_progress_text_properties[WIXL_WIX_PROGRESS_TEXT_TEMPLATE_PROPERTY]);
	}
}

static void
wixl_wix_progress_text_class_init (WixlWixProgressTextClass * klass,
                                   gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_progress_text_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixProgressText_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_progress_text_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_progress_text_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_progress_text_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_progress_text_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PROGRESS_TEXT_ACTION_PROPERTY, wixl_wix_progress_text_properties[WIXL_WIX_PROGRESS_TEXT_ACTION_PROPERTY] = g_param_spec_string ("Action", "Action", "Action", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_PROGRESS_TEXT_TEMPLATE_PROPERTY, wixl_wix_progress_text_properties[WIXL_WIX_PROGRESS_TEXT_TEMPLATE_PROPERTY] = g_param_spec_string ("Template", "Template", "Template", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("ProgressText");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_progress_text_instance_init (WixlWixProgressText * self,
                                      gpointer klass)
{
	self->priv = wixl_wix_progress_text_get_instance_private (self);
}

static void
wixl_wix_progress_text_finalize (GObject * obj)
{
	WixlWixProgressText * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_PROGRESS_TEXT, WixlWixProgressText);
	_g_free0 (self->priv->_Action);
	_g_free0 (self->priv->_Template);
	G_OBJECT_CLASS (wixl_wix_progress_text_parent_class)->finalize (obj);
}

static GType
wixl_wix_progress_text_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixProgressTextClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_progress_text_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixProgressText), 0, (GInstanceInitFunc) wixl_wix_progress_text_instance_init, NULL };
	GType wixl_wix_progress_text_type_id;
	wixl_wix_progress_text_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixProgressText", &g_define_type_info, 0);
	WixlWixProgressText_private_offset = g_type_add_instance_private (wixl_wix_progress_text_type_id, sizeof (WixlWixProgressTextPrivate));
	return wixl_wix_progress_text_type_id;
}

GType
wixl_wix_progress_text_get_type (void)
{
	static volatile gsize wixl_wix_progress_text_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_progress_text_type_id__once)) {
		GType wixl_wix_progress_text_type_id;
		wixl_wix_progress_text_type_id = wixl_wix_progress_text_get_type_once ();
		g_once_init_leave (&wixl_wix_progress_text_type_id__once, wixl_wix_progress_text_type_id);
	}
	return wixl_wix_progress_text_type_id__once;
}

static void
_vala_wixl_wix_progress_text_get_property (GObject * object,
                                           guint property_id,
                                           GValue * value,
                                           GParamSpec * pspec)
{
	WixlWixProgressText * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PROGRESS_TEXT, WixlWixProgressText);
	switch (property_id) {
		case WIXL_WIX_PROGRESS_TEXT_ACTION_PROPERTY:
		g_value_set_string (value, wixl_wix_progress_text_get_Action (self));
		break;
		case WIXL_WIX_PROGRESS_TEXT_TEMPLATE_PROPERTY:
		g_value_set_string (value, wixl_wix_progress_text_get_Template (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_progress_text_set_property (GObject * object,
                                           guint property_id,
                                           const GValue * value,
                                           GParamSpec * pspec)
{
	WixlWixProgressText * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_PROGRESS_TEXT, WixlWixProgressText);
	switch (property_id) {
		case WIXL_WIX_PROGRESS_TEXT_ACTION_PROPERTY:
		wixl_wix_progress_text_set_Action (self, g_value_get_string (value));
		break;
		case WIXL_WIX_PROGRESS_TEXT_TEMPLATE_PROPERTY:
		wixl_wix_progress_text_set_Template (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

WixlWixRoot*
wixl_wix_root_construct (GType object_type)
{
	WixlWixRoot * self = NULL;
	self = (WixlWixRoot*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixRoot*
wixl_wix_root_new (void)
{
	return wixl_wix_root_construct (WIXL_TYPE_WIX_ROOT);
}

static void
wixl_wix_root_class_init (WixlWixRootClass * klass,
                          gpointer klass_data)
{
	gchar* _tmp0_;
	GHashTable* _tmp1_;
	GType* _tmp2_;
	GType* _tmp3_;
	gint _tmp3__length1;
	wixl_wix_root_parent_class = g_type_class_peek_parent (klass);
	_tmp0_ = g_strdup ("Wix");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
	_tmp1_ = WIXL_WIX_ELEMENT_CLASS (klass)->child_types;
	_tmp2_ = g_new0 (GType, 2);
	_tmp2_[0] = WIXL_TYPE_WIX_PRODUCT;
	_tmp2_[1] = WIXL_TYPE_WIX_FRAGMENT;
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 2;
	wixl_wix_element_add_child_types (WIXL_WIX_ELEMENT_CLASS (klass), _tmp1_, _tmp3_, (gint) 2);
	_tmp3_ = (g_free (_tmp3_), NULL);
}

static void
wixl_wix_root_instance_init (WixlWixRoot * self,
                             gpointer klass)
{
}

static GType
wixl_wix_root_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixRootClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_root_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixRoot), 0, (GInstanceInitFunc) wixl_wix_root_instance_init, NULL };
	GType wixl_wix_root_type_id;
	wixl_wix_root_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixRoot", &g_define_type_info, 0);
	return wixl_wix_root_type_id;
}

GType
wixl_wix_root_get_type (void)
{
	static volatile gsize wixl_wix_root_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_root_type_id__once)) {
		GType wixl_wix_root_type_id;
		wixl_wix_root_type_id = wixl_wix_root_get_type_once ();
		g_once_init_leave (&wixl_wix_root_type_id__once, wixl_wix_root_type_id);
	}
	return wixl_wix_root_type_id__once;
}

static inline gpointer
wixl_wix_environment_get_instance_private (WixlWixEnvironment* self)
{
	return G_STRUCT_MEMBER_P (self, WixlWixEnvironment_private_offset);
}

static void
wixl_wix_environment_real_accept (WixlWixNode* base,
                                  WixlWixNodeVisitor* visitor,
                                  GError** error)
{
	WixlWixEnvironment * self;
	GError* _inner_error0_ = NULL;
	self = (WixlWixEnvironment*) base;
	g_return_if_fail (visitor != NULL);
	wixl_wix_node_visitor_visit_environment (visitor, self, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

WixlWixEnvironment*
wixl_wix_environment_construct (GType object_type)
{
	WixlWixEnvironment * self = NULL;
	self = (WixlWixEnvironment*) wixl_wix_element_construct (object_type);
	return self;
}

WixlWixEnvironment*
wixl_wix_environment_new (void)
{
	return wixl_wix_environment_construct (WIXL_TYPE_WIX_ENVIRONMENT);
}

const gchar*
wixl_wix_environment_get_Action (WixlWixEnvironment* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Action;
	result = _tmp0_;
	return result;
}

void
wixl_wix_environment_set_Action (WixlWixEnvironment* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_environment_get_Action (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Action);
		self->priv->_Action = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_ACTION_PROPERTY]);
	}
}

const gchar*
wixl_wix_environment_get_Name (WixlWixEnvironment* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Name;
	result = _tmp0_;
	return result;
}

void
wixl_wix_environment_set_Name (WixlWixEnvironment* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_environment_get_Name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Name);
		self->priv->_Name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_NAME_PROPERTY]);
	}
}

const gchar*
wixl_wix_environment_get_Part (WixlWixEnvironment* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Part;
	result = _tmp0_;
	return result;
}

void
wixl_wix_environment_set_Part (WixlWixEnvironment* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_environment_get_Part (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Part);
		self->priv->_Part = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_PART_PROPERTY]);
	}
}

const gchar*
wixl_wix_environment_get_Permanent (WixlWixEnvironment* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Permanent;
	result = _tmp0_;
	return result;
}

void
wixl_wix_environment_set_Permanent (WixlWixEnvironment* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_environment_get_Permanent (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Permanent);
		self->priv->_Permanent = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_PERMANENT_PROPERTY]);
	}
}

const gchar*
wixl_wix_environment_get_Separator (WixlWixEnvironment* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Separator;
	result = _tmp0_;
	return result;
}

void
wixl_wix_environment_set_Separator (WixlWixEnvironment* self,
                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_environment_get_Separator (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Separator);
		self->priv->_Separator = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_SEPARATOR_PROPERTY]);
	}
}

const gchar*
wixl_wix_environment_get_System (WixlWixEnvironment* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_System;
	result = _tmp0_;
	return result;
}

void
wixl_wix_environment_set_System (WixlWixEnvironment* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_environment_get_System (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_System);
		self->priv->_System = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_SYSTEM_PROPERTY]);
	}
}

const gchar*
wixl_wix_environment_get_Value (WixlWixEnvironment* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_Value;
	result = _tmp0_;
	return result;
}

void
wixl_wix_environment_set_Value (WixlWixEnvironment* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = wixl_wix_environment_get_Value (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_Value);
		self->priv->_Value = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_VALUE_PROPERTY]);
	}
}

static void
wixl_wix_environment_class_init (WixlWixEnvironmentClass * klass,
                                 gpointer klass_data)
{
	gchar* _tmp0_;
	wixl_wix_environment_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &WixlWixEnvironment_private_offset);
	((WixlWixNodeClass *) klass)->accept = (void (*) (WixlWixNode*, WixlWixNodeVisitor*, GError**)) wixl_wix_environment_real_accept;
	G_OBJECT_CLASS (klass)->get_property = _vala_wixl_wix_environment_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_wixl_wix_environment_set_property;
	G_OBJECT_CLASS (klass)->finalize = wixl_wix_environment_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ENVIRONMENT_ACTION_PROPERTY, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_ACTION_PROPERTY] = g_param_spec_string ("Action", "Action", "Action", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ENVIRONMENT_NAME_PROPERTY, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_NAME_PROPERTY] = g_param_spec_string ("Name", "Name", "Name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ENVIRONMENT_PART_PROPERTY, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_PART_PROPERTY] = g_param_spec_string ("Part", "Part", "Part", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ENVIRONMENT_PERMANENT_PROPERTY, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_PERMANENT_PROPERTY] = g_param_spec_string ("Permanent", "Permanent", "Permanent", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ENVIRONMENT_SEPARATOR_PROPERTY, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_SEPARATOR_PROPERTY] = g_param_spec_string ("Separator", "Separator", "Separator", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ENVIRONMENT_SYSTEM_PROPERTY, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_SYSTEM_PROPERTY] = g_param_spec_string ("System", "System", "System", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), WIXL_WIX_ENVIRONMENT_VALUE_PROPERTY, wixl_wix_environment_properties[WIXL_WIX_ENVIRONMENT_VALUE_PROPERTY] = g_param_spec_string ("Value", "Value", "Value", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	_tmp0_ = g_strdup ("Environment");
	_g_free0 (WIXL_WIX_ELEMENT_CLASS (klass)->name);
	WIXL_WIX_ELEMENT_CLASS (klass)->name = _tmp0_;
}

static void
wixl_wix_environment_instance_init (WixlWixEnvironment * self,
                                    gpointer klass)
{
	self->priv = wixl_wix_environment_get_instance_private (self);
}

static void
wixl_wix_environment_finalize (GObject * obj)
{
	WixlWixEnvironment * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_WIX_ENVIRONMENT, WixlWixEnvironment);
	_g_free0 (self->priv->_Action);
	_g_free0 (self->priv->_Name);
	_g_free0 (self->priv->_Part);
	_g_free0 (self->priv->_Permanent);
	_g_free0 (self->priv->_Separator);
	_g_free0 (self->priv->_System);
	_g_free0 (self->priv->_Value);
	G_OBJECT_CLASS (wixl_wix_environment_parent_class)->finalize (obj);
}

static GType
wixl_wix_environment_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (WixlWixEnvironmentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_wix_environment_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlWixEnvironment), 0, (GInstanceInitFunc) wixl_wix_environment_instance_init, NULL };
	GType wixl_wix_environment_type_id;
	wixl_wix_environment_type_id = g_type_register_static (WIXL_TYPE_WIX_ELEMENT, "WixlWixEnvironment", &g_define_type_info, 0);
	WixlWixEnvironment_private_offset = g_type_add_instance_private (wixl_wix_environment_type_id, sizeof (WixlWixEnvironmentPrivate));
	return wixl_wix_environment_type_id;
}

GType
wixl_wix_environment_get_type (void)
{
	static volatile gsize wixl_wix_environment_type_id__once = 0;
	if (g_once_init_enter (&wixl_wix_environment_type_id__once)) {
		GType wixl_wix_environment_type_id;
		wixl_wix_environment_type_id = wixl_wix_environment_get_type_once ();
		g_once_init_leave (&wixl_wix_environment_type_id__once, wixl_wix_environment_type_id);
	}
	return wixl_wix_environment_type_id__once;
}

static void
_vala_wixl_wix_environment_get_property (GObject * object,
                                         guint property_id,
                                         GValue * value,
                                         GParamSpec * pspec)
{
	WixlWixEnvironment * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_ENVIRONMENT, WixlWixEnvironment);
	switch (property_id) {
		case WIXL_WIX_ENVIRONMENT_ACTION_PROPERTY:
		g_value_set_string (value, wixl_wix_environment_get_Action (self));
		break;
		case WIXL_WIX_ENVIRONMENT_NAME_PROPERTY:
		g_value_set_string (value, wixl_wix_environment_get_Name (self));
		break;
		case WIXL_WIX_ENVIRONMENT_PART_PROPERTY:
		g_value_set_string (value, wixl_wix_environment_get_Part (self));
		break;
		case WIXL_WIX_ENVIRONMENT_PERMANENT_PROPERTY:
		g_value_set_string (value, wixl_wix_environment_get_Permanent (self));
		break;
		case WIXL_WIX_ENVIRONMENT_SEPARATOR_PROPERTY:
		g_value_set_string (value, wixl_wix_environment_get_Separator (self));
		break;
		case WIXL_WIX_ENVIRONMENT_SYSTEM_PROPERTY:
		g_value_set_string (value, wixl_wix_environment_get_System (self));
		break;
		case WIXL_WIX_ENVIRONMENT_VALUE_PROPERTY:
		g_value_set_string (value, wixl_wix_environment_get_Value (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_wixl_wix_environment_set_property (GObject * object,
                                         guint property_id,
                                         const GValue * value,
                                         GParamSpec * pspec)
{
	WixlWixEnvironment * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, WIXL_TYPE_WIX_ENVIRONMENT, WixlWixEnvironment);
	switch (property_id) {
		case WIXL_WIX_ENVIRONMENT_ACTION_PROPERTY:
		wixl_wix_environment_set_Action (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ENVIRONMENT_NAME_PROPERTY:
		wixl_wix_environment_set_Name (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ENVIRONMENT_PART_PROPERTY:
		wixl_wix_environment_set_Part (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ENVIRONMENT_PERMANENT_PROPERTY:
		wixl_wix_environment_set_Permanent (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ENVIRONMENT_SEPARATOR_PROPERTY:
		wixl_wix_environment_set_Separator (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ENVIRONMENT_SYSTEM_PROPERTY:
		wixl_wix_environment_set_System (self, g_value_get_string (value));
		break;
		case WIXL_WIX_ENVIRONMENT_VALUE_PROPERTY:
		wixl_wix_environment_set_Value (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_array_destroy (gpointer array,
                     gssize array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		gssize i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}

static void
_vala_array_free (gpointer array,
                  gssize array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}

static inline gpointer
_vala_memdup2 (gconstpointer mem,
               gsize byte_size)
{
	gpointer new_mem;
	if (mem && byte_size != 0) {
		new_mem = g_malloc (byte_size);
		memcpy (new_mem, mem, byte_size);
	} else {
		new_mem = NULL;
	}
	return new_mem;
}

