Example #1
0
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;
}
Example #2
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;
}
Example #3
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;
}
Example #4
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;
}