diff options
Diffstat (limited to 'src/engine/plan.h')
-rw-r--r-- | src/engine/plan.h | 106 |
1 files changed, 17 insertions, 89 deletions
diff --git a/src/engine/plan.h b/src/engine/plan.h index 0024b0aa..4ba2df6a 100644 --- a/src/engine/plan.h +++ b/src/engine/plan.h | |||
@@ -38,17 +38,10 @@ enum BURN_CACHE_ACTION_TYPE | |||
38 | BURN_CACHE_ACTION_TYPE_NONE, | 38 | BURN_CACHE_ACTION_TYPE_NONE, |
39 | BURN_CACHE_ACTION_TYPE_CHECKPOINT, | 39 | BURN_CACHE_ACTION_TYPE_CHECKPOINT, |
40 | BURN_CACHE_ACTION_TYPE_LAYOUT_BUNDLE, | 40 | BURN_CACHE_ACTION_TYPE_LAYOUT_BUNDLE, |
41 | BURN_CACHE_ACTION_TYPE_PACKAGE_START, | 41 | BURN_CACHE_ACTION_TYPE_PACKAGE, |
42 | BURN_CACHE_ACTION_TYPE_PACKAGE_STOP, | ||
43 | BURN_CACHE_ACTION_TYPE_ROLLBACK_PACKAGE, | 42 | BURN_CACHE_ACTION_TYPE_ROLLBACK_PACKAGE, |
44 | BURN_CACHE_ACTION_TYPE_SIGNAL_SYNCPOINT, | 43 | BURN_CACHE_ACTION_TYPE_SIGNAL_SYNCPOINT, |
45 | BURN_CACHE_ACTION_TYPE_ACQUIRE_CONTAINER, | 44 | BURN_CACHE_ACTION_TYPE_CONTAINER, |
46 | BURN_CACHE_ACTION_TYPE_EXTRACT_CONTAINER, | ||
47 | BURN_CACHE_ACTION_TYPE_LAYOUT_CONTAINER, | ||
48 | BURN_CACHE_ACTION_TYPE_ACQUIRE_PAYLOAD, | ||
49 | BURN_CACHE_ACTION_TYPE_CACHE_PAYLOAD, | ||
50 | BURN_CACHE_ACTION_TYPE_LAYOUT_PAYLOAD, | ||
51 | BURN_CACHE_ACTION_TYPE_TRANSACTION_BOUNDARY, | ||
52 | }; | 45 | }; |
53 | 46 | ||
54 | enum BURN_EXECUTE_ACTION_TYPE | 47 | enum BURN_EXECUTE_ACTION_TYPE |
@@ -78,13 +71,6 @@ enum BURN_CLEAN_ACTION_TYPE | |||
78 | 71 | ||
79 | // structs | 72 | // structs |
80 | 73 | ||
81 | typedef struct _BURN_EXTRACT_PAYLOAD | ||
82 | { | ||
83 | BURN_PACKAGE* pPackage; | ||
84 | BURN_PAYLOAD* pPayload; | ||
85 | LPWSTR sczUnverifiedPath; | ||
86 | } BURN_EXTRACT_PAYLOAD; | ||
87 | |||
88 | typedef struct _BURN_DEPENDENT_REGISTRATION_ACTION | 74 | typedef struct _BURN_DEPENDENT_REGISTRATION_ACTION |
89 | { | 75 | { |
90 | BURN_DEPENDENT_REGISTRATION_ACTION_TYPE type; | 76 | BURN_DEPENDENT_REGISTRATION_ACTION_TYPE type; |
@@ -111,7 +97,6 @@ typedef struct _BURN_CACHE_PAYLOAD_PROGRESS | |||
111 | typedef struct _BURN_CACHE_ACTION | 97 | typedef struct _BURN_CACHE_ACTION |
112 | { | 98 | { |
113 | BURN_CACHE_ACTION_TYPE type; | 99 | BURN_CACHE_ACTION_TYPE type; |
114 | BOOL fSkipUntilRetried; | ||
115 | union | 100 | union |
116 | { | 101 | { |
117 | struct | 102 | struct |
@@ -121,21 +106,14 @@ typedef struct _BURN_CACHE_ACTION | |||
121 | struct | 106 | struct |
122 | { | 107 | { |
123 | LPWSTR sczExecutableName; | 108 | LPWSTR sczExecutableName; |
124 | LPWSTR sczLayoutDirectory; | ||
125 | LPWSTR sczUnverifiedPath; | 109 | LPWSTR sczUnverifiedPath; |
126 | DWORD64 qwBundleSize; | 110 | DWORD64 qwBundleSize; |
111 | BURN_PAYLOAD_GROUP* pPayloadGroup; | ||
127 | } bundleLayout; | 112 | } bundleLayout; |
128 | struct | 113 | struct |
129 | { | 114 | { |
130 | BURN_PACKAGE* pPackage; | 115 | BURN_PACKAGE* pPackage; |
131 | DWORD cCachePayloads; | 116 | } package; |
132 | DWORD64 qwCachePayloadSizeTotal; | ||
133 | DWORD iPackageCompleteAction; | ||
134 | } packageStart; | ||
135 | struct | ||
136 | { | ||
137 | BURN_PACKAGE* pPackage; | ||
138 | } packageStop; | ||
139 | struct | 117 | struct |
140 | { | 118 | { |
141 | BURN_PACKAGE* pPackage; | 119 | BURN_PACKAGE* pPackage; |
@@ -147,62 +125,7 @@ typedef struct _BURN_CACHE_ACTION | |||
147 | struct | 125 | struct |
148 | { | 126 | { |
149 | BURN_CONTAINER* pContainer; | 127 | BURN_CONTAINER* pContainer; |
150 | DWORD iProgress; | 128 | } container; |
151 | LPWSTR sczUnverifiedPath; | ||
152 | } resolveContainer; | ||
153 | struct | ||
154 | { | ||
155 | BURN_CONTAINER* pContainer; | ||
156 | DWORD iSkipUntilAcquiredByAction; | ||
157 | LPWSTR sczContainerUnverifiedPath; | ||
158 | |||
159 | BURN_EXTRACT_PAYLOAD* rgPayloads; | ||
160 | DWORD cPayloads; | ||
161 | } extractContainer; | ||
162 | struct | ||
163 | { | ||
164 | BURN_PACKAGE* pPackage; | ||
165 | BURN_CONTAINER* pContainer; | ||
166 | DWORD iProgress; | ||
167 | DWORD iTryAgainAction; | ||
168 | DWORD cTryAgainAttempts; | ||
169 | LPWSTR sczLayoutDirectory; | ||
170 | LPWSTR sczUnverifiedPath; | ||
171 | BOOL fMove; | ||
172 | } layoutContainer; | ||
173 | struct | ||
174 | { | ||
175 | BURN_PACKAGE* pPackage; | ||
176 | BURN_PAYLOAD* pPayload; | ||
177 | DWORD iProgress; | ||
178 | LPWSTR sczUnverifiedPath; | ||
179 | } resolvePayload; | ||
180 | struct | ||
181 | { | ||
182 | BURN_PACKAGE* pPackage; | ||
183 | BURN_PAYLOAD* pPayload; | ||
184 | DWORD iProgress; | ||
185 | DWORD iTryAgainAction; | ||
186 | DWORD cTryAgainAttempts; | ||
187 | LPWSTR sczUnverifiedPath; | ||
188 | BOOL fMove; | ||
189 | } cachePayload; | ||
190 | struct | ||
191 | { | ||
192 | BURN_PACKAGE* pPackage; | ||
193 | BURN_PAYLOAD* pPayload; | ||
194 | DWORD iProgress; | ||
195 | DWORD iTryAgainAction; | ||
196 | DWORD cTryAgainAttempts; | ||
197 | LPWSTR sczLayoutDirectory; | ||
198 | LPWSTR sczUnverifiedPath; | ||
199 | BOOL fMove; | ||
200 | } layoutPayload; | ||
201 | struct | ||
202 | { | ||
203 | BURN_ROLLBACK_BOUNDARY* pRollbackBoundary; | ||
204 | HANDLE hEvent; | ||
205 | } rollbackBoundary; | ||
206 | }; | 129 | }; |
207 | } BURN_CACHE_ACTION; | 130 | } BURN_CACHE_ACTION; |
208 | 131 | ||
@@ -306,6 +229,7 @@ typedef struct _BURN_CLEAN_ACTION | |||
306 | typedef struct _BURN_PLAN | 229 | typedef struct _BURN_PLAN |
307 | { | 230 | { |
308 | BOOTSTRAPPER_ACTION action; | 231 | BOOTSTRAPPER_ACTION action; |
232 | BURN_PAYLOADS* pPayloads; // points directly into parent the ENGINE_STATE. | ||
309 | LPWSTR wzBundleId; // points directly into parent the ENGINE_STATE. | 233 | LPWSTR wzBundleId; // points directly into parent the ENGINE_STATE. |
310 | LPWSTR wzBundleProviderKey; // points directly into parent the ENGINE_STATE. | 234 | LPWSTR wzBundleProviderKey; // points directly into parent the ENGINE_STATE. |
311 | BOOL fPerMachine; | 235 | BOOL fPerMachine; |
@@ -315,6 +239,7 @@ typedef struct _BURN_PLAN | |||
315 | BOOL fDisableRollback; | 239 | BOOL fDisableRollback; |
316 | BOOL fAffectedMachineState; | 240 | BOOL fAffectedMachineState; |
317 | BOOL fIgnoreAllDependents; | 241 | BOOL fIgnoreAllDependents; |
242 | LPWSTR sczLayoutDirectory; | ||
318 | 243 | ||
319 | DWORD64 qwCacheSizeTotal; | 244 | DWORD64 qwCacheSizeTotal; |
320 | 245 | ||
@@ -369,7 +294,9 @@ typedef struct _BURN_PLAN | |||
369 | 294 | ||
370 | void PlanReset( | 295 | void PlanReset( |
371 | __in BURN_PLAN* pPlan, | 296 | __in BURN_PLAN* pPlan, |
372 | __in BURN_PACKAGES* pPackages | 297 | __in BURN_CONTAINERS* pContainers, |
298 | __in BURN_PACKAGES* pPackages, | ||
299 | __in BURN_PAYLOAD_GROUP* pLayoutPayloads | ||
373 | ); | 300 | ); |
374 | void PlanUninitializeExecuteAction( | 301 | void PlanUninitializeExecuteAction( |
375 | __in BURN_EXECUTE_ACTION* pExecuteAction | 302 | __in BURN_EXECUTE_ACTION* pExecuteAction |
@@ -393,8 +320,7 @@ HRESULT PlanLayoutBundle( | |||
393 | __in_z LPCWSTR wzExecutableName, | 320 | __in_z LPCWSTR wzExecutableName, |
394 | __in DWORD64 qwBundleSize, | 321 | __in DWORD64 qwBundleSize, |
395 | __in BURN_VARIABLES* pVariables, | 322 | __in BURN_VARIABLES* pVariables, |
396 | __in BURN_PAYLOADS* pPayloads, | 323 | __in BURN_PAYLOAD_GROUP* pLayoutPayloads |
397 | __out_z LPWSTR* psczLayoutDirectory | ||
398 | ); | 324 | ); |
399 | HRESULT PlanForwardCompatibleBundles( | 325 | HRESULT PlanForwardCompatibleBundles( |
400 | __in BURN_USER_EXPERIENCE* pUX, | 326 | __in BURN_USER_EXPERIENCE* pUX, |
@@ -410,8 +336,7 @@ HRESULT PlanPackages( | |||
410 | __in BURN_LOGGING* pLog, | 336 | __in BURN_LOGGING* pLog, |
411 | __in BURN_VARIABLES* pVariables, | 337 | __in BURN_VARIABLES* pVariables, |
412 | __in BOOTSTRAPPER_DISPLAY display, | 338 | __in BOOTSTRAPPER_DISPLAY display, |
413 | __in BOOTSTRAPPER_RELATION_TYPE relationType, | 339 | __in BOOTSTRAPPER_RELATION_TYPE relationType |
414 | __in_z_opt LPCWSTR wzLayoutDirectory | ||
415 | ); | 340 | ); |
416 | HRESULT PlanRegistration( | 341 | HRESULT PlanRegistration( |
417 | __in BURN_PLAN* pPlan, | 342 | __in BURN_PLAN* pPlan, |
@@ -438,10 +363,13 @@ HRESULT PlanUpdateBundle( | |||
438 | __in BOOTSTRAPPER_DISPLAY display, | 363 | __in BOOTSTRAPPER_DISPLAY display, |
439 | __in BOOTSTRAPPER_RELATION_TYPE relationType | 364 | __in BOOTSTRAPPER_RELATION_TYPE relationType |
440 | ); | 365 | ); |
366 | HRESULT PlanLayoutContainer( | ||
367 | __in BURN_PLAN* pPlan, | ||
368 | __in BURN_CONTAINER* pContainer | ||
369 | ); | ||
441 | HRESULT PlanLayoutPackage( | 370 | HRESULT PlanLayoutPackage( |
442 | __in BURN_PLAN* pPlan, | 371 | __in BURN_PLAN* pPlan, |
443 | __in BURN_PACKAGE* pPackage, | 372 | __in BURN_PACKAGE* pPackage |
444 | __in_z_opt LPCWSTR wzLayoutDirectory | ||
445 | ); | 373 | ); |
446 | HRESULT PlanExecutePackage( | 374 | HRESULT PlanExecutePackage( |
447 | __in BOOL fPerMachine, | 375 | __in BOOL fPerMachine, |