51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Factor
		
	
	
! Copyright (C) 2008, 2010 Slava Pestov.
 | 
						|
! See http://factorcode.org/license.txt for BSD license.
 | 
						|
USING: alien.c-types alien.syntax calendar core-foundation
 | 
						|
core-foundation.time calendar.unix kernel locals math system ;
 | 
						|
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
 | 
						|
) ;
 | 
						|
 | 
						|
:: <CFTimer> ( interval callback -- timer )
 | 
						|
    f system-micros >CFAbsoluteTime interval 0 0 callback f
 | 
						|
    CFRunLoopTimerCreate ;
 | 
						|
 | 
						|
FUNCTION: void CFRunLoopTimerInvalidate (
 | 
						|
   CFRunLoopTimerRef timer
 | 
						|
) ;
 | 
						|
 | 
						|
FUNCTION: Boolean CFRunLoopTimerIsValid (
 | 
						|
   CFRunLoopTimerRef timer
 | 
						|
) ;
 | 
						|
 | 
						|
FUNCTION: void CFRunLoopTimerSetNextFireDate (
 | 
						|
   CFRunLoopTimerRef timer,
 | 
						|
   CFAbsoluteTime fireDate
 | 
						|
) ;
 | 
						|
 | 
						|
FUNCTION: Boolean CFRunLoopTimerDoesRepeat (
 | 
						|
   CFRunLoopTimerRef timer
 | 
						|
) ;
 | 
						|
 | 
						|
FUNCTION: CFTimeInterval CFRunLoopTimerGetInterval (
 | 
						|
   CFRunLoopTimerRef timer
 | 
						|
) ;
 | 
						|
 | 
						|
FUNCTION: CFAbsoluteTime CFRunLoopTimerGetNextFireDate (
 | 
						|
   CFRunLoopTimerRef timer
 | 
						|
) ;
 | 
						|
 | 
						|
 |