Struct glib::object::InterfaceRef
source · pub struct InterfaceRef<'a, T: IsInterface>(NonNull<Interface<T>>, bool, PhantomData<&'a ()>);
Expand description
Reference to a class struct of type T
.
Tuple Fields§
§0: NonNull<Interface<T>>
§1: bool
§2: PhantomData<&'a ()>
Methods from Deref<Target = 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 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.
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.