aboutsummaryrefslogtreecommitdiff
path: root/src/engine/dependency.h
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2018-12-29 22:12:08 -0600
committerSean Hall <r.sean.hall@gmail.com>2018-12-29 22:12:08 -0600
commit61847dddd4fd497057c780658e383c4627de19ec (patch)
treef85a845182922538ab9aa6ee85b0db3ab40c1f6e /src/engine/dependency.h
parent8295f5f8fd28042e1a0a172d5afbba79178064c2 (diff)
downloadwix-61847dddd4fd497057c780658e383c4627de19ec.tar.gz
wix-61847dddd4fd497057c780658e383c4627de19ec.tar.bz2
wix-61847dddd4fd497057c780658e383c4627de19ec.zip
Import code from old v4 repo
Diffstat (limited to 'src/engine/dependency.h')
-rw-r--r--src/engine/dependency.h176
1 files changed, 176 insertions, 0 deletions
diff --git a/src/engine/dependency.h b/src/engine/dependency.h
new file mode 100644
index 00000000..905857e0
--- /dev/null
+++ b/src/engine/dependency.h
@@ -0,0 +1,176 @@
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
9// constants
10
11const LPCWSTR DEPENDENCY_IGNOREDEPENDENCIES = L"IGNOREDEPENDENCIES";
12
13
14// function declarations
15
16/********************************************************************
17 DependencyUninitialize - Frees and zeros memory allocated in the
18 dependency.
19
20*********************************************************************/
21void DependencyUninitialize(
22 __in BURN_DEPENDENCY_PROVIDER* pProvider
23 );
24
25/********************************************************************
26 DependencyParseProvidersFromXml - Parses dependency information
27 from the manifest for the specified package.
28
29*********************************************************************/
30HRESULT DependencyParseProvidersFromXml(
31 __in BURN_PACKAGE* pPackage,
32 __in IXMLDOMNode* pixnPackage
33 );
34
35/********************************************************************
36 DependencyDetectProviderKeyPackageId - Detect if the provider key is
37 registered and if so what package code is registered.
38
39 Note: Returns E_NOTFOUND if the provider key is not registered.
40*********************************************************************/
41HRESULT DependencyDetectProviderKeyPackageId(
42 __in const BURN_PACKAGE* pPackage,
43 __deref_opt_out_z_opt LPWSTR* psczProviderKey,
44 __deref_opt_out_z_opt LPWSTR* psczId
45 );
46
47/********************************************************************
48 DependencyDetectProviderKeyBundleId - Detect if the provider key is
49 registered and if so what bundle is registered.
50
51 Note: Returns E_NOTFOUND if the provider key is not registered.
52*********************************************************************/
53HRESULT DependencyDetectProviderKeyBundleId(
54 __in BURN_REGISTRATION* pRegistration
55 );
56
57/********************************************************************
58 DependencyPlanInitialize - Initializes the plan.
59
60*********************************************************************/
61HRESULT DependencyPlanInitialize(
62 __in const BURN_ENGINE_STATE* pEngineState,
63 __in BURN_PLAN* pPlan
64 );
65
66/********************************************************************
67 DependencyAllocIgnoreDependencies - Allocates the dependencies to
68 ignore as a semicolon-delimited string.
69
70*********************************************************************/
71HRESULT DependencyAllocIgnoreDependencies(
72 __in const BURN_PLAN *pPlan,
73 __out_z LPWSTR* psczIgnoreDependencies
74 );
75
76/********************************************************************
77 DependencyAddIgnoreDependencies - Populates the ignore dependency
78 names.
79
80*********************************************************************/
81HRESULT DependencyAddIgnoreDependencies(
82 __in STRINGDICT_HANDLE sdIgnoreDependencies,
83 __in_z LPCWSTR wzAddIgnoreDependencies
84 );
85
86/********************************************************************
87 DependencyDependentExists - Checks to see if the provider key is
88 already dependent on this bundle.
89
90*********************************************************************/
91BOOL DependencyDependentExists(
92 __in const BURN_REGISTRATION* pRegistration,
93 __in_z LPCWSTR wzDependentProviderKey
94 );
95
96/********************************************************************
97 DependencyPlanPackageBegin - Updates the dependency registration
98 action depending on the calculated state for the package.
99
100*********************************************************************/
101HRESULT DependencyPlanPackageBegin(
102 __in BOOL fPerMachine,
103 __in BURN_PACKAGE* pPackage,
104 __in BURN_PLAN* pPlan
105 );
106
107/********************************************************************
108 DependencyPlanPackage - adds dependency related actions to the plan
109 for this package.
110
111*********************************************************************/
112HRESULT DependencyPlanPackage(
113 __in_opt DWORD *pdwInsertSequence,
114 __in const BURN_PACKAGE* pPackage,
115 __in BURN_PLAN* pPlan
116 );
117
118/********************************************************************
119 DependencyPlanPackageComplete - Updates the dependency registration
120 action depending on the planned action for the package.
121
122*********************************************************************/
123HRESULT DependencyPlanPackageComplete(
124 __in BURN_PACKAGE* pPackage,
125 __in BURN_PLAN* pPlan
126 );
127
128/********************************************************************
129 DependencyExecutePackageProviderAction - Registers or unregisters
130 provider information for the package contained within the action.
131
132*********************************************************************/
133HRESULT DependencyExecutePackageProviderAction(
134 __in const BURN_EXECUTE_ACTION* pAction
135 );
136
137/********************************************************************
138 DependencyExecutePackageDependencyAction - Registers or unregisters
139 dependency information for the package contained within the action.
140
141*********************************************************************/
142HRESULT DependencyExecutePackageDependencyAction(
143 __in BOOL fPerMachine,
144 __in const BURN_EXECUTE_ACTION* pAction
145 );
146
147/********************************************************************
148 DependencyRegisterBundle - Registers the bundle dependency provider.
149
150*********************************************************************/
151HRESULT DependencyRegisterBundle(
152 __in const BURN_REGISTRATION* pRegistration
153 );
154
155/********************************************************************
156 DependencyProcessDependentRegistration - Registers or unregisters dependents
157 on the bundle based on the action.
158
159*********************************************************************/
160HRESULT DependencyProcessDependentRegistration(
161 __in const BURN_REGISTRATION* pRegistration,
162 __in const BURN_DEPENDENT_REGISTRATION_ACTION* pAction
163 );
164
165/********************************************************************
166 DependencyUnregisterBundle - Removes the bundle dependency provider.
167
168 Note: Does not check for existing dependents before removing the key.
169*********************************************************************/
170void DependencyUnregisterBundle(
171 __in const BURN_REGISTRATION* pRegistration
172 );
173
174#if defined(__cplusplus)
175}
176#endif