1 ! Copyright (C) 2008 Slava Pestov
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien alien.syntax kernel namespaces core-foundation
4 core-foundation.strings core-foundation.file-descriptors
5 core-foundation.timers ;
6 IN: core-foundation.run-loop
8 : kCFRunLoopRunFinished 1 ; inline
9 : kCFRunLoopRunStopped 2 ; inline
10 : kCFRunLoopRunTimedOut 3 ; inline
11 : kCFRunLoopRunHandledSource 4 ; inline
13 TYPEDEF: void* CFRunLoopRef
14 TYPEDEF: void* CFRunLoopSourceRef
16 FUNCTION: CFRunLoopRef CFRunLoopGetMain ( ) ;
17 FUNCTION: CFRunLoopRef CFRunLoopGetCurrent ( ) ;
19 FUNCTION: SInt32 CFRunLoopRunInMode (
21 CFTimeInterval seconds,
22 Boolean returnAfterSourceHandled
25 FUNCTION: CFRunLoopSourceRef CFFileDescriptorCreateRunLoopSource (
26 CFAllocatorRef allocator,
27 CFFileDescriptorRef f,
31 FUNCTION: void CFRunLoopAddSource (
33 CFRunLoopSourceRef source,
37 FUNCTION: void CFRunLoopRemoveSource (
39 CFRunLoopSourceRef source,
43 FUNCTION: void CFRunLoopAddTimer (
45 CFRunLoopTimerRef timer,
49 FUNCTION: void CFRunLoopRemoveTimer (
51 CFRunLoopTimerRef timer,
55 : CFRunLoopDefaultMode ( -- alien )
56 #! Ugly, but we don't have static NSStrings
57 \ CFRunLoopDefaultMode get-global dup expired? [
59 "kCFRunLoopDefaultMode" <CFString>
60 dup \ CFRunLoopDefaultMode set-global