pub struct DSDL { /* private fields */ }
Expand description
The DSDL
struct contains a number of data type definition
Implementations§
Source§impl DSDL
impl DSDL
Sourcepub fn read<P: AsRef<Path>>(path: P) -> Result<DSDL>
pub fn read<P: AsRef<Path>>(path: P) -> Result<DSDL>
Reads DSDL
definition recursively if path is a directory. Reads one DSDL
definition if path is a definition.
§Example
use dsdl_parser::DSDL;
assert!(DSDL::read("tests/dsdl/").is_ok());
Sourcepub fn get_file<T: AsRef<str>>(&self, name: T) -> Option<&File>
pub fn get_file<T: AsRef<str>>(&self, name: T) -> Option<&File>
Return a file if there exists one, returns None
otherwise
§Example
use dsdl_parser::DSDL;
let dsdl = DSDL::read("tests/dsdl/").unwrap();
assert!(dsdl.get_file("uavcan.protocol.NodeStatus").is_some());
Sourcepub fn files(&self) -> Vec<&File>
pub fn files(&self) -> Vec<&File>
Returns a vector containing references to all files
§Example
use dsdl_parser::DSDL;
let dsdl = DSDL::read("tests/dsdl/").unwrap();
assert!(dsdl.files().len() >= 1);
Sourcepub fn data_type_signature<T: AsRef<str>>(&self, name: T) -> Option<u64>
pub fn data_type_signature<T: AsRef<str>>(&self, name: T) -> Option<u64>
Returns the data type signature of a data type
§Example
use dsdl_parser::DSDL;
let dsdl = DSDL::read("tests/dsdl/").unwrap();
assert_eq!(dsdl.data_type_signature("uavcan.protocol.GetNodeInfo").unwrap(), 0xee468a8121c46a9e);
Trait Implementations§
impl Eq for DSDL
impl StructuralPartialEq for DSDL
Auto Trait Implementations§
impl Freeze for DSDL
impl RefUnwindSafe for DSDL
impl Send for DSDL
impl Sync for DSDL
impl Unpin for DSDL
impl UnwindSafe for DSDL
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more