diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2020-04-18 13:53:54 +1000 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2020-04-18 21:25:30 +1000 |
| commit | 1c933963d1354495d4a31a08baf7f1240b5fbfce (patch) | |
| tree | f2190fc0336f57d3c6b408e1a5d57b0b9c343092 /src/WixToolset.Data/WindowsInstaller/Table.cs | |
| parent | 2b3c14c790e8a95edabecf2d7bb50baa58d8e95b (diff) | |
| download | wix-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.cs | 74 |
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 | ||
