Closed Bug 103805 Opened 23 years ago Closed 23 years ago

xpti needs support for 'additionalManagers'

Categories

(Core :: XPCOM, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla0.9.9

People

(Reporter: jband_mozilla, Assigned: jband_mozilla)

Details

Attachments

(1 file, 3 obsolete files)

The WebApps WSDL based SOAP support requires additional dynamic implementations of nsIInterfaceInfoManager. In order to have a centralized place to *find* them we decided to extend the singleton xpti service to also implement an interface for adding, removing, and enumerating the additional dynamic implementations. We want that collection point to support weak references. We anticipate the posibility that other systems may also want to use that collection point. I'll attach an untested implementation.
Attached patch untested implementation (obsolete) (deleted) — Splinter Review
Attachment #52687 - Flags: needs-work+
Comment on attachment 52687 [details] [diff] [review] untested implementation A couple of problems: 1) To get a weak reference, use do_GetWeakReference (which QIs to nsISupportsWeakReference and gets the weak reference from it). 2) enumerateAdditionManagers -> enumerateAdditionalManagers. 3) AppendElement on the enumerator class returns a PRBool, but you're treating it as a nsresult.
Thanks Vidur. Attaching new patch.
Attached patch better untested patch (obsolete) (deleted) — Splinter Review
Attachment #52687 - Attachment is obsolete: true
Attached patch fresher patch (obsolete) (deleted) — Splinter Review
Attachment #52828 - Attachment is obsolete: true
Target Milestone: --- → mozilla0.9.7
Status: NEW → ASSIGNED
->0.9.8
Target Milestone: mozilla0.9.7 → mozilla0.9.8
Attached patch yet another refresh (deleted) — Splinter Review
Attachment #54026 - Attachment is obsolete: true
Target Milestone: mozilla0.9.8 → mozilla0.9.9
Comment on attachment 65110 [details] [diff] [review] yet another refresh sr=vidur
Attachment #65110 - Flags: superreview+
Comment on attachment 65110 [details] [diff] [review] yet another refresh r=dbradley I wanted to make sure I understood a couple of things. The additional managers are held by the mAdditionalManagers array by weak references if they support weak references, otherwise it's a norma ref counted pointer. And the enumerator always has ref counted pointer to the managers, so that they're guarenteed to be alive during the enumerators lifetime.
Attachment #65110 - Flags: review+
Yes, exactly. Thanks.
patch checked in.
Status: ASSIGNED → RESOLVED
Closed: 23 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: