aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-04-19 19:41:23 -0500
committerSean Hall <r.sean.hall@gmail.com>2021-04-20 00:04:12 -0500
commit5bbff3ae92decfd071f835b5d489e63000f8cf19 (patch)
treea4bf21a8bcb360064843a519fb8710bdfb192295 /src
parent1fb8dc635834c5b9f24b898a291734d7bd136ad4 (diff)
downloadwix-5bbff3ae92decfd071f835b5d489e63000f8cf19.tar.gz
wix-5bbff3ae92decfd071f835b5d489e63000f8cf19.tar.bz2
wix-5bbff3ae92decfd071f835b5d489e63000f8cf19.zip
Process new cache BA messages.
Diffstat (limited to 'src')
-rw-r--r--src/wixstdba/WixStandardBootstrapperApplication.cpp159
1 files changed, 159 insertions, 0 deletions
diff --git a/src/wixstdba/WixStandardBootstrapperApplication.cpp b/src/wixstdba/WixStandardBootstrapperApplication.cpp
index 23fded79..2a8edb93 100644
--- a/src/wixstdba/WixStandardBootstrapperApplication.cpp
+++ b/src/wixstdba/WixStandardBootstrapperApplication.cpp
@@ -628,6 +628,64 @@ public: // IBootstrapperApplication
628 } 628 }
629 629
630 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
631 virtual STDMETHODIMP OnCacheAcquireComplete( 689 virtual STDMETHODIMP OnCacheAcquireComplete(
632 __in_z LPCWSTR wzPackageOrContainerId, 690 __in_z LPCWSTR wzPackageOrContainerId,
633 __in_z_opt LPCWSTR wzPayloadId, 691 __in_z_opt LPCWSTR wzPayloadId,
@@ -641,6 +699,28 @@ public: // IBootstrapperApplication
641 } 699 }
642 700
643 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
644 virtual STDMETHODIMP OnCacheVerifyComplete( 724 virtual STDMETHODIMP OnCacheVerifyComplete(
645 __in_z LPCWSTR wzPackageId, 725 __in_z LPCWSTR wzPackageId,
646 __in_z LPCWSTR wzPayloadId, 726 __in_z LPCWSTR wzPayloadId,
@@ -1282,8 +1362,31 @@ public: // IBootstrapperApplication
1282 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE: 1362 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE:
1283 OnPlannedPackageFallback(reinterpret_cast<BA_ONPLANNEDPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANNEDPACKAGE_RESULTS*>(pvResults)); 1363 OnPlannedPackageFallback(reinterpret_cast<BA_ONPLANNEDPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANNEDPACKAGE_RESULTS*>(pvResults));
1284 break; 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;
1285 default: 1386 default:
1387#ifdef DEBUG
1286 BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: Forwarding unknown BA message: %d", message); 1388 BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: Forwarding unknown BA message: %d", message);
1389#endif
1287 m_pfnBAFunctionsProc((BA_FUNCTIONS_MESSAGE)message, pvArgs, pvResults, m_pvBAFunctionsProcContext); 1390 m_pfnBAFunctionsProc((BA_FUNCTIONS_MESSAGE)message, pvArgs, pvResults, m_pvBAFunctionsProcContext);
1288 break; 1391 break;
1289 } 1392 }
@@ -1817,6 +1920,62 @@ private: // privates
1817 BalLogId(BOOTSTRAPPER_LOG_LEVEL_STANDARD, MSG_WIXSTDBA_PLANNED_FORWARD_COMPATIBLE_BUNDLE, m_hModule, pArgs->wzBundleId, fIgnoreBundle ? "ignore" : "enable", pResults->fIgnoreBundle ? "ignore" : "enable"); 1920 BalLogId(BOOTSTRAPPER_LOG_LEVEL_STANDARD, MSG_WIXSTDBA_PLANNED_FORWARD_COMPATIBLE_BUNDLE, m_hModule, pArgs->wzBundleId, fIgnoreBundle ? "ignore" : "enable", pResults->fIgnoreBundle ? "ignore" : "enable");
1818 } 1921 }
1819 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
1820 // 1979 //
1821 // UiThreadProc - entrypoint for UI thread. 1980 // UiThreadProc - entrypoint for UI thread.
1822 // 1981 //