@joebigelow / wix / commits / 5bbff3ae

Process new cache BA messages.

Sean Hall committed Apr 19, 2021 at 19:41 UTC 5bbff3ae92decfd071f835b5d489e63000f8cf19
1 file changed +159
src/wixstdba/WixStandardBootstrapperApplication.cpp
+159
@@ -628,6 +628,64 @@ public: // IBootstrapperApplication
628 }
629
630
631 + virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyProgress(
632 + __in_z LPCWSTR wzPackageOrContainerId,
633 + __in_z_opt LPCWSTR wzPayloadId,
634 + __in DWORD64 dw64Progress,
635 + __in DWORD64 dw64Total,
636 + __in DWORD dwOverallPercentage,
637 + __inout BOOL* pfCancel
638 + )
639 + {
640 +#ifdef DEBUG
641 + BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnCacheContainerOrPayloadVerifyProgress() - container/package: %ls, payload: %ls, progress: %I64u, total: %I64u, overall progress: %u%%", wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage);
642 +#endif
643 +
644 + UpdateCacheProgress(dwOverallPercentage);
645 +
646 + return __super::OnCacheContainerOrPayloadVerifyProgress(wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage, pfCancel);
647 + }
648 +
649 +
650 + virtual STDMETHODIMP OnCachePayloadExtractProgress(
651 + __in_z LPCWSTR wzPackageOrContainerId,
652 + __in_z_opt LPCWSTR wzPayloadId,
653 + __in DWORD64 dw64Progress,
654 + __in DWORD64 dw64Total,
655 + __in DWORD dwOverallPercentage,
656 + __inout BOOL* pfCancel
657 + )
658 + {
659 +#ifdef DEBUG
660 + BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnCachePayloadExtractProgress() - container/package: %ls, payload: %ls, progress: %I64u, total: %I64u, overall progress: %u%%", wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage);
661 +#endif
662 +
663 + UpdateCacheProgress(dwOverallPercentage);
664 +
665 + return __super::OnCachePayloadExtractProgress(wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage, pfCancel);
666 + }
667 +
668 +
669 + virtual STDMETHODIMP OnCacheVerifyProgress(
670 + __in_z LPCWSTR wzPackageOrContainerId,
671 + __in_z_opt LPCWSTR wzPayloadId,
672 + __in DWORD64 dw64Progress,
673 + __in DWORD64 dw64Total,
674 + __in DWORD dwOverallPercentage,
675 + __in BOOTSTRAPPER_CACHE_VERIFY_STEP verifyStep,
676 + __inout BOOL* pfCancel
677 + )
678 + {
679 +#ifdef DEBUG
680 + BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnCacheVerifyProgress() - container/package: %ls, payload: %ls, progress: %I64u, total: %I64u, overall progress: %u%%, step: %u", wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage, verifyStep);
681 +#endif
682 +
683 + UpdateCacheProgress(dwOverallPercentage);
684 +
685 + return __super::OnCacheVerifyProgress(wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage, verifyStep, pfCancel);
686 + }
687 +
688 +
689 virtual STDMETHODIMP OnCacheAcquireComplete(
690 __in_z LPCWSTR wzPackageOrContainerId,
691 __in_z_opt LPCWSTR wzPayloadId,
@@ -641,6 +699,28 @@ public: // IBootstrapperApplication
699 }
700
701
702 + virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyComplete(
703 + __in_z LPCWSTR wzPackageOrContainerId,
704 + __in_z_opt LPCWSTR wzPayloadId,
705 + __in HRESULT hrStatus
706 + )
707 + {
708 + SetProgressState(hrStatus);
709 + return __super::OnCacheContainerOrPayloadVerifyComplete(wzPackageOrContainerId, wzPayloadId, hrStatus);
710 + }
711 +
712 +
713 + virtual STDMETHODIMP OnCachePayloadExtractComplete(
714 + __in_z LPCWSTR wzPackageOrContainerId,
715 + __in_z_opt LPCWSTR wzPayloadId,
716 + __in HRESULT hrStatus
717 + )
718 + {
719 + SetProgressState(hrStatus);
720 + return __super::OnCachePayloadExtractComplete(wzPackageOrContainerId, wzPayloadId, hrStatus);
721 + }
722 +
723 +
724 virtual STDMETHODIMP OnCacheVerifyComplete(
725 __in_z LPCWSTR wzPackageId,
726 __in_z LPCWSTR wzPayloadId,
@@ -1282,8 +1362,31 @@ public: // IBootstrapperApplication
1362 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE:
1363 OnPlannedPackageFallback(reinterpret_cast<BA_ONPLANNEDPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANNEDPACKAGE_RESULTS*>(pvResults));
1364 break;
1365 + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYPROGRESS:
1366 + OnCacheVerifyProgressFallback(reinterpret_cast<BA_ONCACHEVERIFYPROGRESS_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEVERIFYPROGRESS_RESULTS*>(pvResults));
1367 + break;
1368 + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYBEGIN:
1369 + OnCacheContainerOrPayloadVerifyBeginFallback(reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_RESULTS*>(pvResults));
1370 + break;
1371 + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE:
1372 + OnCacheContainerOrPayloadVerifyCompleteFallback(reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_RESULTS*>(pvResults));
1373 + break;
1374 + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS:
1375 + OnCacheContainerOrPayloadVerifyProgressFallback(reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_RESULTS*>(pvResults));
1376 + break;
1377 + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN:
1378 + OnCachePayloadExtractBeginFallback(reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS*>(pvResults));
1379 + break;
1380 + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE:
1381 + OnCachePayloadExtractCompleteFallback(reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS*>(pvResults));
1382 + break;
1383 + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS:
1384 + OnCachePayloadExtractProgressFallback(reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS*>(pvResults));
1385 + break;
1386 default:
1387 +#ifdef DEBUG
1388 BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: Forwarding unknown BA message: %d", message);
1389 +#endif
1390 m_pfnBAFunctionsProc((BA_FUNCTIONS_MESSAGE)message, pvArgs, pvResults, m_pvBAFunctionsProcContext);
1391 break;
1392 }
@@ -1817,6 +1920,62 @@ private: // privates
1920 BalLogId(BOOTSTRAPPER_LOG_LEVEL_STANDARD, MSG_WIXSTDBA_PLANNED_FORWARD_COMPATIBLE_BUNDLE, m_hModule, pArgs->wzBundleId, fIgnoreBundle ? "ignore" : "enable", pResults->fIgnoreBundle ? "ignore" : "enable");
1921 }
1922
1923 + void OnCacheVerifyProgressFallback(
1924 + __in BA_ONCACHEVERIFYPROGRESS_ARGS* pArgs,
1925 + __inout BA_ONCACHEVERIFYPROGRESS_RESULTS* pResults
1926 + )
1927 + {
1928 + m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHEVERIFYPROGRESS, pArgs, pResults, m_pvBAFunctionsProcContext);
1929 + }
1930 +
1931 + void OnCacheContainerOrPayloadVerifyBeginFallback(
1932 + __in BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_ARGS* pArgs,
1933 + __inout BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_RESULTS* pResults
1934 + )
1935 + {
1936 + m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYBEGIN, pArgs, pResults, m_pvBAFunctionsProcContext);
1937 + }
1938 +
1939 + void OnCacheContainerOrPayloadVerifyCompleteFallback(
1940 + __in BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS* pArgs,
1941 + __inout BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_RESULTS* pResults
1942 + )
1943 + {
1944 + m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE, pArgs, pResults, m_pvBAFunctionsProcContext);
1945 + }
1946 +
1947 + void OnCacheContainerOrPayloadVerifyProgressFallback(
1948 + __in BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS* pArgs,
1949 + __inout BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_RESULTS* pResults
1950 + )
1951 + {
1952 + m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS, pArgs, pResults, m_pvBAFunctionsProcContext);
1953 + }
1954 +
1955 + void OnCachePayloadExtractBeginFallback(
1956 + __in BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS* pArgs,
1957 + __inout BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS* pResults
1958 + )
1959 + {
1960 + m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN, pArgs, pResults, m_pvBAFunctionsProcContext);
1961 + }
1962 +
1963 + void OnCachePayloadExtractCompleteFallback(
1964 + __in BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS* pArgs,
1965 + __inout BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS* pResults
1966 + )
1967 + {
1968 + m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE, pArgs, pResults, m_pvBAFunctionsProcContext);
1969 + }
1970 +
1971 + void OnCachePayloadExtractProgressFallback(
1972 + __in BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS* pArgs,
1973 + __inout BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS* pResults
1974 + )
1975 + {
1976 + m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS, pArgs, pResults, m_pvBAFunctionsProcContext);
1977 + }
1978 +
1979 //
1980 // UiThreadProc - entrypoint for UI thread.
1981 //