| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- #include "osx_timer.h"
 
- #include <api/timer/timerclient.h>
 
- timer_api *timerApi = NULL;
 
- TimerApi::TimerApi()
 
- {
 
-   mainEventLoop = GetMainEventLoop(); 
 
- }
 
- static void WasabiTimerProc(EventLoopTimerRef inTimer, void * inUserData)
 
- {
 
-   TimerClient *client = (TimerClient *)inUserData;
 
-   if (client)
 
-     client->timerclient_timerCallback(inTimer);
 
- }
 
- TimerToken TimerApi::timer_add(TimerClient *client, int id, int ms)
 
- {
 
-   EventLoopTimerRef token;
 
-   OSStatus err = InstallEventLoopTimer(mainEventLoop, 
 
-                                        (float)ms/1000.0f,
 
-                                        (float)ms/1000.0f,
 
-                                        WasabiTimerProc,
 
-                                        client,
 
-                                        &token);
 
-   if (err == noErr)
 
-     return token;
 
-   else
 
-     return 0;                                                                             
 
- }
 
- void TimerApi::timer_remove(TimerClient *client, TimerToken token)
 
- {
 
-   RemoveEventLoopTimer(token);
 
- }
 
 
  |