Skip to main content

asn1rs_model/model/
oid.rs

1/// The object-identifier is described in ITU-T X.680 | ISO/IEC 8824-1:2015
2/// in chapter 32. The XML-related definitions as well as'DefinedValue' is
3/// ignored by this implementation.
4#[derive(Debug, Clone, PartialOrd, PartialEq, Eq)]
5pub struct ObjectIdentifier(pub Vec<ObjectIdentifierComponent>);
6
7impl ObjectIdentifier {
8    pub fn iter(&self) -> impl Iterator<Item = &ObjectIdentifierComponent> {
9        self.0.iter()
10    }
11}
12
13/// The object-identifier is described in ITU-T X.680 | ISO/IEC 8824-1:2015
14/// in chapter 32. The XML-related definitions as well as'DefinedValue' is
15/// ignored by this implementation.
16#[derive(Debug, Clone, PartialOrd, PartialEq, Eq)]
17pub enum ObjectIdentifierComponent {
18    NameForm(String),
19    NumberForm(u64),
20    NameAndNumberForm(String, u64),
21}