ZeroInstall.Services.Solvers.SelectionCandidateProvider.SelectionCandidateProvider C# (CSharp) Method

SelectionCandidateProvider() public method

Creates a new SelectionCandidate provider.
public SelectionCandidateProvider ( [ config, [ feedManager, [ store, [ packageManager, [ languages ) : System
config [ User settings controlling network behaviour, solving, etc.
feedManager [ Provides access to remote and local s. Handles downloading, signature verification and caching.
store [ Used to check which s are already cached.
packageManager [ An external package manager that can install s.
languages [ The preferred languages for the implementation.
return System
        public SelectionCandidateProvider([NotNull] Config config, [NotNull] IFeedManager feedManager, [NotNull] IStore store, [NotNull] IPackageManager packageManager, [NotNull] LanguageSet languages)
        {
            #region Sanity checks
            if (config == null) throw new ArgumentNullException(nameof(config));
            if (feedManager == null) throw new ArgumentNullException(nameof(feedManager));
            if (store == null) throw new ArgumentNullException(nameof(store));
            if (packageManager == null) throw new ArgumentNullException(nameof(packageManager));
            if (languages == null) throw new ArgumentNullException(nameof(languages));
            #endregion

            _config = config;
            _feedManager = feedManager;
            _isCached = BuildCacheChecker(store);
            _packageManager = packageManager;
            _comparer = new TransparentCache<FeedUri, SelectionCandidateComparer>(id => new SelectionCandidateComparer(config, _isCached, _interfacePreferences[id].StabilityPolicy, languages));
        }