openthread/ot/
reset.rs
1use crate::prelude_internal::*;
6
7pub trait Reset {
11 fn reset(&self);
13
14 fn factory_reset(&self);
17
18 fn erase_persistent_info(&self) -> Result;
21}
22
23impl<T: Reset + Boxable> Reset for ot::Box<T> {
24 fn reset(&self) {
25 self.as_ref().reset()
26 }
27 fn factory_reset(&self) {
28 self.as_ref().factory_reset()
29 }
30 fn erase_persistent_info(&self) -> Result {
31 self.as_ref().erase_persistent_info()
32 }
33}
34
35impl Reset for Instance {
36 fn reset(&self) {
37 unsafe { otInstanceReset(self.as_ot_ptr()) }
38 }
39
40 fn factory_reset(&self) {
41 unsafe { otInstanceFactoryReset(self.as_ot_ptr()) }
42 }
43
44 fn erase_persistent_info(&self) -> Result {
45 Error::from(unsafe { otInstanceErasePersistentInfo(self.as_ot_ptr()) }).into()
46 }
47}