aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/WixToolset.Mba.Core
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-04-22 16:55:29 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-04-23 15:40:21 -0500
commit72e20f682c0d64102e86439ba5527dd0d71932ae (patch)
treec62618b0f6b99d3bffa3c6cd01251a29b84fcc05 /src/api/burn/WixToolset.Mba.Core
parentb82c6a2b7d451212fb0b2e32ca4d5d86c953d81a (diff)
downloadwix-72e20f682c0d64102e86439ba5527dd0d71932ae.tar.gz
wix-72e20f682c0d64102e86439ba5527dd0d71932ae.tar.bz2
wix-72e20f682c0d64102e86439ba5527dd0d71932ae.zip
Add RepairCondition.
Fixes 6758
Diffstat (limited to 'src/api/burn/WixToolset.Mba.Core')
-rw-r--r--src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs4
-rw-r--r--src/api/burn/WixToolset.Mba.Core/EventArgs.cs8
-rw-r--r--src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs1
-rw-r--r--src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs7
-rw-r--r--src/api/burn/WixToolset.Mba.Core/PackageInfo.cs5
5 files changed, 21 insertions, 4 deletions
diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs
index 41738bf6..6738a4a6 100644
--- a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs
+++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs
@@ -1598,9 +1598,9 @@ namespace WixToolset.Mba.Core
1598 return args.HResult; 1598 return args.HResult;
1599 } 1599 }
1600 1600
1601 int IBootstrapperApplication.OnPlanPackageBegin(string wzPackageId, PackageState state, bool fCached, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, RequestState recommendedState, BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, ref RequestState pRequestedState, ref BOOTSTRAPPER_CACHE_TYPE pRequestedCacheType, ref bool fCancel) 1601 int IBootstrapperApplication.OnPlanPackageBegin(string wzPackageId, PackageState state, bool fCached, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT repairCondition, RequestState recommendedState, BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, ref RequestState pRequestedState, ref BOOTSTRAPPER_CACHE_TYPE pRequestedCacheType, ref bool fCancel)
1602 { 1602 {
1603 PlanPackageBeginEventArgs args = new PlanPackageBeginEventArgs(wzPackageId, state, fCached, installCondition, recommendedState, recommendedCacheType, pRequestedState, pRequestedCacheType, fCancel); 1603 PlanPackageBeginEventArgs args = new PlanPackageBeginEventArgs(wzPackageId, state, fCached, installCondition, repairCondition, recommendedState, recommendedCacheType, pRequestedState, pRequestedCacheType, fCancel);
1604 this.OnPlanPackageBegin(args); 1604 this.OnPlanPackageBegin(args);
1605 1605
1606 pRequestedState = args.State; 1606 pRequestedState = args.State;
diff --git a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs
index 07b14b3d..d79ac402 100644
--- a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs
+++ b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs
@@ -783,13 +783,14 @@ namespace WixToolset.Mba.Core
783 public class PlanPackageBeginEventArgs : CancellableHResultEventArgs 783 public class PlanPackageBeginEventArgs : CancellableHResultEventArgs
784 { 784 {
785 /// <summary /> 785 /// <summary />
786 public PlanPackageBeginEventArgs(string packageId, PackageState currentState, bool cached, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, RequestState recommendedState, BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, RequestState state, BOOTSTRAPPER_CACHE_TYPE cacheType, bool cancelRecommendation) 786 public PlanPackageBeginEventArgs(string packageId, PackageState currentState, bool cached, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, BOOTSTRAPPER_PACKAGE_CONDITION_RESULT repairCondition, RequestState recommendedState, BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, RequestState state, BOOTSTRAPPER_CACHE_TYPE cacheType, bool cancelRecommendation)
787 : base(cancelRecommendation) 787 : base(cancelRecommendation)
788 { 788 {
789 this.PackageId = packageId; 789 this.PackageId = packageId;
790 this.CurrentState = currentState; 790 this.CurrentState = currentState;
791 this.Cached = cached; 791 this.Cached = cached;
792 this.InstallCondition = installCondition; 792 this.InstallCondition = installCondition;
793 this.RepairCondition = repairCondition;
793 this.RecommendedState = recommendedState; 794 this.RecommendedState = recommendedState;
794 this.RecommendedCacheType = recommendedCacheType; 795 this.RecommendedCacheType = recommendedCacheType;
795 this.State = state; 796 this.State = state;
@@ -817,6 +818,11 @@ namespace WixToolset.Mba.Core
817 public BOOTSTRAPPER_PACKAGE_CONDITION_RESULT InstallCondition { get; private set; } 818 public BOOTSTRAPPER_PACKAGE_CONDITION_RESULT InstallCondition { get; private set; }
818 819
819 /// <summary> 820 /// <summary>
821 /// Gets the evaluated result of the package's repair condition.
822 /// </summary>
823 public BOOTSTRAPPER_PACKAGE_CONDITION_RESULT RepairCondition { get; private set; }
824
825 /// <summary>
820 /// Gets the recommended requested state for the package. 826 /// Gets the recommended requested state for the package.
821 /// </summary> 827 /// </summary>
822 public RequestState RecommendedState { get; private set; } 828 public RequestState RecommendedState { get; private set; }
diff --git a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs
index ae642474..2877d4de 100644
--- a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs
+++ b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs
@@ -314,6 +314,7 @@ namespace WixToolset.Mba.Core
314 [MarshalAs(UnmanagedType.U4)] PackageState state, 314 [MarshalAs(UnmanagedType.U4)] PackageState state,
315 [MarshalAs(UnmanagedType.Bool)] bool fCached, 315 [MarshalAs(UnmanagedType.Bool)] bool fCached,
316 [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, 316 [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition,
317 [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_PACKAGE_CONDITION_RESULT repairCondition,
317 [MarshalAs(UnmanagedType.U4)] RequestState recommendedState, 318 [MarshalAs(UnmanagedType.U4)] RequestState recommendedState,
318 [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, 319 [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_CACHE_TYPE recommendedCacheType,
319 [MarshalAs(UnmanagedType.U4)] ref RequestState pRequestedState, 320 [MarshalAs(UnmanagedType.U4)] ref RequestState pRequestedState,
diff --git a/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs b/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs
index a1d99b10..ee3be820 100644
--- a/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs
+++ b/src/api/burn/WixToolset.Mba.Core/IPackageInfo.cs
@@ -45,6 +45,11 @@ namespace WixToolset.Mba.Core
45 /// <summary> 45 /// <summary>
46 /// 46 ///
47 /// </summary> 47 /// </summary>
48 string RepairCondition { get; }
49
50 /// <summary>
51 ///
52 /// </summary>
48 bool Permanent { get; } 53 bool Permanent { get; }
49 54
50 /// <summary> 55 /// <summary>
@@ -87,4 +92,4 @@ namespace WixToolset.Mba.Core
87 /// </summary> 92 /// </summary>
88 bool Vital { get; } 93 bool Vital { get; }
89 } 94 }
90} \ No newline at end of file 95}
diff --git a/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs b/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs
index 39fe4d73..e400cbe4 100644
--- a/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs
+++ b/src/api/burn/WixToolset.Mba.Core/PackageInfo.cs
@@ -102,6 +102,9 @@ namespace WixToolset.Mba.Core
102 public string InstallCondition { get; internal set; } 102 public string InstallCondition { get; internal set; }
103 103
104 /// <inheritdoc/> 104 /// <inheritdoc/>
105 public string RepairCondition { get; internal set; }
106
107 /// <inheritdoc/>
105 public BOOTSTRAPPER_CACHE_TYPE CacheType { get; internal set; } 108 public BOOTSTRAPPER_CACHE_TYPE CacheType { get; internal set; }
106 109
107 /// <inheritdoc/> 110 /// <inheritdoc/>
@@ -174,6 +177,8 @@ namespace WixToolset.Mba.Core
174 177
175 package.InstallCondition = BootstrapperApplicationData.GetAttribute(node, "InstallCondition"); 178 package.InstallCondition = BootstrapperApplicationData.GetAttribute(node, "InstallCondition");
176 179
180 package.RepairCondition = BootstrapperApplicationData.GetAttribute(node, "RepairCondition");
181
177 packagesById.Add(package.Id, package); 182 packagesById.Add(package.Id, package);
178 } 183 }
179 184