// SPDX-FileCopyrightText: 2023 Paul Schaub // // SPDX-License-Identifier: Apache-2.0 package sop.operation import sop.Profile /** Subcommand to list supported profiles of other subcommands. */ interface ListProfiles { /** * Provide the name of the subcommand for which profiles shall be listed. The returned list of * profiles MUST NOT contain more than 4 entries. * * @param command command name (e.g. `generate-key`) * @return list of profiles. */ fun subcommand(command: String): List /** * Return a list of [Profiles][Profile] supported by the [GenerateKey] implementation. * * @return profiles */ fun generateKey(): List = subcommand("generate-key") /** * Return a list of [Profiles][Profile] supported by the [Encrypt] implementation. * * @return profiles */ fun encrypt(): List = subcommand("encrypt") }