/* msi-default.c generated by valac 0.34.8, the Vala compiler
 * generated from msi-default.vala, do not modify */


#include <glib.h>
#include <glib-object.h>
#include "wixl.h"
#include <stdlib.h>
#include <string.h>
#include <libcommon.h>
#include <gobject/gvaluecollector.h>

#define _g_free0(var) (var = (g_free (var), NULL))
#define _wixl_msi_default_action_info_free0(var) ((var == NULL) ? NULL : (var = (wixl_msi_default_action_info_free (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _WixlParamSpecMSIDefault WixlParamSpecMSIDefault;

struct _WixlParamSpecMSIDefault {
	GParamSpec parent_instance;
};


static gpointer wixl_msi_default_parent_class = NULL;

enum  {
	WIXL_MSI_DEFAULT_DUMMY_PROPERTY
};
static void wixl_msi_default_finalize (WixlMSIDefault* obj);

static const WixlMSIDefaultActionInfo WIXL_MSI_DEFAULT_actions[70] = {{"InstallInitialize", NULL, 1500, (WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE) | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"InstallExecute", "NOT Installed", 6500, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"InstallExecuteAgain", "NOT Installed", 6550, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"InstallFinalize", NULL, 6600, (WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE) | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"InstallFiles", NULL, 4000, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"InstallAdminPackage", NULL, 3900, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_EXECUTE_SEQUENCE}, {"FileCost", NULL, 900, ((WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_UI_SEQUENCE) | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE) | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE}, {"CostInitialize", NULL, 800, WIXL_MSI_DEFAULT_ACTION_FLAGS_ALL}, {"CostFinalize", NULL, 1000, WIXL_MSI_DEFAULT_ACTION_FLAGS_ALL}, {"InstallValidate", NULL, 1400, (WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE) | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"ExecuteAction", NULL, 1300, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_UI_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE}, {"CreateShortcuts", NULL, 4500, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"MsiPublishAssemblies", NULL, 6250, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"PublishComponents", NULL, 6200, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"PublishFeatures", NULL, 6300, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"PublishProduct", NULL, 6400, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RegisterClassInfo", NULL, 4600, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RegisterExtensionInfo", NULL, 4700, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RegisterMIMEInfo", NULL, 4900, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RegisterProgIdInfo", NULL, 4800, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"AllocateRegistrySpace", "NOT Installed", 1550, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"AppSearch", NULL, 50, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE}, {"BindImage", NULL, 4300, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"CCPSearch", "NOT Installed", 500, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE}, {"CreateFolders", NULL, 3700, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"DeleteServices", "VersionNT", 2000, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"DuplicateFiles", NULL, 4210, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"FindRelatedProducts", NULL, 25, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE}, {"InstallODBC", NULL, 5400, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"InstallServices", "VersionNT", 5800, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"MsiConfigureServices", "VersionNT>=600", 5850, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"IsolateComponents", NULL, 950, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE}, {"LaunchConditions", NULL, 100, ((WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_UI_SEQUENCE) | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE) | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE}, {"MigrateFeatureStates", NULL, 1200, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE}, {"MoveFiles", NULL, 3800, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"PatchFiles", NULL, 4090, WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"ProcessComponents", NULL, 1600, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RegisterComPlus", NULL, 5700, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RegisterFonts", NULL, 5300, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RegisterProduct", NULL, 6100, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RegisterTypeLibraries", NULL, 5500, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RegisterUser", NULL, 6000, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RemoveDuplicateFiles", NULL, 3400, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RemoveEnvironmentStrings", NULL, 3300, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RemoveFiles", NULL, 3500, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RemoveFolders", NULL, 3600, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RemoveIniValues", NULL, 3100, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RemoveODBC", NULL, 2400, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RemoveRegistryValues", NULL, 2600, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RemoveShortcuts", NULL, 3200, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"RMCCPSearch", "NOT Installed", 600, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE}, {"SelfRegModules", NULL, 5600, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"SelfUnregModules", NULL, 2200, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"SetODBCFolders", NULL, 1100, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"StartServices", "VersionNT", 5900, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"StopServices", "VersionNT", 1900, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"MsiUnpublishAssemblies", NULL, 1750, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"UnpublishComponents", NULL, 1700, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"UnpublishFeatures", NULL, 1800, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"UnregisterClassInfo", NULL, 2700, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"UnregisterComPlus", NULL, 2100, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"UnregisterExtensionInfo", NULL, 2800, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"UnregisterFonts", NULL, 2500, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"UnregisterMIMEInfo", NULL, 3000, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"UnregisterProgIdInfo", NULL, 2900, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"UnregisterTypeLibraries", NULL, 2300, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"ValidateProductID", NULL, 700, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE | WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE}, {"WriteEnvironmentStrings", NULL, 5200, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"WriteIniValues", NULL, 5100, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}, {"WriteRegistryValues", NULL, 5000, WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE}};

GType wixl_msi_default_action_flags_get_type (void) {
	static volatile gsize wixl_msi_default_action_flags_type_id__volatile = 0;
	if (g_once_init_enter (&wixl_msi_default_action_flags_type_id__volatile)) {
		static const GFlagsValue values[] = {{WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_EXECUTE_SEQUENCE, "WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_EXECUTE_SEQUENCE", "admin-execute-sequence"}, {WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_UI_SEQUENCE, "WIXL_MSI_DEFAULT_ACTION_FLAGS_ADMIN_UI_SEQUENCE", "admin-ui-sequence"}, {WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE, "WIXL_MSI_DEFAULT_ACTION_FLAGS_ADVT_EXECUTE_SEQUENCE", "advt-execute-sequence"}, {WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE, "WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_EXECUTE_SEQUENCE", "install-execute-sequence"}, {WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE, "WIXL_MSI_DEFAULT_ACTION_FLAGS_INSTALL_UI_SEQUENCE", "install-ui-sequence"}, {WIXL_MSI_DEFAULT_ACTION_FLAGS_ALL, "WIXL_MSI_DEFAULT_ACTION_FLAGS_ALL", "all"}, {0, NULL, NULL}};
		GType wixl_msi_default_action_flags_type_id;
		wixl_msi_default_action_flags_type_id = g_flags_register_static ("WixlMSIDefaultActionFlags", values);
		g_once_init_leave (&wixl_msi_default_action_flags_type_id__volatile, wixl_msi_default_action_flags_type_id);
	}
	return wixl_msi_default_action_flags_type_id__volatile;
}


GType wixl_msi_default_action_get_type (void) {
	static volatile gsize wixl_msi_default_action_type_id__volatile = 0;
	if (g_once_init_enter (&wixl_msi_default_action_type_id__volatile)) {
		static const GEnumValue values[] = {{WIXL_MSI_DEFAULT_ACTION_InstallInitialize, "WIXL_MSI_DEFAULT_ACTION_InstallInitialize", "installinitialize"}, {WIXL_MSI_DEFAULT_ACTION_InstallExecute, "WIXL_MSI_DEFAULT_ACTION_InstallExecute", "installexecute"}, {WIXL_MSI_DEFAULT_ACTION_InstallExecuteAgain, "WIXL_MSI_DEFAULT_ACTION_InstallExecuteAgain", "installexecuteagain"}, {WIXL_MSI_DEFAULT_ACTION_InstallFinalize, "WIXL_MSI_DEFAULT_ACTION_InstallFinalize", "installfinalize"}, {WIXL_MSI_DEFAULT_ACTION_InstallFiles, "WIXL_MSI_DEFAULT_ACTION_InstallFiles", "installfiles"}, {WIXL_MSI_DEFAULT_ACTION_InstallAdminPackage, "WIXL_MSI_DEFAULT_ACTION_InstallAdminPackage", "installadminpackage"}, {WIXL_MSI_DEFAULT_ACTION_FileCost, "WIXL_MSI_DEFAULT_ACTION_FileCost", "filecost"}, {WIXL_MSI_DEFAULT_ACTION_CostInitialize, "WIXL_MSI_DEFAULT_ACTION_CostInitialize", "costinitialize"}, {WIXL_MSI_DEFAULT_ACTION_CostFinalize, "WIXL_MSI_DEFAULT_ACTION_CostFinalize", "costfinalize"}, {WIXL_MSI_DEFAULT_ACTION_InstallValidate, "WIXL_MSI_DEFAULT_ACTION_InstallValidate", "installvalidate"}, {WIXL_MSI_DEFAULT_ACTION_ExecuteAction, "WIXL_MSI_DEFAULT_ACTION_ExecuteAction", "executeaction"}, {WIXL_MSI_DEFAULT_ACTION_CreateShortcuts, "WIXL_MSI_DEFAULT_ACTION_CreateShortcuts", "createshortcuts"}, {WIXL_MSI_DEFAULT_ACTION_MsiPublishAssemblies, "WIXL_MSI_DEFAULT_ACTION_MsiPublishAssemblies", "msipublishassemblies"}, {WIXL_MSI_DEFAULT_ACTION_PublishComponents, "WIXL_MSI_DEFAULT_ACTION_PublishComponents", "publishcomponents"}, {WIXL_MSI_DEFAULT_ACTION_PublishFeatures, "WIXL_MSI_DEFAULT_ACTION_PublishFeatures", "publishfeatures"}, {WIXL_MSI_DEFAULT_ACTION_PublishProduct, "WIXL_MSI_DEFAULT_ACTION_PublishProduct", "publishproduct"}, {WIXL_MSI_DEFAULT_ACTION_RegisterClassInfo, "WIXL_MSI_DEFAULT_ACTION_RegisterClassInfo", "registerclassinfo"}, {WIXL_MSI_DEFAULT_ACTION_RegisterExtensionInfo, "WIXL_MSI_DEFAULT_ACTION_RegisterExtensionInfo", "registerextensioninfo"}, {WIXL_MSI_DEFAULT_ACTION_RegisterMIMEInfo, "WIXL_MSI_DEFAULT_ACTION_RegisterMIMEInfo", "registermimeinfo"}, {WIXL_MSI_DEFAULT_ACTION_RegisterProgIdInfo, "WIXL_MSI_DEFAULT_ACTION_RegisterProgIdInfo", "registerprogidinfo"}, {WIXL_MSI_DEFAULT_ACTION_AllocateRegistrySpace, "WIXL_MSI_DEFAULT_ACTION_AllocateRegistrySpace", "allocateregistryspace"}, {WIXL_MSI_DEFAULT_ACTION_AppSearch, "WIXL_MSI_DEFAULT_ACTION_AppSearch", "appsearch"}, {WIXL_MSI_DEFAULT_ACTION_BindImage, "WIXL_MSI_DEFAULT_ACTION_BindImage", "bindimage"}, {WIXL_MSI_DEFAULT_ACTION_CCPSearch, "WIXL_MSI_DEFAULT_ACTION_CCPSearch", "ccpsearch"}, {WIXL_MSI_DEFAULT_ACTION_CreateFolders, "WIXL_MSI_DEFAULT_ACTION_CreateFolders", "createfolders"}, {WIXL_MSI_DEFAULT_ACTION_DeleteServices, "WIXL_MSI_DEFAULT_ACTION_DeleteServices", "deleteservices"}, {WIXL_MSI_DEFAULT_ACTION_DuplicateFiles, "WIXL_MSI_DEFAULT_ACTION_DuplicateFiles", "duplicatefiles"}, {WIXL_MSI_DEFAULT_ACTION_FindRelatedProducts, "WIXL_MSI_DEFAULT_ACTION_FindRelatedProducts", "findrelatedproducts"}, {WIXL_MSI_DEFAULT_ACTION_InstallODBC, "WIXL_MSI_DEFAULT_ACTION_InstallODBC", "installodbc"}, {WIXL_MSI_DEFAULT_ACTION_InstallServices, "WIXL_MSI_DEFAULT_ACTION_InstallServices", "installservices"}, {WIXL_MSI_DEFAULT_ACTION_MsiConfigureServices, "WIXL_MSI_DEFAULT_ACTION_MsiConfigureServices", "msiconfigureservices"}, {WIXL_MSI_DEFAULT_ACTION_IsolateComponents, "WIXL_MSI_DEFAULT_ACTION_IsolateComponents", "isolatecomponents"}, {WIXL_MSI_DEFAULT_ACTION_LaunchConditions, "WIXL_MSI_DEFAULT_ACTION_LaunchConditions", "launchconditions"}, {WIXL_MSI_DEFAULT_ACTION_MigrateFeatureStates, "WIXL_MSI_DEFAULT_ACTION_MigrateFeatureStates", "migratefeaturestates"}, {WIXL_MSI_DEFAULT_ACTION_MoveFiles, "WIXL_MSI_DEFAULT_ACTION_MoveFiles", "movefiles"}, {WIXL_MSI_DEFAULT_ACTION_PatchFiles, "WIXL_MSI_DEFAULT_ACTION_PatchFiles", "patchfiles"}, {WIXL_MSI_DEFAULT_ACTION_ProcessComponents, "WIXL_MSI_DEFAULT_ACTION_ProcessComponents", "processcomponents"}, {WIXL_MSI_DEFAULT_ACTION_RegisterComPlus, "WIXL_MSI_DEFAULT_ACTION_RegisterComPlus", "registercomplus"}, {WIXL_MSI_DEFAULT_ACTION_RegisterFonts, "WIXL_MSI_DEFAULT_ACTION_RegisterFonts", "registerfonts"}, {WIXL_MSI_DEFAULT_ACTION_RegisterProduct, "WIXL_MSI_DEFAULT_ACTION_RegisterProduct", "registerproduct"}, {WIXL_MSI_DEFAULT_ACTION_RegisterTypeLibraries, "WIXL_MSI_DEFAULT_ACTION_RegisterTypeLibraries", "registertypelibraries"}, {WIXL_MSI_DEFAULT_ACTION_RegisterUser, "WIXL_MSI_DEFAULT_ACTION_RegisterUser", "registeruser"}, {WIXL_MSI_DEFAULT_ACTION_RemoveDuplicateFiles, "WIXL_MSI_DEFAULT_ACTION_RemoveDuplicateFiles", "removeduplicatefiles"}, {WIXL_MSI_DEFAULT_ACTION_RemoveEnvironmentStrings, "WIXL_MSI_DEFAULT_ACTION_RemoveEnvironmentStrings", "removeenvironmentstrings"}, {WIXL_MSI_DEFAULT_ACTION_RemoveFiles, "WIXL_MSI_DEFAULT_ACTION_RemoveFiles", "removefiles"}, {WIXL_MSI_DEFAULT_ACTION_RemoveFolders, "WIXL_MSI_DEFAULT_ACTION_RemoveFolders", "removefolders"}, {WIXL_MSI_DEFAULT_ACTION_RemoveIniValues, "WIXL_MSI_DEFAULT_ACTION_RemoveIniValues", "removeinivalues"}, {WIXL_MSI_DEFAULT_ACTION_RemoveODBC, "WIXL_MSI_DEFAULT_ACTION_RemoveODBC", "removeodbc"}, {WIXL_MSI_DEFAULT_ACTION_RemoveRegistryValues, "WIXL_MSI_DEFAULT_ACTION_RemoveRegistryValues", "removeregistryvalues"}, {WIXL_MSI_DEFAULT_ACTION_RemoveShortcuts, "WIXL_MSI_DEFAULT_ACTION_RemoveShortcuts", "removeshortcuts"}, {WIXL_MSI_DEFAULT_ACTION_RMCCPSearch, "WIXL_MSI_DEFAULT_ACTION_RMCCPSearch", "rmccpsearch"}, {WIXL_MSI_DEFAULT_ACTION_SelfRegModules, "WIXL_MSI_DEFAULT_ACTION_SelfRegModules", "selfregmodules"}, {WIXL_MSI_DEFAULT_ACTION_SelfUnregModules, "WIXL_MSI_DEFAULT_ACTION_SelfUnregModules", "selfunregmodules"}, {WIXL_MSI_DEFAULT_ACTION_SetODBCFolders, "WIXL_MSI_DEFAULT_ACTION_SetODBCFolders", "setodbcfolders"}, {WIXL_MSI_DEFAULT_ACTION_StartServices, "WIXL_MSI_DEFAULT_ACTION_StartServices", "startservices"}, {WIXL_MSI_DEFAULT_ACTION_StopServices, "WIXL_MSI_DEFAULT_ACTION_StopServices", "stopservices"}, {WIXL_MSI_DEFAULT_ACTION_MsiUnpublishAssemblies, "WIXL_MSI_DEFAULT_ACTION_MsiUnpublishAssemblies", "msiunpublishassemblies"}, {WIXL_MSI_DEFAULT_ACTION_UnpublishComponents, "WIXL_MSI_DEFAULT_ACTION_UnpublishComponents", "unpublishcomponents"}, {WIXL_MSI_DEFAULT_ACTION_UnpublishFeatures, "WIXL_MSI_DEFAULT_ACTION_UnpublishFeatures", "unpublishfeatures"}, {WIXL_MSI_DEFAULT_ACTION_UnregisterClassInfo, "WIXL_MSI_DEFAULT_ACTION_UnregisterClassInfo", "unregisterclassinfo"}, {WIXL_MSI_DEFAULT_ACTION_UnregisterComPlus, "WIXL_MSI_DEFAULT_ACTION_UnregisterComPlus", "unregistercomplus"}, {WIXL_MSI_DEFAULT_ACTION_UnregisterExtensionInfo, "WIXL_MSI_DEFAULT_ACTION_UnregisterExtensionInfo", "unregisterextensioninfo"}, {WIXL_MSI_DEFAULT_ACTION_UnregisterFonts, "WIXL_MSI_DEFAULT_ACTION_UnregisterFonts", "unregisterfonts"}, {WIXL_MSI_DEFAULT_ACTION_UnregisterMIMEInfo, "WIXL_MSI_DEFAULT_ACTION_UnregisterMIMEInfo", "unregistermimeinfo"}, {WIXL_MSI_DEFAULT_ACTION_UnregisterProgIdInfo, "WIXL_MSI_DEFAULT_ACTION_UnregisterProgIdInfo", "unregisterprogidinfo"}, {WIXL_MSI_DEFAULT_ACTION_UnregisterTypeLibraries, "WIXL_MSI_DEFAULT_ACTION_UnregisterTypeLibraries", "unregistertypelibraries"}, {WIXL_MSI_DEFAULT_ACTION_ValidateProductID, "WIXL_MSI_DEFAULT_ACTION_ValidateProductID", "validateproductid"}, {WIXL_MSI_DEFAULT_ACTION_WriteEnvironmentStrings, "WIXL_MSI_DEFAULT_ACTION_WriteEnvironmentStrings", "writeenvironmentstrings"}, {WIXL_MSI_DEFAULT_ACTION_WriteIniValues, "WIXL_MSI_DEFAULT_ACTION_WriteIniValues", "writeinivalues"}, {WIXL_MSI_DEFAULT_ACTION_WriteRegistryValues, "WIXL_MSI_DEFAULT_ACTION_WriteRegistryValues", "writeregistryvalues"}, {0, NULL, NULL}};
		GType wixl_msi_default_action_type_id;
		wixl_msi_default_action_type_id = g_enum_register_static ("WixlMSIDefaultAction", values);
		g_once_init_leave (&wixl_msi_default_action_type_id__volatile, wixl_msi_default_action_type_id);
	}
	return wixl_msi_default_action_type_id__volatile;
}


void wixl_msi_default_get_action (WixlMSIDefaultAction action, WixlMSIDefaultActionInfo* result) {
	WixlMSIDefaultAction _tmp0_ = 0;
	WixlMSIDefaultActionInfo _tmp1_ = {0};
	WixlMSIDefaultActionInfo _tmp2_ = {0};
	_tmp0_ = action;
	_tmp1_ = WIXL_MSI_DEFAULT_actions[_tmp0_];
	wixl_msi_default_action_info_copy (&_tmp1_, &_tmp2_);
	*result = _tmp2_;
	return;
}


static gpointer _wixl_msi_default_action_info_dup0 (gpointer self) {
	return self ? wixl_msi_default_action_info_dup (self) : NULL;
}


WixlMSIDefaultActionInfo* wixl_msi_default_get_action_by_name (const gchar* name) {
	WixlMSIDefaultActionInfo* result = NULL;
	WixlMSIDefaultActionInfo* action = NULL;
	GError * _inner_error_ = NULL;
	g_return_val_if_fail (name != NULL, NULL);
	action = NULL;
	{
		WixlMSIDefaultAction _tmp0_ = 0;
		const gchar* _tmp1_ = NULL;
		gchar* _tmp2_ = NULL;
		gchar* _tmp3_ = NULL;
		gpointer _tmp4_ = NULL;
		WixlMSIDefaultAction _tmp5_ = 0;
		WixlMSIDefaultActionInfo _tmp6_ = {0};
		WixlMSIDefaultActionInfo _tmp7_ = {0};
		WixlMSIDefaultActionInfo* _tmp8_ = NULL;
		_tmp1_ = name;
		_tmp2_ = g_utf8_strdown (_tmp1_, (gssize) -1);
		_tmp3_ = _tmp2_;
		_tmp4_ = wixl_enum_from_string (WIXL_MSI_DEFAULT_TYPE_ACTION, NULL, NULL, _tmp3_, &_inner_error_);
		_tmp5_ = (WixlMSIDefaultAction) ((gintptr) _tmp4_);
		_g_free0 (_tmp3_);
		_tmp0_ = _tmp5_;
		if (G_UNLIKELY (_inner_error_ != NULL)) {
			goto __catch2_g_error;
		}
		_tmp6_ = WIXL_MSI_DEFAULT_actions[_tmp0_];
		_tmp7_ = _tmp6_;
		_tmp8_ = _wixl_msi_default_action_info_dup0 (&_tmp7_);
		_wixl_msi_default_action_info_free0 (action);
		action = _tmp8_;
	}
	goto __finally2;
	__catch2_g_error:
	{
		GError* _error_ = NULL;
		_error_ = _inner_error_;
		_inner_error_ = NULL;
		_g_error_free0 (_error_);
	}
	__finally2:
	if (G_UNLIKELY (_inner_error_ != NULL)) {
		_wixl_msi_default_action_info_free0 (action);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return NULL;
	}
	result = action;
	return result;
}


WixlMSIDefault* wixl_msi_default_construct (GType object_type) {
	WixlMSIDefault* self = NULL;
	self = (WixlMSIDefault*) g_type_create_instance (object_type);
	return self;
}


WixlMSIDefault* wixl_msi_default_new (void) {
	return wixl_msi_default_construct (WIXL_TYPE_MSI_DEFAULT);
}


void wixl_msi_default_action_info_copy (const WixlMSIDefaultActionInfo* self, WixlMSIDefaultActionInfo* dest) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	WixlMSIDefaultActionFlags _tmp5_ = 0;
	_tmp0_ = (*self).name;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 ((*dest).name);
	(*dest).name = _tmp1_;
	_tmp2_ = (*self).condition;
	_tmp3_ = g_strdup (_tmp2_);
	_g_free0 ((*dest).condition);
	(*dest).condition = _tmp3_;
	_tmp4_ = (*self).sequence;
	(*dest).sequence = _tmp4_;
	_tmp5_ = (*self).flags;
	(*dest).flags = _tmp5_;
}


void wixl_msi_default_action_info_destroy (WixlMSIDefaultActionInfo* self) {
	_g_free0 ((*self).name);
	_g_free0 ((*self).condition);
}


WixlMSIDefaultActionInfo* wixl_msi_default_action_info_dup (const WixlMSIDefaultActionInfo* self) {
	WixlMSIDefaultActionInfo* dup;
	dup = g_new0 (WixlMSIDefaultActionInfo, 1);
	wixl_msi_default_action_info_copy (self, dup);
	return dup;
}


void wixl_msi_default_action_info_free (WixlMSIDefaultActionInfo* self) {
	wixl_msi_default_action_info_destroy (self);
	g_free (self);
}


GType wixl_msi_default_action_info_get_type (void) {
	static volatile gsize wixl_msi_default_action_info_type_id__volatile = 0;
	if (g_once_init_enter (&wixl_msi_default_action_info_type_id__volatile)) {
		GType wixl_msi_default_action_info_type_id;
		wixl_msi_default_action_info_type_id = g_boxed_type_register_static ("WixlMSIDefaultActionInfo", (GBoxedCopyFunc) wixl_msi_default_action_info_dup, (GBoxedFreeFunc) wixl_msi_default_action_info_free);
		g_once_init_leave (&wixl_msi_default_action_info_type_id__volatile, wixl_msi_default_action_info_type_id);
	}
	return wixl_msi_default_action_info_type_id__volatile;
}


static void wixl_value_msi_default_init (GValue* value) {
	value->data[0].v_pointer = NULL;
}


static void wixl_value_msi_default_free_value (GValue* value) {
	if (value->data[0].v_pointer) {
		wixl_msi_default_unref (value->data[0].v_pointer);
	}
}


static void wixl_value_msi_default_copy_value (const GValue* src_value, GValue* dest_value) {
	if (src_value->data[0].v_pointer) {
		dest_value->data[0].v_pointer = wixl_msi_default_ref (src_value->data[0].v_pointer);
	} else {
		dest_value->data[0].v_pointer = NULL;
	}
}


static gpointer wixl_value_msi_default_peek_pointer (const GValue* value) {
	return value->data[0].v_pointer;
}


static gchar* wixl_value_msi_default_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	if (collect_values[0].v_pointer) {
		WixlMSIDefault* object;
		object = collect_values[0].v_pointer;
		if (object->parent_instance.g_class == NULL) {
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
		}
		value->data[0].v_pointer = wixl_msi_default_ref (object);
	} else {
		value->data[0].v_pointer = NULL;
	}
	return NULL;
}


static gchar* wixl_value_msi_default_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	WixlMSIDefault** object_p;
	object_p = collect_values[0].v_pointer;
	if (!object_p) {
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
	}
	if (!value->data[0].v_pointer) {
		*object_p = NULL;
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
		*object_p = value->data[0].v_pointer;
	} else {
		*object_p = wixl_msi_default_ref (value->data[0].v_pointer);
	}
	return NULL;
}


GParamSpec* wixl_param_spec_msi_default (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
	WixlParamSpecMSIDefault* spec;
	g_return_val_if_fail (g_type_is_a (object_type, WIXL_TYPE_MSI_DEFAULT), NULL);
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
	G_PARAM_SPEC (spec)->value_type = object_type;
	return G_PARAM_SPEC (spec);
}


gpointer wixl_value_get_msi_default (const GValue* value) {
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, WIXL_TYPE_MSI_DEFAULT), NULL);
	return value->data[0].v_pointer;
}


void wixl_value_set_msi_default (GValue* value, gpointer v_object) {
	WixlMSIDefault* old;
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, WIXL_TYPE_MSI_DEFAULT));
	old = value->data[0].v_pointer;
	if (v_object) {
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, WIXL_TYPE_MSI_DEFAULT));
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
		value->data[0].v_pointer = v_object;
		wixl_msi_default_ref (value->data[0].v_pointer);
	} else {
		value->data[0].v_pointer = NULL;
	}
	if (old) {
		wixl_msi_default_unref (old);
	}
}


void wixl_value_take_msi_default (GValue* value, gpointer v_object) {
	WixlMSIDefault* old;
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, WIXL_TYPE_MSI_DEFAULT));
	old = value->data[0].v_pointer;
	if (v_object) {
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, WIXL_TYPE_MSI_DEFAULT));
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
		value->data[0].v_pointer = v_object;
	} else {
		value->data[0].v_pointer = NULL;
	}
	if (old) {
		wixl_msi_default_unref (old);
	}
}


static void wixl_msi_default_class_init (WixlMSIDefaultClass * klass) {
	wixl_msi_default_parent_class = g_type_class_peek_parent (klass);
	((WixlMSIDefaultClass *) klass)->finalize = wixl_msi_default_finalize;
}


static void wixl_msi_default_instance_init (WixlMSIDefault * self) {
	self->ref_count = 1;
}


static void wixl_msi_default_finalize (WixlMSIDefault* obj) {
	WixlMSIDefault * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, WIXL_TYPE_MSI_DEFAULT, WixlMSIDefault);
	g_signal_handlers_destroy (self);
}


GType wixl_msi_default_get_type (void) {
	static volatile gsize wixl_msi_default_type_id__volatile = 0;
	if (g_once_init_enter (&wixl_msi_default_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { wixl_value_msi_default_init, wixl_value_msi_default_free_value, wixl_value_msi_default_copy_value, wixl_value_msi_default_peek_pointer, "p", wixl_value_msi_default_collect_value, "p", wixl_value_msi_default_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (WixlMSIDefaultClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) wixl_msi_default_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WixlMSIDefault), 0, (GInstanceInitFunc) wixl_msi_default_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType wixl_msi_default_type_id;
		wixl_msi_default_type_id = g_type_register_fundamental (g_type_fundamental_next (), "WixlMSIDefault", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&wixl_msi_default_type_id__volatile, wixl_msi_default_type_id);
	}
	return wixl_msi_default_type_id__volatile;
}


gpointer wixl_msi_default_ref (gpointer instance) {
	WixlMSIDefault* self;
	self = instance;
	g_atomic_int_inc (&self->ref_count);
	return instance;
}


void wixl_msi_default_unref (gpointer instance) {
	WixlMSIDefault* self;
	self = instance;
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
		WIXL_MSI_DEFAULT_GET_CLASS (self)->finalize (self);
		g_type_free_instance ((GTypeInstance *) self);
	}
}



