Struct emf_core_base_rs::CBaseRef[][src]

pub struct CBaseRef<'interface> { /* fields omitted */ }

Borrowed emf-core-base interface.

Implementations

impl CBaseRef<'_>[src]

pub unsafe fn new(interface: NonNullConst<CBaseInterface>) -> Self[src]

Constructs itself using the native interface.

Safety

This function is unsafe, as it enables bypassing the locking mechanism.

Trait Implementations

impl<'interface> CBaseInterfaceInfo for CBaseRef<'interface>[src]

type Interface = CBaseInterface

Type of the interface.

fn interface_version(&self) -> Version[src]

Returns the version of the interface.

fn internal_interface(&self) -> &Self::Interface[src]

Fetches the internal low-level interface.

impl<'interface> Debug for CBaseRef<'interface>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl LibraryBinding for CBaseRef<'_>[src]

unsafe fn register_loader(
    &mut self,
    loader: NonNullConst<LibraryLoaderInterface>,
    lib_type: NonNullConst<LibraryType>
) -> Result<LoaderHandle, Error>
[src]

Registers a new loader. Read more

unsafe fn unregister_loader(
    &mut self,
    handle: LoaderHandle
) -> Result<i8, Error>
[src]

Unregisters an existing loader. Read more

unsafe fn get_loader_interface(
    &mut self,
    handle: LoaderHandle
) -> Result<NonNullConst<LibraryLoaderInterface>, Error>
[src]

Fetches the interface of a library loader. Read more

unsafe fn get_loader_handle_from_type(
    &self,
    lib_type: NonNullConst<LibraryType>
) -> Result<LoaderHandle, Error>
[src]

Fetches the loader handle associated with the library type. Read more

unsafe fn get_loader_handle_from_library(
    &self,
    handle: LibraryHandle
) -> Result<LoaderHandle, Error>
[src]

Fetches the loader handle linked with the library handle. Read more

unsafe fn get_num_loaders(&self) -> usize[src]

Fetches the number of registered loaders. Read more

unsafe fn library_exists(&self, handle: LibraryHandle) -> Bool[src]

Checks if a the library handle is valid. Read more

unsafe fn type_exists(&self, lib_type: NonNullConst<LibraryType>) -> Bool[src]

Checks if a library type exists. Read more

unsafe fn get_library_types(
    &self,
    buffer: NonNull<MutSpan<LibraryType>>
) -> Result<usize, Error>
[src]

Copies the strings of the registered library types into a buffer. Read more

unsafe fn create_library_handle(&mut self) -> LibraryHandle[src]

Creates a new unlinked library handle. Read more

unsafe fn remove_library_handle(
    &mut self,
    handle: LibraryHandle
) -> Result<i8, Error>
[src]

Removes an existing library handle. Read more

Links a library handle to an internal library handle. Read more

unsafe fn get_internal_library_handle(
    &self,
    handle: LibraryHandle
) -> Result<InternalHandle, Error>
[src]

Fetches the internal handle linked with the library handle. Read more

unsafe fn load(
    &mut self,
    loader: LoaderHandle,
    path: NonNullConst<OSPathChar>
) -> Result<LibraryHandle, Error>
[src]

Loads a library. The resulting handle is unique. Read more

unsafe fn unload(&mut self, handle: LibraryHandle) -> Result<i8, Error>[src]

Unloads a library. Read more

unsafe fn get_data_symbol(
    &self,
    handle: LibraryHandle,
    symbol: NonNullConst<u8>
) -> Result<Symbol<NonNullConst<c_void>>, Error>
[src]

Fetches a data symbol from a library. Read more

unsafe fn get_function_symbol(
    &self,
    handle: LibraryHandle,
    symbol: NonNullConst<u8>
) -> Result<Symbol<fn()>, Error>
[src]

Fetches a function symbol from a library. Read more

impl ModuleBinding for CBaseRef<'_>[src]

unsafe fn register_loader(
    &mut self,
    loader: NonNullConst<ModuleLoaderInterface>,
    mod_type: NonNullConst<ModuleType>
) -> Result<LoaderHandle, Error>
[src]

Registers a new module loader. Read more

unsafe fn unregister_loader(
    &mut self,
    loader: LoaderHandle
) -> Result<i8, Error>
[src]

Unregisters an existing module loader. Read more

unsafe fn get_loader_interface(
    &mut self,
    loader: LoaderHandle
) -> Result<NonNullConst<ModuleLoaderInterface>, Error>
[src]

Fetches the interface of a module loader. Read more

unsafe fn get_loader_handle_from_type(
    &self,
    mod_type: NonNullConst<ModuleType>
) -> Result<LoaderHandle, Error>
[src]

Fetches the handle of the loader associated with a module type. Read more

unsafe fn get_loader_handle_from_module(
    &self,
    handle: ModuleHandle
) -> Result<LoaderHandle, Error>
[src]

Fetches the handle of the loader linked with the module handle. Read more

unsafe fn get_num_modules(&self) -> usize[src]

Fetches the number of loaded modules. Read more

unsafe fn get_num_loaders(&self) -> usize[src]

Fetches the number of loaders. Read more

unsafe fn get_num_exported_interfaces(&self) -> usize[src]

Fetches the number of exported interfaces. Read more

unsafe fn module_exists(&self, handle: ModuleHandle) -> Bool[src]

Checks if a module exists. Read more

unsafe fn type_exists(&self, mod_type: NonNullConst<ModuleType>) -> Bool[src]

Checks if a module type exists. Read more

unsafe fn exported_interface_exists(
    &self,
    interface: NonNullConst<InterfaceDescriptor>
) -> Bool
[src]

Checks whether an exported interface exists. Read more

unsafe fn get_modules(
    &self,
    buffer: NonNull<MutSpan<ModuleInfo>>
) -> Result<usize, Error>
[src]

Copies the available module info into a buffer. Read more

unsafe fn get_module_types(
    &self,
    buffer: NonNull<MutSpan<ModuleType>>
) -> Result<usize, Error>
[src]

Copies the available module types into a buffer. Read more

unsafe fn get_exported_interfaces(
    &self,
    buffer: NonNull<MutSpan<InterfaceDescriptor>>
) -> Result<usize, Error>
[src]

Copies the descriptors of the exported interfaces into a buffer. Read more

unsafe fn get_exported_interface_handle(
    &self,
    interface: NonNullConst<InterfaceDescriptor>
) -> Result<ModuleHandle, Error>
[src]

Fetches the module handle of the exported interface. Read more

unsafe fn create_module_handle(&mut self) -> ModuleHandle[src]

Creates a new unlinked module handle. Read more

unsafe fn remove_module_handle(
    &mut self,
    handle: ModuleHandle
) -> Result<i8, Error>
[src]

Removes an existing module handle. Read more

Links a module handle to an internal module handle. Read more

unsafe fn get_internal_module_handle(
    &self,
    handle: ModuleHandle
) -> Result<InternalHandle, Error>
[src]

Fetches the internal handle linked with the module handle. Read more

unsafe fn add_module(
    &mut self,
    loader: LoaderHandle,
    path: NonNullConst<OSPathChar>
) -> Result<ModuleHandle, Error>
[src]

Adds a new module. Read more

unsafe fn remove_module(&mut self, handle: ModuleHandle) -> Result<i8, Error>[src]

Removes a module. Read more

unsafe fn load(&mut self, handle: ModuleHandle) -> Result<i8, Error>[src]

Loads a module. Read more

unsafe fn unload(&mut self, handle: ModuleHandle) -> Result<i8, Error>[src]

Unloads a module. Read more

unsafe fn initialize(&mut self, handle: ModuleHandle) -> Result<i8, Error>[src]

Initializes a module. Read more

unsafe fn terminate(&mut self, handle: ModuleHandle) -> Result<i8, Error>[src]

Terminates a module. Read more

unsafe fn add_dependency(
    &mut self,
    handle: ModuleHandle,
    interface: NonNullConst<InterfaceDescriptor>
) -> Result<i8, Error>
[src]

Registers a new runtime dependency of the module. Read more

unsafe fn remove_dependency(
    &mut self,
    handle: ModuleHandle,
    interface: NonNullConst<InterfaceDescriptor>
) -> Result<i8, Error>
[src]

Removes an existing runtime dependency from the module. Read more

unsafe fn export_interface(
    &mut self,
    handle: ModuleHandle,
    interface: NonNullConst<InterfaceDescriptor>
) -> Result<i8, Error>
[src]

Exports an interface of a module. Read more

unsafe fn get_load_dependencies(
    &self,
    handle: ModuleHandle
) -> Result<ConstSpan<InterfaceDescriptor>, Error>
[src]

Fetches the load dependencies of a module. Read more

unsafe fn get_runtime_dependencies(
    &self,
    handle: ModuleHandle
) -> Result<ConstSpan<InterfaceDescriptor>, Error>
[src]

Fetches the runtime dependencies of a module. Read more

unsafe fn get_exportable_interfaces(
    &self,
    handle: ModuleHandle
) -> Result<ConstSpan<InterfaceDescriptor>, Error>
[src]

Fetches the exportable interfaces of a module. Read more

unsafe fn fetch_status(
    &self,
    handle: ModuleHandle
) -> Result<ModuleStatus, Error>
[src]

Fetches the load status of a module. Read more

unsafe fn get_module_path(
    &self,
    handle: ModuleHandle
) -> Result<NonNullConst<OSPathChar>, Error>
[src]

Fetches the path a module was loaded from. Read more

unsafe fn get_module_info(
    &self,
    handle: ModuleHandle
) -> Result<NonNullConst<ModuleInfo>, Error>
[src]

Fetches the module info from a module. Read more

unsafe fn get_interface(
    &self,
    handle: ModuleHandle,
    interface: NonNullConst<InterfaceDescriptor>
) -> Result<Interface, Error>
[src]

Fetches an interface from a module. Read more

impl SysBinding for CBaseRef<'_>[src]

unsafe fn shutdown(&mut self) -> ![src]

Sends a termination signal. Read more

unsafe fn panic(&self, error: Option<NonNullConst<u8>>) -> ![src]

Execution of the program is stopped abruptly. The error may be logged. Read more

unsafe fn has_function(&self, id: FnId) -> Bool[src]

Checks if a function is implemented. Read more

unsafe fn get_function(&self, id: FnId) -> Optional<fn()>[src]

Fetches a function from the interface. Read more

unsafe fn lock(&self)[src]

Locks the interface. Read more

unsafe fn try_lock(&self) -> Bool[src]

Tries to lock the interface. Read more

unsafe fn unlock(&self)[src]

Unlocks the interface. Read more

unsafe fn get_sync_handler(&self) -> NonNullConst<SyncHandlerInterface>[src]

Fetches the active synchronization handler. Read more

unsafe fn set_sync_handler(
    &mut self,
    handler: Option<NonNullConst<SyncHandlerInterface>>
)
[src]

Sets a new synchronization handler. Read more

impl VersionBinding for CBaseRef<'_>[src]

unsafe fn new_short(&self, major: i32, minor: i32, patch: i32) -> Version[src]

Constructs a new version. Read more

unsafe fn new_long(
    &self,
    major: i32,
    minor: i32,
    patch: i32,
    release_type: ReleaseType,
    release_number: i8
) -> Version
[src]

Constructs a new version. Read more

unsafe fn new_full(
    &self,
    major: i32,
    minor: i32,
    patch: i32,
    release_type: ReleaseType,
    release_number: i8,
    build: i64
) -> Version
[src]

Constructs a new version. Read more

unsafe fn from_string(
    &self,
    buffer: NonNullConst<ConstSpan<u8>>
) -> Result<Version, Error>
[src]

Constructs a version from a string. Read more

unsafe fn string_length_short(&self, version: NonNullConst<Version>) -> usize[src]

Computes the length of the short version string. Read more

unsafe fn string_length_long(&self, version: NonNullConst<Version>) -> usize[src]

Computes the length of the long version string. Read more

unsafe fn string_length_full(&self, version: NonNullConst<Version>) -> usize[src]

Computes the length of the full version string. Read more

unsafe fn as_string_short(
    &self,
    version: NonNullConst<Version>,
    buffer: NonNull<MutSpan<u8>>
) -> Result<usize, Error>
[src]

Represents the version as a short string. Read more

unsafe fn as_string_long(
    &self,
    version: NonNullConst<Version>,
    buffer: NonNull<MutSpan<u8>>
) -> Result<usize, Error>
[src]

Represents the version as a long string. Read more

unsafe fn as_string_full(
    &self,
    version: NonNullConst<Version>,
    buffer: NonNull<MutSpan<u8>>
) -> Result<usize, Error>
[src]

Represents the version as a full string. Read more

unsafe fn string_is_valid(
    &self,
    version_string: NonNullConst<ConstSpan<u8>>
) -> Bool
[src]

Checks whether the version string is valid. Read more

unsafe fn compare(
    &self,
    lhs: NonNullConst<Version>,
    rhs: NonNullConst<Version>
) -> i32
[src]

Compares two versions. Read more

unsafe fn compare_weak(
    &self,
    lhs: NonNullConst<Version>,
    rhs: NonNullConst<Version>
) -> i32
[src]

Compares two versions. Read more

unsafe fn compare_strong(
    &self,
    lhs: NonNullConst<Version>,
    rhs: NonNullConst<Version>
) -> i32
[src]

Compares two versions. Read more

unsafe fn is_compatible(
    &self,
    lhs: NonNullConst<Version>,
    rhs: NonNullConst<Version>
) -> Bool
[src]

Checks for compatibility of two versions. Read more

Auto Trait Implementations

impl<'interface> RefUnwindSafe for CBaseRef<'interface>

impl<'interface> !Send for CBaseRef<'interface>

impl<'interface> !Sync for CBaseRef<'interface>

impl<'interface> Unpin for CBaseRef<'interface>

impl<'interface> UnwindSafe for CBaseRef<'interface>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<'interface, T> SysAPI<'interface> for T where
    T: SysBinding
[src]

pub fn shutdown(&mut Self) -> ![src]

Sends a termination signal.

pub fn get_sync_handler<U>(&Self) -> <U as SyncHandlerAPI<'interface>>::Handler where
    U: SyncHandlerAPI<'interface>, 
[src]

Fetches the active synchronization handler. Read more

pub unsafe fn set_sync_handler(
    &mut Self,
    Option<&impl SyncHandlerAPI<'interface>>
)
[src]

Sets a new synchronization handler. Read more

impl<'interface, T> SysAPIMin<'interface> for T where
    T: SysBinding
[src]

pub fn panic(&Self, Option<impl AsRef<CStr>>) -> ![src]

Execution of the program is stopped abruptly. The error may be logged.

pub fn has_function<U>(&Self) -> bool where
    U: FnCaster
[src]

Checks if a function is implemented. Read more

pub fn get_function<U>(&Self, &U) -> Option<<U as FnCaster>::Type> where
    U: FnCaster
[src]

Fetches a function from the interface. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> VersionAPI for T where
    T: VersionBinding
[src]

pub fn new_short(&Self, i32, i32, i32) -> Version[src]

Constructs a new version. Read more

pub fn new_long(&Self, i32, i32, i32, ReleaseType, i8) -> Version[src]

Constructs a new version. Read more

pub fn new_full(&Self, i32, i32, i32, ReleaseType, i8, i64) -> Version[src]

Constructs a new version. Read more

pub fn from_string(&Self, impl AsRef<str>) -> Result<Version, Error>[src]

Constructs a version from a string. Read more

pub fn string_length_short(&Self, &Version) -> usize[src]

Computes the length of the short version string. Read more

pub fn string_length_long(&Self, &Version) -> usize[src]

Computes the length of the long version string. Read more

pub fn string_length_full(&Self, &Version) -> usize[src]

Computes the length of the full version string. Read more

pub fn as_string_short(&Self, &Version, impl AsMut<str>) -> Result<usize, Error>[src]

Represents the version as a short string. Read more

pub fn as_string_long(&Self, &Version, impl AsMut<str>) -> Result<usize, Error>[src]

Represents the version as a long string. Read more

pub fn as_string_full(&Self, &Version, impl AsMut<str>) -> Result<usize, Error>[src]

Represents the version as a full string. Read more

pub fn string_is_valid(&Self, impl AsRef<str>) -> bool[src]

Checks whether the version string is valid. Read more

pub fn compare(&Self, &Version, &Version) -> Ordering[src]

Compares two versions. Read more

pub fn compare_weak(&Self, &Version, &Version) -> Ordering[src]

Compares two versions. Read more

pub fn compare_strong(&Self, &Version, &Version) -> Ordering[src]

Compares two versions. Read more

pub fn is_compatible(&Self, &Version, &Version) -> bool[src]

Checks for compatibility of two versions. Read more