Trait core_foundation::base::TCFType
source · pub trait TCFType {
type Ref: TCFTypeRef;
// Required methods
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;
// Provided methods
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.
Required Associated Types§
sourcetype Ref: TCFTypeRef
type Ref: TCFTypeRef
The reference type wrapped inside this type.
Required Methods§
sourcefn as_concrete_TypeRef(&self) -> Self::Ref
fn as_concrete_TypeRef(&self) -> Self::Ref
Returns the object as its concrete TypeRef.
sourceunsafe 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.
sourcefn as_CFTypeRef(&self) -> CFTypeRef
fn as_CFTypeRef(&self) -> CFTypeRef
Returns the object as a raw CFTypeRef
. The reference count is not adjusted.
sourceunsafe 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§
sourcefn as_CFType(&self) -> CFType
fn as_CFType(&self) -> CFType
Returns the object as a wrapped CFType
. The reference count is incremented by one.
sourcefn into_CFType(self) -> CFTypewhere
Self: Sized,
fn into_CFType(self) -> CFTypewhere Self: Sized,
Returns the object as a wrapped CFType
. Consumes self and avoids changing the reference
count.
sourcefn 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.
sourcefn instance_of<OtherCFType: TCFType>(&self) -> bool
fn instance_of<OtherCFType: TCFType>(&self) -> bool
Returns true if this value is an instance of another type.