pub struct Node {
pub name: String,
/* private fields */
}Fields§
§name: StringImplementations§
Source§impl Node
impl Node
pub fn new(name: &str) -> Self
pub fn name(&self) -> &str
pub fn properties(&self) -> impl Iterator<Item = &Property>
pub fn children(&self) -> impl Iterator<Item = &Node>
pub fn children_mut(&mut self) -> impl Iterator<Item = &mut Node>
pub fn add_child(&mut self, child: Node)
pub fn add_property(&mut self, prop: Property)
pub fn get_child(&self, name: &str) -> Option<&Node>
pub fn get_child_mut(&mut self, name: &str) -> Option<&mut Node>
pub fn remove_child(&mut self, name: &str) -> Option<Node>
pub fn set_property(&mut self, prop: Property)
pub fn get_property(&self, name: &str) -> Option<&Property>
pub fn get_property_mut(&mut self, name: &str) -> Option<&mut Property>
pub fn remove_property(&mut self, name: &str) -> Option<Property>
pub fn address_cells(&self) -> Option<u32>
pub fn size_cells(&self) -> Option<u32>
pub fn phandle(&self) -> Option<Phandle>
pub fn interrupt_parent(&self) -> Option<Phandle>
pub fn status(&self) -> Option<Status>
pub fn ranges(&self, parent_address_cells: u32) -> Option<Vec<RangesEntry>>
pub fn compatible(&self) -> Option<StrIter<'_>>
pub fn compatibles(&self) -> impl Iterator<Item = &str>
pub fn device_type(&self) -> Option<&str>
Sourcepub fn remove_by_path(&mut self, path: &str) -> Result<Option<Node>, FdtError>
pub fn remove_by_path(&mut self, path: &str) -> Result<Option<Node>, FdtError>
通过精确路径删除子节点及其子树 只支持精确路径匹配,不支持模糊匹配
§参数
path: 删除路径,格式如 “soc/gpio@1000” 或 “/soc/gpio@1000”
§返回值
Ok(Option<Node>): 如果找到并删除了节点,返回被删除的节点;如果路径不存在,返回 None
Err(FdtError): 如果路径格式无效
§示例
let mut root = Node::new("");
// 添加测试节点
let mut soc = Node::new("soc");
soc.add_child(Node::new("gpio@1000"));
root.add_child(soc);
// 精确删除节点
let removed = root.remove_by_path("soc/gpio@1000")?;
assert!(removed.is_some());Trait Implementations§
Auto Trait Implementations§
impl Freeze for Node
impl RefUnwindSafe for Node
impl Send for Node
impl Sync for Node
impl Unpin for Node
impl UnwindSafe for Node
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