On Jun 17, 2004, at 2:32 PM, Adam Heinz wrote:

The LCP transcoder is now completely generic. It is implemented
strictly in terms of the virtual transcoder interface. As such,
any XMLTranscoder can be passed in as the transcoder to fullfill
the LCP transcoding

Looking at the documentation for XMLLCPTranscoder and XMLTranscoder, and at MacOSUnicodeConverter.cpp/hpp, I don't see any relationship between XMLLCPTranscoder and XMLTranscoder. Also, why are their interfaces so different?

Hi Adam,

I'll attempt to answer your questions, in reverse order:

Why are the interfaces different?

This is history long before my time (which seems to be going back years now),
but I believe the LCP transcoder interface
was built first, then a more generic transcoder interface was needed. So the
LCP transcoder interface is older, and less generic.


There is no relationship between the classes?

In all of the transcoders except for the Mac, I believe this is true. When I last
rewrote the Mac transcoder, I said "this is stupid", and decided to implement
the LCP transcoder by using the XMLTranscoder interface. You can see this
being done in MacOSUnicodeConverter::makeNewLCPTranscoder.


I believe the actual Mac LCP transcoder is completely independent of any Mac-isms,
and could indeed be used as a generic LCP transcoder for all the platforms,
given an appropriate XMLTranscoder was passed into it. It is essentially an
adapter that implements the LCP interface in terms of the more generic
XMLTranscoder interface.


Does that help to clear things up? Or simply confuse the issue?

James.


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to