#[repr(transparent)]pub struct Interface<T: IsInterface>(_);
Expand description
Interface struct of type T
for some type.
Implementations
sourceimpl<T: IsInterface> Interface<T>
impl<T: IsInterface> Interface<T>
sourcepub fn type_(&self) -> Type
pub fn type_(&self) -> Type
Get the type id for this interface.
This is equivalent to T::static_type()
.
sourcepub fn instance_type(&self) -> Type
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.
sourcepub fn from_class<U: IsClass>(klass: &Class<U>) -> Option<InterfaceRef<'_, T>>
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
.
sourcepub fn from_type(type_: Type) -> Option<InterfaceRef<'static, T>>
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.
sourcepub fn default() -> InterfaceRef<'static, T>
pub fn default() -> InterfaceRef<'static, T>
Gets the default interface struct for Self
.
sourcepub fn parent(&self) -> Option<InterfaceRef<'_, T>>
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.
sourceimpl<T: IsA<Object> + IsInterface> Interface<T>
impl<T: IsA<Object> + IsInterface> Interface<T>
sourcepub fn has_property(&self, property_name: &str, type_: Option<Type>) -> bool
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.
sourcepub fn property_type(&self, property_name: &str) -> Option<Type>
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.
sourcepub fn find_property(&self, property_name: &str) -> Option<ParamSpec>
pub fn find_property(&self, property_name: &str) -> Option<ParamSpec>
Get the ParamSpec
of the property property_name
of this interface.
sourcepub fn list_properties(&self) -> PtrSlice<ParamSpec>
pub fn list_properties(&self) -> PtrSlice<ParamSpec>
Return all ParamSpec
of the properties of this interface.
Trait Implementations
sourceimpl<T: IsInterface> AsMut<<T as ObjectType>::GlibClassType> for Interface<T>
impl<T: IsInterface> AsMut<<T as ObjectType>::GlibClassType> for Interface<T>
sourcefn as_mut(&mut self) -> &mut T::GlibClassType
fn as_mut(&mut self) -> &mut T::GlibClassType
Converts this type into a mutable reference of the (usually inferred) input type.
sourceimpl<T: IsInterface> AsRef<<T as ObjectType>::GlibClassType> for Interface<T>
impl<T: IsInterface> AsRef<<T as ObjectType>::GlibClassType> for Interface<T>
sourcefn as_ref(&self) -> &T::GlibClassType
fn as_ref(&self) -> &T::GlibClassType
Converts this type into a shared reference of the (usually inferred) input type.
impl<T: IsInterface> Send for Interface<T>
impl<T: IsInterface> Sync for Interface<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for Interface<T> where
<T as ObjectType>::GlibClassType: RefUnwindSafe,
impl<T> Unpin for Interface<T> where
<T as ObjectType>::GlibClassType: Unpin,
impl<T> UnwindSafe for Interface<T> where
<T as ObjectType>::GlibClassType: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more