summaryrefslogtreecommitdiff
path: root/src/ext/Sql/wixext/Symbols/SqlFileSpecSymbol.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/Sql/wixext/Symbols/SqlFileSpecSymbol.cs')
-rw-r--r--src/ext/Sql/wixext/Symbols/SqlFileSpecSymbol.cs79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/ext/Sql/wixext/Symbols/SqlFileSpecSymbol.cs b/src/ext/Sql/wixext/Symbols/SqlFileSpecSymbol.cs
new file mode 100644
index 00000000..d9eecc62
--- /dev/null
+++ b/src/ext/Sql/wixext/Symbols/SqlFileSpecSymbol.cs
@@ -0,0 +1,79 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Sql
4{
5 using WixToolset.Data;
6 using WixToolset.Sql.Symbols;
7
8 public static partial class SqlSymbolDefinitions
9 {
10 public static readonly IntermediateSymbolDefinition SqlFileSpec = new IntermediateSymbolDefinition(
11 SqlSymbolDefinitionType.SqlFileSpec.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(SqlFileSpecSymbolFields.Name), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(SqlFileSpecSymbolFields.Filename), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(SqlFileSpecSymbolFields.Size), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(SqlFileSpecSymbolFields.MaxSize), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(SqlFileSpecSymbolFields.GrowthSize), IntermediateFieldType.String),
19 },
20 typeof(SqlFileSpecSymbol));
21 }
22}
23
24namespace WixToolset.Sql.Symbols
25{
26 using WixToolset.Data;
27
28 public enum SqlFileSpecSymbolFields
29 {
30 Name,
31 Filename,
32 Size,
33 MaxSize,
34 GrowthSize,
35 }
36
37 public class SqlFileSpecSymbol : IntermediateSymbol
38 {
39 public SqlFileSpecSymbol() : base(SqlSymbolDefinitions.SqlFileSpec, null, null)
40 {
41 }
42
43 public SqlFileSpecSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SqlSymbolDefinitions.SqlFileSpec, sourceLineNumber, id)
44 {
45 }
46
47 public IntermediateField this[SqlFileSpecSymbolFields index] => this.Fields[(int)index];
48
49 public string Name
50 {
51 get => this.Fields[(int)SqlFileSpecSymbolFields.Name].AsString();
52 set => this.Set((int)SqlFileSpecSymbolFields.Name, value);
53 }
54
55 public string Filename
56 {
57 get => this.Fields[(int)SqlFileSpecSymbolFields.Filename].AsString();
58 set => this.Set((int)SqlFileSpecSymbolFields.Filename, value);
59 }
60
61 public string Size
62 {
63 get => this.Fields[(int)SqlFileSpecSymbolFields.Size].AsString();
64 set => this.Set((int)SqlFileSpecSymbolFields.Size, value);
65 }
66
67 public string MaxSize
68 {
69 get => this.Fields[(int)SqlFileSpecSymbolFields.MaxSize].AsString();
70 set => this.Set((int)SqlFileSpecSymbolFields.MaxSize, value);
71 }
72
73 public string GrowthSize
74 {
75 get => this.Fields[(int)SqlFileSpecSymbolFields.GrowthSize].AsString();
76 set => this.Set((int)SqlFileSpecSymbolFields.GrowthSize, value);
77 }
78 }
79} \ No newline at end of file