Пример #1
0
        /// <summary>
        /// Adds or replaces a package registration entry in the registry.
        /// </summary>
        /// <param name="package">The package to register.</param>
        /// <param name="cancellationToken">Token used to cancel the package registration.</param>
        /// <exception cref="ArgumentNullException"><paramref name="package"/> is null.</exception>
        public Task RegisterPackageAsync(RegisteredPackage package, CancellationToken cancellationToken)
        {
            if (package == null)
            {
                throw new ArgumentNullException(nameof(package));
            }

            var packages = GetInstalledPackages(this.RegistryRoot);

            packages.RemoveAll(p => PackageNameAndGroupEquals(p, package));
            packages.Add(package);

            WriteInstalledPackages(this.RegistryRoot, packages);
            return(AH.CompletedTask);
        }
Пример #2
0
        /// <summary>
        /// Removes a package registration entry from the registry.
        /// </summary>
        /// <param name="package">THe package to unregister.</param>
        /// <param name="cancellationToken">Token used to cancel the operation.</param>
        /// <returns>True if package was unregistered; false if it was not in the registry.</returns>
        public Task <bool> UnregisterPackageAsync(RegisteredPackage package, CancellationToken cancellationToken)
        {
            if (package == null)
            {
                throw new ArgumentNullException(nameof(package));
            }

            var packages = GetInstalledPackages(this.RegistryRoot);

            bool removed = packages.RemoveAll(p => PackageNameAndGroupEquals(p, package)) > 0;

            if (removed)
            {
                WriteInstalledPackages(this.RegistryRoot, packages);
            }

            return(Task.FromResult(removed));
        }
Пример #3
0
 /// <summary>
 /// Removes a package registration entry from the registry.
 /// </summary>
 /// <param name="package">The package to unregister.</param>
 /// <returns>True if package was unregistered; false if it was not in the registry.</returns>
 public Task <bool> UnregisterPackageAsync(RegisteredPackage package) => this.UnregisterPackageAsync(package, default);
Пример #4
0
 /// <summary>
 /// Adds or replaces a package registration entry in the registry.
 /// </summary>
 /// <param name="package">The package to register.</param>
 /// <exception cref="ArgumentNullException"><paramref name="package"/> is null.</exception>
 public Task RegisterPackageAsync(RegisteredPackage package) => this.RegisterPackageAsync(package, default);