Trait core_foundation::base::TCFType
source · [−]pub trait TCFType {
type Ref: TCFTypeRef;
fn as_concrete_TypeRef(&self) -> Self::Ref;
unsafe fn wrap_under_create_rule(obj: Self::Ref) -> Self;
fn type_id() -> CFTypeID;
fn as_CFTypeRef(&self) -> CFTypeRef;
unsafe fn wrap_under_get_rule(reference: Self::Ref) -> Self;
fn as_CFType(&self) -> CFType { ... }
fn into_CFType(self) -> CFType
where
Self: Sized,
{ ... }
fn retain_count(&self) -> CFIndex { ... }
fn type_of(&self) -> CFTypeID { ... }
fn show(&self) { ... }
fn instance_of<OtherCFType: TCFType>(&self) -> bool { ... }
}
Expand description
All Core Foundation types implement this trait. The associated type Ref
specifies the
associated Core Foundation type: e.g. for CFType
this is CFTypeRef
; for CFArray
this is
CFArrayRef
.
Most structs that implement this trait will do so via the impl_TCFType
macro.
Associated Types
type Ref: TCFTypeRef
type Ref: TCFTypeRef
The reference type wrapped inside this type.
Required methods
fn as_concrete_TypeRef(&self) -> Self::Ref
fn as_concrete_TypeRef(&self) -> Self::Ref
Returns the object as its concrete TypeRef.
unsafe fn wrap_under_create_rule(obj: Self::Ref) -> Self
unsafe fn wrap_under_create_rule(obj: Self::Ref) -> Self
Returns an instance of the object, wrapping the underlying CFTypeRef
subclass. Use this
when following Core Foundation’s “Create Rule”. The reference count is not bumped.
fn as_CFTypeRef(&self) -> CFTypeRef
fn as_CFTypeRef(&self) -> CFTypeRef
Returns the object as a raw CFTypeRef
. The reference count is not adjusted.
unsafe fn wrap_under_get_rule(reference: Self::Ref) -> Self
unsafe fn wrap_under_get_rule(reference: Self::Ref) -> Self
Returns an instance of the object, wrapping the underlying CFTypeRef
subclass. Use this
when following Core Foundation’s “Get Rule”. The reference count is bumped.
Provided methods
Returns the object as a wrapped CFType
. The reference count is incremented by one.
fn into_CFType(self) -> CFType where
Self: Sized,
fn into_CFType(self) -> CFType where
Self: Sized,
Returns the object as a wrapped CFType
. Consumes self and avoids changing the reference
count.
fn retain_count(&self) -> CFIndex
fn retain_count(&self) -> CFIndex
Returns the reference count of the object. It is unwise to do anything other than test whether the return value of this method is greater than zero.
fn instance_of<OtherCFType: TCFType>(&self) -> bool
fn instance_of<OtherCFType: TCFType>(&self) -> bool
Returns true if this value is an instance of another type.