Doug Turner wrote:
> Chak Nanga has just posted some of our discussions and proposals on
> freezing some of the xpcom interface. Please read this document. It
> contains links to various interface tracking bugs. Please review what
> we have so far.
>
> http://www.mozilla.org/projects/embedding/EmbedInterfaceFreeze.html
> * Need to explicitly define the possible return codes from *all*
> methods. which ones can return NS_OK and nsnull... Remember,
> NS_ERROR_FAILURE causes an exception to be thrown in Javascript !!
None of our standardized interfaces should have methods that return
things other than nsresults, so we should probably reword that to
something like
Need to explicitly list result codes and out-parameter states.
> * Make sure that contract-ids and classIDs are defined consistantly.
> Do we even want to expose ClassIDs?
Neither contract IDs nor class IDs should appear in interface definition
files, IMO. They're representations of specific implementations of one
or more interfaces, and we should probably just document them somewhere
external to the IDL files. (We had a discussion in this group some
months ago, started by alecf IIRC, and I think the consensus was that
contract IDs should be well-known strings and not necessarily included
in any header files. I can't find the thread right now, though, so I
might be misremembering.)
I'm also not really keen on us documenting our frozen services and
components via C++ header files. Can't we just write language-neutral
HTML for this?
Mike