summaryrefslogtreecommitdiffstats
path: root/src/wix.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/wix.vala')
-rw-r--r--src/wix.vala24
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;
}