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


Reply via email to