diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-08 18:58:30 +0100 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-08 18:58:30 +0100 |
commit | e3f220aad5569b905e78f860615f27a20a2ad5fd (patch) | |
tree | 1dc7bb2bdd6907726a57ca2c2fad1e2ce06861b3 | |
parent | 0e496d59f310ce8af66a2ffe5f13c8d872327663 (diff) | |
download | msitools-e3f220aad5569b905e78f860615f27a20a2ad5fd.tar.gz msitools-e3f220aad5569b905e78f860615f27a20a2ad5fd.tar.xz msitools-e3f220aad5569b905e78f860615f27a20a2ad5fd.zip |
wix: add more Wix elements
-rw-r--r-- | src/builder.vala | 15 | ||||
-rw-r--r-- | src/wix.vala | 79 |
2 files changed, 93 insertions, 1 deletions
diff --git a/src/builder.vala b/src/builder.vala index 473464f..5637591 100644 --- a/src/builder.vala +++ b/src/builder.vala @@ -491,6 +491,21 @@ namespace Wixl { MsiTableShortcut.set_working_dir (rec, shortcut.WorkingDirectory); } + public override void visit_install_execute_sequence (WixInstallExecuteSequence sequence) throws GLib.Error { + } + + public override void visit_condition (WixCondition condition) throws GLib.Error { + } + + public override void visit_upgrade (WixUpgrade upgrade) throws GLib.Error { + } + + public override void visit_upgrade_version (WixUpgradeVersion version) throws GLib.Error { + } + + public override void visit_remove_existing_products (WixRemoveExistingProducts remove) throws GLib.Error { + } + public override void visit_create_folder (WixCreateFolder folder) throws GLib.Error { } diff --git a/src/wix.vala b/src/wix.vala index ae1dbaa..a24a452 100644 --- a/src/wix.vala +++ b/src/wix.vala @@ -23,6 +23,11 @@ namespace Wixl { public abstract void visit_create_folder (WixCreateFolder folder) throws GLib.Error; public abstract void visit_fragment (WixFragment fragment) throws GLib.Error; public abstract void visit_directory_ref (WixDirectoryRef ref) throws GLib.Error; + public abstract void visit_install_execute_sequence (WixInstallExecuteSequence sequence) throws GLib.Error; + public abstract void visit_condition (WixCondition condition) throws GLib.Error; + public abstract void visit_upgrade (WixUpgrade upgrade) throws GLib.Error; + public abstract void visit_upgrade_version (WixUpgradeVersion version) throws GLib.Error; + public abstract void visit_remove_existing_products (WixRemoveExistingProducts remove) throws GLib.Error; } public abstract class WixElement: Object { @@ -349,17 +354,89 @@ namespace Wixl { } } + public class WixCondition: WixElement { + static construct { + name = "Condition"; + } + + public string Message { get; set; } + + public override void accept (WixElementVisitor visitor) throws GLib.Error { + visitor.visit_condition (this); + } + } + + public class WixRemoveExistingProducts: WixElement { + static construct { + name = "RemoveExistingProducts"; + } + + public string After { get; set; } + + public override void accept (WixElementVisitor visitor) throws GLib.Error { + visitor.visit_remove_existing_products (this); + } + } + + public class WixInstallExecuteSequence: WixElement { + static construct { + name = "InstallExecuteSequence"; + + add_child_types (child_types, { + typeof (WixRemoveExistingProducts), + }); + } + + public override void accept (WixElementVisitor visitor) throws GLib.Error { + visitor.visit_install_execute_sequence (this); + } + } + + public class WixUpgrade: WixElement { + static construct { + name = "Upgrade"; + + add_child_types (child_types, { + typeof (WixUpgradeVersion), + }); + } + + public override void accept (WixElementVisitor visitor) throws GLib.Error { + visitor.visit_upgrade (this); + } + } + + public class WixUpgradeVersion: WixElement { + static construct { + name = "UpgradeVersion"; + } + + public string Minimum { get; set; } + public string Maximum { get; set; } + public string IncludeMinimum { get; set; } + public string IncludeMaximum { get; set; } + public string OnlyDetect { get; set; } + public string Property { get; set; } + + public override void accept (WixElementVisitor visitor) throws GLib.Error { + visitor.visit_upgrade_version (this); + } + } + public class WixProduct: WixElement { static construct { name = "Product"; add_child_types (child_types, { + typeof (WixCondition), typeof (WixDirectory), typeof (WixFeature), typeof (WixIcon), + typeof (WixInstallExecuteSequence), typeof (WixMedia), typeof (WixPackage), - typeof (WixProperty) + typeof (WixProperty), + typeof (WixUpgrade), }); } |