protected override CultureInfo GetLanguage(SoftwareSourceInfo source) { if (source.Name.Equals(DeSourceName, StringComparison.Ordinal)) { return(new CultureInfo("de")); } return(null); }
public IDownloader GetDownloader(string productName, string sourceName, SoftwareSourceInfo source) { if (productName != null && !ProductName.Equals(productName)) { return(null); } return(GetProvider(sourceName, source)); }
protected override IEnumerable <object> GetValues(string sourceName, SoftwareSourceInfo source, Distro distro) { yield return(Build.GetProvider(sourceName, source)); yield return(Match.GetProvider(sourceName, source)); yield return(Software.GetProvider(sourceName, source)); yield return(Download.GetProvider(sourceName, source)); }
private TProvider CreateProvider(string sourceName, SoftwareSourceInfo source) { if (!Data.TryGetValue(sourceName, out Distro distro)) { return(null); } var typeName = GetTypeName(distro); var types = GetTypes().ToArray(); var values = GetValues(sourceName, source, distro).ToArray(); return(CreateProvider(sourceName, typeName, types, values)); }
protected abstract IEnumerable <object> GetValues(string sourceName, SoftwareSourceInfo source, Distro distro);
public TProvider GetProvider(string sourceName, SoftwareSourceInfo source) { return(Providers.GetOrAdd(sourceName, _ => CreateProvider(sourceName, source))); }
public ProductSource(string productName, string sourceName, SoftwareSourceInfo source) { ProductName = productName; SourceName = sourceName; Source = source; }
protected SoftwareProvider(IProductProvider productProvider, SoftwareSourceInfo source, CultureInfo language) { ProductProvider = productProvider; Source = source; Language = language; }
public ChdkSoftwareProvider(IProductProvider productProvider, SoftwareSourceInfo source, CultureInfo language) : base(productProvider, source, language) { }
public ChdkBuildProvider(SoftwareSourceInfo source) { Source = source; }
protected override IEnumerable <object> GetValues(string sourceName, SoftwareSourceInfo source, Distro distro) { yield return(distro.BaseUrl); yield return(distro.Builds); }
protected override IEnumerable <object> GetValues(string sourceName, SoftwareSourceInfo source, Distro distro) { yield return(source); yield return(distro.Language); }
public IDownloader GetDownloader(string productName, string sourceName, SoftwareSourceInfo source) { return(DownloaderProviders .Select(p => p.GetDownloader(productName, sourceName, source)) .FirstOrDefault(d => d != null)); }