Platforms to show: All Mac Windows Linux Cross-Platform

FAQ.The type translation between CoreFoundation/Foundation and Xojo data types.

Answer: The plugin does conversion between Cocoa/Carbon data types and native Xojo data types. The following list help you knowing what the current plugins support:

Cocoa NSObject to Variant:

nil -> nil
NSDictionary -> Dictionary
NSData -> MemoryBlock
NSString -> String
NSAttributedString -> NSAttributedStringMBS
NSDate -> Date
NSNumber -> double/integer/Int64/UInt64/UInt32/Boolean
NSURL -> String
NSValue with NSRect -> NSRectMBS
NSValue with NSPoint -> NSPointMBS
NSValue with NSSize -> NSSizeMBS
NSValue with NSRange -> NSRangeMBS
NSValue with QTTime -> QTTimeMBS
NSValue with QTTimeRange -> QTTimeRangeMBS
NSArray -> Array of Variant
QuartzFilter -> QuartzFilterMBS

  • -> *MBS


Variant to Cocoa NSObject:

nil -> nil
Dictionary -> NSDictionary
Boolean -> NSNumber
Integer -> NSNumber
Color -> NSColor
Int64 -> NSNumber
Single -> NSNumber
Double -> NSNumber
Date -> NSDate
MemoryBlock -> NSData
String -> NSString
NSImageMBS -> NSImage
NSAttributedStringMBS ->NSAttributedString
NSColorMBS -> NSColor
NSRectMBS -> NSValue with NSRect
NSSizeMBS -> NSValue with NSSize
NSPointMBS -> NSValue with NSPoint
NSRangeMBS -> NSValue with NSRange
NSBurnMBS -> NSBurn
NSViewMBS -> NSView
NSFontMBS -> NSFont
NSParagraphStyleMBS -> NSParagraphStyle
NSAttributedStringMBS -> NSAttributedString
WebPolicyDelegateMBS -> WebPolicyDelegate
WebUIDelegateMBS -> WebUIDelegate
WebFrameLoadDelegateMBS -> WebFrameLoadDelegate
WebResourceLoadDelegateMBS -> WebResourceLoadDelegate
NSIndexSetMBS -> NSIndexSet
QTTimeMBS -> QTTime
QTTimeRangeMBS -> QTTimeRange
Array of Variant -> NSArray
Array of String -> NSArray
CFStringMBS -> NSString
CFNumberMBS -> NSNumber
CFDataMBS -> NSData
CFURLMBS -> NSURL
CFArrayMBS -> NSArray
CFDictionaryMBS -> NSDictionary
CFBinaryDataMBS -> NSDate

Carbon CFTypeRef to Variant:

CFDictionaryRef -> Dictionary
CFStringRef -> String
CFDataRef -> String
CFURL -> String
CFNumber -> Integer/Double/Int64
CFArray -> Array
CFDate -> date
nil -> nil
CGColorSpace -> CGColorSpaceMBS
CGColor -> CGColorMBS
CGImage -> CGImageMBS
CF* -> CF*MBS


Variant to Carbon CFTypeRef:

Dictionary -> CFDictionaryRef
Boolean -> CFBooleanRef
Color -> CFNumberRef
Integer -> CFNumberRef
Int64 -> CFNumberRef
Single -> CFNumberRef
Double -> CFNumberRef
String -> CFStringRef
Color -> CGColorRef
Date -> CFDateRef
nil -> nil
Memoryblock -> CFDataRef
FolderItem -> CFURLRef
Dictionary -> CFDictionaryRef
Array of Variant/String/Date/Double/Single/Int64/Integer -> CFArray
CGRectMBS -> CGRect as CFDataRef
CGSizeMBS -> CGSize as CFDataRef
CGPointMBS -> CGPoint as CFDataRef
CGColorMBS -> CGColor
CGColorSpaceMBS -> CGColorSpace
CGImageMBS -> CGImage
CGDataConsumerMBS -> CGDataConsumer
CGDataProviderMBS -> CGDataProvider
CF*MBS -> CF*

Strings without encodings should be put into dictionaries as memoryblocks.


The biggest plugin in space...