]> gitweb.factorcode.org Git - factor.git/blob - basis/core-foundation/run-loop/run-loop.factor
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / basis / core-foundation / run-loop / run-loop.factor
1 ! Copyright (C) 2008 Slava Pestov
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien alien.syntax core-foundation kernel namespaces ;
4 IN: core-foundation.run-loop
5
6 : kCFRunLoopRunFinished 1 ; inline
7 : kCFRunLoopRunStopped 2 ; inline
8 : kCFRunLoopRunTimedOut 3 ; inline
9 : kCFRunLoopRunHandledSource 4 ; inline
10
11 TYPEDEF: void* CFRunLoopRef
12 TYPEDEF: void* CFRunLoopSourceRef
13
14 FUNCTION: CFRunLoopRef CFRunLoopGetMain ( ) ;
15 FUNCTION: CFRunLoopRef CFRunLoopGetCurrent ( ) ;
16
17 FUNCTION: SInt32 CFRunLoopRunInMode (
18    CFStringRef mode,
19    CFTimeInterval seconds,
20    Boolean returnAfterSourceHandled
21 ) ;
22
23 FUNCTION: CFRunLoopSourceRef CFFileDescriptorCreateRunLoopSource (
24     CFAllocatorRef allocator,
25     CFFileDescriptorRef f,
26     CFIndex order
27 ) ;
28
29 FUNCTION: void CFRunLoopAddSource (
30    CFRunLoopRef rl,
31    CFRunLoopSourceRef source,
32    CFStringRef mode
33 ) ;
34
35 : CFRunLoopDefaultMode ( -- alien )
36     #! Ugly, but we don't have static NSStrings
37     \ CFRunLoopDefaultMode get-global dup expired? [
38         drop
39         "kCFRunLoopDefaultMode" <CFString>
40         dup \ CFRunLoopDefaultMode set-global
41     ] when ;