Closed Bug 97667 Opened 24 years ago Closed 24 years ago

nsIInterfaceRequestor.idl needs freezing

Categories

(Core :: XPCOM, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jud, Assigned: jud)

References

Details

Attachments

(5 files, 1 obsolete file)

components using XPCOM interract w/ interfaces that use nsIInterfaceRequestor. This interface needs freezing. Currently the .idl wedges in nsCOMPtr which we haven't frozen yet, but will obviously need to.
Blocks: 70229
seeking review from dougt, and sr from scc. be aware, if this goes in and nsIInterfaceRequestor needs to change, we're onto nsIInterfaceRequestor2 Index: nsIInterfaceRequestor.idl =================================================================== RCS file: /cvsroot/mozilla/xpcom/base/nsIInterfaceRequestor.idl,v retrieving revision 1.5 diff -u -r1.5 nsIInterfaceRequestor.idl --- nsIInterfaceRequestor.idl 1999/11/29 20:40:38 1.5 +++ nsIInterfaceRequestor.idl 2001/08/30 21:25:56 @@ -32,6 +32,8 @@ * you must be able to QI on B to get back to A. This interface however * allows you to obtain an interface C from A that may or most likely will not * have the ability to get back to A. + * + * @status FROZEN */ [scriptable, uuid(033A1470-8B2A-11d3-AF88-00A024FFC08C)]
Keywords: patch
Does this apply to the exported helper function: do_GetInterface( nsISupports* aSource, nsresult* error = 0 ) and related nsGetInterface class.? How do we deal with its base class nsCOMPtr_helper?
technically it does not, but that would suggest those be removed from this file and into another; do we want to move things around, or call those frozen too?
can't really call them froze if the nsCOMPtr_helper isn't, right?
right, we'd have to drag that in too. we can either - say that "FROZEN" applies *only* to the interface (this would go against current standard convention). - say it applies to everything in the file (current convention). If the latter, we need to drag in the nest and FREEZE it all which is generally a long, nasty process. I'm asking if we should do that here. - do_GetInterface() - easy enough to freeze IMO - nsGetInterface - I think this recently snuck in and am bumbed about it. do we want to freeze it (and it's parent class), or move it into another file? - nsCOMPtr - we're going to freeze it eventually, is this the impetus for that?
scott, how close is nsCOMPtr to being api frozen?
new tree-wide patch forthcoming, I ran w/ a direction dbaron raised. Namely, drawing out the stuff we're not necessarily settled on, out into nsIInterfaceRequestorUtils.h.
what do you guys think?
Seems fine to me, except you have some extraneous makefile changes in netwerk/core/public (I don't even have that directory) and both headers are included twice in nsDirectoryViewer.cpp.
s/have/remember having/ of course I do have it...
hmm. the makefile mods are for something else, and will be checked in independently. I'm removing dead wood in there, separate bug, removed from tree. thanks for catching the double include... removed. new patch forthcoming.
there are a few #includes in the commercial tree which will be addressed as well for the checkin.
Comment on attachment 47972 [details] [diff] [review] seeking r=dbaron, and sr=dougt. new .h will be added to xpcom mac prj for export as part of the checkin. r=dbaron if you add to the EXPORTS line in Makefile.in as well :-)
Attachment #47972 - Flags: review+
looks good to me. Maybe you should just include nsIInterfaceRequestorUtils.h?
Comment on attachment 47972 [details] [diff] [review] seeking r=dbaron, and sr=dougt. new .h will be added to xpcom mac prj for export as part of the checkin. sr=me. Maybe you should just include "nsIInterfaceRequestorUtils.h" instead of both headers?
Attachment #47972 - Flags: superreview+
Attachment #47972 - Attachment is obsolete: true
Comment on attachment 48183 [details] [diff] [review] tree-wide added new .h to the EXPORTS macro. carrying over r=dbaron, and sr=dougt from previous patch.
Attachment #48183 - Flags: superreview+
Attachment #48183 - Flags: review+
doug and I chatted off-line re: the header separation/combination. we're sticking w/ what I have here... explicity separation between interface and utils (#include both).
Comment on attachment 48221 [details] [diff] [review] new patch for nsIInterfaceRequestor.idl. comments have been updated. seeking r=dbaron, sr=dougt has sr if r=dbaron
Attachment #48221 - Flags: superreview+
Comment on attachment 48221 [details] [diff] [review] new patch for nsIInterfaceRequestor.idl. comments have been updated. seeking r=dbaron, sr=dougt There are tabs on these two lines: >+ /** >+ * Retrieves the specified interface pointer. >+ * @param result [out] The interface pointer to be filled out if >+ * the interface is accessible. Perhaps "filled in" is preferable to "filled out"? >+ * @return NS_OK - interface was successfully returned. >+ * NS_NOINTERFACE - interface wasn't accessible. >+ * NS_ERROR_FAILURE - method failure. Do you really want to limit the return values like this? I could imagine returning NS_ERROR_OUT_OF_MEMORY, or perhaps any other error propagated from a failure of an |Init| method. And perhaps the description of NS_NOINTERFACE should be "interface not accessible", since I would think NS_NOINTERFACE should mean that the object does not, in general, support |getInterface| to that interface. >+ * @status FROZEN Should there also be some indication that the interface is frozen? (I don't know the conventions, and you do, but it just seems odd.) r=dbaron (although if scc is around, it might be good to ping him as well)
Attachment #48221 - Flags: review+
I've addressed dbaron's concerns: - tabs removed. - @status FROZEN moved from the method to the interface comments above it. - "filled in" instead of "filled out" - weazeled out of the confining ERROR return vals by saying it can return NS_ERROR*
Blocks: 98278
Comment on attachment 48300 [details] [diff] [review] latest nsIInterfaceRequestor.idl mods. taking dbaron's suggestions/fixes. carrying over r/sr
Attachment #48300 - Flags: superreview+
Attachment #48300 - Flags: review+
checked in.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: