From 66cb34c9b6fc3620cc60faf8ce964b255608b69e Mon Sep 17 00:00:00 2001 From: Rubens Brandao Date: Thu, 13 Jun 2024 13:35:19 -0300 Subject: implement rust TypeLibrary --- rust/src/platform.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'rust/src/platform.rs') diff --git a/rust/src/platform.rs b/rust/src/platform.rs index 11f76284..4e31a0a2 100644 --- a/rust/src/platform.rs +++ b/rust/src/platform.rs @@ -23,6 +23,7 @@ use crate::{ callingconvention::CallingConvention, rc::*, string::*, + typelibrary::TypeLibrary, types::{QualifiedName, QualifiedNameAndType, Type}, }; @@ -163,6 +164,15 @@ impl Platform { unsafe { CoreArchitecture::from_raw(BNGetPlatformArchitecture(self.handle)) } } + pub fn get_type_libraries_by_name(&self, name: &QualifiedName) -> Array { + let mut count = 0; + let result = unsafe { + BNGetPlatformTypeLibrariesByName(self.handle, &name.0 as *const _ as *mut _, &mut count) + }; + assert!(!result.is_null()); + unsafe { Array::new(result, count, ()) } + } + pub fn register_os(&self, os: S) { let os = os.into_bytes_with_nul(); -- cgit v1.3.1