PackageCatalogReference.h (3342B)
1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the MIT License. 3 #pragma once 4 #include "PackageCatalogReference.g.h" 5 #include <optional> 6 7 namespace winrt::Microsoft::Management::Deployment::implementation 8 { 9 struct PackageCatalogReference : PackageCatalogReferenceT<PackageCatalogReference> 10 { 11 PackageCatalogReference() = default; 12 13 #if !defined(INCLUDE_ONLY_INTERFACE_METHODS) 14 void Initialize(Deployment::PackageCatalogInfo packageCatalogInfo, ::AppInstaller::Repository::Source sourceReference); 15 void Initialize(Deployment::CreateCompositePackageCatalogOptions options); 16 #endif 17 18 bool IsComposite(); 19 winrt::Microsoft::Management::Deployment::PackageCatalogInfo Info(); 20 winrt::Windows::Foundation::IAsyncOperation<winrt::Microsoft::Management::Deployment::ConnectResult> ConnectAsync(); 21 winrt::Microsoft::Management::Deployment::ConnectResult Connect(); 22 winrt::Windows::Foundation::Collections::IVectorView<winrt::Microsoft::Management::Deployment::SourceAgreement> SourceAgreements(); 23 hstring AdditionalPackageCatalogArguments(); 24 void AdditionalPackageCatalogArguments(hstring const& value); 25 // Contract 6 26 bool AcceptSourceAgreements(); 27 void AcceptSourceAgreements(bool value); 28 // Contract 8.0 29 winrt::Windows::Foundation::TimeSpan PackageCatalogBackgroundUpdateInterval(); 30 void PackageCatalogBackgroundUpdateInterval(winrt::Windows::Foundation::TimeSpan const& value); 31 bool InstalledPackageInformationOnly(); 32 void InstalledPackageInformationOnly(bool value); 33 winrt::Microsoft::Management::Deployment::AuthenticationArguments AuthenticationArguments(); 34 void AuthenticationArguments(winrt::Microsoft::Management::Deployment::AuthenticationArguments const& value); 35 winrt::Microsoft::Management::Deployment::AuthenticationInfo AuthenticationInfo(); 36 // Contract 12.0 37 winrt::Windows::Foundation::IAsyncOperationWithProgress<winrt::Microsoft::Management::Deployment::RefreshPackageCatalogResult, double> RefreshPackageCatalogAsync(); 38 39 #if !defined(INCLUDE_ONLY_INTERFACE_METHODS) 40 private: 41 winrt::Microsoft::Management::Deployment::CreateCompositePackageCatalogOptions m_compositePackageCatalogOptions{ nullptr }; 42 winrt::Microsoft::Management::Deployment::PackageCatalogInfo m_info{ nullptr }; 43 std::once_flag m_sourceAgreementsOnceFlag; 44 winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::SourceAgreement> m_sourceAgreements{ winrt::single_threaded_vector<winrt::Microsoft::Management::Deployment::SourceAgreement>() }; 45 ::AppInstaller::Repository::Source m_sourceReference; 46 std::optional<std::string> m_additionalPackageCatalogArguments; 47 bool m_acceptSourceAgreements = true; 48 bool m_installedPackageInformationOnly = false; 49 winrt::Windows::Foundation::TimeSpan m_packageCatalogBackgroundUpdateInterval = winrt::Windows::Foundation::TimeSpan::zero(); 50 winrt::Microsoft::Management::Deployment::AuthenticationArguments m_authenticationArguments{ nullptr }; 51 std::once_flag m_authenticationInfoOnceFlag; 52 winrt::Microsoft::Management::Deployment::AuthenticationInfo m_authenticationInfo{ nullptr }; 53 #endif 54 }; 55 }