ZeroInstall.Publish.FeedBuilder.CalculateDigest C# (CSharp) Method

CalculateDigest() public method

Calculates the ManifestDigest.
is null or empty. The user canceled the task. There was a problem generating the manifest. Write access to temporary files was not permitted.
public CalculateDigest ( ITaskHandler handler ) : void
handler ITaskHandler A callback object used when the the user needs to be informed about IO tasks.
return void
        public void CalculateDigest(ITaskHandler handler)
        {
            #region Sanity checks
            if (handler == null) throw new ArgumentNullException(nameof(handler));
            if (string.IsNullOrEmpty(ImplementationDirectory)) throw new InvalidOperationException("Implementation directory is not set.");
            #endregion

            var newDigest = new ManifestDigest();

            // Generate manifest for each available format...
            foreach (var generator in ManifestFormat.All.Select(format => new ManifestGenerator(ImplementationDirectory, format)))
            {
                // ... and add the resulting digest to the return value
                handler.RunTask(generator);
                newDigest.ParseID(generator.Manifest.CalculateDigest());
            }

            ManifestDigest = newDigest;
        }
        #endregion

Usage Example

 public void TestCalculateDigest()
 {
     _builder.ImplementationDirectory = _implementationDir;
     _builder.CalculateDigest(new SilentTaskHandler());
     Assert.AreEqual(ManifestDigest.Empty, _builder.ManifestDigest);
 }
All Usage Examples Of ZeroInstall.Publish.FeedBuilder::CalculateDigest