@ -588,7 +588,7 @@ tsuite_feed_event(void *data)
current_event_time = td - > recent_event_time ;
# ifdef DEBUG_TSUITE
printf ( " %s td->recent_event_time=<%u> current_event_time=<%u> \n " , __func__ , td - > recent_event_time , current_event_time ) ;
printf ( " %s td->recent_event_time=<%u> current_event_time=<%u>\n " , __func__ , td - > recent_event_time , current_event_time ) ;
# endif
timer_time = ( current_event_time - td - > recent_event_time ) / 1000.0 ;
@ -596,7 +596,7 @@ tsuite_feed_event(void *data)
timer_time = 0.0 ;
# ifdef DEBUG_TSUITE
printf ( " %s timer_time=<%f> \n " , __func__ , timer_time ) ;
printf ( " %s timer_time=<%f>\n " , __func__ , timer_time ) ;
# endif
ecore_timer_add ( timer_time , tsuite_feed_event , td ) ;
@ -626,17 +626,30 @@ ecore_main_loop_begin(void)
return _ecore_main_loop_begin ( ) ;
}
static Eina_Bool
_is_hook_duplicate ( const Variant_st * v , Tsuite_Event_Type ev_type , const void * info , int len )
{
if ( v - > t . type = = tsuite_event_mapping_type_str_get ( ev_type ) & &
! memcmp ( v - > data , info , len ) ) return EINA_TRUE ;
return EINA_FALSE ;
}
/* Adding variant to list, this list is later written to EET file */
# define ADD_TO_LIST(EVT_TYPE, EVT_STRUCT_NAME, INFO) \
do { /* This macro will add event to EET data list */ \
if ( vr_list & & _hook_setting - > recording ) \
{ \
Variant_st * v = malloc ( sizeof ( Variant_st ) ) ; \
v - > data = malloc ( sizeof ( EVT_STRUCT_NAME ) ) ; \
_variant_type_set ( tsuite_event_mapping_type_str_get ( EVT_TYPE ) , \
& v - > t , EINA_FALSE ) ; \
memcpy ( v - > data , & INFO , sizeof ( EVT_STRUCT_NAME ) ) ; \
vr_list - > variant_list = eina_list_append ( vr_list - > variant_list , v ) ; \
const Variant_st * prev_v = eina_list_last_data_get ( vr_list - > variant_list ) ; \
if ( ! prev_v | | ! _is_hook_duplicate ( prev_v , EVT_TYPE , & INFO , sizeof ( EVT_STRUCT_NAME ) ) ) \
{ \
printf ( " Recording %s \n " , tsuite_event_mapping_type_str_get ( EVT_TYPE ) ) ; \
Variant_st * v = malloc ( sizeof ( Variant_st ) ) ; \
v - > data = malloc ( sizeof ( EVT_STRUCT_NAME ) ) ; \
_variant_type_set ( tsuite_event_mapping_type_str_get ( EVT_TYPE ) , \
& v - > t , EINA_FALSE ) ; \
memcpy ( v - > data , & INFO , sizeof ( EVT_STRUCT_NAME ) ) ; \
vr_list - > variant_list = eina_list_append ( vr_list - > variant_list , v ) ; \
} \
} \
} while ( 0 )