From 5ed5a24fae06b35351235d708b6ab410d8310d33 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Sun, 16 Jan 2022 16:35:36 -0600 Subject: Add BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT. Make BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT uninstall even if detected absent. Remove fPseudoBundle. --- src/burn/engine/bundlepackageengine.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/burn/engine/bundlepackageengine.cpp') diff --git a/src/burn/engine/bundlepackageengine.cpp b/src/burn/engine/bundlepackageengine.cpp index ece0fc3a..cd84601f 100644 --- a/src/burn/engine/bundlepackageengine.cpp +++ b/src/burn/engine/bundlepackageengine.cpp @@ -48,7 +48,7 @@ extern "C" HRESULT BundlePackageEnginePlanCalculatePackage( switch (pPackage->requested) { case BOOTSTRAPPER_REQUEST_STATE_PRESENT: - execute = pPackage->Bundle.fPseudoBundle ? BOOTSTRAPPER_ACTION_STATE_INSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; + execute = BOOTSTRAPPER_ACTION_STATE_NONE; break; case BOOTSTRAPPER_REQUEST_STATE_REPAIR: execute = pPackage->Bundle.fRepairable ? BOOTSTRAPPER_ACTION_STATE_REPAIR : BOOTSTRAPPER_ACTION_STATE_NONE; @@ -60,6 +60,9 @@ extern "C" HRESULT BundlePackageEnginePlanCalculatePackage( case BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT: execute = BOOTSTRAPPER_ACTION_STATE_UNINSTALL; break; + case BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT: + execute = BOOTSTRAPPER_ACTION_STATE_INSTALL; + break; default: execute = BOOTSTRAPPER_ACTION_STATE_NONE; break; @@ -70,9 +73,13 @@ extern "C" HRESULT BundlePackageEnginePlanCalculatePackage( switch (pPackage->requested) { case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; + case BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT: __fallthrough; case BOOTSTRAPPER_REQUEST_STATE_REPAIR: execute = BOOTSTRAPPER_ACTION_STATE_INSTALL; break; + case BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT: + execute = BOOTSTRAPPER_ACTION_STATE_UNINSTALL; + break; default: execute = BOOTSTRAPPER_ACTION_STATE_NONE; break; @@ -93,6 +100,7 @@ extern "C" HRESULT BundlePackageEnginePlanCalculatePackage( switch (pPackage->requested) { case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; + case BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT: __fallthrough; case BOOTSTRAPPER_REQUEST_STATE_REPAIR: rollback = BOOTSTRAPPER_ACTION_STATE_NONE; break; @@ -110,6 +118,7 @@ extern "C" HRESULT BundlePackageEnginePlanCalculatePackage( switch (pPackage->requested) { case BOOTSTRAPPER_REQUEST_STATE_PRESENT: __fallthrough; + case BOOTSTRAPPER_REQUEST_STATE_FORCE_PRESENT: __fallthrough; case BOOTSTRAPPER_REQUEST_STATE_REPAIR: rollback = !pPackage->fPermanent ? BOOTSTRAPPER_ACTION_STATE_UNINSTALL : BOOTSTRAPPER_ACTION_STATE_NONE; break; -- cgit v1.2.3-55-g6feb