コード例 #1
0
 public SoftwarePackage(
     string packageName,
     IEnumerable <string> dependencies,
     ISoftwareProvider provider,
     IOperatingSystemProvider operatingSystem,
     string?name = null)
 {
     PackageName          = packageName;
     Dependencies         = dependencies;
     Name                 = name;
     this.provider        = provider;
     this.operatingSystem = operatingSystem;
 }
コード例 #2
0
        public Downloader(MainViewModel mainViewModel,
                          IBuildProvider buildProvider, IMatchProvider matchProvider, ISoftwareProvider softwareProvider, IDownloadProvider downloadProvider,
                          IDownloadService downloadService, IExtractService extractService, IMetadataService metadataService, ILogger <Downloader> logger)
        {
            Logger = logger;

            MainViewModel = mainViewModel;

            BuildProvider    = buildProvider;
            MatchProvider    = matchProvider;
            SoftwareProvider = softwareProvider;
            DownloadProvider = downloadProvider;

            DownloadService = downloadService;
            ExtractService  = extractService;
            MetadataService = metadataService;
        }
コード例 #3
0
        public SoftwarePackage(
            KeyValuePair <object, object> yaml,
            ISoftwareProvider provider,
            IOperatingSystemProvider operatingSystem)
        {
            if (yaml.Key is string key)
            {
                PackageName = key;
            }
            else
            {
                PackageName = string.Empty;
                throw new Exception("YAML key is not a string");
            }

            if (yaml.Value is Dictionary <object, object> dict)
            {
                if (dict.ContainsKey("name") && dict["name"] is string name)
                {
                    Name = name;
                }

                if (dict.ContainsKey("dependencies"))
                {
                    Dependencies = (from d in dict["dependencies"] as List <object>
                                    select d as string).ToList();
                }
            }

            this.provider        = provider;
            this.operatingSystem = operatingSystem;

            if (Dependencies == null)
            {
                Dependencies = Enumerable.Empty <string>();
            }
        }