diff options
Diffstat (limited to 'src/wix.vala')
-rw-r--r-- | src/wix.vala | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/wix.vala b/src/wix.vala index aa6f0d4..f4dfeb2 100644 --- a/src/wix.vala +++ b/src/wix.vala @@ -12,6 +12,7 @@ namespace Wixl { public abstract void visit_component_ref (WixComponentRef ref) throws GLib.Error; public abstract void visit_remove_folder (WixRemoveFolder rm) throws GLib.Error; public abstract void visit_registry_value (WixRegistryValue reg) throws GLib.Error; + public abstract void visit_file (WixFile reg) throws GLib.Error; } public abstract class WixElement: Object { @@ -135,6 +136,22 @@ namespace Wixl { public string KeyPath { get; set; } } + public class WixFile: WixKeyElement { + static construct { + name = "File"; + } + + public string DiskId { get; set; } + public string Source { get; set; } + public string Name { get; set; } + + public Libmsi.Record record; + + public override void accept (WixElementVisitor visitor) throws GLib.Error { + visitor.visit_file (this); + } + } + public class WixRegistryValue: WixKeyElement { static construct { name = "RegistryValue"; @@ -285,6 +302,8 @@ namespace Wixl { public string EmbedCab { get; set; } public string DiskPrompt { get; set; } + public Libmsi.Record record; + public override void accept (WixElementVisitor visitor) throws GLib.Error { visitor.visit_media (this); } @@ -318,6 +337,11 @@ namespace Wixl { reg.load (child); add_child (reg); continue; + case "File": + var file = new WixFile (); + file.load (child); + add_child (file); + continue; } break; } |