001// SPDX-FileCopyrightText: 2021 Paul Schaub <vanitasvitae@fsfe.org>
002//
003// SPDX-License-Identifier: Apache-2.0
004
005package org.pgpainless.signature.subpackets;
006
007import javax.annotation.Nonnull;
008import javax.annotation.Nullable;
009
010import org.bouncycastle.bcpg.sig.RevocationReason;
011import org.pgpainless.key.util.RevocationAttributes;
012
013public interface RevocationSignatureSubpackets extends BaseSignatureSubpackets {
014
015    interface Callback extends SignatureSubpacketCallback<RevocationSignatureSubpackets> {
016
017    }
018
019    RevocationSignatureSubpackets setRevocationReason(RevocationAttributes revocationAttributes);
020
021    RevocationSignatureSubpackets setRevocationReason(boolean isCritical, RevocationAttributes revocationAttributes);
022
023    RevocationSignatureSubpackets setRevocationReason(boolean isCritical, RevocationAttributes.Reason reason, @Nonnull String description);
024
025    RevocationSignatureSubpackets setRevocationReason(@Nullable RevocationReason reason);
026}