All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sop.operation.ListProfiles.kt Maven / Gradle / Ivy

There is a newer version: 10.0.3
Show newest version
// 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")
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy