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}