Skip to main content

IComponentVTable

Struct IComponentVTable 

Source
#[repr(C)]
pub struct IComponentVTable {
Show 16 fields pub get_extension: unsafe extern "thiscall" fn(*mut OmpComponent, u64) -> *mut (), pub add_extension: unsafe extern "thiscall" fn(*mut OmpComponent, *mut (), bool) -> bool, pub remove_extension_ptr: unsafe extern "thiscall" fn(*mut OmpComponent, *mut ()) -> bool, pub remove_extension_uid: unsafe extern "thiscall" fn(*mut OmpComponent, u64) -> bool, pub destructor: unsafe extern "thiscall" fn(), pub supported_version: unsafe extern "thiscall" fn() -> i32, pub component_name: unsafe extern "thiscall" fn(), pub component_type: unsafe extern "thiscall" fn() -> i32, pub component_version: unsafe extern "thiscall" fn(), pub on_load: unsafe extern "thiscall" fn(*mut OmpComponent, *mut ICore), pub on_init: unsafe extern "thiscall" fn(*mut OmpComponent, *mut IComponentList), pub on_ready: unsafe extern "thiscall" fn(), pub on_free: unsafe extern "thiscall" fn(*mut OmpComponent, *mut OmpComponent), pub provide_configuration: unsafe extern "thiscall" fn(*mut OmpComponent, *mut ILogger, *mut IEarlyConfig, bool), pub free: unsafe extern "thiscall" fn(), pub reset: unsafe extern "thiscall" fn(),
}
Expand description

Primary IComponent vtable for the MSVC ABI (Windows).

Calling convention: extern "thiscall" (this in ECX).

MSVC i686 with single inheritance generates a single destructor slot (scalar deleting). The destructor sits at the position where ~IExtensible() was declared (after the other IExtensible virtuals): [0] getExtension, [1] addExtension, [2] removeExtension(ptr), [3] removeExtension(UID), [4] ~IExtensible (scalar deleting) IComponent adds: [5] supportedVersion, [6] componentName, [7] componentType, [8] componentVersion, [9] onLoad, [10] onInit, [11] onReady, [12] onFree, [13] provideConfiguration, [14] free, [15] reset

Fields§

§get_extension: unsafe extern "thiscall" fn(*mut OmpComponent, u64) -> *mut ()§add_extension: unsafe extern "thiscall" fn(*mut OmpComponent, *mut (), bool) -> bool§remove_extension_ptr: unsafe extern "thiscall" fn(*mut OmpComponent, *mut ()) -> bool§remove_extension_uid: unsafe extern "thiscall" fn(*mut OmpComponent, u64) -> bool§destructor: unsafe extern "thiscall" fn()§supported_version: unsafe extern "thiscall" fn() -> i32§component_name: unsafe extern "thiscall" fn()§component_type: unsafe extern "thiscall" fn() -> i32§component_version: unsafe extern "thiscall" fn()§on_load: unsafe extern "thiscall" fn(*mut OmpComponent, *mut ICore)§on_init: unsafe extern "thiscall" fn(*mut OmpComponent, *mut IComponentList)§on_ready: unsafe extern "thiscall" fn()§on_free: unsafe extern "thiscall" fn(*mut OmpComponent, *mut OmpComponent)§provide_configuration: unsafe extern "thiscall" fn(*mut OmpComponent, *mut ILogger, *mut IEarlyConfig, bool)§free: unsafe extern "thiscall" fn()§reset: unsafe extern "thiscall" fn()

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.