18b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* Copyright (C) 2007-2008 The Android Open Source Project
28b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project**
38b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** This software is licensed under the terms of the GNU General Public
48b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** License version 2, as published by the Free Software Foundation, and
58b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** may be copied, distributed, and modified under those terms.
68b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project**
78b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** This program is distributed in the hope that it will be useful,
88b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** but WITHOUT ANY WARRANTY; without even the implied warranty of
98b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
108b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** GNU General Public License for more details.
118b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project*/
128b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#include "sysdeps.h"
138b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#include <stdio.h>
148b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
158b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define  MAX_COUNTER  10
168b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
178b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectstatic int  counter = 0;
188b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
198b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectstatic void
208b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projecttimer_func( void*  _timer )
218b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project{
228b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    SysTimer  timer = _timer;
238b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    SysTime   now   = sys_time_ms();
248b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
258b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    ++counter;
268b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    printf( "tick %d/%d a %.2fs\n", counter, MAX_COUNTER, now/1000. );
278b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    if (counter < MAX_COUNTER)
288b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project        sys_timer_set( timer, now + 2000, timer_func, timer );
298b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    else
308b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project        sys_timer_destroy( timer );
318b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project}
328b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
338b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
348b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectint  main( void )
358b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project{
368b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    SysTimer  timer;
378b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
388b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    /* initialize event subsystem */
398b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    sys_main_init();
408b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
418b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    /* create timer and register it */
428b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    timer = sys_timer_create();
438b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    sys_timer_set( timer, sys_time_ms() + 1000, timer_func, timer );
448b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
458b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    printf("entering event loop\n");
468b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    sys_main_loop();
478b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    printf("exiting event loop\n" );
488b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project    return 0;
498b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project}
50