
generatedByKspKotlin.dev.kord.voice.EncryptionMode.kt Maven / Gradle / Ivy
// THIS FILE IS AUTO-GENERATED BY KordEnumProcessor.kt, DO NOT EDIT!
@file:Suppress(names = arrayOf("RedundantVisibilityModifier", "IncorrectFormatting",
"ReplaceArrayOfWithLiteral", "SpellCheckingInspection", "GrazieInspection"))
package dev.kord.voice
import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.LazyThreadSafetyMode.PUBLICATION
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializable
import kotlinx.serialization.descriptors.PrimitiveKind
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
/**
* See [EncryptionMode]s in the
* [Discord Developer Documentation](https://discord.com/developers/docs/topics/voice-connections#establishing-a-voice-udp-connection-encryption-modes).
*/
@Serializable(with = EncryptionMode.Serializer::class)
public sealed class EncryptionMode(
/**
* The raw value used by Discord.
*/
public val `value`: String,
) {
public final override fun equals(other: Any?): Boolean = this === other ||
(other is EncryptionMode && this.value == other.value)
public final override fun hashCode(): Int = value.hashCode()
public final override fun toString(): String =
"EncryptionMode.${this::class.simpleName}(value=$value)"
/**
* An unknown [EncryptionMode].
*
* This is used as a fallback for [EncryptionMode]s that haven't been added to Kord yet.
*/
public class Unknown(
`value`: String,
) : EncryptionMode(value)
public object XSalsa20Poly1305 : EncryptionMode("xsalsa20_poly1305")
public object XSalsa20Poly1305Suffix : EncryptionMode("xsalsa20_poly1305_suffix")
public object XSalsa20Poly1305Lite : EncryptionMode("xsalsa20_poly1305_lite")
internal object Serializer : KSerializer {
public override val descriptor: SerialDescriptor =
PrimitiveSerialDescriptor("dev.kord.voice.EncryptionMode", PrimitiveKind.STRING)
public override fun serialize(encoder: Encoder, `value`: EncryptionMode) =
encoder.encodeString(value.value)
public override fun deserialize(decoder: Decoder) =
when (val value = decoder.decodeString()) {
"xsalsa20_poly1305" -> XSalsa20Poly1305
"xsalsa20_poly1305_suffix" -> XSalsa20Poly1305Suffix
"xsalsa20_poly1305_lite" -> XSalsa20Poly1305Lite
else -> Unknown(value)
}
}
public companion object {
/**
* A [List] of all known [EncryptionMode]s.
*/
public val entries: List by lazy(mode = PUBLICATION) {
listOf(
XSalsa20Poly1305,
XSalsa20Poly1305Suffix,
XSalsa20Poly1305Lite,
)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy