Trait core_foundation::base::TCFType[][src]

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[src]

The reference type wrapped inside this type.

Required methods

fn as_concrete_TypeRef(&self) -> Self::Ref[src]

Returns the object as its concrete TypeRef.

unsafe fn wrap_under_create_rule(obj: Self::Ref) -> Self[src]

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 type_id() -> CFTypeID[src]

Returns the type ID for this class.

fn as_CFTypeRef(&self) -> CFTypeRef[src]

Returns the object as a raw CFTypeRef. The reference count is not adjusted.

unsafe fn wrap_under_get_rule(reference: Self::Ref) -> Self[src]

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

fn as_CFType(&self) -> CFType[src]

Returns the object as a wrapped CFType. The reference count is incremented by one.

fn into_CFType(self) -> CFType where
    Self: Sized
[src]

Returns the object as a wrapped CFType. Consumes self and avoids changing the reference count.

fn retain_count(&self) -> CFIndex[src]

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 type_of(&self) -> CFTypeID[src]

Returns the type ID of this object.

fn show(&self)[src]

Writes a debugging version of this object on standard error.

fn instance_of<OtherCFType: TCFType>(&self) -> bool[src]

Returns true if this value is an instance of another type.

Implementors

impl TCFType for CFAttributedString[src]

impl TCFType for CFMutableAttributedString[src]

impl TCFType for CFBoolean[src]

impl TCFType for CFBundle[src]

impl TCFType for CFData[src]

type Ref = CFDataRef

fn as_concrete_TypeRef(&self) -> CFDataRef[src]

unsafe fn wrap_under_get_rule(reference: CFDataRef) -> Self[src]

fn as_CFTypeRef(&self) -> CFTypeRef[src]

unsafe fn wrap_under_create_rule(reference: CFDataRef) -> Self[src]

fn type_id() -> CFTypeID[src]

impl TCFType for CFDate[src]

type Ref = CFDateRef

fn as_concrete_TypeRef(&self) -> CFDateRef[src]

unsafe fn wrap_under_get_rule(reference: CFDateRef) -> Self[src]

fn as_CFTypeRef(&self) -> CFTypeRef[src]

unsafe fn wrap_under_create_rule(reference: CFDateRef) -> Self[src]

fn type_id() -> CFTypeID[src]

impl TCFType for CFError[src]

impl TCFType for CFFileDescriptor[src]

impl TCFType for CFNumber[src]

impl TCFType for CFRunLoop[src]

impl TCFType for CFRunLoopObserver[src]

impl TCFType for CFRunLoopSource[src]

impl TCFType for CFRunLoopTimer[src]

impl TCFType for CFString[src]

impl TCFType for CFTimeZone[src]

impl TCFType for CFURL[src]

type Ref = CFURLRef

fn as_concrete_TypeRef(&self) -> CFURLRef[src]

unsafe fn wrap_under_get_rule(reference: CFURLRef) -> Self[src]

fn as_CFTypeRef(&self) -> CFTypeRef[src]

unsafe fn wrap_under_create_rule(reference: CFURLRef) -> Self[src]

fn type_id() -> CFTypeID[src]

impl TCFType for CFUUID[src]

type Ref = CFUUIDRef

fn as_concrete_TypeRef(&self) -> CFUUIDRef[src]

unsafe fn wrap_under_get_rule(reference: CFUUIDRef) -> Self[src]

fn as_CFTypeRef(&self) -> CFTypeRef[src]

unsafe fn wrap_under_create_rule(reference: CFUUIDRef) -> Self[src]

fn type_id() -> CFTypeID[src]

impl TCFType for CFAllocator[src]

impl TCFType for CFType[src]

impl<K, V> TCFType for CFDictionary<K, V>[src]

impl<K, V> TCFType for CFMutableDictionary<K, V>[src]

impl<T> TCFType for CFArray<T>[src]

impl<T> TCFType for CFSet<T>[src]

type Ref = CFSetRef

fn as_concrete_TypeRef(&self) -> CFSetRef[src]

unsafe fn wrap_under_get_rule(reference: CFSetRef) -> Self[src]

fn as_CFTypeRef(&self) -> CFTypeRef[src]

unsafe fn wrap_under_create_rule(reference: CFSetRef) -> Self[src]

fn type_id() -> CFTypeID[src]