static void* event_loop(void* arg) { event_block_t* block; event_t* event = 0; FOUNDATION_UNUSED(arg); event_stream_set_beacon(system_event_stream(), &thread_self()->beacon); while (!_test_should_terminate) { block = event_stream_process(system_event_stream()); event = 0; while ((event = event_next(block, event))) { switch (event->id) { case FOUNDATIONEVENT_START: #if FOUNDATION_PLATFORM_IOS || FOUNDATION_PLATFORM_ANDROID || FOUNDATION_PLATFORM_PNACL log_debug(HASH_TEST, STRING_CONST("Application start event received")); _test_should_start = true; #endif break; case FOUNDATIONEVENT_TERMINATE: #if FOUNDATION_PLATFORM_IOS || FOUNDATION_PLATFORM_ANDROID || FOUNDATION_PLATFORM_PNACL log_debug(HASH_TEST, STRING_CONST("Application stop/terminate event received")); _test_should_terminate = true; break; #else log_warn(HASH_TEST, WARNING_SUSPICIOUS, STRING_CONST("Terminating tests due to event")); process_exit(-2); #endif case FOUNDATIONEVENT_FOCUS_GAIN: _test_have_focus = true; break; case FOUNDATIONEVENT_FOCUS_LOST: _test_have_focus = false; break; default: break; } test_event(event); } thread_wait(); } log_debug(HASH_TEST, STRING_CONST("Application event thread exiting")); return 0; }
void* event_thread( object_t thread, void* arg ) { event_block_t* block; event_t* event = 0; while( !thread_should_terminate( thread ) ) { block = event_stream_process( system_event_stream() ); event = 0; while( ( event = event_next( block, event ) ) ) { switch( event->id ) { case FOUNDATIONEVENT_TERMINATE: log_warn( HASH_TEST, WARNING_SUSPICIOUS, "Terminating tests due to event" ); process_exit( -2 ); break; default: break; } } thread_sleep( 10 ); } return 0; }
static void* event_thread( object_t thread, void* arg ) { event_block_t* block; event_t* event = 0; FOUNDATION_UNUSED( arg ); while( !thread_should_terminate( thread ) ) { block = event_stream_process( system_event_stream() ); event = 0; while( ( event = event_next( block, event ) ) ) { switch( event->id ) { case FOUNDATIONEVENT_START: #if FOUNDATION_PLATFORM_IOS || FOUNDATION_PLATFORM_ANDROID log_debug( HASH_TEST, "Application start event received" ); _test_should_start = true; #endif break; case FOUNDATIONEVENT_TERMINATE: #if FOUNDATION_PLATFORM_IOS || FOUNDATION_PLATFORM_ANDROID log_debug( HASH_TEST, "Application stop/terminate event received" ); _test_should_terminate = true; #else log_warn( HASH_TEST, WARNING_SUSPICIOUS, "Terminating tests due to event" ); process_exit( -2 ); #endif break; case FOUNDATIONEVENT_FOCUS_GAIN: _test_have_focus = true; break; case FOUNDATIONEVENT_FOCUS_LOST: _test_have_focus = false; break; default: break; } } thread_sleep( 10 ); } log_debug( HASH_TEST, "Application event thread exiting" ); return 0; }
static void* event_thread( object_t thread, void* arg ) { event_block_t* block; event_t* event = 0; while( !thread_should_terminate( thread ) ) { block = event_stream_process( system_event_stream() ); event = 0; while( ( event = event_next( block, event ) ) ) { switch( event->id ) { case FOUNDATIONEVENT_START: #if FOUNDATION_PLATFORM_IOS || FOUNDATION_PLATFORM_IOS log_infof( HASH_TEST, "Application start event received" ); _test_should_start = true; #endif break; case FOUNDATIONEVENT_TERMINATE: #if FOUNDATION_PLATFORM_IOS || FOUNDATION_PLATFORM_IOS log_infof( HASH_TEST, "Application terminate event received" ); _test_should_terminate = true; #else log_warn( HASH_TEST, WARNING_SUSPICIOUS, "Terminating tests due to event" ); process_exit( -2 ); #endif break; default: break; } } thread_sleep( 10 ); } return 0; }