PackageCatalogInfo.cpp (2176B)
1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the MIT License. 3 #include "pch.h" 4 #include "PackageCatalogInfo.h" 5 #include "PackageCatalogInfo.g.cpp" 6 #include <wil\cppwinrt_wrl.h> 7 8 namespace winrt::Microsoft::Management::Deployment::implementation 9 { 10 void PackageCatalogInfo::Initialize(const ::AppInstaller::Repository::SourceDetails& sourceDetails) 11 { 12 m_sourceDetails = sourceDetails; 13 } 14 ::AppInstaller::Repository::SourceDetails& PackageCatalogInfo::GetSourceDetails() 15 { 16 return m_sourceDetails; 17 } 18 hstring PackageCatalogInfo::Id() 19 { 20 return winrt::to_hstring(m_sourceDetails.Identifier); 21 } 22 hstring PackageCatalogInfo::Name() 23 { 24 return winrt::to_hstring(m_sourceDetails.Name); 25 } 26 hstring PackageCatalogInfo::Type() 27 { 28 return winrt::to_hstring(m_sourceDetails.Type); 29 } 30 hstring PackageCatalogInfo::Argument() 31 { 32 return winrt::to_hstring(m_sourceDetails.Arg); 33 } 34 winrt::Windows::Foundation::DateTime PackageCatalogInfo::LastUpdateTime() 35 { 36 return winrt::clock::from_time_t(std::chrono::system_clock::to_time_t(m_sourceDetails.LastUpdateTime)); 37 } 38 winrt::Microsoft::Management::Deployment::PackageCatalogOrigin PackageCatalogInfo::Origin() 39 { 40 switch (m_sourceDetails.Origin) 41 { 42 case ::AppInstaller::Repository::SourceOrigin::Default : 43 case ::AppInstaller::Repository::SourceOrigin::Predefined: 44 return PackageCatalogOrigin::Predefined; 45 case ::AppInstaller::Repository::SourceOrigin::User: 46 case ::AppInstaller::Repository::SourceOrigin::GroupPolicy: 47 default: 48 return PackageCatalogOrigin::User; 49 } 50 } 51 winrt::Microsoft::Management::Deployment::PackageCatalogTrustLevel PackageCatalogInfo::TrustLevel() 52 { 53 if (WI_IsFlagSet(m_sourceDetails.TrustLevel, ::AppInstaller::Repository::SourceTrustLevel::Trusted)) 54 { 55 return PackageCatalogTrustLevel::Trusted; 56 } 57 58 return PackageCatalogTrustLevel::None; 59 } 60 bool PackageCatalogInfo::Explicit() 61 { 62 return m_sourceDetails.Explicit; 63 } 64 }