Trait der_parser::ber::VisitMut
source · pub trait VisitMut<'a> {
Show 31 methods
// Provided methods
fn visit_ber_mut(&mut self, ber: &mut BerObject<'a>, depth: usize) { ... }
fn visit_ber_bitstring_mut(
&mut self,
ignored: &mut u8,
data: &'a mut BitStringObject<'_>,
depth: usize
) { ... }
fn visit_ber_bmpstring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_boolean_mut(&mut self, b: &'a mut bool, depth: usize) { ... }
fn visit_ber_endofcontent_mut(&mut self, depth: usize) { ... }
fn visit_ber_enum_mut(&mut self, e: &'a mut u64, depth: usize) { ... }
fn visit_ber_generalstring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_generalizedtime_mut(&mut self, t: &'a ASN1DateTime, depth: usize) { ... }
fn visit_ber_graphicstring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_ia5string_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_integer_mut(&mut self, raw_bytes: &'a mut &[u8], depth: usize) { ... }
fn visit_ber_null_mut(&mut self, depth: usize) { ... }
fn visit_ber_numericstring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_oid_mut(&mut self, oid: &'a mut Oid<'_>, depth: usize) { ... }
fn visit_ber_objectdescriptor_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_octetstring_mut(&mut self, b: &'a [u8], depth: usize) { ... }
fn visit_ber_optional_mut(
&mut self,
obj: Option<&'a mut BerObject<'a>>,
depth: usize
) { ... }
fn visit_ber_printablestring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_relative_oid_mut(&mut self, oid: &'a mut Oid<'_>, depth: usize) { ... }
fn visit_ber_sequence_mut(&mut self, l: &mut Vec<BerObject<'a>>, depth: usize) { ... }
fn visit_ber_set_mut(&mut self, ber: &mut Vec<BerObject<'a>>, depth: usize) { ... }
fn visit_ber_teletexstring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_tagged_mut(
&mut self,
class: &'a mut Class,
tag: &'a mut Tag,
obj: &'a mut BerObject<'a>,
depth: usize
) { ... }
fn visit_ber_utctime_mut(&mut self, t: &'a ASN1DateTime, depth: usize) { ... }
fn visit_ber_utf8string_mut(&mut self, s: &'a str, depth: usize) { ... }
fn visit_ber_universalstring_mut(
&mut self,
raw_bytes: &'a mut &[u8],
depth: usize
) { ... }
fn visit_ber_videotextstring_mut(
&mut self,
raw_bytes: &'a mut &str,
depth: usize
) { ... }
fn visit_ber_visiblestring_mut(
&mut self,
raw_bytes: &'a mut &str,
depth: usize
) { ... }
fn visit_ber_unknown_mut(&mut self, ber: &mut Any<'a>, depth: usize) { ... }
fn run(&mut self, ber: &'a mut BerObject<'a>) { ... }
fn run_at(&mut self, ber: &'a mut BerObject<'a>, depth: usize) { ... }
}
Expand description
BER object tree traversal to walk a shared borrow of a BER object
When implementing your own visitor, define your own visit_ber_xxx
methods.
Note that visit_ber
is called for every object, so if you implement multiple visitor methods they
will be called multiple times for the same object. Generally, if visit_ber
is implemented, then other
methods are not needed.
For example, on a Sequence
item, visit_ber
is called first, then visit_ber_sequence
, and then
visit_ber
for every sequence object (recursively).
Entry point: use the VisitMut::run
or VisitMut::run_at
methods.
Visitor functions
Provided Methods§
sourcefn visit_ber_mut(&mut self, ber: &mut BerObject<'a>, depth: usize)
fn visit_ber_mut(&mut self, ber: &mut BerObject<'a>, depth: usize)
Called for every BER object
sourcefn visit_ber_bitstring_mut(
&mut self,
ignored: &mut u8,
data: &'a mut BitStringObject<'_>,
depth: usize
)
fn visit_ber_bitstring_mut( &mut self, ignored: &mut u8, data: &'a mut BitStringObject<'_>, depth: usize )
Called for BER bitstring objects
sourcefn visit_ber_bmpstring_mut(&mut self, s: &'a mut &str, depth: usize)
fn visit_ber_bmpstring_mut(&mut self, s: &'a mut &str, depth: usize)
Called for BER bmpstring objects
sourcefn visit_ber_boolean_mut(&mut self, b: &'a mut bool, depth: usize)
fn visit_ber_boolean_mut(&mut self, b: &'a mut bool, depth: usize)
Called for BER boolean objects
sourcefn visit_ber_endofcontent_mut(&mut self, depth: usize)
fn visit_ber_endofcontent_mut(&mut self, depth: usize)
Called for BER end-of-content objects
sourcefn visit_ber_enum_mut(&mut self, e: &'a mut u64, depth: usize)
fn visit_ber_enum_mut(&mut self, e: &'a mut u64, depth: usize)
Called for BER enum objects
sourcefn visit_ber_generalstring_mut(&mut self, s: &'a mut &str, depth: usize)
fn visit_ber_generalstring_mut(&mut self, s: &'a mut &str, depth: usize)
Called for BER generalstring objects
sourcefn visit_ber_generalizedtime_mut(&mut self, t: &'a ASN1DateTime, depth: usize)
fn visit_ber_generalizedtime_mut(&mut self, t: &'a ASN1DateTime, depth: usize)
Called for BER generalizedtime objects
sourcefn visit_ber_graphicstring_mut(&mut self, s: &'a mut &str, depth: usize)
fn visit_ber_graphicstring_mut(&mut self, s: &'a mut &str, depth: usize)
Called for BER graphicstring objects
sourcefn visit_ber_ia5string_mut(&mut self, s: &'a mut &str, depth: usize)
fn visit_ber_ia5string_mut(&mut self, s: &'a mut &str, depth: usize)
Called for BER ia5string objects
sourcefn visit_ber_integer_mut(&mut self, raw_bytes: &'a mut &[u8], depth: usize)
fn visit_ber_integer_mut(&mut self, raw_bytes: &'a mut &[u8], depth: usize)
Called for BER integer objects
sourcefn visit_ber_null_mut(&mut self, depth: usize)
fn visit_ber_null_mut(&mut self, depth: usize)
Called for BER null objects
sourcefn visit_ber_numericstring_mut(&mut self, s: &'a mut &str, depth: usize)
fn visit_ber_numericstring_mut(&mut self, s: &'a mut &str, depth: usize)
Called for BER numericstring objects
sourcefn visit_ber_oid_mut(&mut self, oid: &'a mut Oid<'_>, depth: usize)
fn visit_ber_oid_mut(&mut self, oid: &'a mut Oid<'_>, depth: usize)
Called for BER OID objects
sourcefn visit_ber_objectdescriptor_mut(&mut self, s: &'a mut &str, depth: usize)
fn visit_ber_objectdescriptor_mut(&mut self, s: &'a mut &str, depth: usize)
Called for BER object descriptor objects
sourcefn visit_ber_octetstring_mut(&mut self, b: &'a [u8], depth: usize)
fn visit_ber_octetstring_mut(&mut self, b: &'a [u8], depth: usize)
Called for BER octetstring objects
sourcefn visit_ber_optional_mut(
&mut self,
obj: Option<&'a mut BerObject<'a>>,
depth: usize
)
fn visit_ber_optional_mut( &mut self, obj: Option<&'a mut BerObject<'a>>, depth: usize )
Called for BER optional objects
sourcefn visit_ber_printablestring_mut(&mut self, s: &'a mut &str, depth: usize)
fn visit_ber_printablestring_mut(&mut self, s: &'a mut &str, depth: usize)
Called for BER printablestring objects
sourcefn visit_ber_relative_oid_mut(&mut self, oid: &'a mut Oid<'_>, depth: usize)
fn visit_ber_relative_oid_mut(&mut self, oid: &'a mut Oid<'_>, depth: usize)
Called for BER relative OID objects
sourcefn visit_ber_sequence_mut(&mut self, l: &mut Vec<BerObject<'a>>, depth: usize)
fn visit_ber_sequence_mut(&mut self, l: &mut Vec<BerObject<'a>>, depth: usize)
Called for BER sequence objects
sourcefn visit_ber_set_mut(&mut self, ber: &mut Vec<BerObject<'a>>, depth: usize)
fn visit_ber_set_mut(&mut self, ber: &mut Vec<BerObject<'a>>, depth: usize)
Called for BER set objects
sourcefn visit_ber_teletexstring_mut(&mut self, s: &'a mut &str, depth: usize)
fn visit_ber_teletexstring_mut(&mut self, s: &'a mut &str, depth: usize)
Called for BER teletexstring objects
sourcefn visit_ber_tagged_mut(
&mut self,
class: &'a mut Class,
tag: &'a mut Tag,
obj: &'a mut BerObject<'a>,
depth: usize
)
fn visit_ber_tagged_mut( &mut self, class: &'a mut Class, tag: &'a mut Tag, obj: &'a mut BerObject<'a>, depth: usize )
Called for BER tagged objects
sourcefn visit_ber_utctime_mut(&mut self, t: &'a ASN1DateTime, depth: usize)
fn visit_ber_utctime_mut(&mut self, t: &'a ASN1DateTime, depth: usize)
Called for BER generalizedtime objects
sourcefn visit_ber_utf8string_mut(&mut self, s: &'a str, depth: usize)
fn visit_ber_utf8string_mut(&mut self, s: &'a str, depth: usize)
Called for BER utf8string objects
sourcefn visit_ber_universalstring_mut(
&mut self,
raw_bytes: &'a mut &[u8],
depth: usize
)
fn visit_ber_universalstring_mut( &mut self, raw_bytes: &'a mut &[u8], depth: usize )
Called for BER universalstring objects
sourcefn visit_ber_videotextstring_mut(&mut self, raw_bytes: &'a mut &str, depth: usize)
fn visit_ber_videotextstring_mut(&mut self, raw_bytes: &'a mut &str, depth: usize)
Called for BER videotexstring objects
sourcefn visit_ber_visiblestring_mut(&mut self, raw_bytes: &'a mut &str, depth: usize)
fn visit_ber_visiblestring_mut(&mut self, raw_bytes: &'a mut &str, depth: usize)
Called for BER visiblestring objects
sourcefn visit_ber_unknown_mut(&mut self, ber: &mut Any<'a>, depth: usize)
fn visit_ber_unknown_mut(&mut self, ber: &mut Any<'a>, depth: usize)
Called for BER unknown objects