diff options
Diffstat (limited to 'src/api/burn/WixToolset.Mba.Core/BootstrapperCommand.cs')
-rw-r--r-- | src/api/burn/WixToolset.Mba.Core/BootstrapperCommand.cs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperCommand.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperCommand.cs index ed1dc191..b96a8f95 100644 --- a/src/api/burn/WixToolset.Mba.Core/BootstrapperCommand.cs +++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperCommand.cs | |||
@@ -3,11 +3,55 @@ | |||
3 | namespace WixToolset.Mba.Core | 3 | namespace WixToolset.Mba.Core |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.CodeDom.Compiler; | ||
6 | using System.Collections.Generic; | 7 | using System.Collections.Generic; |
7 | using System.ComponentModel; | 8 | using System.ComponentModel; |
8 | using System.Runtime.InteropServices; | 9 | using System.Runtime.InteropServices; |
9 | 10 | ||
10 | /// <summary> | 11 | /// <summary> |
12 | /// Command-line provided to the bootstrapper application. | ||
13 | /// </summary> | ||
14 | [Serializable] | ||
15 | [StructLayout(LayoutKind.Sequential)] | ||
16 | [GeneratedCodeAttribute("WixToolset.Bootstrapper.InteropCodeGenerator", "1.0.0.0")] | ||
17 | public struct Command | ||
18 | { | ||
19 | // Strings must be declared as pointers so that Marshaling doesn't free them. | ||
20 | [MarshalAs(UnmanagedType.I4)] internal int cbSize; | ||
21 | [MarshalAs(UnmanagedType.U4)] private readonly LaunchAction action; | ||
22 | [MarshalAs(UnmanagedType.U4)] private readonly Display display; | ||
23 | private readonly IntPtr wzCommandLine; | ||
24 | [MarshalAs(UnmanagedType.I4)] private readonly int nCmdShow; | ||
25 | [MarshalAs(UnmanagedType.U4)] private readonly ResumeType resume; | ||
26 | private readonly IntPtr hwndSplashScreen; | ||
27 | [MarshalAs(UnmanagedType.I4)] private readonly RelationType relation; | ||
28 | [MarshalAs(UnmanagedType.Bool)] private readonly bool passthrough; | ||
29 | private readonly IntPtr wzLayoutDirectory; | ||
30 | private readonly IntPtr wzBootstrapperWorkingFolder; | ||
31 | private readonly IntPtr wzBootstrapperApplicationDataPath; | ||
32 | |||
33 | /// <summary> | ||
34 | /// Gets the IBootstrapperCommand for this Command. | ||
35 | /// </summary> | ||
36 | /// <returns>IBootstrapperCommand</returns> | ||
37 | public IBootstrapperCommand GetBootstrapperCommand() | ||
38 | { | ||
39 | return new BootstrapperCommand( | ||
40 | this.action, | ||
41 | this.display, | ||
42 | Marshal.PtrToStringUni(this.wzCommandLine), | ||
43 | this.nCmdShow, | ||
44 | this.resume, | ||
45 | this.hwndSplashScreen, | ||
46 | this.relation, | ||
47 | this.passthrough, | ||
48 | Marshal.PtrToStringUni(this.wzLayoutDirectory), | ||
49 | Marshal.PtrToStringUni(this.wzBootstrapperWorkingFolder), | ||
50 | Marshal.PtrToStringUni(this.wzBootstrapperApplicationDataPath)); | ||
51 | } | ||
52 | } | ||
53 | |||
54 | /// <summary> | ||
11 | /// Default implementation of <see cref="IBootstrapperCommand"/>. | 55 | /// Default implementation of <see cref="IBootstrapperCommand"/>. |
12 | /// </summary> | 56 | /// </summary> |
13 | public sealed class BootstrapperCommand : IBootstrapperCommand | 57 | public sealed class BootstrapperCommand : IBootstrapperCommand |