From efbe40802d13867ab43f4d7808e1b91052b18ca2 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Tue, 21 Apr 2020 17:11:49 +1000 Subject: Add action to OnExecutePackageBegin. --- src/WixToolset.Mba.Core/BootstrapperApplication.cs | 4 ++-- src/WixToolset.Mba.Core/EventArgs.cs | 13 ++++++++++--- src/WixToolset.Mba.Core/IBootstrapperApplication.cs | 1 + 3 files changed, 13 insertions(+), 5 deletions(-) (limited to 'src/WixToolset.Mba.Core') diff --git a/src/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/WixToolset.Mba.Core/BootstrapperApplication.cs index f8ac2a1e..249c17c9 100644 --- a/src/WixToolset.Mba.Core/BootstrapperApplication.cs +++ b/src/WixToolset.Mba.Core/BootstrapperApplication.cs @@ -1466,9 +1466,9 @@ namespace WixToolset.Mba.Core return args.HResult; } - int IBootstrapperApplication.OnExecutePackageBegin(string wzPackageId, bool fExecute, ref bool fCancel) + int IBootstrapperApplication.OnExecutePackageBegin(string wzPackageId, bool fExecute, ActionState action, ref bool fCancel) { - ExecutePackageBeginEventArgs args = new ExecutePackageBeginEventArgs(wzPackageId, fExecute, fCancel); + ExecutePackageBeginEventArgs args = new ExecutePackageBeginEventArgs(wzPackageId, fExecute, action, fCancel); this.OnExecutePackageBegin(args); fCancel = args.Cancel; diff --git a/src/WixToolset.Mba.Core/EventArgs.cs b/src/WixToolset.Mba.Core/EventArgs.cs index 83c0c96a..ca0fa173 100644 --- a/src/WixToolset.Mba.Core/EventArgs.cs +++ b/src/WixToolset.Mba.Core/EventArgs.cs @@ -1501,13 +1501,15 @@ namespace WixToolset.Mba.Core /// Creates a new instance of the class. /// /// The identity of the package to act on. - /// Whether the package should really be acted on. + /// Whether the package is being executed or rolled back. + /// The action about to be executed. /// The recommendation from the engine. - public ExecutePackageBeginEventArgs(string packageId, bool shouldExecute, bool cancelRecommendation) + public ExecutePackageBeginEventArgs(string packageId, bool shouldExecute, ActionState action, bool cancelRecommendation) : base(cancelRecommendation) { this.PackageId = packageId; this.ShouldExecute = shouldExecute; + this.Action = action; } /// @@ -1516,9 +1518,14 @@ namespace WixToolset.Mba.Core public string PackageId { get; private set; } /// - /// Gets whether the package should really be acted on. + /// Gets whether the package is being executed or rolled back. /// public bool ShouldExecute { get; private set; } + + /// + /// Gets the action about to be executed. + /// + public ActionState Action { get; private set; } } /// diff --git a/src/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/WixToolset.Mba.Core/IBootstrapperApplication.cs index 8e5d2aeb..c4daaf32 100644 --- a/src/WixToolset.Mba.Core/IBootstrapperApplication.cs +++ b/src/WixToolset.Mba.Core/IBootstrapperApplication.cs @@ -392,6 +392,7 @@ namespace WixToolset.Mba.Core int OnExecutePackageBegin( [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId, [MarshalAs(UnmanagedType.Bool)] bool fExecute, + [MarshalAs(UnmanagedType.U4)] ActionState action, [MarshalAs(UnmanagedType.Bool)] ref bool fCancel ); -- cgit v1.2.3-55-g6feb