summaryrefslogtreecommitdiff
path: root/src/api/burn/balutil/inc/IBootstrapperEngine.h
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-04-22 05:46:03 -0700
committerRob Mensching <rob@firegiant.com>2021-04-29 16:41:44 -0700
commitc00516901e6b67e398396b14fe7682d0376f8643 (patch)
treeb0d62089a1c5700c7f2c3e3790750bf2d8ea33c0 /src/api/burn/balutil/inc/IBootstrapperEngine.h
parent8eb98efd2175d9ece2e4639d43081667af9a4990 (diff)
downloadwix-c00516901e6b67e398396b14fe7682d0376f8643.tar.gz
wix-c00516901e6b67e398396b14fe7682d0376f8643.tar.bz2
wix-c00516901e6b67e398396b14fe7682d0376f8643.zip
Move balutil into API/burn
Diffstat (limited to 'src/api/burn/balutil/inc/IBootstrapperEngine.h')
-rw-r--r--src/api/burn/balutil/inc/IBootstrapperEngine.h140
1 files changed, 140 insertions, 0 deletions
diff --git a/src/api/burn/balutil/inc/IBootstrapperEngine.h b/src/api/burn/balutil/inc/IBootstrapperEngine.h
new file mode 100644
index 00000000..ccb07f4f
--- /dev/null
+++ b/src/api/burn/balutil/inc/IBootstrapperEngine.h
@@ -0,0 +1,140 @@
1#pragma once
2// 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.
3
4
5DECLARE_INTERFACE_IID_(IBootstrapperEngine, IUnknown, "6480D616-27A0-44D7-905B-81512C29C2FB")
6{
7 STDMETHOD(GetPackageCount)(
8 __out DWORD* pcPackages
9 ) = 0;
10
11 STDMETHOD(GetVariableNumeric)(
12 __in_z LPCWSTR wzVariable,
13 __out LONGLONG* pllValue
14 ) = 0;
15
16 STDMETHOD(GetVariableString)(
17 __in_z LPCWSTR wzVariable,
18 __out_ecount_opt(*pcchValue) LPWSTR wzValue,
19 __inout SIZE_T* pcchValue
20 ) = 0;
21
22 STDMETHOD(GetVariableVersion)(
23 __in_z LPCWSTR wzVariable,
24 __out_ecount_opt(*pcchValue) LPWSTR wzValue,
25 __inout SIZE_T * pcchValue
26 ) = 0;
27
28 STDMETHOD(FormatString)(
29 __in_z LPCWSTR wzIn,
30 __out_ecount_opt(*pcchOut) LPWSTR wzOut,
31 __inout SIZE_T * pcchOut
32 ) = 0;
33
34 STDMETHOD(EscapeString)(
35 __in_z LPCWSTR wzIn,
36 __out_ecount_opt(*pcchOut) LPWSTR wzOut,
37 __inout SIZE_T * pcchOut
38 ) = 0;
39
40 STDMETHOD(EvaluateCondition)(
41 __in_z LPCWSTR wzCondition,
42 __out BOOL* pf
43 ) = 0;
44
45 STDMETHOD(Log)(
46 __in BOOTSTRAPPER_LOG_LEVEL level,
47 __in_z LPCWSTR wzMessage
48 ) = 0;
49
50 STDMETHOD(SendEmbeddedError)(
51 __in DWORD dwErrorCode,
52 __in_z_opt LPCWSTR wzMessage,
53 __in DWORD dwUIHint,
54 __out int* pnResult
55 ) = 0;
56
57 STDMETHOD(SendEmbeddedProgress)(
58 __in DWORD dwProgressPercentage,
59 __in DWORD dwOverallProgressPercentage,
60 __out int* pnResult
61 ) = 0;
62
63 STDMETHOD(SetUpdate)(
64 __in_z_opt LPCWSTR wzLocalSource,
65 __in_z_opt LPCWSTR wzDownloadSource,
66 __in DWORD64 qwSize,
67 __in BOOTSTRAPPER_UPDATE_HASH_TYPE hashType,
68 __in_bcount_opt(cbHash) BYTE* rgbHash,
69 __in DWORD cbHash
70 ) = 0;
71
72 STDMETHOD(SetLocalSource)(
73 __in_z LPCWSTR wzPackageOrContainerId,
74 __in_z_opt LPCWSTR wzPayloadId,
75 __in_z LPCWSTR wzPath
76 ) = 0;
77
78 STDMETHOD(SetDownloadSource)(
79 __in_z LPCWSTR wzPackageOrContainerId,
80 __in_z_opt LPCWSTR wzPayloadId,
81 __in_z LPCWSTR wzUrl,
82 __in_z_opt LPCWSTR wzUser,
83 __in_z_opt LPCWSTR wzPassword
84 ) = 0;
85
86 STDMETHOD(SetVariableNumeric)(
87 __in_z LPCWSTR wzVariable,
88 __in LONGLONG llValue
89 ) = 0;
90
91 STDMETHOD(SetVariableString)(
92 __in_z LPCWSTR wzVariable,
93 __in_z_opt LPCWSTR wzValue,
94 __in BOOL fFormatted
95 ) = 0;
96
97 STDMETHOD(SetVariableVersion)(
98 __in_z LPCWSTR wzVariable,
99 __in_z_opt LPCWSTR wzValue
100 ) = 0;
101
102 STDMETHOD(CloseSplashScreen)() = 0;
103
104 STDMETHOD(Detect)(
105 __in_opt HWND hwndParent = NULL
106 ) = 0;
107
108 STDMETHOD(Plan)(
109 __in BOOTSTRAPPER_ACTION action
110 ) = 0;
111
112 STDMETHOD(Elevate)(
113 __in_opt HWND hwndParent
114 ) = 0;
115
116 STDMETHOD(Apply)(
117 __in HWND hwndParent
118 ) = 0;
119
120 STDMETHOD(Quit)(
121 __in DWORD dwExitCode
122 ) = 0;
123
124 STDMETHOD(LaunchApprovedExe)(
125 __in_opt HWND hwndParent,
126 __in_z LPCWSTR wzApprovedExeForElevationId,
127 __in_z_opt LPCWSTR wzArguments,
128 __in DWORD dwWaitForInputIdleTimeout
129 ) = 0;
130
131 STDMETHOD(SetUpdateSource)(
132 __in_z LPCWSTR wzUrl
133 ) = 0;
134
135 STDMETHOD(CompareVersions)(
136 __in_z LPCWSTR wzVersion1,
137 __in_z LPCWSTR wzVersion2,
138 __out int* pnResult
139 ) = 0;
140};