Closed Bug 98209 Opened 23 years ago Closed 23 years ago

We need a system to represent arbitrary sets of name/value pairs

Categories

(Core :: XPCOM, defect)

x86
Windows NT
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla0.9.6

People

(Reporter: jband_mozilla, Assigned: jband_mozilla)

Details

We need a system to represent arbitrary sets of name/value pairs. The names will most likely be AStrings the values will be nsIVariants. This may be one nsIPropertyBag interface with getters that get the name/values as two out params. Or we might define an nsIProperty type to hold the pairs and have various collection types (or just use existing collection types?) to hold sets. Or we might just use emunerable hashtables with the name as the key and thus need neither nsIProperty or nsIPropertyBag. I think I prefer the creation of nsIProperty and the flexibility of different types of collections. This gives us the ability to pass around name/value pairs as units and to make customized collections. We can create nsIPropertyBag as one standard type of collection of nsIProperty objects.
I am fine with a read-only nsIProperty. nsSupportsHashtable is currently not an interface and not abstract enough, so we need nsIPropertyBag, which can do only the following: Iterate nsIProperties, probably invalidating if something is added or removed during iteration. Lookup an nsIProperty by name. I think we talked about automatically wrapping with property bag in certain cases, and recognizing explicitly-implemented property bags.
This is working in the patch in bug 44675. I plan to land it with that bug.
retarget -> 0.9.6
Target Milestone: --- → mozilla0.9.6
checked in to trunk.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.