Beispiel #1
0
 protected override CultureInfo GetLanguage(SoftwareSourceInfo source)
 {
     if (source.Name.Equals(DeSourceName, StringComparison.Ordinal))
     {
         return(new CultureInfo("de"));
     }
     return(null);
 }
Beispiel #2
0
 public IDownloader GetDownloader(string productName, string sourceName, SoftwareSourceInfo source)
 {
     if (productName != null && !ProductName.Equals(productName))
     {
         return(null);
     }
     return(GetProvider(sourceName, source));
 }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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));
        }
Beispiel #5
0
 protected abstract IEnumerable <object> GetValues(string sourceName, SoftwareSourceInfo source, Distro distro);
Beispiel #6
0
 public TProvider GetProvider(string sourceName, SoftwareSourceInfo source)
 {
     return(Providers.GetOrAdd(sourceName, _ => CreateProvider(sourceName, source)));
 }
Beispiel #7
0
 public ProductSource(string productName, string sourceName, SoftwareSourceInfo source)
 {
     ProductName = productName;
     SourceName  = sourceName;
     Source      = source;
 }
Beispiel #8
0
 protected SoftwareProvider(IProductProvider productProvider, SoftwareSourceInfo source, CultureInfo language)
 {
     ProductProvider = productProvider;
     Source          = source;
     Language        = language;
 }
Beispiel #9
0
 public ChdkSoftwareProvider(IProductProvider productProvider, SoftwareSourceInfo source, CultureInfo language)
     : base(productProvider, source, language)
 {
 }
Beispiel #10
0
 public ChdkBuildProvider(SoftwareSourceInfo source)
 {
     Source = source;
 }
Beispiel #11
0
        protected override IEnumerable <object> GetValues(string sourceName, SoftwareSourceInfo source, Distro distro)
        {
            yield return(distro.BaseUrl);

            yield return(distro.Builds);
        }
Beispiel #12
0
        protected override IEnumerable <object> GetValues(string sourceName, SoftwareSourceInfo source, Distro distro)
        {
            yield return(source);

            yield return(distro.Language);
        }
Beispiel #13
0
 public IDownloader GetDownloader(string productName, string sourceName, SoftwareSourceInfo source)
 {
     return(DownloaderProviders
            .Select(p => p.GetDownloader(productName, sourceName, source))
            .FirstOrDefault(d => d != null));
 }