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 |
