aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2019-12-11 19:34:47 +1100
committerSean Hall <r.sean.hall@gmail.com>2019-12-11 20:10:40 +1000
commit62352fabd541aaa9d0a2c957c4bdd4b9c682df9c (patch)
tree941513045cb644553af582fc0722c853793a90dd /src/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs
parentca118d0123624e4e1523eeb7a54eb56364d5876e (diff)
downloadwix-62352fabd541aaa9d0a2c957c4bdd4b9c682df9c.tar.gz
wix-62352fabd541aaa9d0a2c957c4bdd4b9c682df9c.tar.bz2
wix-62352fabd541aaa9d0a2c957c4bdd4b9c682df9c.zip
Import files from BootstrapperCore repo.
Diffstat (limited to 'src/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs')
-rw-r--r--src/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs b/src/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs
new file mode 100644
index 00000000..414d28ed
--- /dev/null
+++ b/src/WixToolset.Mba.Core/IBootstrapperApplicationFactory.cs
@@ -0,0 +1,52 @@
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.BootstrapperCore
4{
5 using System;
6 using System.CodeDom.Compiler;
7 using System.Runtime.InteropServices;
8
9 [ComVisible(true)]
10 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
11 [Guid("2965A12F-AC7B-43A0-85DF-E4B2168478A4")]
12 [GeneratedCodeAttribute("WixToolset.Bootstrapper.InteropCodeGenerator", "1.0.0.0")]
13 public interface IBootstrapperApplicationFactory
14 {
15 IBootstrapperApplication Create(
16 [MarshalAs(UnmanagedType.Interface)] IBootstrapperEngine pEngine,
17 ref Command command
18 );
19 }
20
21 [Serializable]
22 [StructLayout(LayoutKind.Sequential)]
23 [GeneratedCodeAttribute("WixToolset.Bootstrapper.InteropCodeGenerator", "1.0.0.0")]
24 public struct Command
25 {
26 [MarshalAs(UnmanagedType.U4)] private readonly LaunchAction action;
27 [MarshalAs(UnmanagedType.U4)] private readonly Display display;
28 [MarshalAs(UnmanagedType.U4)] private readonly Restart restart;
29 [MarshalAs(UnmanagedType.LPWStr)] private readonly string wzCommandLine;
30 [MarshalAs(UnmanagedType.I4)] private readonly int nCmdShow;
31 [MarshalAs(UnmanagedType.U4)] private readonly ResumeType resume;
32 private readonly IntPtr hwndSplashScreen;
33 [MarshalAs(UnmanagedType.I4)] private readonly RelationType relation;
34 [MarshalAs(UnmanagedType.Bool)] private readonly bool passthrough;
35 [MarshalAs(UnmanagedType.LPWStr)] private readonly string wzLayoutDirectory;
36
37 public IBootstrapperCommand GetBootstrapperCommand()
38 {
39 return new BootstrapperCommand(
40 this.action,
41 this.display,
42 this.restart,
43 this.wzCommandLine,
44 this.nCmdShow,
45 this.resume,
46 this.hwndSplashScreen,
47 this.relation,
48 this.passthrough,
49 this.wzLayoutDirectory);
50 }
51 }
52}