Add some CFFileDescriptor-related functions
parent
0359ec8eac
commit
d84d267948
|
@ -16,13 +16,17 @@ TYPEDEF: void* CFStringRef
|
||||||
TYPEDEF: void* CFURLRef
|
TYPEDEF: void* CFURLRef
|
||||||
TYPEDEF: void* CFUUIDRef
|
TYPEDEF: void* CFUUIDRef
|
||||||
TYPEDEF: void* CFTypeRef
|
TYPEDEF: void* CFTypeRef
|
||||||
|
TYPEDEF: void* CFFileDescriptorRef
|
||||||
TYPEDEF: bool Boolean
|
TYPEDEF: bool Boolean
|
||||||
TYPEDEF: long CFIndex
|
TYPEDEF: long CFIndex
|
||||||
TYPEDEF: int SInt32
|
TYPEDEF: int SInt32
|
||||||
TYPEDEF: uint UInt32
|
TYPEDEF: uint UInt32
|
||||||
TYPEDEF: ulong CFTypeID
|
TYPEDEF: ulong CFTypeID
|
||||||
|
TYPEDEF: UInt32 CFOptionFlags
|
||||||
TYPEDEF: double CFTimeInterval
|
TYPEDEF: double CFTimeInterval
|
||||||
TYPEDEF: double CFAbsoluteTime
|
TYPEDEF: double CFAbsoluteTime
|
||||||
|
TYPEDEF: int CFFileDescriptorNativeDescriptor
|
||||||
|
TYPEDEF: void* CFFileDescriptorCallBack
|
||||||
|
|
||||||
TYPEDEF: int CFNumberType
|
TYPEDEF: int CFNumberType
|
||||||
: kCFNumberSInt8Type 1 ; inline
|
: kCFNumberSInt8Type 1 ; inline
|
||||||
|
@ -121,18 +125,35 @@ FUNCTION: CFTypeID CFGetTypeID ( CFTypeRef cf ) ;
|
||||||
] keep CFRelease ;
|
] keep CFRelease ;
|
||||||
|
|
||||||
GENERIC: <CFNumber> ( number -- alien )
|
GENERIC: <CFNumber> ( number -- alien )
|
||||||
|
|
||||||
M: integer <CFNumber>
|
M: integer <CFNumber>
|
||||||
[ f kCFNumberLongLongType ] dip <longlong> CFNumberCreate ;
|
[ f kCFNumberLongLongType ] dip <longlong> CFNumberCreate ;
|
||||||
|
|
||||||
M: float <CFNumber>
|
M: float <CFNumber>
|
||||||
[ f kCFNumberDoubleType ] dip <double> CFNumberCreate ;
|
[ f kCFNumberDoubleType ] dip <double> CFNumberCreate ;
|
||||||
|
|
||||||
M: t <CFNumber>
|
M: t <CFNumber>
|
||||||
drop f kCFNumberIntType 1 <int> CFNumberCreate ;
|
drop f kCFNumberIntType 1 <int> CFNumberCreate ;
|
||||||
|
|
||||||
M: f <CFNumber>
|
M: f <CFNumber>
|
||||||
drop f kCFNumberIntType 0 <int> CFNumberCreate ;
|
drop f kCFNumberIntType 0 <int> CFNumberCreate ;
|
||||||
|
|
||||||
: <CFData> ( byte-array -- alien )
|
: <CFData> ( byte-array -- alien )
|
||||||
[ f ] dip dup length CFDataCreate ;
|
[ f ] dip dup length CFDataCreate ;
|
||||||
|
|
||||||
|
FUNCTION: CFFileDescriptorRef CFFileDescriptorCreate (
|
||||||
|
CFAllocatorRef allocator,
|
||||||
|
CFFileDescriptorNativeDescriptor fd,
|
||||||
|
Boolean closeOnInvalidate,
|
||||||
|
CFFileDescriptorCallBack callout,
|
||||||
|
CFFileDescriptorContext* context
|
||||||
|
) ;
|
||||||
|
|
||||||
|
FUNCTION: void CFFileDescriptorEnableCallBacks (
|
||||||
|
CFFileDescriptorRef f,
|
||||||
|
CFOptionFlags callBackTypes
|
||||||
|
) ;
|
||||||
|
|
||||||
: load-framework ( name -- )
|
: load-framework ( name -- )
|
||||||
dup <CFBundle> [
|
dup <CFBundle> [
|
||||||
CFBundleLoadExecutable drop
|
CFBundleLoadExecutable drop
|
||||||
|
@ -141,8 +162,11 @@ M: f <CFNumber>
|
||||||
] ?if ;
|
] ?if ;
|
||||||
|
|
||||||
TUPLE: CFRelease-destructor alien disposed ;
|
TUPLE: CFRelease-destructor alien disposed ;
|
||||||
|
|
||||||
M: CFRelease-destructor dispose* alien>> CFRelease ;
|
M: CFRelease-destructor dispose* alien>> CFRelease ;
|
||||||
|
|
||||||
: &CFRelease ( alien -- alien )
|
: &CFRelease ( alien -- alien )
|
||||||
dup f CFRelease-destructor boa &dispose drop ; inline
|
dup f CFRelease-destructor boa &dispose drop ; inline
|
||||||
|
|
||||||
: |CFRelease ( alien -- alien )
|
: |CFRelease ( alien -- alien )
|
||||||
dup f CFRelease-destructor boa |dispose drop ; inline
|
dup f CFRelease-destructor boa |dispose drop ; inline
|
||||||
|
|
|
@ -10,6 +10,7 @@ IN: core-foundation.run-loop
|
||||||
: kCFRunLoopRunHandledSource 4 ; inline
|
: kCFRunLoopRunHandledSource 4 ; inline
|
||||||
|
|
||||||
TYPEDEF: void* CFRunLoopRef
|
TYPEDEF: void* CFRunLoopRef
|
||||||
|
TYPEDEF: void* CFRunLoopSourceRef
|
||||||
|
|
||||||
FUNCTION: CFRunLoopRef CFRunLoopGetMain ( ) ;
|
FUNCTION: CFRunLoopRef CFRunLoopGetMain ( ) ;
|
||||||
FUNCTION: CFRunLoopRef CFRunLoopGetCurrent ( ) ;
|
FUNCTION: CFRunLoopRef CFRunLoopGetCurrent ( ) ;
|
||||||
|
@ -20,6 +21,18 @@ FUNCTION: SInt32 CFRunLoopRunInMode (
|
||||||
Boolean returnAfterSourceHandled
|
Boolean returnAfterSourceHandled
|
||||||
) ;
|
) ;
|
||||||
|
|
||||||
|
FUNCTION: CFRunLoopSourceRef CFFileDescriptorCreateRunLoopSource (
|
||||||
|
CFAllocatorRef allocator,
|
||||||
|
CFFileDescriptorRef f,
|
||||||
|
CFIndex order
|
||||||
|
) ;
|
||||||
|
|
||||||
|
FUNCTION: void CFRunLoopAddSource (
|
||||||
|
CFRunLoopRef rl,
|
||||||
|
CFRunLoopSourceRef source,
|
||||||
|
CFStringRef mode
|
||||||
|
) ;
|
||||||
|
|
||||||
: CFRunLoopDefaultMode ( -- alien )
|
: CFRunLoopDefaultMode ( -- alien )
|
||||||
#! Ugly, but we don't have static NSStrings
|
#! Ugly, but we don't have static NSStrings
|
||||||
\ CFRunLoopDefaultMode get-global dup expired? [
|
\ CFRunLoopDefaultMode get-global dup expired? [
|
||||||
|
|
Loading…
Reference in New Issue