remove bin files and load needs a path

This commit is contained in:
Christoph Brandau
2025-11-16 00:10:53 +01:00
parent e9eebc0dd3
commit 48ef36805a
7 changed files with 150 additions and 112 deletions
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
+150 -112
View File
@@ -1,6 +1,6 @@
#![allow(non_snake_case)] #![allow(non_snake_case)]
use libloading::{Library, Symbol}; use libloading::{ Library, Symbol };
use std::path::{Path, PathBuf}; use std::path::{ Path, PathBuf };
/// Pointer to a UTF-16 string (wide char) terminated with `0`. /// Pointer to a UTF-16 string (wide char) terminated with `0`.
pub type PCWSTR = *const u16; pub type PCWSTR = *const u16;
@@ -256,15 +256,21 @@ type DisconnectFn = unsafe extern "C" fn() -> OpenReturnCodes;
type OpenProjectFn = unsafe extern "C" fn(PCWSTR) -> OpenReturnCodes; type OpenProjectFn = unsafe extern "C" fn(PCWSTR) -> OpenReturnCodes;
type CreateProjectFn = unsafe extern "C" fn(PCWSTR, PCWSTR) -> OpenReturnCodes; type CreateProjectFn = unsafe extern "C" fn(PCWSTR, PCWSTR) -> OpenReturnCodes;
type CreateProjectWithScalingFn = unsafe extern "C" fn(PCWSTR, PCWSTR, PCWSTR) -> OpenReturnCodes; type CreateProjectWithScalingFn = unsafe extern "C" fn(PCWSTR, PCWSTR, PCWSTR) -> OpenReturnCodes;
type CreateProjectWithScalingNcuNumberFn = type CreateProjectWithScalingNcuNumberFn = unsafe extern "C" fn(
unsafe extern "C" fn(PCWSTR, PCWSTR, PCWSTR, u32) -> OpenReturnCodes; PCWSTR,
PCWSTR,
PCWSTR,
u32
) -> OpenReturnCodes;
type SaveProjectFn = unsafe extern "C" fn() -> OpenReturnCodes; type SaveProjectFn = unsafe extern "C" fn() -> OpenReturnCodes;
type CloseProjectFn = unsafe extern "C" fn() -> OpenReturnCodes; type CloseProjectFn = unsafe extern "C" fn() -> OpenReturnCodes;
type BootControllerFn = unsafe extern "C" fn() -> OpenReturnCodes; type BootControllerFn = unsafe extern "C" fn() -> OpenReturnCodes;
type ShutdownControllerFn = unsafe extern "C" fn() -> OpenReturnCodes; type ShutdownControllerFn = unsafe extern "C" fn() -> OpenReturnCodes;
type ResetControllerFn = unsafe extern "C" fn() -> OpenReturnCodes; type ResetControllerFn = unsafe extern "C" fn() -> OpenReturnCodes;
type RegisterForEventsFn = type RegisterForEventsFn = unsafe extern "C" fn(
unsafe extern "C" fn(u32, *const OpenEventMaskDefinition) -> OpenReturnCodes; u32,
*const OpenEventMaskDefinition
) -> OpenReturnCodes;
type UnregisterEventsFn = unsafe extern "C" fn() -> OpenReturnCodes; type UnregisterEventsFn = unsafe extern "C" fn() -> OpenReturnCodes;
type WaitForEventsFn = unsafe extern "C" fn() -> OpenReturnCodes; type WaitForEventsFn = unsafe extern "C" fn() -> OpenReturnCodes;
type ContinueSimulationFn = unsafe extern "C" fn() -> OpenReturnCodes; type ContinueSimulationFn = unsafe extern "C" fn() -> OpenReturnCodes;
@@ -416,15 +422,7 @@ impl OpenApi {
/// relative to the current working directory is used. /// relative to the current working directory is used.
pub unsafe fn load<P: AsRef<Path>>(path: P) -> Result<Self, libloading::Error> { pub unsafe fn load<P: AsRef<Path>>(path: P) -> Result<Self, libloading::Error> {
// Load the DLL // Load the DLL
let provided_path = path.as_ref(); let lib = unsafe { Library::new(path.as_ref())? };
let fallback_path;
let dll_path = if provided_path.as_os_str().is_empty() {
fallback_path = PathBuf::from("bin").join("open.dll");
fallback_path.as_path()
} else {
provided_path
};
let lib = unsafe { Library::new(dll_path)? };
// Extend the library's lifetime to 'static by leaking it. // Extend the library's lifetime to 'static by leaking it.
// (Alternatively: design OpenApi with lifetimes and avoid leaking.) // (Alternatively: design OpenApi with lifetimes and avoid leaking.)
let lib: &'static Library = Box::leak(Box::new(lib)); let lib: &'static Library = Box::leak(Box::new(lib));
@@ -435,12 +433,14 @@ impl OpenApi {
let disconnect = load_symbol::<DisconnectFn>(lib, b"disconnect")?; let disconnect = load_symbol::<DisconnectFn>(lib, b"disconnect")?;
let open_project = load_symbol::<OpenProjectFn>(lib, b"openProject")?; let open_project = load_symbol::<OpenProjectFn>(lib, b"openProject")?;
let create_project = load_symbol::<CreateProjectFn>(lib, b"createProject")?; let create_project = load_symbol::<CreateProjectFn>(lib, b"createProject")?;
let create_project_with_scaling = let create_project_with_scaling = load_symbol::<CreateProjectWithScalingFn>(
load_symbol::<CreateProjectWithScalingFn>(lib, b"createProjectWithScaling")?; lib,
let create_project_with_scaling_ncu_number = load_symbol::< b"createProjectWithScaling"
CreateProjectWithScalingNcuNumberFn, )?;
>( let create_project_with_scaling_ncu_number =
lib, b"createProjectWithScalingNCUNumber" load_symbol::<CreateProjectWithScalingNcuNumberFn>(
lib,
b"createProjectWithScalingNCUNumber"
)?; )?;
let save_project = load_symbol::<SaveProjectFn>(lib, b"saveProject")?; let save_project = load_symbol::<SaveProjectFn>(lib, b"saveProject")?;
let close_project = load_symbol::<CloseProjectFn>(lib, b"closeProject")?; let close_project = load_symbol::<CloseProjectFn>(lib, b"closeProject")?;
@@ -454,36 +454,62 @@ impl OpenApi {
let get_dictionary_id = load_symbol::<GetDictionaryIdFn>(lib, b"getDictionaryId")?; let get_dictionary_id = load_symbol::<GetDictionaryIdFn>(lib, b"getDictionaryId")?;
let register_watch = load_symbol::<RegisterWatchFn>(lib, b"registerWatch")?; let register_watch = load_symbol::<RegisterWatchFn>(lib, b"registerWatch")?;
let unregister_watch = load_symbol::<UnregisterWatchFn>(lib, b"unregisterWatch")?; let unregister_watch = load_symbol::<UnregisterWatchFn>(lib, b"unregisterWatch")?;
let get_dictionary_element_type = let get_dictionary_element_type = load_symbol::<GetDictionaryElementTypeFn>(
load_symbol::<GetDictionaryElementTypeFn>(lib, b"getDictionaryElementType")?; lib,
let read_unsigned_integer_64_bit_array = b"getDictionaryElementType"
load_symbol::<ReadUnsignedInteger64BitArrayFn>(lib, b"readUnsignedInteger64BitArray")?; )?;
let read_signed_integer_32_bit_array = let read_unsigned_integer_64_bit_array = load_symbol::<ReadUnsignedInteger64BitArrayFn>(
load_symbol::<ReadSignedInteger32BitArrayFn>(lib, b"readSignedInteger32BitArray")?; lib,
let read_unsigned_integer_32_bit_array = b"readUnsignedInteger64BitArray"
load_symbol::<ReadUnsignedInteger32BitArrayFn>(lib, b"readUnsignedInteger32BitArray")?; )?;
let read_unsigned_integer_16_bit_array = let read_signed_integer_32_bit_array = load_symbol::<ReadSignedInteger32BitArrayFn>(
load_symbol::<ReadUnsignedInteger16BitArrayFn>(lib, b"readUnsignedInteger16BitArray")?; lib,
let read_unsigned_integer_8_bit_array = b"readSignedInteger32BitArray"
load_symbol::<ReadUnsignedInteger8BitArrayFn>(lib, b"readUnsignedInteger8BitArray")?; )?;
let read_unsigned_integer_32_bit_array = load_symbol::<ReadUnsignedInteger32BitArrayFn>(
lib,
b"readUnsignedInteger32BitArray"
)?;
let read_unsigned_integer_16_bit_array = load_symbol::<ReadUnsignedInteger16BitArrayFn>(
lib,
b"readUnsignedInteger16BitArray"
)?;
let read_unsigned_integer_8_bit_array = load_symbol::<ReadUnsignedInteger8BitArrayFn>(
lib,
b"readUnsignedInteger8BitArray"
)?;
let read_bool_array = load_symbol::<ReadBoolArrayFn>(lib, b"readBoolArray")?; let read_bool_array = load_symbol::<ReadBoolArrayFn>(lib, b"readBoolArray")?;
let read_double_array = load_symbol::<ReadDoubleArrayFn>(lib, b"readDoubleArray")?; let read_double_array = load_symbol::<ReadDoubleArrayFn>(lib, b"readDoubleArray")?;
let read_string = load_symbol::<ReadStringFn>(lib, b"readString")?; let read_string = load_symbol::<ReadStringFn>(lib, b"readString")?;
let read_string_array = load_symbol::<ReadStringArrayFn>(lib, b"readStringArray")?; let read_string_array = load_symbol::<ReadStringArrayFn>(lib, b"readStringArray")?;
let read_unsigned_integer_16_bit = let read_unsigned_integer_16_bit = load_symbol::<ReadUnsignedInteger16BitFn>(
load_symbol::<ReadUnsignedInteger16BitFn>(lib, b"readUnsignedInteger16Bit")?; lib,
let read_signed_integer_16_bit = b"readUnsignedInteger16Bit"
load_symbol::<ReadSignedInteger16BitFn>(lib, b"readSignedInteger16Bit")?; )?;
let read_unsigned_integer_32_bit = let read_signed_integer_16_bit = load_symbol::<ReadSignedInteger16BitFn>(
load_symbol::<ReadUnsignedInteger32BitFn>(lib, b"readUnsignedInteger32Bit")?; lib,
let read_signed_integer_32_bit = b"readSignedInteger16Bit"
load_symbol::<ReadSignedInteger32BitFn>(lib, b"readSignedInteger32Bit")?; )?;
let read_unsigned_integer_64_bit = let read_unsigned_integer_32_bit = load_symbol::<ReadUnsignedInteger32BitFn>(
load_symbol::<ReadUnsignedInteger64BitFn>(lib, b"readUnsignedInteger64Bit")?; lib,
let read_signed_integer_64_bit = b"readUnsignedInteger32Bit"
load_symbol::<ReadSignedInteger64BitFn>(lib, b"readSignedInteger64Bit")?; )?;
let get_num_array_elements = let read_signed_integer_32_bit = load_symbol::<ReadSignedInteger32BitFn>(
load_symbol::<GetNumArrayElementsFn>(lib, b"getNumArrayElements")?; lib,
b"readSignedInteger32Bit"
)?;
let read_unsigned_integer_64_bit = load_symbol::<ReadUnsignedInteger64BitFn>(
lib,
b"readUnsignedInteger64Bit"
)?;
let read_signed_integer_64_bit = load_symbol::<ReadSignedInteger64BitFn>(
lib,
b"readSignedInteger64Bit"
)?;
let get_num_array_elements = load_symbol::<GetNumArrayElementsFn>(
lib,
b"getNumArrayElements"
)?;
let read_bit = load_symbol::<ReadBitFn>(lib, b"readBit")?; let read_bit = load_symbol::<ReadBitFn>(lib, b"readBit")?;
let read_bool = load_symbol::<ReadBoolFn>(lib, b"readBool")?; let read_bool = load_symbol::<ReadBoolFn>(lib, b"readBool")?;
let read_byte = load_symbol::<ReadByteFn>(lib, b"readByte")?; let read_byte = load_symbol::<ReadByteFn>(lib, b"readByte")?;
@@ -492,8 +518,10 @@ impl OpenApi {
let read_double_word = load_symbol::<ReadDoubleWordFn>(lib, b"readDoubleWord")?; let read_double_word = load_symbol::<ReadDoubleWordFn>(lib, b"readDoubleWord")?;
let read_long_word = load_symbol::<ReadLongWordFn>(lib, b"readLongWord")?; let read_long_word = load_symbol::<ReadLongWordFn>(lib, b"readLongWord")?;
let read_next_event = load_symbol::<ReadNextEventFn>(lib, b"readNextEvent")?; let read_next_event = load_symbol::<ReadNextEventFn>(lib, b"readNextEvent")?;
let read_next_event_with_ncu_index = let read_next_event_with_ncu_index = load_symbol::<ReadNextEventWithNcuIndexFn>(
load_symbol::<ReadNextEventWithNcuIndexFn>(lib, b"readNextEventWithNcuIndex")?; lib,
b"readNextEventWithNcuIndex"
)?;
let write_bit = load_symbol::<WriteBitFn>(lib, b"writeBit")?; let write_bit = load_symbol::<WriteBitFn>(lib, b"writeBit")?;
let write_bool = load_symbol::<WriteBoolFn>(lib, b"writeBool")?; let write_bool = load_symbol::<WriteBoolFn>(lib, b"writeBool")?;
let write_byte = load_symbol::<WriteByteFn>(lib, b"writeByte")?; let write_byte = load_symbol::<WriteByteFn>(lib, b"writeByte")?;
@@ -513,20 +541,34 @@ impl OpenApi {
let delete_directory = load_symbol::<DeleteDirectoryFn>(lib, b"deleteDirectory")?; let delete_directory = load_symbol::<DeleteDirectoryFn>(lib, b"deleteDirectory")?;
let create_directory = load_symbol::<CreateDirectoryFn>(lib, b"createDirectory")?; let create_directory = load_symbol::<CreateDirectoryFn>(lib, b"createDirectory")?;
let list_directory = load_symbol::<ListDirectoryFn>(lib, b"listDirectory")?; let list_directory = load_symbol::<ListDirectoryFn>(lib, b"listDirectory")?;
let get_version_information = let get_version_information = load_symbol::<GetVersionInformationFn>(
load_symbol::<GetVersionInformationFn>(lib, b"getVersionInformation")?; lib,
let get_project_information = b"getVersionInformation"
load_symbol::<GetProjectInformationFn>(lib, b"getProjectInformation")?; )?;
let get_current_project_information = let get_project_information = load_symbol::<GetProjectInformationFn>(
load_symbol::<GetCurrentProjectInformationFn>(lib, b"getCurrentProjectInformation")?; lib,
let get_current_project_state = b"getProjectInformation"
load_symbol::<GetCurrentProjectStateFn>(lib, b"getCurrentProjectState")?; )?;
let import_project_settings = let get_current_project_information = load_symbol::<GetCurrentProjectInformationFn>(
load_symbol::<ImportProjectSettingsFn>(lib, b"importProjectSettings")?; lib,
let export_project_settings = b"getCurrentProjectInformation"
load_symbol::<ExportProjectSettingsFn>(lib, b"exportProjectSettings")?; )?;
let write_unsigned_integer_8_bit_array = let get_current_project_state = load_symbol::<GetCurrentProjectStateFn>(
load_symbol::<WriteUnsignedInteger8BitArrayFn>(lib, b"writeUnsignedInteger8BitArray")?; lib,
b"getCurrentProjectState"
)?;
let import_project_settings = load_symbol::<ImportProjectSettingsFn>(
lib,
b"importProjectSettings"
)?;
let export_project_settings = load_symbol::<ExportProjectSettingsFn>(
lib,
b"exportProjectSettings"
)?;
let write_unsigned_integer_8_bit_array = load_symbol::<WriteUnsignedInteger8BitArrayFn>(
lib,
b"writeUnsignedInteger8BitArray"
)?;
let get_number_of_ncus = load_symbol::<GetNumberOfNcusFn>(lib, b"getNumberOfNCUs")?; let get_number_of_ncus = load_symbol::<GetNumberOfNcusFn>(lib, b"getNumberOfNCUs")?;
Ok(Self { Ok(Self {
@@ -635,7 +677,7 @@ impl OpenApi {
pub unsafe fn create_project( pub unsafe fn create_project(
&self, &self,
str_file_name: PCWSTR, str_file_name: PCWSTR,
str_version: PCWSTR, str_version: PCWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.create_project)(str_file_name, str_version) } unsafe { (self.create_project)(str_file_name, str_version) }
} }
@@ -645,7 +687,7 @@ impl OpenApi {
&self, &self,
str_file_name: PCWSTR, str_file_name: PCWSTR,
str_version: PCWSTR, str_version: PCWSTR,
str_nck_scaling: PCWSTR, str_nck_scaling: PCWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.create_project_with_scaling)(str_file_name, str_version, str_nck_scaling) } unsafe { (self.create_project_with_scaling)(str_file_name, str_version, str_nck_scaling) }
} }
@@ -656,14 +698,14 @@ impl OpenApi {
str_file_name: PCWSTR, str_file_name: PCWSTR,
str_version: PCWSTR, str_version: PCWSTR,
str_nck_scaling: PCWSTR, str_nck_scaling: PCWSTR,
ncu_number: u32, ncu_number: u32
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { unsafe {
(self.create_project_with_scaling_ncu_number)( (self.create_project_with_scaling_ncu_number)(
str_file_name, str_file_name,
str_version, str_version,
str_nck_scaling, str_nck_scaling,
ncu_number, ncu_number
) )
} }
} }
@@ -697,7 +739,7 @@ impl OpenApi {
pub unsafe fn register_for_events( pub unsafe fn register_for_events(
&self, &self,
event_list_length: u32, event_list_length: u32,
event_list: *const OpenEventMaskDefinition, event_list: *const OpenEventMaskDefinition
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.register_for_events)(event_list_length, event_list) } unsafe { (self.register_for_events)(event_list_length, event_list) }
} }
@@ -721,7 +763,7 @@ impl OpenApi {
pub unsafe fn get_dictionary_id( pub unsafe fn get_dictionary_id(
&self, &self,
dictionary_element: PCWSTR, dictionary_element: PCWSTR,
dictionary_id: *mut u32, dictionary_id: *mut u32
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.get_dictionary_id)(dictionary_element, dictionary_id) } unsafe { (self.get_dictionary_id)(dictionary_element, dictionary_id) }
} }
@@ -730,7 +772,7 @@ impl OpenApi {
pub unsafe fn register_watch( pub unsafe fn register_watch(
&self, &self,
watch_list_length: u32, watch_list_length: u32,
dictionary_id_list: *const u32, dictionary_id_list: *const u32
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.register_watch)(watch_list_length, dictionary_id_list) } unsafe { (self.register_watch)(watch_list_length, dictionary_id_list) }
} }
@@ -744,7 +786,7 @@ impl OpenApi {
pub unsafe fn get_dictionary_element_type( pub unsafe fn get_dictionary_element_type(
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value: *mut u8, value: *mut u8
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.get_dictionary_element_type)(dictionary_id, value) } unsafe { (self.get_dictionary_element_type)(dictionary_id, value) }
} }
@@ -754,13 +796,13 @@ impl OpenApi {
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value_list_max_length: u32, value_list_max_length: u32,
value_list: *mut u64, value_list: *mut u64
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { unsafe {
(self.read_unsigned_integer_64_bit_array)( (self.read_unsigned_integer_64_bit_array)(
dictionary_id, dictionary_id,
value_list_max_length, value_list_max_length,
value_list, value_list
) )
} }
} }
@@ -770,13 +812,13 @@ impl OpenApi {
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value_list_max_length: u32, value_list_max_length: u32,
value_list: *mut i32, value_list: *mut i32
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { unsafe {
(self.read_signed_integer_32_bit_array)( (self.read_signed_integer_32_bit_array)(
dictionary_id, dictionary_id,
value_list_max_length, value_list_max_length,
value_list, value_list
) )
} }
} }
@@ -786,13 +828,13 @@ impl OpenApi {
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value_list_max_length: u32, value_list_max_length: u32,
value_list: *mut u32, value_list: *mut u32
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { unsafe {
(self.read_unsigned_integer_32_bit_array)( (self.read_unsigned_integer_32_bit_array)(
dictionary_id, dictionary_id,
value_list_max_length, value_list_max_length,
value_list, value_list
) )
} }
} }
@@ -802,13 +844,13 @@ impl OpenApi {
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value_list_max_length: u32, value_list_max_length: u32,
value_list: *mut u16, value_list: *mut u16
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { unsafe {
(self.read_unsigned_integer_16_bit_array)( (self.read_unsigned_integer_16_bit_array)(
dictionary_id, dictionary_id,
value_list_max_length, value_list_max_length,
value_list, value_list
) )
} }
} }
@@ -818,13 +860,13 @@ impl OpenApi {
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value_list_max_length: u32, value_list_max_length: u32,
value_list: *mut u8, value_list: *mut u8
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { unsafe {
(self.read_unsigned_integer_8_bit_array)( (self.read_unsigned_integer_8_bit_array)(
dictionary_id, dictionary_id,
value_list_max_length, value_list_max_length,
value_list, value_list
) )
} }
} }
@@ -834,7 +876,7 @@ impl OpenApi {
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value_list_max_length: u32, value_list_max_length: u32,
value_list: *mut bool, value_list: *mut bool
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.read_bool_array)(dictionary_id, value_list_max_length, value_list) } unsafe { (self.read_bool_array)(dictionary_id, value_list_max_length, value_list) }
} }
@@ -844,7 +886,7 @@ impl OpenApi {
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value_list_max_length: u32, value_list_max_length: u32,
value_list: *mut f64, value_list: *mut f64
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.read_double_array)(dictionary_id, value_list_max_length, value_list) } unsafe { (self.read_double_array)(dictionary_id, value_list_max_length, value_list) }
} }
@@ -854,7 +896,7 @@ impl OpenApi {
&self, &self,
dictionary_id: u32, dictionary_id: u32,
string_max_length: u32, string_max_length: u32,
string_buffer: PWSTR, string_buffer: PWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.read_string)(dictionary_id, string_max_length, string_buffer) } unsafe { (self.read_string)(dictionary_id, string_max_length, string_buffer) }
} }
@@ -865,14 +907,14 @@ impl OpenApi {
dictionary_id: u32, dictionary_id: u32,
string_array_max_length: u32, string_array_max_length: u32,
string_max_length: u32, string_max_length: u32,
string_array: PPWSTR, string_array: PPWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { unsafe {
(self.read_string_array)( (self.read_string_array)(
dictionary_id, dictionary_id,
string_array_max_length, string_array_max_length,
string_max_length, string_max_length,
string_array, string_array
) )
} }
} }
@@ -881,7 +923,7 @@ impl OpenApi {
pub unsafe fn read_unsigned_integer_16_bit( pub unsafe fn read_unsigned_integer_16_bit(
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value: *mut u16, value: *mut u16
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.read_unsigned_integer_16_bit)(dictionary_id, value) } unsafe { (self.read_unsigned_integer_16_bit)(dictionary_id, value) }
} }
@@ -890,7 +932,7 @@ impl OpenApi {
pub unsafe fn read_signed_integer_16_bit( pub unsafe fn read_signed_integer_16_bit(
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value: *mut i16, value: *mut i16
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.read_signed_integer_16_bit)(dictionary_id, value) } unsafe { (self.read_signed_integer_16_bit)(dictionary_id, value) }
} }
@@ -899,7 +941,7 @@ impl OpenApi {
pub unsafe fn read_unsigned_integer_32_bit( pub unsafe fn read_unsigned_integer_32_bit(
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value: *mut u32, value: *mut u32
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.read_unsigned_integer_32_bit)(dictionary_id, value) } unsafe { (self.read_unsigned_integer_32_bit)(dictionary_id, value) }
} }
@@ -908,7 +950,7 @@ impl OpenApi {
pub unsafe fn read_signed_integer_32_bit( pub unsafe fn read_signed_integer_32_bit(
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value: *mut i32, value: *mut i32
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.read_signed_integer_32_bit)(dictionary_id, value) } unsafe { (self.read_signed_integer_32_bit)(dictionary_id, value) }
} }
@@ -917,7 +959,7 @@ impl OpenApi {
pub unsafe fn read_unsigned_integer_64_bit( pub unsafe fn read_unsigned_integer_64_bit(
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value: *mut u64, value: *mut u64
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.read_unsigned_integer_64_bit)(dictionary_id, value) } unsafe { (self.read_unsigned_integer_64_bit)(dictionary_id, value) }
} }
@@ -926,7 +968,7 @@ impl OpenApi {
pub unsafe fn read_signed_integer_64_bit( pub unsafe fn read_signed_integer_64_bit(
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value: *mut i64, value: *mut i64
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.read_signed_integer_64_bit)(dictionary_id, value) } unsafe { (self.read_signed_integer_64_bit)(dictionary_id, value) }
} }
@@ -935,7 +977,7 @@ impl OpenApi {
pub unsafe fn get_num_array_elements( pub unsafe fn get_num_array_elements(
&self, &self,
dictionary_id: u32, dictionary_id: u32,
num_array_elements: *mut u32, num_array_elements: *mut u32
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.get_num_array_elements)(dictionary_id, num_array_elements) } unsafe { (self.get_num_array_elements)(dictionary_id, num_array_elements) }
} }
@@ -984,7 +1026,7 @@ impl OpenApi {
pub unsafe fn read_next_event_with_ncu_index( pub unsafe fn read_next_event_with_ncu_index(
&self, &self,
event: *mut u64, event: *mut u64,
ncu_index: *mut i32, ncu_index: *mut i32
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.read_next_event_with_ncu_index)(event, ncu_index) } unsafe { (self.read_next_event_with_ncu_index)(event, ncu_index) }
} }
@@ -1029,7 +1071,7 @@ impl OpenApi {
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value_list_length: u32, value_list_length: u32,
value_list: *const bool, value_list: *const bool
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.write_bool_array)(dictionary_id, value_list_length, value_list) } unsafe { (self.write_bool_array)(dictionary_id, value_list_length, value_list) }
} }
@@ -1048,7 +1090,7 @@ impl OpenApi {
pub unsafe fn get_card_path( pub unsafe fn get_card_path(
&self, &self,
card_path_max_length: u32, card_path_max_length: u32,
card_path: PWSTR, card_path: PWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.get_card_path)(card_path_max_length, card_path) } unsafe { (self.get_card_path)(card_path_max_length, card_path) }
} }
@@ -1058,14 +1100,10 @@ impl OpenApi {
&self, &self,
card_paths_array_max_length: u32, card_paths_array_max_length: u32,
card_path_max_length: u32, card_path_max_length: u32,
card_paths: PPWSTR, card_paths: PPWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { unsafe {
(self.get_card_paths)( (self.get_card_paths)(card_paths_array_max_length, card_path_max_length, card_paths)
card_paths_array_max_length,
card_path_max_length,
card_paths,
)
} }
} }
@@ -1073,7 +1111,7 @@ impl OpenApi {
pub unsafe fn get_file( pub unsafe fn get_file(
&self, &self,
source_file_path: PCWSTR, source_file_path: PCWSTR,
destination_file_path: PCWSTR, destination_file_path: PCWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.get_file)(source_file_path, destination_file_path) } unsafe { (self.get_file)(source_file_path, destination_file_path) }
} }
@@ -1082,7 +1120,7 @@ impl OpenApi {
pub unsafe fn put_file( pub unsafe fn put_file(
&self, &self,
source_file_path: PCWSTR, source_file_path: PCWSTR,
destination_file_path: PCWSTR, destination_file_path: PCWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.put_file)(source_file_path, destination_file_path) } unsafe { (self.put_file)(source_file_path, destination_file_path) }
} }
@@ -1091,7 +1129,7 @@ impl OpenApi {
pub unsafe fn select_file( pub unsafe fn select_file(
&self, &self,
source_file_path: PCWSTR, source_file_path: PCWSTR,
channel_name: PCWSTR, channel_name: PCWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.select_file)(source_file_path, channel_name) } unsafe { (self.select_file)(source_file_path, channel_name) }
} }
@@ -1115,7 +1153,7 @@ impl OpenApi {
pub unsafe fn list_directory( pub unsafe fn list_directory(
&self, &self,
directory_path: PCWSTR, directory_path: PCWSTR,
result_file_path: PCWSTR, result_file_path: PCWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.list_directory)(directory_path, result_file_path) } unsafe { (self.list_directory)(directory_path, result_file_path) }
} }
@@ -1129,7 +1167,7 @@ impl OpenApi {
pub unsafe fn get_project_information( pub unsafe fn get_project_information(
&self, &self,
vcp_file_path: PCWSTR, vcp_file_path: PCWSTR,
destination_file_path: PCWSTR, destination_file_path: PCWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.get_project_information)(vcp_file_path, destination_file_path) } unsafe { (self.get_project_information)(vcp_file_path, destination_file_path) }
} }
@@ -1137,7 +1175,7 @@ impl OpenApi {
#[inline] #[inline]
pub unsafe fn get_current_project_information( pub unsafe fn get_current_project_information(
&self, &self,
destination_file_path: PCWSTR, destination_file_path: PCWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.get_current_project_information)(destination_file_path) } unsafe { (self.get_current_project_information)(destination_file_path) }
} }
@@ -1145,7 +1183,7 @@ impl OpenApi {
#[inline] #[inline]
pub unsafe fn get_current_project_state( pub unsafe fn get_current_project_state(
&self, &self,
project_state: *mut OpenProjectStates, project_state: *mut OpenProjectStates
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.get_current_project_state)(project_state) } unsafe { (self.get_current_project_state)(project_state) }
} }
@@ -1154,7 +1192,7 @@ impl OpenApi {
pub unsafe fn import_project_settings( pub unsafe fn import_project_settings(
&self, &self,
file_name: PCWSTR, file_name: PCWSTR,
import_content_file_name: PCWSTR, import_content_file_name: PCWSTR
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { (self.import_project_settings)(file_name, import_content_file_name) } unsafe { (self.import_project_settings)(file_name, import_content_file_name) }
} }
@@ -1169,13 +1207,13 @@ impl OpenApi {
&self, &self,
dictionary_id: u32, dictionary_id: u32,
value_list_max_length: u32, value_list_max_length: u32,
value_list: *const u8, value_list: *const u8
) -> OpenReturnCodes { ) -> OpenReturnCodes {
unsafe { unsafe {
(self.write_unsigned_integer_8_bit_array)( (self.write_unsigned_integer_8_bit_array)(
dictionary_id, dictionary_id,
value_list_max_length, value_list_max_length,
value_list, value_list
) )
} }
} }