add a couple methods for imap folder sync

This commit is contained in:
bienvenu%netscape.com 1999-04-11 23:28:48 +00:00
parent 920396ce57
commit 9d40543f13
3 changed files with 34 additions and 0 deletions

View File

@ -185,6 +185,11 @@ public:
// but also useful to tell the summary to mark itself invalid // but also useful to tell the summary to mark itself invalid
NS_IMETHOD SetSummaryValid(PRBool valid) = 0; NS_IMETHOD SetSummaryValid(PRBool valid) = 0;
// offline operations
NS_IMETHOD ListAllOfflineOpIds(nsMsgKeyArray *offlineOpIds) = 0;
NS_IMETHOD ListAllOfflineDeletes(nsMsgKeyArray *offlineDeletes) = 0;
// thread interfaces.
NS_IMETHOD GetThreadForMsgKey(nsMsgKey msgKey, nsIMsgThread **result) = 0; NS_IMETHOD GetThreadForMsgKey(nsMsgKey msgKey, nsIMsgThread **result) = 0;
NS_IMETHOD GetThreadContainingMsgHdr(nsIMessage *msgHdr, nsIMsgThread **result) = 0; NS_IMETHOD GetThreadContainingMsgHdr(nsIMessage *msgHdr, nsIMsgThread **result) = 0;
}; };

View File

@ -173,6 +173,10 @@ public:
// but also useful to tell the summary to mark itself invalid // but also useful to tell the summary to mark itself invalid
NS_IMETHOD SetSummaryValid(PRBool valid); NS_IMETHOD SetSummaryValid(PRBool valid);
// offline operations
NS_IMETHOD ListAllOfflineOpIds(nsMsgKeyArray *offlineOpIds);
NS_IMETHOD ListAllOfflineDeletes(nsMsgKeyArray *offlineDeletes);
NS_IMETHOD GetThreadForMsgKey(nsMsgKey msgKey, nsIMsgThread **result); NS_IMETHOD GetThreadForMsgKey(nsMsgKey msgKey, nsIMsgThread **result);
NS_IMETHOD GetThreadContainingMsgHdr(nsIMessage *msgHdr, nsIMsgThread **result) ; NS_IMETHOD GetThreadContainingMsgHdr(nsIMessage *msgHdr, nsIMsgThread **result) ;
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////

View File

@ -1945,12 +1945,17 @@ NS_IMETHODIMP nsMsgDatabase::GetMsgHdrStructFromnsMsgHdr(nsIMessage *msg, nsMsgH
if (msgHdr) if (msgHdr)
{ {
PRUint32 uint32Value = 0;
err = RowCellColumnTonsString(msgHdr->GetMDBRow(), m_subjectColumnToken, hdrStruct->m_subject); err = RowCellColumnTonsString(msgHdr->GetMDBRow(), m_subjectColumnToken, hdrStruct->m_subject);
err = RowCellColumnTonsString(msgHdr->GetMDBRow(), m_senderColumnToken, hdrStruct->m_author); err = RowCellColumnTonsString(msgHdr->GetMDBRow(), m_senderColumnToken, hdrStruct->m_author);
err = RowCellColumnTonsString(msgHdr->GetMDBRow(), m_messageIdColumnToken, hdrStruct->m_messageId); err = RowCellColumnTonsString(msgHdr->GetMDBRow(), m_messageIdColumnToken, hdrStruct->m_messageId);
err = RowCellColumnTonsString(msgHdr->GetMDBRow(), m_referencesColumnToken, hdrStruct->m_references); err = RowCellColumnTonsString(msgHdr->GetMDBRow(), m_referencesColumnToken, hdrStruct->m_references);
err = RowCellColumnTonsString(msgHdr->GetMDBRow(), m_recipientsColumnToken, hdrStruct->m_recipients); err = RowCellColumnTonsString(msgHdr->GetMDBRow(), m_recipientsColumnToken, hdrStruct->m_recipients);
err = RowCellColumnToUInt32(msgHdr->GetMDBRow(), m_messageSizeColumnToken, &hdrStruct->m_messageSize); err = RowCellColumnToUInt32(msgHdr->GetMDBRow(), m_messageSizeColumnToken, &hdrStruct->m_messageSize);
err = RowCellColumnToUInt32(msgHdr->GetMDBRow(), m_flagsColumnToken, &hdrStruct->m_flags);
err = RowCellColumnToUInt32(msgHdr->GetMDBRow(), m_dateColumnToken, &uint32Value);
hdrStruct->m_date = uint32Value;
nsMsgKey key; nsMsgKey key;
(void)msgHdr->GetMessageKey(&key); (void)msgHdr->GetMessageKey(&key);
hdrStruct->m_messageKey = key; hdrStruct->m_messageKey = key;
@ -2437,6 +2442,7 @@ nsresult nsMsgDatabase::AddNewThread(nsMsgHdr *msgHdr)
nsMsgThread *threadHdr = nsnull; nsMsgThread *threadHdr = nsnull;
nsresult err = CreateNewThread(msgHdr->m_messageKey, &threadHdr); nsresult err = CreateNewThread(msgHdr->m_messageKey, &threadHdr);
msgHdr->SetThreadId(msgHdr->m_messageKey);
if (threadHdr) if (threadHdr)
{ {
// nsString subject; // nsString subject;
@ -2508,6 +2514,25 @@ nsresult nsMsgDatabase::ListAllThreads(nsMsgKeyArray *threadIds)
return rv; return rv;
} }
NS_IMETHODIMP nsMsgDatabase::ListAllOfflineOpIds(nsMsgKeyArray *offlineOpIds)
{
nsresult ret = NS_OK;
if (!offlineOpIds)
return NS_ERROR_NULL_POINTER;
// technically, notimplemented, but no one's putting offline ops in anyway.
return ret;
}
NS_IMETHODIMP nsMsgDatabase::ListAllOfflineDeletes(nsMsgKeyArray *offlineDeletes)
{
nsresult ret = NS_OK;
if (!offlineDeletes)
return NS_ERROR_NULL_POINTER;
// technically, notimplemented, but no one's putting offline ops in anyway.
return ret;
}
#ifdef DEBUG #ifdef DEBUG
nsresult nsMsgDatabase::DumpContents() nsresult nsMsgDatabase::DumpContents()
{ {