Struct glib::object::Interface

source ·
pub struct Interface<T: IsInterface>(/* private fields */);
Expand description

Interface struct of type T for some type.

Implementations§

source§

impl<T: IsInterface> Interface<T>

source

pub fn type_(&self) -> Type

Get the type id for this interface.

This is equivalent to T::static_type().

source

pub fn instance_type(&self) -> Type

Get the type id for the instance type of this interface.

This is not equivalent to T::static_type() but is the type id of the type this specific interface belongs to.

source

pub fn from_class<U: IsClass>(klass: &Class<U>) -> Option<InterfaceRef<'_, T>>

Gets the interface struct for Self of klass.

This will return None if klass is not implementing Self.

source

pub fn from_type(type_: Type) -> Option<InterfaceRef<'static, T>>

Gets the default interface struct for Self.

This will return None if type_ is not an interface.

source

pub fn default() -> InterfaceRef<'static, T>

Gets the default interface struct for Self.

source

pub fn parent(&self) -> Option<InterfaceRef<'_, T>>

Gets the parent interface struct, if any.

This returns the parent interface if a parent type of the instance type also implements the interface.

source§

impl<T: IsA<Object> + IsInterface> Interface<T>

source

pub fn has_property(&self, property_name: &str, type_: Option<Type>) -> bool

Check if this interface has a property property_name of the given type_.

If no type is provided then only the existence of the property is checked.

source

pub fn property_type(&self, property_name: &str) -> Option<Type>

Get the type of the property property_name of this interface.

This returns None if the property does not exist.

source

pub fn find_property(&self, property_name: &str) -> Option<ParamSpec>

Get the ParamSpec of the property property_name of this interface.

source

pub fn list_properties(&self) -> PtrSlice<ParamSpec>

Return all ParamSpec of the properties of this interface.

Trait Implementations§

source§

impl<T: IsInterface> AsMut<<T as ObjectType>::GlibClassType> for Interface<T>

source§

fn as_mut(&mut self) -> &mut T::GlibClassType

Converts this type into a mutable reference of the (usually inferred) input type.
source§

impl<T: IsInterface> AsRef<<T as ObjectType>::GlibClassType> for Interface<T>

source§

fn as_ref(&self) -> &T::GlibClassType

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<T: IsInterface> Send for Interface<T>

source§

impl<T: IsInterface> Sync for Interface<T>

Auto Trait Implementations§

§

impl<T> Freeze for Interface<T>

§

impl<T> RefUnwindSafe for Interface<T>

§

impl<T> Unpin for Interface<T>

§

impl<T> UnwindSafe for Interface<T>

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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.