2010-02-28 18:22:18 -05:00
|
|
|
! Copyright (C) 2008, 2010 Slava Pestov.
|
2008-12-12 02:11:37 -05:00
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2009-09-27 00:14:57 -04:00
|
|
|
USING: alien.c-types alien.syntax system math kernel calendar
|
2010-06-22 03:04:31 -04:00
|
|
|
core-foundation core-foundation.time calendar.unix ;
|
2008-12-12 02:11:37 -05:00
|
|
|
IN: core-foundation.timers
|
|
|
|
|
|
|
|
TYPEDEF: void* CFRunLoopTimerRef
|
|
|
|
TYPEDEF: void* CFRunLoopTimerCallBack
|
|
|
|
TYPEDEF: void* CFRunLoopTimerContext
|
|
|
|
|
|
|
|
FUNCTION: CFRunLoopTimerRef CFRunLoopTimerCreate (
|
|
|
|
CFAllocatorRef allocator,
|
|
|
|
CFAbsoluteTime fireDate,
|
|
|
|
CFTimeInterval interval,
|
|
|
|
CFOptionFlags flags,
|
|
|
|
CFIndex order,
|
|
|
|
CFRunLoopTimerCallBack callout,
|
|
|
|
CFRunLoopTimerContext* context
|
|
|
|
) ;
|
|
|
|
|
2008-12-12 03:18:50 -05:00
|
|
|
: <CFTimer> ( callback -- timer )
|
2010-02-28 18:22:18 -05:00
|
|
|
[ f system-micros >CFAbsoluteTime 60 0 0 ] dip f CFRunLoopTimerCreate ;
|
2008-12-12 03:18:50 -05:00
|
|
|
|
2008-12-12 02:11:37 -05:00
|
|
|
FUNCTION: void CFRunLoopTimerInvalidate (
|
|
|
|
CFRunLoopTimerRef timer
|
2008-12-12 03:18:50 -05:00
|
|
|
) ;
|
2008-12-12 02:11:37 -05:00
|
|
|
|
2008-12-12 22:06:46 -05:00
|
|
|
FUNCTION: Boolean CFRunLoopTimerIsValid (
|
|
|
|
CFRunLoopTimerRef timer
|
|
|
|
) ;
|
|
|
|
|
2008-12-12 02:11:37 -05:00
|
|
|
FUNCTION: void CFRunLoopTimerSetNextFireDate (
|
|
|
|
CFRunLoopTimerRef timer,
|
|
|
|
CFAbsoluteTime fireDate
|
|
|
|
) ;
|