Struct CobiaIdentification

Source
pub struct CobiaIdentification {
    pub(crate) interface: *mut ICobiaIdentification,
}
Expand description

CobiaIdentification interface smart pointer

Smart pointer for ICobiaIdentification interface.

ICobiaIdentification is typically implemented in objects in ICobiaCollections.

Fields§

§interface: *mut ICobiaIdentification

Implementations§

Source§

impl CobiaIdentification

Source

pub(crate) fn from_interface_pointer( interface: *mut ICobiaIdentification, ) -> Self

Create a new CobiaIdentification from an interface pointer

Not typically called directly. Used by CapeSmartPointer.

§Safety

The interface pointer must be valid and must point to an object that implements the ICobiaIdentification interface.

§Panics

Panics if the interface pointer is null.

§Example
use cobia::*;
use cobia::prelude::*;
cobia::cape_open_initialize().unwrap();
let library_enumerator = cobia::CapeTypeLibraries::new().unwrap();
let libraries = library_enumerator.libraries().unwrap();
if libraries.size() > 0 {
	let library =  libraries.at(0).unwrap();
	println!("Library name: {}", library.get_name().unwrap());
    //create CobiaIdentification from library, undirectly calls from_interface_pointer()
	let iden = cobia::CobiaIdentification::from_object(&library).unwrap(); 
	println!("Library name: {}", iden.get_component_name().unwrap());
}
cobia::cape_open_cleanup();
Source

pub(crate) fn attach(interface: *mut ICobiaIdentification) -> Self

Create a new CobiaIdentification from an interface pointer without adding a reference

Not typically called directly. Used by CapeSmartPointer.

§Safety

The interface pointer must be valid and must point to an object that implements the ICobiaIdentification interface.

§Panics

Panics if the interface pointer is null.

Source

pub fn get_component_name(&self) -> Result<String, COBIAError>

Get the component name

Gets the name of the component

§Example
use cobia::*;
use cobia::prelude::*;
cobia::cape_open_initialize().unwrap();
let library_enumerator = cobia::CapeTypeLibraries::new().unwrap();
let libraries = library_enumerator.libraries().unwrap();
if libraries.size() > 0 {
	let library =  libraries.at(0).unwrap();
	println!("Library name: {}", library.get_name().unwrap());
	let iden = cobia::CobiaIdentification::from_object(&library).unwrap();
	println!("Library name: {}", iden.get_component_name().unwrap());
}
cobia::cape_open_cleanup();
Source

pub fn put_component_name(&self, name: &str) -> Result<(), COBIAError>

Set the component name

Sets the name of the component; typically disallowed.

Only primary PMC objects typically allow for a name change.

This interface however is implemented on object from ICobiaCollection. The put_component_name method is typically not implemented on objects.

Source

pub fn get_component_description(&self) -> Result<String, COBIAError>

Get the component description

Gets the description of the component

§Example
use cobia::*;
use cobia::prelude::*;
cobia::cape_open_initialize().unwrap();
let library_enumerator = cobia::CapeTypeLibraries::new().unwrap();
let libraries = library_enumerator.libraries().unwrap();
if libraries.size() > 0 {
	let library =  libraries.at(0).unwrap();
	println!("Library name: {}", library.get_name().unwrap());
	let iden = cobia::CobiaIdentification::from_object(&library).unwrap();
	println!("Library description: {}", iden.get_component_description().unwrap());
}
cobia::cape_open_cleanup();
Source

pub fn put_component_description( &self, description: &str, ) -> Result<(), COBIAError>

Set the component description

Sets the description of the component; typically disallowed.

Only primary PMC objects typically allow for a description change.

This interface however is implemented on object from ICobiaCollection. The put_component_description method is typically not implemented on objects.

Trait Implementations§

Source§

impl CapeSmartPointer for CobiaIdentification

Source§

type Interface = ICobiaIdentification

Source§

fn as_interface_pointer(&self) -> *mut Self::Interface

Get the interface pointer Read more
Source§

fn as_cape_interface_pointer(&self) -> *mut ICapeInterface

Get the ICapeInterface Read more
Source§

fn get_interface_id() -> &'static CapeUUID

Get the interface ID Read more
Source§

fn from_object<T: CapeSmartPointer>( smart_pointer: &T, ) -> Result<Self, COBIAError>

Get an interface wrapper instance from another object Read more
Source§

fn from_interface_pointer(interface: *mut Self::Interface) -> Self

Get an interface wrapper instance from an interface pointer of the wrapped type Read more
Source§

fn attach(interface: *mut Self::Interface) -> Self

Get an interface wrapper instance from an interface pointer of the wrapped type, without adding a reference Read more
Source§

fn detach(self) -> *mut Self::Interface

Return an interface pointer and release ownership, without decreasing a reference Read more
Source§

fn from_cape_interface_pointer( interface: *mut ICapeInterface, ) -> Result<Self, COBIAError>

Get an interface wrapper instance from any interface pointer Read more
Source§

fn last_error(&self) -> Option<CapeError>

Get the last error Read more
Source§

impl Clone for CobiaIdentification

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Drop for CobiaIdentification

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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.