Struct emf_core_base_rs::library::library_loader::NativeLoaderInternal[][src]

pub struct NativeLoaderInternal<'loader> { /* fields omitted */ }

Native library loader internal interface.

Implementations

impl NativeLoaderInternal<'_>[src]

pub unsafe fn load_ext(
    &mut self,
    path: &impl AsRef<Path>,
    flags: i32
) -> Result<InternalLibrary<Owned>, Error>
[src]

Loads a library. The resulting handle is unique.

The argument flags is passed to dlopen.

Failure

The function fails if path is invalid or the call to dlopen fails.

Return

Handle on success, error otherwise.

Safety

The function crosses the ffi boundary. Direct usage of a NativeLoaderInternal may break some invariants of the library api, if not handled with care.

pub unsafe fn get_native_handle<O>(
    &self,
    internal: &InternalLibrary<O>
) -> Result<NativeLibraryHandle, Error> where
    O: ImmutableAccessIdentifier
[src]

Returns the underlying handle of a library.

Failure

The function fails if internal is invalid.

Return

Handle on success, error otherwise.

Safety

The function crosses the ffi boundary. Direct usage of a NativeLoaderInternal may break some invariants of the library api, if not handled with care.

Methods from Deref<Target = NonNullConst<NativeLibraryLoaderInterface>>

pub unsafe fn into_mut(&self) -> NonNull<T>[src]

Acquires a mutable version of the pointer.

Safety

It is undefined behavior if the underlying pointer is not already mutable.

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

Returns a shared reference to the value.

Safety

The same restrictions as NonNull::as_ref apply.

Trait Implementations

impl<'loader> Clone for NativeLoaderInternal<'loader>[src]

impl<'loader> Copy for NativeLoaderInternal<'loader>[src]

impl<'loader> Debug for NativeLoaderInternal<'loader>[src]

impl Deref for NativeLoaderInternal<'_>[src]

type Target = NonNullConst<NativeLibraryLoaderInterface>

The resulting type after dereferencing.

impl DerefMut for NativeLoaderInternal<'_>[src]

impl<'loader> Eq for NativeLoaderInternal<'loader>[src]

impl<'a> LibraryLoaderAPI<'a> for NativeLoaderInternal<'a>[src]

type InternalLoader = Self

Type of the internal loader.

impl<'loader> Ord for NativeLoaderInternal<'loader>[src]

impl<'loader> PartialEq<NativeLoaderInternal<'loader>> for NativeLoaderInternal<'loader>[src]

impl<'loader> PartialOrd<NativeLoaderInternal<'loader>> for NativeLoaderInternal<'loader>[src]

impl Send for NativeLoaderInternal<'_>[src]

impl<'loader> StructuralEq for NativeLoaderInternal<'loader>[src]

impl<'loader> StructuralPartialEq for NativeLoaderInternal<'loader>[src]

impl Sync for NativeLoaderInternal<'_>[src]

Auto Trait Implementations

impl<'loader> RefUnwindSafe for NativeLoaderInternal<'loader>

impl<'loader> Unpin for NativeLoaderInternal<'loader>

impl<'loader> UnwindSafe for NativeLoaderInternal<'loader>

Blanket Implementations

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

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

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

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.

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.