/**
 * rb_source_delete_thyself:
 * @source: a #RBSource
 *
 * This is called when the source should delete itself.
 * The 'deleted' signal will be emitted, which removes the source
 * from the source list.  This will not actually dispose of the
 * source object, so reference counting must still be handled
 * correctly.
 */
void
rb_source_delete_thyself (RBSource *source)
{
	RBSourceClass *klass;

	g_return_if_fail (source != NULL);
	klass = RB_SOURCE_GET_CLASS (source);
	klass->impl_delete_thyself (source);
	g_signal_emit (G_OBJECT (source), rb_source_signals[DELETED], 0);
}