示例#1
0
 protected IEnumerable <SoftwareIdentity> ProcessProvider(PackageProvider provider)
 {
     using (var packages = provider.GetInstalledPackages("", this).CancelWhen(_cancellationEvent.Token)) {
         foreach (var p in packages)
         {
             _providersProcessed.AddOrSet(provider.ProviderName, true);
             yield return(p);
         }
     }
 }
示例#2
0
 protected IEnumerable <SoftwareIdentity> ProcessNames(PackageProvider provider, string name)
 {
     _namesProcessed.GetOrAdd(name, () => false);
     using (var packages = provider.GetInstalledPackages(name, this).CancelWhen(_cancellationEvent.Token)) {
         foreach (var p in packages)
         {
             _namesProcessed.AddOrSet(name, true);
             _providersProcessed.AddOrSet(provider.ProviderName, true);
             yield return(p);
         }
     }
 }