Closed Bug 122506 Opened 24 years ago Closed 16 years ago

Remove the "only one interface per idl file" rule

Categories

(Core Graveyard :: Embedding: APIs, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX
mozilla1.0.1

People

(Reporter: afranke, Unassigned)

References

()

Details

Since DougT has wontfix'd bug 121179, the guidelines for freezing interfaces at the above url need to be updated. The following sentence needs to be removed: > [Another important guideline to remember here is the requirement > of having one and only one interface per idl file]
Blocks: 99160
Keywords: mozilla1.0
QA Contact: mdunn → depstein
Cc:ing Jud for his comments on whether we should remove this requirement or not.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.0
as a hard rule, yea, we should probably tweak it. IIF the interfaces are "related", consolodating seems reasonable. Now we just get to define "related" :-). IMO, nsIFoo and nsIFoo2, may, or may not be related. Just because they share a lot of the same name, doesn't make them related. If nsIFoo2 is a _replacement_ iface for nsIFoo, then they should be separate. If nsIFoo2 is an _extension_ then I could see them living together. Even then though, if it's a random extension that can easily be separated in actual use, then I think it should live in it's own file. If you really can't use one iface w/ out the other, then consolodation seems fine. If we agree on the above, then we need to re-open 121179 IMO, because I can very easily ignore nsIDir*2 and just use nsIDir*. In that case, the extension iface can be de-coupled enough. I guess I could go either way on 122179. Either way we should modify the rule to allow for some flexibility/best-judgement.
Note that nsIDirectoryService.idl currently contains _three_ interfaces: interface nsIDirectoryServiceProvider interface nsIDirectoryServiceProvider2 interface nsIDirectoryService So it's not just the ...Provider vs Provider2 issue, but also the question whether the Provider(s) should be separated from the Service or not. Note that according to lxr the following .*Provider.idl files already exist: /embedding/browser/webBrowser/nsITooltipTextProvider.idl /security/manager/boot/public/nsISSLStatusProvider.idl /netwerk/base/public/nsIStreamProvider.idl /netwerk/socket/base/nsISOCKSSocketProvider.idl /netwerk/socket/base/nsISSLSocketProvider.idl /netwerk/socket/base/nsISocketProvider.idl /netwerk/socket/base/nsISOCKS4SocketProvider.idl /accessible/public/nsIAccessibleProvider.idl
removing 99160 blocker.
No longer blocks: 99160
->1.0.1 per ADT
Target Milestone: mozilla1.0 → mozilla1.0.1
QA Contact: depstein → mdunn
Assignee: chak → nobody
Status: ASSIGNED → NEW
QA Contact: dunn5557 → apis
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WONTFIX
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.