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 { ... } }
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
.
Associated Types
type Ref: TCFTypeRef
The reference type wrapped inside this type.
Required Methods
fn as_concrete_TypeRef(&self) -> Self::Ref
Returns the object as its concrete TypeRef.
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 type_id() -> CFTypeID
Returns the type ID for this class.
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
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
Returns the object as a wrapped CFType
. The reference count is incremented by one.
fn into_CFType(self) -> CFType where
Self: Sized,
Self: Sized,
Returns the object as a wrapped CFType
. Consumes self and avoids changing the reference
count.
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 type_of(&self) -> CFTypeID
Returns the type ID of this object.
fn show(&self)
Writes a debugging version of this object on standard error.
fn instance_of<OtherCFType: TCFType>(&self) -> bool
Returns true if this value is an instance of another type.
Implementors
impl<T> TCFType for CFArray<T> type Ref = CFArrayRef;
impl TCFType for CFAttributedString type Ref = CFAttributedStringRef;
impl TCFType for CFMutableAttributedString type Ref = CFMutableAttributedStringRef;
impl TCFType for CFAllocator type Ref = CFAllocatorRef;
impl TCFType for CFType type Ref = CFTypeRef;
impl TCFType for CFBoolean type Ref = CFBooleanRef;
impl TCFType for CFData type Ref = CFDataRef;
impl TCFType for CFDate type Ref = CFDateRef;
impl<K, V> TCFType for CFDictionary<K, V> type Ref = CFDictionaryRef;
impl<K, V> TCFType for CFMutableDictionary<K, V> type Ref = CFMutableDictionaryRef;
impl TCFType for CFError type Ref = CFErrorRef;
impl TCFType for CFFileDescriptor type Ref = CFFileDescriptorRef;
impl TCFType for CFNumber type Ref = CFNumberRef;
impl<T> TCFType for CFSet<T> type Ref = CFSetRef;
impl TCFType for CFString type Ref = CFStringRef;
impl TCFType for CFURL type Ref = CFURLRef;
impl TCFType for CFBundle type Ref = CFBundleRef;
impl TCFType for CFRunLoop type Ref = CFRunLoopRef;
impl TCFType for CFRunLoopTimer type Ref = CFRunLoopTimerRef;
impl TCFType for CFRunLoopSource type Ref = CFRunLoopSourceRef;
impl TCFType for CFRunLoopObserver type Ref = CFRunLoopObserverRef;
impl TCFType for CFTimeZone type Ref = CFTimeZoneRef;
impl TCFType for CFUUID type Ref = CFUUIDRef;