use crate::ber::EncodingRules;
#[derive(Clone, Copy, Debug)]
pub struct DecoderOptions {
pub(crate) encoding_rules: EncodingRules,
pub(crate) remaining_depth: usize,
}
impl DecoderOptions {
#[must_use]
pub const fn ber() -> Self {
Self {
encoding_rules: EncodingRules::Ber,
remaining_depth: 128,
}
}
#[must_use]
pub const fn cer() -> Self {
Self {
encoding_rules: EncodingRules::Cer,
remaining_depth: 128,
}
}
#[must_use]
pub const fn der() -> Self {
Self {
encoding_rules: EncodingRules::Der,
remaining_depth: 128,
}
}
#[must_use]
pub fn current_codec(&self) -> crate::Codec {
self.encoding_rules.codec()
}
}