* \public \memberof mlt_events_struct
* \param self a properties list
* \param id the name of an event
+ * \return the number of listeners
*/
-void mlt_events_fire( mlt_properties self, const char *id, ... )
+int mlt_events_fire( mlt_properties self, const char *id, ... )
{
+ int result = 0;
mlt_events events = mlt_events_fetch( self );
if ( events != NULL )
{
transmitter( event->listener, event->owner, event->service, args );
else
event->listener( event->owner, event->service );
+ ++result;
}
}
}
}
+ return result;
}
/** Register a listener.
extern void mlt_events_init( mlt_properties self );
extern int mlt_events_register( mlt_properties self, const char *id, mlt_transmitter transmitter );
-extern void mlt_events_fire( mlt_properties self, const char *id, ... );
+extern int mlt_events_fire( mlt_properties self, const char *id, ... );
extern mlt_event mlt_events_listen( mlt_properties self, void *service, const char *id, mlt_listener listener );
extern void mlt_events_block( mlt_properties self, void *service );
extern void mlt_events_unblock( mlt_properties self, void *service );
mlt_events_unblock( get_properties( ), object != NULL ? object : get_properties( ) );
}
-void Properties::fire_event( const char *event )
+int Properties::fire_event( const char *event )
{
- mlt_events_fire( get_properties( ), event, NULL );
+ return mlt_events_fire( get_properties( ), event, NULL );
}
bool Properties::is_valid( )
void unlock( );
void block( void *object = NULL );
void unblock( void *object = NULL );
- void fire_event( const char *event );
+ int fire_event( const char *event );
bool is_valid( );
int count( );
char *get( const char *name );