aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Extensibility/Services
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2017-10-18 15:21:45 -0700
committerRob Mensching <rob@firegiant.com>2017-10-18 15:21:45 -0700
commit7efd412cda00b369bc331c9bedd8db971d98fee7 (patch)
tree20403b9a5372db2407200cefab1eed0bdcc19879 /src/WixToolset.Extensibility/Services
parent475dd063933b8a23d8e47021e9b105a20699bbac (diff)
downloadwix-7efd412cda00b369bc331c9bedd8db971d98fee7.tar.gz
wix-7efd412cda00b369bc331c9bedd8db971d98fee7.tar.bz2
wix-7efd412cda00b369bc331c9bedd8db971d98fee7.zip
Incorporate refactoring of WixToolset.Core assemblies
Diffstat (limited to 'src/WixToolset.Extensibility/Services')
-rw-r--r--src/WixToolset.Extensibility/Services/IBindContext.cs59
-rw-r--r--src/WixToolset.Extensibility/Services/ICommandLine.cs9
-rw-r--r--src/WixToolset.Extensibility/Services/ICommandLineCommand.cs9
-rw-r--r--src/WixToolset.Extensibility/Services/ICommandLineContext.cs20
-rw-r--r--src/WixToolset.Extensibility/Services/IExtensionManager.cs16
-rw-r--r--src/WixToolset.Extensibility/Services/ServiceProviderExtensions.cs14
6 files changed, 127 insertions, 0 deletions
diff --git a/src/WixToolset.Extensibility/Services/IBindContext.cs b/src/WixToolset.Extensibility/Services/IBindContext.cs
new file mode 100644
index 00000000..ce78709b
--- /dev/null
+++ b/src/WixToolset.Extensibility/Services/IBindContext.cs
@@ -0,0 +1,59 @@
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.Extensibility.Services
4{
5 using System;
6 using System.Collections.Generic;
7 using WixToolset.Data;
8
9 public interface IBindContext
10 {
11 IServiceProvider ServiceProvider { get; }
12
13 Messaging Messaging { get; set; }
14
15 IEnumerable<BindPath> BindPaths { get; set; }
16
17 int CabbingThreadCount { get; set; }
18
19 string CabCachePath { get; set; }
20
21 int Codepage { get; set; }
22
23 CompressionLevel DefaultCompressionLevel { get; set; }
24
25 IEnumerable<IDelayedField> DelayedFields { get; set; }
26
27 IEnumerable<IExpectedExtractFile> ExpectedEmbeddedFiles { get; set; }
28
29 IExtensionManager ExtensionManager { get; set; }
30
31 IEnumerable<IBinderExtension> Extensions { get; set; }
32
33 IEnumerable<string> Ices { get; set; }
34
35 string IntermediateFolder { get; set; }
36
37 Output IntermediateRepresentation { get; set; }
38
39 string OutputPath { get; set; }
40
41 string OutputPdbPath { get; set; }
42
43 bool SuppressAclReset { get; set; }
44
45 IEnumerable<string> SuppressIces { get; set; }
46
47 bool SuppressValidation { get; set; }
48
49 IBindVariableResolver WixVariableResolver { get; set; }
50
51 string ContentsFile { get; set; }
52
53 string OutputsFile { get; set; }
54
55 string BuiltOutputsFile { get; set; }
56
57 string WixprojectFile { get; set; }
58 }
59}
diff --git a/src/WixToolset.Extensibility/Services/ICommandLine.cs b/src/WixToolset.Extensibility/Services/ICommandLine.cs
new file mode 100644
index 00000000..9dd247ff
--- /dev/null
+++ b/src/WixToolset.Extensibility/Services/ICommandLine.cs
@@ -0,0 +1,9 @@
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.Extensibility.Services
4{
5 public interface ICommandLine
6 {
7 ICommandLineCommand ParseStandardCommandLine(ICommandLineContext commandLineContext);
8 }
9}
diff --git a/src/WixToolset.Extensibility/Services/ICommandLineCommand.cs b/src/WixToolset.Extensibility/Services/ICommandLineCommand.cs
new file mode 100644
index 00000000..f2333c55
--- /dev/null
+++ b/src/WixToolset.Extensibility/Services/ICommandLineCommand.cs
@@ -0,0 +1,9 @@
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.Extensibility.Services
4{
5 public interface ICommandLineCommand
6 {
7 int Execute();
8 }
9}
diff --git a/src/WixToolset.Extensibility/Services/ICommandLineContext.cs b/src/WixToolset.Extensibility/Services/ICommandLineContext.cs
new file mode 100644
index 00000000..0e040d7f
--- /dev/null
+++ b/src/WixToolset.Extensibility/Services/ICommandLineContext.cs
@@ -0,0 +1,20 @@
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.Extensibility.Services
4{
5 using System;
6 using WixToolset.Data;
7
8 public interface ICommandLineContext
9 {
10 IServiceProvider ServiceProvider { get; }
11
12 Messaging Messaging { get; set; }
13
14 IExtensionManager ExtensionManager { get; set; }
15
16 string Arguments { get; set; }
17
18 string[] ParsedArguments { get; set; }
19 }
20}
diff --git a/src/WixToolset.Extensibility/Services/IExtensionManager.cs b/src/WixToolset.Extensibility/Services/IExtensionManager.cs
new file mode 100644
index 00000000..1d693ee4
--- /dev/null
+++ b/src/WixToolset.Extensibility/Services/IExtensionManager.cs
@@ -0,0 +1,16 @@
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.Extensibility.Services
4{
5 using System.Collections.Generic;
6 using System.Reflection;
7
8 public interface IExtensionManager
9 {
10 Assembly Add(Assembly assembly);
11
12 Assembly Load(string extension);
13
14 IEnumerable<T> Create<T>() where T : class;
15 }
16}
diff --git a/src/WixToolset.Extensibility/Services/ServiceProviderExtensions.cs b/src/WixToolset.Extensibility/Services/ServiceProviderExtensions.cs
new file mode 100644
index 00000000..f4a5e8c3
--- /dev/null
+++ b/src/WixToolset.Extensibility/Services/ServiceProviderExtensions.cs
@@ -0,0 +1,14 @@
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.Extensibility.Services
4{
5 using System;
6
7 public static class ServiceProviderExtensions
8 {
9 public static T GetService<T>(this IServiceProvider serviceProvider) where T : class
10 {
11 return (T)serviceProvider.GetService(typeof(T));
12 }
13 }
14}