summaryrefslogtreecommitdiff
path: root/src/api/burn/balutil/inc/balinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/burn/balutil/inc/balinfo.h')
-rw-r--r--src/api/burn/balutil/inc/balinfo.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/src/api/burn/balutil/inc/balinfo.h b/src/api/burn/balutil/inc/balinfo.h
new file mode 100644
index 00000000..8c2155e9
--- /dev/null
+++ b/src/api/burn/balutil/inc/balinfo.h
@@ -0,0 +1,105 @@
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#ifdef __cplusplus
6extern "C" {
7#endif
8
9typedef enum BAL_INFO_PACKAGE_TYPE
10{
11 BAL_INFO_PACKAGE_TYPE_UNKNOWN,
12 BAL_INFO_PACKAGE_TYPE_EXE,
13 BAL_INFO_PACKAGE_TYPE_MSI,
14 BAL_INFO_PACKAGE_TYPE_MSP,
15 BAL_INFO_PACKAGE_TYPE_MSU,
16 BAL_INFO_PACKAGE_TYPE_BUNDLE_UPGRADE,
17 BAL_INFO_PACKAGE_TYPE_BUNDLE_ADDON,
18 BAL_INFO_PACKAGE_TYPE_BUNDLE_PATCH,
19} BAL_INFO_PACKAGE_TYPE;
20
21
22typedef struct _BAL_INFO_PACKAGE
23{
24 LPWSTR sczId;
25 LPWSTR sczDisplayName;
26 LPWSTR sczDescription;
27 BAL_INFO_PACKAGE_TYPE type;
28 BOOL fPermanent;
29 BOOL fVital;
30 LPWSTR sczDisplayInternalUICondition;
31 LPWSTR sczProductCode;
32 LPWSTR sczUpgradeCode;
33 LPWSTR sczVersion;
34 LPWSTR sczInstallCondition;
35 BOOTSTRAPPER_CACHE_TYPE cacheType;
36 BOOL fPrereqPackage;
37 LPWSTR sczPrereqLicenseFile;
38 LPWSTR sczPrereqLicenseUrl;
39 LPVOID pvCustomData;
40} BAL_INFO_PACKAGE;
41
42
43typedef struct _BAL_INFO_PACKAGES
44{
45 BAL_INFO_PACKAGE* rgPackages;
46 DWORD cPackages;
47} BAL_INFO_PACKAGES;
48
49
50typedef struct _BAL_INFO_BUNDLE
51{
52 BOOL fPerMachine;
53 LPWSTR sczName;
54 LPWSTR sczLogVariable;
55 BAL_INFO_PACKAGES packages;
56} BAL_INFO_BUNDLE;
57
58
59/*******************************************************************
60 BalInfoParseFromXml - loads the bundle and package info from the UX
61 manifest.
62
63********************************************************************/
64DAPI_(HRESULT) BalInfoParseFromXml(
65 __in BAL_INFO_BUNDLE* pBundle,
66 __in IXMLDOMDocument* pixdManifest
67 );
68
69
70/*******************************************************************
71 BalInfoAddRelatedBundleAsPackage - adds a related bundle as a package.
72
73 ********************************************************************/
74DAPI_(HRESULT) BalInfoAddRelatedBundleAsPackage(
75 __in BAL_INFO_PACKAGES* pPackages,
76 __in LPCWSTR wzId,
77 __in BOOTSTRAPPER_RELATION_TYPE relationType,
78 __in BOOL fPerMachine,
79 __out_opt BAL_INFO_PACKAGE** ppPackage
80 );
81
82
83/*******************************************************************
84 BalInfoFindPackageById - finds a package by its id.
85
86 ********************************************************************/
87DAPI_(HRESULT) BalInfoFindPackageById(
88 __in BAL_INFO_PACKAGES* pPackages,
89 __in LPCWSTR wzId,
90 __out BAL_INFO_PACKAGE** ppPackage
91 );
92
93
94/*******************************************************************
95 BalInfoUninitialize - uninitializes any info previously loaded.
96
97********************************************************************/
98DAPI_(void) BalInfoUninitialize(
99 __in BAL_INFO_BUNDLE* pBundle
100 );
101
102
103#ifdef __cplusplus
104}
105#endif