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