aboutsummaryrefslogtreecommitdiff
path: root/src/test/Example.Extension/ExampleExtensionFactory.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2018-07-19 00:58:00 -0700
committerRob Mensching <rob@firegiant.com>2018-07-21 07:36:59 -0700
commit2724cfee4c163f3297ee25edfd2372767cfd4945 (patch)
tree8cdda34c83bea014a586a491e3b4b187ad8f16da /src/test/Example.Extension/ExampleExtensionFactory.cs
parent4d40bef9cf51b8cff7e1f6a73fdf68b9722eb8a0 (diff)
downloadwix-2724cfee4c163f3297ee25edfd2372767cfd4945.tar.gz
wix-2724cfee4c163f3297ee25edfd2372767cfd4945.tar.bz2
wix-2724cfee4c163f3297ee25edfd2372767cfd4945.zip
Move tool projects to Tools repo
Diffstat (limited to 'src/test/Example.Extension/ExampleExtensionFactory.cs')
-rw-r--r--src/test/Example.Extension/ExampleExtensionFactory.cs43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/test/Example.Extension/ExampleExtensionFactory.cs b/src/test/Example.Extension/ExampleExtensionFactory.cs
new file mode 100644
index 00000000..a081b758
--- /dev/null
+++ b/src/test/Example.Extension/ExampleExtensionFactory.cs
@@ -0,0 +1,43 @@
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 Example.Extension
4{
5 using System;
6 using WixToolset.Extensibility;
7
8 public class ExampleExtensionFactory : IExtensionFactory
9 {
10 private ExamplePreprocessorExtensionAndCommandLine preprocessorExtension;
11
12 public bool TryCreateExtension(Type extensionType, out object extension)
13 {
14 if (extensionType == typeof(IExtensionCommandLine) || extensionType == typeof(IPreprocessorExtension))
15 {
16 if (preprocessorExtension == null)
17 {
18 preprocessorExtension = new ExamplePreprocessorExtensionAndCommandLine();
19 }
20
21 extension = preprocessorExtension;
22 }
23 else if (extensionType == typeof(ICompilerExtension))
24 {
25 extension = new ExampleCompilerExtension();
26 }
27 else if (extensionType == typeof(IExtensionData))
28 {
29 extension = new ExampleExtensionData();
30 }
31 else if (extensionType == typeof(IWindowsInstallerBackendExtension))
32 {
33 extension = new ExampleWindowsInstallerBackendExtension();
34 }
35 else
36 {
37 extension = null;
38 }
39
40 return extension != null;
41 }
42 }
43}