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