summaryrefslogtreecommitdiff
path: root/rust/src/custombinaryview.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/src/custombinaryview.rs')
-rw-r--r--rust/src/custombinaryview.rs25
1 files changed, 23 insertions, 2 deletions
diff --git a/rust/src/custombinaryview.rs b/rust/src/custombinaryview.rs
index 740d0f40..2fd37cab 100644
--- a/rust/src/custombinaryview.rs
+++ b/rust/src/custombinaryview.rs
@@ -157,7 +157,7 @@ pub trait BinaryViewTypeBase: AsRef<BinaryViewType> {
fn is_deprecated(&self) -> bool;
- fn load_settings_for_data(&self, data: &BinaryView) -> Result<Ref<Settings>> {
+ fn default_load_settings_for_data(&self, data: &BinaryView) -> Result<Ref<Settings>> {
let settings_handle =
unsafe { BNGetBinaryViewDefaultLoadSettingsForData(self.as_ref().0, data.handle) };
@@ -167,6 +167,17 @@ pub trait BinaryViewTypeBase: AsRef<BinaryViewType> {
unsafe { Ok(Settings::from_raw(settings_handle)) }
}
}
+
+ fn load_settings_for_data(&self, data: &BinaryView) -> Result<Ref<Settings>> {
+ let settings_handle =
+ unsafe { BNGetBinaryViewLoadSettingsForData(self.as_ref().0, data.handle) };
+
+ if settings_handle.is_null() {
+ Err(())
+ } else {
+ unsafe { Ok(Settings::from_raw(settings_handle)) }
+ }
+ }
}
pub trait BinaryViewTypeExt: BinaryViewTypeBase {
@@ -253,7 +264,7 @@ impl BinaryViewTypeBase for BinaryViewType {
unsafe { BNIsBinaryViewTypeDeprecated(self.0) }
}
- fn load_settings_for_data(&self, data: &BinaryView) -> Result<Ref<Settings>> {
+ fn default_load_settings_for_data(&self, data: &BinaryView) -> Result<Ref<Settings>> {
let settings_handle =
unsafe { BNGetBinaryViewDefaultLoadSettingsForData(self.0, data.handle) };
@@ -263,6 +274,16 @@ impl BinaryViewTypeBase for BinaryViewType {
unsafe { Ok(Settings::from_raw(settings_handle)) }
}
}
+
+ fn load_settings_for_data(&self, data: &BinaryView) -> Result<Ref<Settings>> {
+ let settings_handle = unsafe { BNGetBinaryViewLoadSettingsForData(self.0, data.handle) };
+
+ if settings_handle.is_null() {
+ Err(())
+ } else {
+ unsafe { Ok(Settings::from_raw(settings_handle)) }
+ }
+ }
}
impl CoreArrayProvider for BinaryViewType {