zypp/base/UserRequestException.h By now provides 4 exceptions, all derived from UserRequestException: IgnoreRequestException SkipRequestException RetryRequestException AbortRequestException Consider throwing these kinds of exception on bealf of a user request. ProgressData ticks( makeProgressData( input_r ) ); ticks.sendTo( fnc_r ); ticks.toMin(); // start sending min (0) iostr::EachLine line( input_r ); for( ; line; line.next() ) { /* process the line */ if ( ! ticks.set( input_r.stream().tellg() ) ) ZYPP_THROW( AbortRequestException( "" ) ); } Calling code may either catch AbortRequestException or UserRequestException and test if excpt.kind() == UserRequestException::ABORT -- cu, Michael Andres +------------------------------------------------------------------+ Key fingerprint = 2DFA 5D73 18B1 E7EF A862 27AC 3FB8 9E3A 27C6 B0E4 +------------------------------------------------------------------+ Michael Andres YaST Development ma@novell.com SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) Maxfeldstrasse 5, D-90409 Nuernberg, Germany, ++49 (0)911 - 740 53-0 +------------------------------------------------------------------+ -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org