aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.Burn/BurnBackendFactory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core.Burn/BurnBackendFactory.cs')
-rw-r--r--src/WixToolset.Core.Burn/BurnBackendFactory.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/WixToolset.Core.Burn/BurnBackendFactory.cs b/src/WixToolset.Core.Burn/BurnBackendFactory.cs
new file mode 100644
index 00000000..8e2b3ce2
--- /dev/null
+++ b/src/WixToolset.Core.Burn/BurnBackendFactory.cs
@@ -0,0 +1,31 @@
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.Core.Burn
4{
5 using System;
6 using System.IO;
7 using WixToolset.Extensibility;
8 using WixToolset.Extensibility.Services;
9
10 internal class BurnBackendFactory : IBackendFactory
11 {
12 public bool TryCreateBackend(string outputType, string outputFile, IBindContext context, out IBackend backend)
13 {
14 if (String.IsNullOrEmpty(outputType))
15 {
16 outputType = Path.GetExtension(outputFile);
17 }
18
19 switch (outputType.ToLowerInvariant())
20 {
21 case "bundle":
22 case ".exe":
23 backend = new BundleBackend();
24 return true;
25 }
26
27 backend = null;
28 return false;
29 }
30 }
31}