aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.BootstrapperCore.Native/inc/BundleExtensionEngine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.BootstrapperCore.Native/inc/BundleExtensionEngine.h')
-rw-r--r--src/WixToolset.BootstrapperCore.Native/inc/BundleExtensionEngine.h184
1 files changed, 184 insertions, 0 deletions
diff --git a/src/WixToolset.BootstrapperCore.Native/inc/BundleExtensionEngine.h b/src/WixToolset.BootstrapperCore.Native/inc/BundleExtensionEngine.h
new file mode 100644
index 00000000..03c4f206
--- /dev/null
+++ b/src/WixToolset.BootstrapperCore.Native/inc/BundleExtensionEngine.h
@@ -0,0 +1,184 @@
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
5#if defined(__cplusplus)
6extern "C" {
7#endif
8
9enum BUNDLE_EXTENSION_LOG_LEVEL
10{
11 BUNDLE_EXTENSION_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel())
12 BUNDLE_EXTENSION_LOG_LEVEL_STANDARD, // written if reporting is on
13 BUNDLE_EXTENSION_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on
14 BUNDLE_EXTENSION_LOG_LEVEL_DEBUG, // reporting useful when debugging code
15 BUNDLE_EXTENSION_LOG_LEVEL_ERROR, // always gets reported, but can never be specified
16};
17
18enum BUNDLE_EXTENSION_ENGINE_MESSAGE
19{
20 BUNDLE_EXTENSION_ENGINE_MESSAGE_ESCAPESTRING,
21 BUNDLE_EXTENSION_ENGINE_MESSAGE_EVALUATECONDITION,
22 BUNDLE_EXTENSION_ENGINE_MESSAGE_FORMATSTRING,
23 BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLENUMERIC,
24 BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLESTRING,
25 BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLEVERSION,
26 BUNDLE_EXTENSION_ENGINE_MESSAGE_LOG,
27 BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLELITERALSTRING,
28 BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLENUMERIC,
29 BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLESTRING,
30 BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION,
31};
32
33typedef struct _BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS
34{
35 DWORD cbSize;
36 LPCWSTR wzIn;
37} BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS;
38
39typedef struct _BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS
40{
41 DWORD cbSize;
42 LPWSTR wzOut;
43 // Should be initialized to the size of wzOut.
44 DWORD cchOut;
45} BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS;
46
47typedef struct _BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS
48{
49 DWORD cbSize;
50 LPCWSTR wzCondition;
51} BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS;
52
53typedef struct _BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS
54{
55 DWORD cbSize;
56 BOOL f;
57} BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS;
58
59typedef struct _BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS
60{
61 DWORD cbSize;
62 LPCWSTR wzIn;
63} BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS;
64
65typedef struct _BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS
66{
67 DWORD cbSize;
68 // The contents of wzOut may be sensitive, should keep encrypted and SecureZeroFree.
69 LPWSTR wzOut;
70 // Should be initialized to the size of wzOut.
71 DWORD cchOut;
72} BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS;
73
74typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS
75{
76 DWORD cbSize;
77 LPCWSTR wzVariable;
78} BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS;
79
80typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS
81{
82 DWORD cbSize;
83 // The contents of llValue may be sensitive, if variable is hidden should keep value encrypted and SecureZeroMemory.
84 LONGLONG llValue;
85} BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS;
86
87typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS
88{
89 DWORD cbSize;
90 LPCWSTR wzVariable;
91} BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS;
92
93typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS
94{
95 DWORD cbSize;
96 // The contents of wzValue may be sensitive, if variable is hidden should keep value encrypted and SecureZeroFree.
97 LPWSTR wzValue;
98 // Should be initialized to the size of wzValue.
99 DWORD cchValue;
100} BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS;
101
102typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS
103{
104 DWORD cbSize;
105 LPCWSTR wzVariable;
106} BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS;
107
108typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS
109{
110 DWORD cbSize;
111 // The contents of qwValue may be sensitive, if variable is hidden should keep value encrypted and SecureZeroMemory.
112 DWORD64 qwValue;
113} BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS;
114
115typedef struct _BUNDLE_EXTENSION_ENGINE_LOG_ARGS
116{
117 DWORD cbSize;
118 BUNDLE_EXTENSION_LOG_LEVEL level;
119 LPCWSTR wzMessage;
120} BUNDLE_EXTENSION_ENGINE_LOG_ARGS;
121
122typedef struct _BUNDLE_EXTENSION_ENGINE_LOG_RESULTS
123{
124 DWORD cbSize;
125} BUNDLE_EXTENSION_ENGINE_LOG_RESULTS;
126
127typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLELITERALSTRING_ARGS
128{
129 DWORD cbSize;
130 LPCWSTR wzVariable;
131 LPCWSTR wzValue;
132} BUNDLE_EXTENSION_ENGINE_SETVARIABLELITERALSTRING_ARGS;
133
134typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLELITERALSTRING_RESULTS
135{
136 DWORD cbSize;
137} BUNDLE_EXTENSION_ENGINE_SETVARIABLELITERALSTRING_RESULTS;
138
139typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS
140{
141 DWORD cbSize;
142 LPCWSTR wzVariable;
143 LONGLONG llValue;
144} BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS;
145
146typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS
147{
148 DWORD cbSize;
149} BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS;
150
151typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS
152{
153 DWORD cbSize;
154 LPCWSTR wzVariable;
155 LPCWSTR wzValue;
156} BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS;
157
158typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS
159{
160 DWORD cbSize;
161} BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS;
162
163typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS
164{
165 DWORD cbSize;
166 LPCWSTR wzVariable;
167 DWORD64 qwValue;
168} BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS;
169
170typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS
171{
172 DWORD cbSize;
173} BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS;
174
175extern "C" typedef HRESULT(WINAPI *PFN_BUNDLE_EXTENSION_ENGINE_PROC)(
176 __in BUNDLE_EXTENSION_ENGINE_MESSAGE message,
177 __in const LPVOID pvArgs,
178 __inout LPVOID pvResults,
179 __in_opt LPVOID pvContext
180 );
181
182#if defined(__cplusplus)
183}
184#endif