Closed
Bug 209545
Opened 22 years ago
Closed 21 years ago
use XPIDL for nsImapMiscellaneousSink and nsImapExtensionSink
Categories
(MailNews Core :: Networking: IMAP, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: Bienvenu, Assigned: Bienvenu)
References
Details
Attachments
(4 files)
|
5.82 KB,
patch
|
Details | Diff | Splinter Review | |
|
1.80 KB,
patch
|
Details | Diff | Splinter Review | |
|
34.60 KB,
patch
|
mscott
:
superreview+
|
Details | Diff | Splinter Review |
|
6.06 KB,
patch
|
sspitzer
:
superreview+
|
Details | Diff | Splinter Review |
nsImapMiscellaneousSink and nsImapExtensionSink use a hand-rolled proxy
mechanism. We should get rid of this mechanism and just use xpidl.
| Assignee | ||
Comment 1•22 years ago
|
||
this patch just gets rid of an unused method.
| Assignee | ||
Comment 2•22 years ago
|
||
these structs where used by some of the hand-rolled stuff that has been
replaced by idl.
| Assignee | ||
Comment 3•22 years ago
|
||
This requires that all the methods be scriptable, and that all methods be
synchronous or asynchronous. To make them all scriptable, we'd need to make the
following changes:
nsIImapExtensionSink::ClearFolderRights(nsIImapProtocol* aProtocol,
nsIMAPACLRightsInfo* aclRights);
change the nsIMAPACLRightsInfo struct into its four member strings.
nsIImapExtensionSink::SetCopyResponseUid(nsIImapProtocol* aProtocol,
nsMsgKeyArray* keyArray,
const char *msgIdString,
nsIImapUrl * aUrl);
instead of nsMsgKeyArray, pass in a pointer to the key array, and the number of
keys.
nsIImapExtensionSink::GetMessageId(nsIImapProtocol* aProtocol,
nsCString* messageId,
nsIImapUrl * aUrl)
return messageId as a result.
nsIImapMiscellaneousSink::PercentProgress(nsIImapProtocol* aProtocol,
ProgressInfo* aInfo);
change the ProgressInfo into its 3 members.
I think the miscellaneous sink is/can be completely async. The extension sink
can't be. I think we should get rid of the extension sink, and make a second
folder sink for async folder methods.
Updated•21 years ago
|
Product: MailNews → Core
| Assignee | ||
Comment 4•21 years ago
|
||
Gets rid of the last uses of nsImapProxyEvent. To do this, I had to get rid of
a superfluous nsMsgKeyArray that we were passing around for imap undo, but
didn't need. I also coalesced several of the quota folder sink methods into 1,
to cut down on unneeded stuff.
This is all in preparation for adding some imap timeout code - that will
involve adding some idl methods, and I wanted to get rid of some deadwood
first, in the spirit of Brendan's plea for cutting down code size :-)
Attachment #170939 -
Flags: superreview?(mscott)
Comment 5•21 years ago
|
||
Comment on attachment 170939 [details] [diff] [review]
proposed fix
1) bump the IID on nsIImapMailFolderSink
Attachment #170939 -
Flags: superreview?(mscott) → superreview+
| Assignee | ||
Updated•21 years ago
|
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
| Assignee | ||
Comment 6•21 years ago
|
||
get rid of more unused stuff, and remove bogus call to
WaitForEventCompletion...
Attachment #171047 -
Flags: superreview?(sspitzer)
Updated•21 years ago
|
Attachment #171047 -
Flags: superreview?(sspitzer) → superreview+
Comment 7•21 years ago
|
||
Ben, you might be interested in attachment 170939 [details] [diff] [review]...
Comment 8•21 years ago
|
||
> I also coalesced several of the quota folder sink methods into 1,
> to cut down on unneeded stuff.
Arg. bienvenu, the quota attribtues are all but unneeded, I need them for bug
278096. *sigh*
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
| Assignee | ||
Comment 9•21 years ago
|
||
you shouldn't be using the imap mail folder sink interface - it's for doing
cross thread xpcom proxying between the imap threads and the ui thread. You want
to add a method to nsIImapMailFolder to get all the quota info in one fell
swoop. Re-resolving as fixed.
Status: REOPENED → RESOLVED
Closed: 21 years ago → 21 years ago
Resolution: --- → FIXED
Comment 10•19 years ago
|
||
Did that, see the other bug (soon).
Updated•17 years ago
|
Product: Core → MailNews Core
You need to log in
before you can comment on or make changes to this bug.
Description
•