From dea657295df261bb0e3e4d620eeae321531e3a11 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Tue, 14 Jun 2022 15:09:49 -0500 Subject: Add ability for non-vital cache package action. --- .../WixToolset.Mba.Core/BootstrapperApplication.cs | 29 ++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs') diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs index bb34a33e..fe9322ce 100644 --- a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs @@ -280,6 +280,9 @@ namespace WixToolset.Mba.Core /// public event EventHandler DetectRelatedBundlePackage; + /// + public event EventHandler CachePackageNonVitalValidationFailure; + /// /// Entry point that is called when the bootstrapper application is ready to run. /// @@ -1376,6 +1379,18 @@ namespace WixToolset.Mba.Core } } + /// + /// Called by the engine, raises the event. + /// + protected virtual void OnCachePackageNonVitalValidationFailure(CachePackageNonVitalValidationFailureEventArgs args) + { + EventHandler handler = this.CachePackageNonVitalValidationFailure; + if (null != handler) + { + handler(this, args); + } + } + #region IBootstrapperApplication Members int IBootstrapperApplication.BAProc(int message, IntPtr pvArgs, IntPtr pvResults, IntPtr pvContext) @@ -1570,6 +1585,7 @@ namespace WixToolset.Mba.Core this.OnPlanPackageBegin(args); pRequestedState = args.State; + pRequestedCacheType = args.CacheType; fCancel = args.Cancel; return args.HResult; } @@ -1728,9 +1744,9 @@ namespace WixToolset.Mba.Core return args.HResult; } - int IBootstrapperApplication.OnCachePackageBegin(string wzPackageId, int cCachePayloads, long dw64PackageCacheSize, ref bool fCancel) + int IBootstrapperApplication.OnCachePackageBegin(string wzPackageId, int cCachePayloads, long dw64PackageCacheSize, bool fVital, ref bool fCancel) { - CachePackageBeginEventArgs args = new CachePackageBeginEventArgs(wzPackageId, cCachePayloads, dw64PackageCacheSize, fCancel); + CachePackageBeginEventArgs args = new CachePackageBeginEventArgs(wzPackageId, cCachePayloads, dw64PackageCacheSize, fVital, fCancel); this.OnCachePackageBegin(args); fCancel = args.Cancel; @@ -2131,6 +2147,15 @@ namespace WixToolset.Mba.Core return args.HResult; } + int IBootstrapperApplication.OnCachePackageNonVitalValidationFailure(string wzPackageId, int hrStatus, BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION recommendation, ref BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION action) + { + CachePackageNonVitalValidationFailureEventArgs args = new CachePackageNonVitalValidationFailureEventArgs(wzPackageId, hrStatus, recommendation, action); + this.OnCachePackageNonVitalValidationFailure(args); + + action = args.Action; + return args.HResult; + } + #endregion } } -- cgit v1.2.3-55-g6feb