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.