aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Data/WindowsInstaller/Table.cs
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-04-18 13:53:54 +1000
committerSean Hall <r.sean.hall@gmail.com>2020-04-18 21:25:30 +1000
commit1c933963d1354495d4a31a08baf7f1240b5fbfce (patch)
treef2190fc0336f57d3c6b408e1a5d57b0b9c343092 /src/WixToolset.Data/WindowsInstaller/Table.cs
parent2b3c14c790e8a95edabecf2d7bb50baa58d8e95b (diff)
downloadwix-1c933963d1354495d4a31a08baf7f1240b5fbfce.tar.gz
wix-1c933963d1354495d4a31a08baf7f1240b5fbfce.tar.bz2
wix-1c933963d1354495d4a31a08baf7f1240b5fbfce.zip
Add ability for an extension to have a custom strongly typed row during binding.
Remove some unused functionality in Table and Row. Use strongRowType in core tables.
Diffstat (limited to 'src/WixToolset.Data/WindowsInstaller/Table.cs')
-rw-r--r--src/WixToolset.Data/WindowsInstaller/Table.cs74
1 files changed, 4 insertions, 70 deletions
diff --git a/src/WixToolset.Data/WindowsInstaller/Table.cs b/src/WixToolset.Data/WindowsInstaller/Table.cs
index 54753dee..ca6fe3ba 100644
--- a/src/WixToolset.Data/WindowsInstaller/Table.cs
+++ b/src/WixToolset.Data/WindowsInstaller/Table.cs
@@ -6,7 +6,6 @@ namespace WixToolset.Data.WindowsInstaller
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using System.Diagnostics; 7 using System.Diagnostics;
8 using System.Xml; 8 using System.Xml;
9 using WixToolset.Data.WindowsInstaller.Rows;
10 9
11 /// <summary> 10 /// <summary>
12 /// Object that represents a table in a database. 11 /// Object that represents a table in a database.
@@ -49,79 +48,14 @@ namespace WixToolset.Data.WindowsInstaller
49 public IList<Row> Rows { get; } 48 public IList<Row> Rows { get; }
50 49
51 /// <summary> 50 /// <summary>
52 /// Creates a new row in the table. 51 /// Creates a new row and adds it to the table.
53 /// </summary> 52 /// </summary>
54 /// <param name="sourceLineNumbers">Original source lines for this row.</param> 53 /// <param name="sourceLineNumbers">Original source lines for this row.</param>
55 /// <param name="add">Specifies whether to only create the row or add it to the table automatically.</param>
56 /// <returns>Row created in table.</returns> 54 /// <returns>Row created in table.</returns>
57 public Row CreateRow(SourceLineNumber sourceLineNumbers, bool add = true) 55 public Row CreateRow(SourceLineNumber sourceLineNumbers)
58 { 56 {
59 Row row; 57 var row = this.Definition.CreateRow(sourceLineNumbers, this);
60 58 this.Rows.Add(row);
61 switch (this.Name)
62 {
63 case "BBControl":
64 row = new BBControlRow(sourceLineNumbers, this);
65 break;
66 case "Component":
67 row = new ComponentRow(sourceLineNumbers, this);
68 break;
69 case "Control":
70 row = new ControlRow(sourceLineNumbers, this);
71 break;
72 case "File":
73 row = new FileRow(sourceLineNumbers, this);
74 break;
75 case "Media":
76 row = new MediaRow(sourceLineNumbers, this);
77 break;
78 case "Property":
79 row = new PropertyRow(sourceLineNumbers, this);
80 break;
81 case "Upgrade":
82 row = new UpgradeRow(sourceLineNumbers, this);
83 break;
84 case "WixAction":
85 row = new WixActionRow(sourceLineNumbers, this);
86 break;
87 case "WixComplexReference":
88 row = new WixComplexReferenceRow(sourceLineNumbers, this);
89 break;
90 case "WixDeltaPatchFile":
91 row = new WixDeltaPatchFileRow(sourceLineNumbers, this);
92 break;
93 case "WixDeltaPatchSymbolPaths":
94 row = new WixDeltaPatchSymbolPathsRow(sourceLineNumbers, this);
95 break;
96 case "WixGroup":
97 row = new WixGroupRow(sourceLineNumbers, this);
98 break;
99 case "WixMedia":
100 row = new WixMediaRow(sourceLineNumbers, this);
101 break;
102 case "WixMediaTemplate":
103 row = new WixMediaTemplateRow(sourceLineNumbers, this);
104 break;
105 case "WixMerge":
106 row = new WixMergeRow(sourceLineNumbers, this);
107 break;
108 case "WixProperty":
109 row = new WixPropertyRow(sourceLineNumbers, this);
110 break;
111 case "WixSimpleReference":
112 row = new WixSimpleReferenceRow(sourceLineNumbers, this);
113 break;
114
115 default:
116 row = new Row(sourceLineNumbers, this);
117 break;
118 }
119
120 if (add)
121 {
122 this.Rows.Add(row);
123 }
124
125 return row; 59 return row;
126 } 60 }
127 61