[Clam-devel] re: refactoring backends (2)

dirk.griffioen dirk.griffioen at barcelonamedia.org
Tue Jun 9 09:13:59 PDT 2009


Would this be okay?

 CLAM_ENFORCE(infile->samplerate() == sampleRate) << "All the input 
audio files have to have the same sample rate";

And remove the exit(1)'s from the code ...

I can add Assert.hxx to Enforce.hxx, so instead of doing it's own thing, 
it could
- set it's own AssertFailedHandlerType
- call ExecuteAssertFailedHandler

A backtrace might be usefull, but then I need to make the DumpBacktrace 
public.

D




> A Dimarts, 9 de juny de 2009 10:09:17, dirk.griffioen va escriure:
>   
>>> But, of course, if this implies a change in the user code, in something
>>> that is as ubiquitous as CLAM_ASSERT, that's not a solution unless it
>>> pays the price.
>>>       
>> What if I rename ENFORCE to CLAM_ASSERT_MSG?
>>
>> You get lines like:
>>
>> 	CLAM_ASSERT_MSG(jack_client_close(jackClient) == 0) ("JACK_ERROR: cannot
>> close client");
>>     
>
> It would be a nice addition. I would prefer the insertion operator than the 
> call operator. This way we can easily turn regular traces into assertions.
>
>   
>> Or should there be a tighter fit to the current CLAM_ASSERT?
>>     
>
> I guess that the behaviour regarding aborting, throwing, callbacks... should 
> be the same of the CLAM_ASSERT just to keep consistency on the handling.
>
> Maybe that is not the behaviour you want for the network players. In those 
> case we should create a diagnosis protocol for the backends: typed exceptions, 
> diagnosis methods or return values, whatever it fits the better in the usage.
>
>   
>> (For the record, I am not proposing to redo all, just start small by using
>> this where applicable).
>>     
>
> Perfect then.
>
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20090609/e480e4db/attachment-0004.htm>


More information about the clam-devel mailing list