aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/Tuples/UtilTupleDefinitions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/Tuples/UtilTupleDefinitions.cs')
-rw-r--r--src/wixext/Tuples/UtilTupleDefinitions.cs111
1 files changed, 111 insertions, 0 deletions
diff --git a/src/wixext/Tuples/UtilTupleDefinitions.cs b/src/wixext/Tuples/UtilTupleDefinitions.cs
new file mode 100644
index 00000000..00c98337
--- /dev/null
+++ b/src/wixext/Tuples/UtilTupleDefinitions.cs
@@ -0,0 +1,111 @@
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.Util
4{
5 using System;
6 using WixToolset.Data;
7
8 public enum UtilTupleDefinitionType
9 {
10 EventManifest,
11 FileShare,
12 FileSharePermissions,
13 Group,
14 Perfmon,
15 PerfmonManifest,
16 PerformanceCategory,
17 SecureObjects,
18 ServiceConfig,
19 User,
20 UserGroup,
21 WixCloseApplication,
22 WixFormatFiles,
23 WixInternetShortcut,
24 WixRemoveFolderEx,
25 WixRestartResource,
26 WixTouchFile,
27 XmlConfig,
28 XmlFile,
29 }
30
31 public static partial class UtilTupleDefinitions
32 {
33 public static readonly Version Version = new Version("4.0.0");
34
35 public static IntermediateTupleDefinition ByName(string name)
36 {
37 if (!Enum.TryParse(name, out UtilTupleDefinitionType type))
38 {
39 return null;
40 }
41
42 return ByType(type);
43 }
44
45 public static IntermediateTupleDefinition ByType(UtilTupleDefinitionType type)
46 {
47 switch (type)
48 {
49 case UtilTupleDefinitionType.EventManifest:
50 return UtilTupleDefinitions.EventManifest;
51
52 case UtilTupleDefinitionType.FileShare:
53 return UtilTupleDefinitions.FileShare;
54
55 case UtilTupleDefinitionType.FileSharePermissions:
56 return UtilTupleDefinitions.FileSharePermissions;
57
58 case UtilTupleDefinitionType.Group:
59 return UtilTupleDefinitions.Group;
60
61 case UtilTupleDefinitionType.Perfmon:
62 return UtilTupleDefinitions.Perfmon;
63
64 case UtilTupleDefinitionType.PerfmonManifest:
65 return UtilTupleDefinitions.PerfmonManifest;
66
67 case UtilTupleDefinitionType.PerformanceCategory:
68 return UtilTupleDefinitions.PerformanceCategory;
69
70 case UtilTupleDefinitionType.SecureObjects:
71 return UtilTupleDefinitions.SecureObjects;
72
73 case UtilTupleDefinitionType.ServiceConfig:
74 return UtilTupleDefinitions.ServiceConfig;
75
76 case UtilTupleDefinitionType.User:
77 return UtilTupleDefinitions.User;
78
79 case UtilTupleDefinitionType.UserGroup:
80 return UtilTupleDefinitions.UserGroup;
81
82 case UtilTupleDefinitionType.WixCloseApplication:
83 return UtilTupleDefinitions.WixCloseApplication;
84
85 case UtilTupleDefinitionType.WixFormatFiles:
86 return UtilTupleDefinitions.WixFormatFiles;
87
88 case UtilTupleDefinitionType.WixInternetShortcut:
89 return UtilTupleDefinitions.WixInternetShortcut;
90
91 case UtilTupleDefinitionType.WixRemoveFolderEx:
92 return UtilTupleDefinitions.WixRemoveFolderEx;
93
94 case UtilTupleDefinitionType.WixRestartResource:
95 return UtilTupleDefinitions.WixRestartResource;
96
97 case UtilTupleDefinitionType.WixTouchFile:
98 return UtilTupleDefinitions.WixTouchFile;
99
100 case UtilTupleDefinitionType.XmlConfig:
101 return UtilTupleDefinitions.XmlConfig;
102
103 case UtilTupleDefinitionType.XmlFile:
104 return UtilTupleDefinitions.XmlFile;
105
106 default:
107 throw new ArgumentOutOfRangeException(nameof(type));
108 }
109 }
110 }
111}