Closed
Bug 209545
Opened 21 years ago
Closed 20 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•21 years ago
|
||
this patch just gets rid of an unused method.
Assignee | ||
Comment 2•21 years ago
|
||
these structs where used by some of the hand-rolled stuff that has been replaced by idl.
Assignee | ||
Comment 3•21 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•20 years ago
|
Product: MailNews → Core
Assignee | ||
Comment 4•20 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•20 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•20 years ago
|
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 6•20 years ago
|
||
get rid of more unused stuff, and remove bogus call to WaitForEventCompletion...
Attachment #171047 -
Flags: superreview?(sspitzer)
Updated•20 years ago
|
Attachment #171047 -
Flags: superreview?(sspitzer) → superreview+
Comment 7•20 years ago
|
||
Ben, you might be interested in attachment 170939 [details] [diff] [review]...
Comment 8•20 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•20 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: 20 years ago → 20 years ago
Resolution: --- → FIXED
Comment 10•18 years ago
|
||
Did that, see the other bug (soon).
Updated•16 years ago
|
Product: Core → MailNews Core
You need to log in
before you can comment on or make changes to this bug.
Description
•