示例#1
0
        private ExitCode Verify()
        {
            try
            {
                switch (AdditionalArgs.Count)
                {
                case 1:
                    throw new OptionException(Resources.MissingArguments + Environment.NewLine + "verify [DIRECTORY] DIGEST" + Environment.NewLine + Resources.StoreVerfiyTryAuditInstead, "");

                case 2:
                    // Verify a directory inside the store
                    Store.Verify(new ManifestDigest(AdditionalArgs[1]), Handler);
                    break;

                case 3:
                    // Verify an arbitrary directory
                    DirectoryStore.VerifyDirectory(AdditionalArgs[1], new ManifestDigest(AdditionalArgs[2]), Handler);
                    break;

                default:
                    throw new OptionException(Resources.TooManyArguments + Environment.NewLine + "verify [DIRECTORY] DIGEST", "");
                }
            }
            catch (DigestMismatchException ex)
            {
                Handler.Output(Resources.VerifyImplementation, ex.Message);
                return(ExitCode.DigestMismatch);
            }

            return(ExitCode.OK);
        }
示例#2
0
            public override ExitCode Execute()
            {
                try
                {
                    switch (AdditionalArgs.Count)
                    {
                    case 1:
                        // Verify a directory inside the store
                        Store.Verify(new ManifestDigest(AdditionalArgs[0]), Handler);
                        break;

                    case 2:
                        // Verify an arbitrary directory
                        DirectoryStore.VerifyDirectory(AdditionalArgs[0], new ManifestDigest(AdditionalArgs[1]), Handler);
                        break;
                    }
                }
                catch (DigestMismatchException ex)
                {
                    Handler.Output(Resources.VerifyImplementation, ex.Message);
                    return(ExitCode.DigestMismatch);
                }

                return(ExitCode.OK);
            }