get rid of nsString2, more hooking up of status
git-svn-id: svn://10.0.0.236/trunk@42619 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
00a59f15dc
commit
34728dd0c2
@ -17,8 +17,8 @@
|
||||
*/
|
||||
|
||||
#include "nsISupports.idl"
|
||||
#include "nsIMessage.idl"
|
||||
|
||||
interface nsIMessage;
|
||||
interface nsIInputStream;
|
||||
|
||||
%{C++
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
*/
|
||||
|
||||
#include "nsIMsgHdr.idl"
|
||||
#include "nsIMsgFolder.idl"
|
||||
interface nsIMsgFolder;
|
||||
|
||||
[scriptable, uuid(5B926BB4-F839-11d2-8A5F-0060B0FC04D2)]
|
||||
interface nsIMessage : nsIMsgHdr {
|
||||
|
||||
@ -20,10 +20,10 @@
|
||||
#include "nsISupports.idl"
|
||||
#include "nsIMsgFolder.idl"
|
||||
#include "nsIFileSpec.idl"
|
||||
#include "nsIMessage.idl"
|
||||
#include "nsIMsgCopyServiceListener.idl"
|
||||
#include "nsISupportsArray.idl"
|
||||
|
||||
interface nsIMessage;
|
||||
%{C++
|
||||
#include "nsITransactionManager.h"
|
||||
%}
|
||||
|
||||
@ -19,7 +19,8 @@
|
||||
#include "nsrootidl.idl"
|
||||
#include "nsISupports.idl"
|
||||
|
||||
interface nsString2;
|
||||
[ptr] native nsCString(nsCString);
|
||||
/* [ptr] native nsString(nsString); */
|
||||
|
||||
[scriptable, uuid(1caa10b6-29a6-11d3-afb2-001083002da8)]
|
||||
interface nsIMsgCopyServiceListener : nsISupports {
|
||||
@ -57,7 +58,7 @@ interface nsIMsgCopyServiceListener : nsISupports {
|
||||
* uniqueness.
|
||||
* aMessageId -
|
||||
*/
|
||||
void GetMessageId(in nsString2 aMessageId);
|
||||
void GetMessageId(in nsCString aMessageId);
|
||||
|
||||
/**
|
||||
* Notify the observer that the message copied operation has completed.
|
||||
|
||||
@ -25,7 +25,6 @@
|
||||
#include "nsIMsgCopyServiceListener.idl"
|
||||
|
||||
%{ C++
|
||||
#include "nsIMessage.h"
|
||||
#include "nsITransactionManager.h"
|
||||
#include "nsIMsgDatabase.h"
|
||||
#include "nsMsgKeyArray.h"
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
#include "MailNewsTypes.h"
|
||||
#include "nsString.h"
|
||||
|
||||
class nsString2;
|
||||
class nsCString;
|
||||
|
||||
#define NS_IMSGHDR_IID \
|
||||
{ /* 4e994f60-c317-11d2-8cc9-0060b0fc14a3 */ \
|
||||
@ -41,7 +41,7 @@ public:
|
||||
NS_IMETHOD GetUint32Property(const char *propertyName, PRUint32 *pResult) = 0;
|
||||
NS_IMETHOD SetUint32Property(const char *propertyName, PRUint32 propertyVal) = 0;
|
||||
NS_IMETHOD GetNumReferences(PRUint16 *result) = 0;
|
||||
NS_IMETHOD GetStringReference(PRInt32 refNum, nsString2 &resultReference) = 0;
|
||||
NS_IMETHOD GetStringReference(PRInt32 refNum, nsCString &resultReference) = 0;
|
||||
NS_IMETHOD GetDate(PRTime *result) = 0;
|
||||
NS_IMETHOD SetDate(PRTime date) = 0;
|
||||
NS_IMETHOD SetMessageId(const char *messageId) = 0;
|
||||
@ -58,7 +58,7 @@ public:
|
||||
NS_IMETHOD GetSubject(nsString *resultSubject) = 0;
|
||||
NS_IMETHOD GetRecipients(nsString *resultRecipients) = 0;
|
||||
NS_IMETHOD GetCCList(nsString *ccList) = 0;
|
||||
NS_IMETHOD GetMessageId(nsString *resultMessageId) = 0;
|
||||
NS_IMETHOD GetMessageId(nsCString *resultMessageId) = 0;
|
||||
|
||||
NS_IMETHOD GetMime2DecodedAuthor(nsString *resultAuthor) = 0;
|
||||
NS_IMETHOD GetMime2DecodedSubject(nsString *resultSubject) = 0;
|
||||
|
||||
@ -18,7 +18,9 @@
|
||||
|
||||
#include "nsISupports.idl"
|
||||
|
||||
/* just stub the interfaces for now */
|
||||
/******************************************************************************
|
||||
|
||||
just stub the interfaces for now
|
||||
|
||||
interface nsIMsgHdr : nsISupports
|
||||
{
|
||||
@ -28,26 +30,21 @@ interface nsIMsgDBHdr : nsIMsgHdr
|
||||
{
|
||||
};
|
||||
|
||||
/******************************************************************************
|
||||
|
||||
this is commented out because it doesn't match nsIMessage.h, and I don't
|
||||
want anyone to try to use it yet.
|
||||
|
||||
the problem is nsIMessage.h has interfaces that pass references to nsStrings.
|
||||
|
||||
but, you can't do that in idl.
|
||||
*/
|
||||
|
||||
#include "nsISupports.idl"
|
||||
#include "MailNewsTypes.idl"
|
||||
#include "MailNewsTypes2.idl"
|
||||
|
||||
[ptr] native nsString(nsString);
|
||||
[ptr] native nsString2(nsString2);
|
||||
native nsMsgPriority(nsMsgPriority);
|
||||
[ptr] native nsCString(nsCString);
|
||||
|
||||
%{C++
|
||||
class nsString;
|
||||
class nsString2;
|
||||
%}
|
||||
native nsMsgPriority(nsMsgPriority);
|
||||
|
||||
[scriptable, uuid(4e994f60-c317-11d2-8cc9-0060b0fc14a3)]
|
||||
interface nsIMsgHdr : nsISupports
|
||||
@ -59,7 +56,7 @@ interface nsIMsgHdr : nsISupports
|
||||
void SetUint32Property(in string propertyName, in unsigned long propertyVal);
|
||||
|
||||
attribute unsigned short numReferences;
|
||||
nsString2 GetStringReference(in long refNum);
|
||||
nsCString GetStringReference(in long refNum);
|
||||
|
||||
attribute long long date;
|
||||
attribute string messageId;
|
||||
@ -102,5 +99,5 @@ interface nsIMsgDBHdr : nsIMsgHdr
|
||||
{
|
||||
|
||||
};
|
||||
*******************************************************************************/
|
||||
/* *******************************************************************************/
|
||||
|
||||
|
||||
@ -34,6 +34,7 @@
|
||||
#include "nsIFolderListener.idl"
|
||||
|
||||
interface nsIMsgFolderCache;
|
||||
interface nsIMsgStatusFeedback;
|
||||
|
||||
[scriptable, uuid(D5124440-D59E-11d2-806A-006008128C4E)]
|
||||
interface nsIMsgMailSession : nsISupports {
|
||||
@ -43,6 +44,8 @@ interface nsIMsgMailSession : nsISupports {
|
||||
readonly attribute nsIMsgAccountManager accountManager;
|
||||
readonly attribute nsIMsgFolderCache folderCache;
|
||||
|
||||
attribute nsIMsgStatusFeedback temporaryMsgStatusFeedback;
|
||||
|
||||
void AddFolderListener(in nsIFolderListener listener);
|
||||
void RemoveFolderListener(in nsIFolderListener listener);
|
||||
void NotifyFolderItemPropertyChanged(in nsISupports item,
|
||||
|
||||
@ -21,9 +21,7 @@
|
||||
#include "MailNewsTypes2.idl"
|
||||
|
||||
interface nsIMsgDBHdr;
|
||||
%{C++
|
||||
#include "nsIMsgHdr.h"
|
||||
%}
|
||||
interface nsIMsgHdr;
|
||||
|
||||
interface nsIDBChangeAnnouncer;
|
||||
|
||||
|
||||
@ -19,6 +19,8 @@
|
||||
#include "nsCopyMessageStreamListener.h"
|
||||
#include "nsIMsgMailNewsUrl.h"
|
||||
#include "nsIMailboxUrl.h"
|
||||
#include "nsIMsgHdr.h"
|
||||
#include "nsIMessage.h"
|
||||
#include "nsIRDFService.h"
|
||||
#include "nsIRDFNode.h"
|
||||
#include "nsRDFCID.h"
|
||||
|
||||
@ -397,11 +397,20 @@ nsMessenger::SetWindow(nsIDOMWindow* aWin)
|
||||
m_docLoaderObserver = do_QueryInterface(iMsgStatusFeedback);
|
||||
docLoaderListener->SetWebShell(mWebShell, mWindow);
|
||||
mWebShell->SetDocLoaderObserver(m_docLoaderObserver);
|
||||
|
||||
nsresult rv;
|
||||
|
||||
NS_WITH_SERVICE(nsIMsgMailSession, mailSession, kCMsgMailSessionCID, &rv);
|
||||
|
||||
if(NS_SUCCEEDED(rv))
|
||||
mailSession->SetTemporaryMsgStatusFeedback(iMsgStatusFeedback);
|
||||
|
||||
}
|
||||
}
|
||||
NS_RELEASE(rootWebShell);
|
||||
}
|
||||
|
||||
|
||||
NS_RELEASE(webShell);
|
||||
|
||||
// libmime always converts to UTF-8 (both HTML and XML)
|
||||
|
||||
@ -21,6 +21,8 @@
|
||||
#include "nsVoidArray.h"
|
||||
#include "nsMsgKeyArray.h"
|
||||
#include "nspr.h"
|
||||
#include "nsIMessage.h"
|
||||
#include "nsIMsgFolder.h"
|
||||
|
||||
#ifdef XP_PC
|
||||
#include <windows.h>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
#include "nsMsgFolderFlags.h"
|
||||
#include "nsMsgFolder.h"
|
||||
#include "nsMsgRDFUtils.h"
|
||||
|
||||
#include "nsIMessage.h"
|
||||
|
||||
#include "rdf.h"
|
||||
#include "nsIRDFService.h"
|
||||
|
||||
@ -26,6 +26,7 @@
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsMsgFolderCache.h"
|
||||
#include "nsIProfile.h"
|
||||
#include "nsIMsgStatusFeedback.h"
|
||||
|
||||
NS_IMPL_ISUPPORTS(nsMsgMailSession, nsCOMTypeInfo<nsIMsgMailSession>::GetIID());
|
||||
|
||||
@ -165,6 +166,23 @@ nsresult nsMsgMailSession::GetFolderCache(nsIMsgFolderCache* *aFolderCache)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsMsgMailSession::GetTemporaryMsgStatusFeedback(nsIMsgStatusFeedback* *aMsgStatusFeedback)
|
||||
{
|
||||
if (!aMsgStatusFeedback) return NS_ERROR_NULL_POINTER;
|
||||
|
||||
*aMsgStatusFeedback = m_temporaryMsgStatusFeedback;
|
||||
NS_IF_ADDREF(*aMsgStatusFeedback);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
nsresult nsMsgMailSession::SetTemporaryMsgStatusFeedback(nsIMsgStatusFeedback* aMsgStatusFeedback)
|
||||
{
|
||||
m_temporaryMsgStatusFeedback = do_QueryInterface(aMsgStatusFeedback);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsMsgMailSession::AddFolderListener(nsIFolderListener * listener)
|
||||
{
|
||||
mListeners->AppendElement(listener);
|
||||
|
||||
@ -21,6 +21,8 @@
|
||||
|
||||
#include "nsIMsgMailSession.h"
|
||||
#include "nsISupports.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsIMsgStatusFeedback.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// The mail session is a replacement for the old 4.x MSG_Master object. It contains
|
||||
@ -57,11 +59,16 @@ public:
|
||||
NS_IMETHOD NotifyFolderItemDeleted(nsIFolder *folder, nsISupports *item);
|
||||
|
||||
NS_IMETHOD GetFolderCache(nsIMsgFolderCache **aFolderCache);
|
||||
|
||||
NS_IMETHOD SetTemporaryMsgStatusFeedback(nsIMsgStatusFeedback *aMsgStatusFeedback);
|
||||
NS_IMETHOD GetTemporaryMsgStatusFeedback(nsIMsgStatusFeedback **aMsgStatusFeedback);
|
||||
nsresult Init();
|
||||
protected:
|
||||
nsIMsgAccountManager *m_accountManager;
|
||||
nsIMsgFolderCache *m_msgFolderCache;
|
||||
nsVoidArray *mListeners;
|
||||
// stick this here temporarily
|
||||
nsCOMPtr <nsIMsgStatusFeedback> m_temporaryMsgStatusFeedback;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -25,6 +25,7 @@
|
||||
#include "rdf.h"
|
||||
#include "nsEnumeratorUtils.h"
|
||||
#include "nsIMessage.h"
|
||||
#include "nsIMsgFolder.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsXPIDLString.h"
|
||||
#include "nsIMsgMailSession.h"
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
|
||||
#include "msgCore.h" // precompiled header...
|
||||
#include "nsMessage.h"
|
||||
#include "nsIMsgFolder.h"
|
||||
|
||||
nsMessage::nsMessage(void)
|
||||
: nsRDFResource(), mFolder(nsnull)
|
||||
@ -91,7 +92,7 @@ NS_IMETHODIMP nsMessage::GetNumReferences(PRUint16 *result)
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMessage::GetStringReference(PRInt32 refNum, nsString2 &resultReference)
|
||||
NS_IMETHODIMP nsMessage::GetStringReference(PRInt32 refNum, nsCString &resultReference)
|
||||
{
|
||||
if(mMsgHdr)
|
||||
return mMsgHdr->GetStringReference(refNum, resultReference);
|
||||
@ -220,7 +221,7 @@ NS_IMETHODIMP nsMessage::GetCCList(nsString *ccList)
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMessage::GetMessageId(nsString *resultMessageId)
|
||||
NS_IMETHODIMP nsMessage::GetMessageId(nsCString *resultMessageId)
|
||||
{
|
||||
if(mMsgHdr)
|
||||
return mMsgHdr->GetMessageId(resultMessageId);
|
||||
|
||||
@ -46,7 +46,7 @@ public:
|
||||
NS_IMETHOD GetUint32Property(const char *propertyName, PRUint32 *pResult);
|
||||
NS_IMETHOD SetUint32Property(const char *propertyName, PRUint32 propertyVal);
|
||||
NS_IMETHOD GetNumReferences(PRUint16 *result);
|
||||
NS_IMETHOD GetStringReference(PRInt32 refNum, nsString2 &resultReference);
|
||||
NS_IMETHOD GetStringReference(PRInt32 refNum, nsCString &resultReference);
|
||||
NS_IMETHOD GetDate(PRTime *result);
|
||||
NS_IMETHOD SetDate(PRTime date);
|
||||
NS_IMETHOD SetMessageId(const char *messageId);
|
||||
@ -63,7 +63,7 @@ public:
|
||||
NS_IMETHOD GetSubject(nsString *resultSubject);
|
||||
NS_IMETHOD GetRecipients(nsString *resultRecipients);
|
||||
NS_IMETHOD GetCCList(nsString *ccList);
|
||||
NS_IMETHOD GetMessageId(nsString *resultMessageId);
|
||||
NS_IMETHOD GetMessageId(nsCString *resultMessageId);
|
||||
|
||||
NS_IMETHOD GetMime2DecodedAuthor(nsString *resultAuthor);
|
||||
NS_IMETHOD GetMime2DecodedSubject(nsString *resultSubject);
|
||||
|
||||
@ -16,6 +16,8 @@
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
#include "msgCore.h"
|
||||
#include "nsIMessage.h"
|
||||
#include "nsMsgDBFolder.h"
|
||||
#include "nsMsgFolderFlags.h"
|
||||
#include "nsIPref.h"
|
||||
@ -361,7 +363,7 @@ nsresult nsMsgDBFolder::ReadFromFolderCache(nsIMsgFolderCacheElement *element)
|
||||
|
||||
element->GetStringProperty("charset", &charset);
|
||||
|
||||
#ifdef DEBUG_bienvenu
|
||||
#ifdef DEBUG_bienvenu1
|
||||
char *uri;
|
||||
|
||||
GetURI(&uri);
|
||||
@ -424,7 +426,7 @@ NS_IMETHODIMP nsMsgDBFolder::WriteToFolderCacheElem(nsIMsgFolderCacheElement *el
|
||||
|
||||
element->SetStringProperty("charset", (const char *) nsCAutoString(mCharset));
|
||||
|
||||
#ifdef DEBUG_bienvenu
|
||||
#ifdef DEBUG_bienvenu1
|
||||
char *uri;
|
||||
|
||||
GetURI(&uri);
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
|
||||
#include "nsMsgFolder.h"
|
||||
#include "nsMsgFolderFlags.h"
|
||||
#include "nsIMessage.h"
|
||||
#include "prprf.h"
|
||||
#include "nsMsgKeyArray.h"
|
||||
#include "nsMsgDatabase.h"
|
||||
|
||||
@ -19,9 +19,11 @@
|
||||
#include "msgCore.h"
|
||||
#include "nsMsgMailNewsUrl.h"
|
||||
#include "nsMsgBaseCID.h"
|
||||
#include "nsIMsgMailSession.h"
|
||||
|
||||
static NS_DEFINE_CID(kUrlListenerManagerCID, NS_URLLISTENERMANAGER_CID);
|
||||
static NS_DEFINE_CID(kStandardUrlCID, NS_STANDARDURL_CID);
|
||||
static NS_DEFINE_CID(kMsgMailSessionCID, NS_MSGMAILSESSION_CID);
|
||||
|
||||
nsMsgMailNewsUrl::nsMsgMailNewsUrl()
|
||||
{
|
||||
@ -138,15 +140,22 @@ nsresult nsMsgMailNewsUrl::GetErrorMessage (char ** errorMessage)
|
||||
NS_IMETHODIMP nsMsgMailNewsUrl::SetStatusFeedback(nsIMsgStatusFeedback *aMsgFeedback)
|
||||
{
|
||||
if (aMsgFeedback)
|
||||
m_statusFeedback = dont_QueryInterface(aMsgFeedback);
|
||||
m_statusFeedback = do_QueryInterface(aMsgFeedback);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgMailNewsUrl::GetStatusFeedback(nsIMsgStatusFeedback **aMsgFeedback)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
// note: it is okay to return a null status feedback and not return an error
|
||||
// it's possible the url really doesn't have status feedback
|
||||
nsresult rv = NS_OK;
|
||||
if (!m_statusFeedback)
|
||||
{
|
||||
NS_WITH_SERVICE(nsIMsgMailSession, mailSession, kMsgMailSessionCID, &rv);
|
||||
|
||||
if(NS_SUCCEEDED(rv))
|
||||
mailSession->GetTemporaryMsgStatusFeedback(getter_AddRefs(m_statusFeedback));
|
||||
}
|
||||
if (aMsgFeedback)
|
||||
{
|
||||
*aMsgFeedback = m_statusFeedback;
|
||||
|
||||
@ -16,6 +16,9 @@
|
||||
* Reserved.
|
||||
*/
|
||||
|
||||
#include "msgCore.h"
|
||||
#include "nsIMessage.h"
|
||||
#include "nsIMsgHdr.h"
|
||||
#include "nsMsgUtils.h"
|
||||
#include "nsString.h"
|
||||
#include "nsFileSpec.h"
|
||||
|
||||
@ -67,9 +67,10 @@ nsMsgDBFactory::nsMsgDBFactory(const nsCID &aClass, const char* aClassName, cons
|
||||
|
||||
nsMsgDBFactory::~nsMsgDBFactory()
|
||||
{
|
||||
nsMsgDatabase::CleanupCache();
|
||||
NS_ASSERTION(mRefCnt == 0, "non-zero refcnt at destruction");
|
||||
PL_strfree(mClassName);
|
||||
PL_strfree(mProgID);
|
||||
PL_strfree(mClassName);
|
||||
PL_strfree(mProgID);
|
||||
}
|
||||
|
||||
nsresult nsMsgDBFactory::QueryInterface(const nsIID &aIID, void **aResult)
|
||||
@ -168,7 +169,11 @@ extern "C" NS_EXPORT nsresult NSGetFactory(nsISupports* aServMgr,
|
||||
|
||||
extern "C" NS_EXPORT PRBool NSCanUnload(nsISupports* aServMgr)
|
||||
{
|
||||
return PRBool(g_InstanceCount == 0 && g_LockCount == 0);
|
||||
PRBool ret = PRBool(g_InstanceCount == 0 && g_LockCount == 0);
|
||||
|
||||
if (ret)
|
||||
nsMsgDatabase::CleanupCache();
|
||||
return ret;
|
||||
}
|
||||
|
||||
extern "C" NS_EXPORT nsresult
|
||||
|
||||
@ -204,6 +204,7 @@ public:
|
||||
|
||||
//helper function to fill in nsStrings from hdr row cell contents.
|
||||
nsresult RowCellColumnTonsString(nsIMdbRow *row, mdb_token columnToken, nsString &resultStr);
|
||||
nsresult RowCellColumnTonsCString(nsIMdbRow *row, mdb_token columnToken, nsCString &resultStr);
|
||||
nsresult RowCellColumnToUInt32(nsIMdbRow *row, mdb_token columnToken, PRUint32 *uint32Result, PRUint32 defaultValue = 0);
|
||||
nsresult RowCellColumnToUInt32(nsIMdbRow *row, mdb_token columnToken, PRUint32 &uint32Result, PRUint32 defaultValue = 0);
|
||||
nsresult RowCellColumnToMime2DecodedString(nsIMdbRow *row, mdb_token columnToken, nsString &resultStr);
|
||||
@ -217,6 +218,7 @@ public:
|
||||
static struct mdbYarn *nsStringToYarn(struct mdbYarn *yarn, nsString *str);
|
||||
static struct mdbYarn *UInt32ToYarn(struct mdbYarn *yarn, PRUint32 i);
|
||||
static void YarnTonsString(struct mdbYarn *yarn, nsString *str);
|
||||
static void YarnTonsCString(struct mdbYarn *yarn, nsCString *str);
|
||||
static void YarnToUInt32(struct mdbYarn *yarn, PRUint32 *i);
|
||||
|
||||
// helper functions to convert a 64bits PRTime into a 32bits value (compatible time_t) and vice versa.
|
||||
@ -240,12 +242,12 @@ protected:
|
||||
// prefs stuff - in future, we might want to cache the prefs interface
|
||||
nsresult GetBoolPref(const char *prefName, PRBool *result);
|
||||
// retrieval methods
|
||||
nsIMsgThread * GetThreadForReference(nsString2 &msgID, nsIMsgDBHdr **pMsgHdr);
|
||||
nsIMsgThread * GetThreadForSubject(nsString2 &subject);
|
||||
nsIMsgThread * GetThreadForReference(nsCString &msgID, nsIMsgDBHdr **pMsgHdr);
|
||||
nsIMsgThread * GetThreadForSubject(nsCString &subject);
|
||||
nsIMsgThread * GetThreadForThreadId(nsMsgKey threadId);
|
||||
nsMsgHdr * GetMsgHdrForReference(nsString2 &reference);
|
||||
nsIMsgDBHdr * GetMsgHdrForMessageID(nsString2 &msgID);
|
||||
nsIMsgDBHdr * GetMsgHdrForSubject(nsString2 &msgID);
|
||||
nsMsgHdr * GetMsgHdrForReference(nsCString &reference);
|
||||
nsIMsgDBHdr * GetMsgHdrForMessageID(nsCString &msgID);
|
||||
nsIMsgDBHdr * GetMsgHdrForSubject(nsCString &msgID);
|
||||
// threading interfaces
|
||||
virtual nsresult CreateNewThread(nsMsgKey key, const char *subject, nsMsgThread **newThread);
|
||||
virtual PRBool ThreadBySubjectWithoutRe();
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
#include "mdb.h"
|
||||
|
||||
class nsMsgDatabase;
|
||||
class nsString2;
|
||||
class nsCString;
|
||||
|
||||
class nsMsgHdr : public nsIMsgDBHdr {
|
||||
public:
|
||||
@ -39,7 +39,7 @@ public:
|
||||
NS_IMETHOD GetUint32Property(const char *propertyName, PRUint32 *pResult);
|
||||
NS_IMETHOD SetUint32Property(const char *propertyName, PRUint32 propertyVal);
|
||||
NS_IMETHOD GetNumReferences(PRUint16 *result);
|
||||
NS_IMETHOD GetStringReference(PRInt32 refNum, nsString2 &resultReference);
|
||||
NS_IMETHOD GetStringReference(PRInt32 refNum, nsCString &resultReference);
|
||||
NS_IMETHOD GetDate(PRTime *result);
|
||||
NS_IMETHOD SetDate(PRTime date);
|
||||
NS_IMETHOD SetMessageId(const char *messageId);
|
||||
@ -55,7 +55,7 @@ public:
|
||||
NS_IMETHOD GetAuthor(nsString *resultAuthor);
|
||||
NS_IMETHOD GetSubject(nsString *resultSubject);
|
||||
NS_IMETHOD GetRecipients(nsString *resultRecipients);
|
||||
NS_IMETHOD GetMessageId(nsString *resultMessageId);
|
||||
NS_IMETHOD GetMessageId(nsCString *resultMessageId);
|
||||
|
||||
NS_IMETHOD GetMime2DecodedAuthor(nsString *resultAuthor);
|
||||
NS_IMETHOD GetMime2DecodedSubject(nsString *resultSubject);
|
||||
@ -109,8 +109,8 @@ protected:
|
||||
nsresult GetUInt32Column(mdb_token token, PRUint32 *pvalue);
|
||||
|
||||
// reference and threading stuff.
|
||||
const char* GetNextReference(const char *startNextRef, nsString2 &reference);
|
||||
const char* GetPrevReference(const char *prevRef, nsString2 &reference);
|
||||
const char* GetNextReference(const char *startNextRef, nsCString &reference);
|
||||
const char* GetPrevReference(const char *prevRef, nsCString &reference);
|
||||
|
||||
nsMsgKey m_threadId;
|
||||
nsMsgKey m_messageKey; //news: article number, mail mbox offset, imap uid...
|
||||
@ -121,7 +121,7 @@ protected:
|
||||
PRUint32 m_flags;
|
||||
PRUint16 m_numReferences; // x-ref header for threading
|
||||
PRInt16 m_csID; // cs id of message
|
||||
nsString2 m_charSet; // OK, charset of headers, since cs id's aren't supported.
|
||||
nsCString m_charSet; // OK, charset of headers, since cs id's aren't supported.
|
||||
nsMsgPriority m_priority;
|
||||
|
||||
// nsMsgHdrs will have to know what db and row they belong to, since they are really
|
||||
|
||||
@ -2014,6 +2014,25 @@ nsresult nsMsgDatabase::RowCellColumnTonsString(nsIMdbRow *hdrRow, mdb_token col
|
||||
return err;
|
||||
}
|
||||
|
||||
nsresult nsMsgDatabase::RowCellColumnTonsCString(nsIMdbRow *hdrRow, mdb_token columnToken, nsCString &resultStr)
|
||||
{
|
||||
nsresult err = NS_OK;
|
||||
nsIMdbCell *hdrCell;
|
||||
|
||||
if (hdrRow) // ### probably should be an error if hdrRow is NULL...
|
||||
{
|
||||
err = hdrRow->GetCell(GetEnv(), columnToken, &hdrCell);
|
||||
if (err == NS_OK && hdrCell)
|
||||
{
|
||||
struct mdbYarn yarn;
|
||||
hdrCell->AliasYarn(GetEnv(), &yarn);
|
||||
YarnTonsCString(&yarn, &resultStr);
|
||||
hdrCell->CutStrongRef(GetEnv()); // always release ref
|
||||
}
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
nsresult nsMsgDatabase::RowCellColumnToMime2DecodedString(nsIMdbRow *row, mdb_token columnToken, nsString &resultStr)
|
||||
{
|
||||
nsresult err;
|
||||
@ -2207,6 +2226,12 @@ nsresult nsMsgDatabase::RowCellColumnToCharPtr(nsIMdbRow *row, mdb_token columnT
|
||||
str->SetString((const char *) yarn->mYarn_Buf, yarn->mYarn_Fill);
|
||||
}
|
||||
|
||||
/* static */void nsMsgDatabase::YarnTonsCString(struct mdbYarn *yarn, nsCString *str)
|
||||
{
|
||||
str->SetString((const char *) yarn->mYarn_Buf, yarn->mYarn_Fill);
|
||||
}
|
||||
|
||||
|
||||
/* static */void nsMsgDatabase::YarnToUInt32(struct mdbYarn *yarn, PRUint32 *pResult)
|
||||
{
|
||||
PRUint32 result;
|
||||
@ -2307,7 +2332,7 @@ nsresult nsMsgDatabase::CreateNewThread(nsMsgKey threadId, const char *subject,
|
||||
}
|
||||
|
||||
|
||||
nsIMsgThread *nsMsgDatabase::GetThreadForReference(nsString2 &msgID, nsIMsgDBHdr **pMsgHdr)
|
||||
nsIMsgThread *nsMsgDatabase::GetThreadForReference(nsCString &msgID, nsIMsgDBHdr **pMsgHdr)
|
||||
{
|
||||
nsIMsgDBHdr *msgHdr = GetMsgHdrForMessageID(msgID);
|
||||
nsIMsgThread *thread = NULL;
|
||||
@ -2328,7 +2353,7 @@ nsIMsgThread *nsMsgDatabase::GetThreadForReference(nsString2 &msgID, nsIMsgDBHdr
|
||||
return thread;
|
||||
}
|
||||
|
||||
nsIMsgThread * nsMsgDatabase::GetThreadForSubject(nsString2 &subject)
|
||||
nsIMsgThread * nsMsgDatabase::GetThreadForSubject(nsCString &subject)
|
||||
{
|
||||
// NS_ASSERTION(PR_FALSE, "not implemented yet.");
|
||||
nsIMsgThread *thread = NULL;
|
||||
@ -2379,7 +2404,7 @@ nsresult nsMsgDatabase::ThreadNewHdr(nsMsgHdr* newHdr, PRBool &newThread)
|
||||
#define SUBJ_THREADING 1// try reference threading first
|
||||
for (PRInt32 i = numReferences - 1; i >= 0; i--)
|
||||
{
|
||||
nsString2 reference(eOneByte);
|
||||
nsCString reference;
|
||||
|
||||
newHdr->GetStringReference(i, reference);
|
||||
// first reference we have hdr for is best top-level hdr.
|
||||
@ -2400,12 +2425,13 @@ nsresult nsMsgDatabase::ThreadNewHdr(nsMsgHdr* newHdr, PRBool &newThread)
|
||||
}
|
||||
#ifdef SUBJ_THREADING
|
||||
// try subject threading if we couldn't find a reference and the subject starts with Re:
|
||||
nsAutoString subject (eOneByte);
|
||||
nsAutoString subject;
|
||||
|
||||
newHdr->GetSubject(&subject);
|
||||
if ((ThreadBySubjectWithoutRe() || (newHdrFlags & MSG_FLAG_HAS_RE)) && (!thread))
|
||||
{
|
||||
thread = getter_AddRefs(GetThreadForSubject(subject));
|
||||
nsCAutoString cSubject = subject;
|
||||
thread = getter_AddRefs(GetThreadForSubject(cSubject));
|
||||
if(thread)
|
||||
{
|
||||
thread->GetThreadKey(&threadId);
|
||||
@ -2439,13 +2465,13 @@ nsresult nsMsgDatabase::AddToThread(nsMsgHdr *newHdr, nsIMsgThread *thread, nsIM
|
||||
return thread->AddChild(newHdr, inReplyTo, threadInThread, announcer);
|
||||
}
|
||||
|
||||
nsMsgHdr * nsMsgDatabase::GetMsgHdrForReference(nsString2 &reference)
|
||||
nsMsgHdr * nsMsgDatabase::GetMsgHdrForReference(nsCString &reference)
|
||||
{
|
||||
NS_ASSERTION(PR_FALSE, "not implemented yet.");
|
||||
return nsnull;
|
||||
}
|
||||
|
||||
nsIMsgDBHdr *nsMsgDatabase::GetMsgHdrForMessageID(nsString2 &msgID)
|
||||
nsIMsgDBHdr *nsMsgDatabase::GetMsgHdrForMessageID(nsCString &msgID)
|
||||
{
|
||||
nsIMsgDBHdr *msgHdr = nsnull;
|
||||
nsresult rv = NS_OK;
|
||||
@ -2473,7 +2499,7 @@ nsIMsgDBHdr *nsMsgDatabase::GetMsgHdrForMessageID(nsString2 &msgID)
|
||||
return msgHdr;
|
||||
}
|
||||
|
||||
nsIMsgDBHdr *nsMsgDatabase::GetMsgHdrForSubject(nsString2 &subject)
|
||||
nsIMsgDBHdr *nsMsgDatabase::GetMsgHdrForSubject(nsCString &subject)
|
||||
{
|
||||
nsIMsgDBHdr *msgHdr = nsnull;
|
||||
nsresult rv = NS_OK;
|
||||
@ -2569,15 +2595,17 @@ nsresult nsMsgDatabase::AddNewThread(nsMsgHdr *msgHdr)
|
||||
|
||||
nsMsgThread *threadHdr = nsnull;
|
||||
|
||||
nsString2 subject(eOneByte);
|
||||
nsAutoString subject;
|
||||
|
||||
nsresult err = msgHdr->GetSubject(&subject);
|
||||
|
||||
err = CreateNewThread(msgHdr->m_messageKey, subject.GetBuffer(), &threadHdr);
|
||||
nsAutoCString cSubject(subject);
|
||||
|
||||
err = CreateNewThread(msgHdr->m_messageKey, (const char *) cSubject, &threadHdr);
|
||||
msgHdr->SetThreadId(msgHdr->m_messageKey);
|
||||
if (threadHdr)
|
||||
{
|
||||
// nsString2 subject(eOneByte);
|
||||
// nsCString subject;
|
||||
|
||||
threadHdr->AddRef();
|
||||
// err = msgHdr->GetSubject(subject);
|
||||
|
||||
@ -233,7 +233,7 @@ NS_IMETHODIMP nsMsgHdr::GetNumReferences(PRUint16 *result)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgHdr::GetStringReference(PRInt32 refNum, nsString2 &resultReference)
|
||||
NS_IMETHODIMP nsMsgHdr::GetStringReference(PRInt32 refNum, nsCString &resultReference)
|
||||
{
|
||||
nsresult err = NS_OK;
|
||||
nsAutoString allReferences (eOneByte);
|
||||
@ -276,7 +276,7 @@ NS_IMETHODIMP nsMsgHdr::SetAuthor(const char *author)
|
||||
|
||||
NS_IMETHODIMP nsMsgHdr::SetReferences(const char *references)
|
||||
{
|
||||
nsString2 reference;
|
||||
nsCString reference;
|
||||
|
||||
for (const char *startNextRef = references; startNextRef != nsnull;)
|
||||
{
|
||||
@ -474,9 +474,9 @@ NS_IMETHODIMP nsMsgHdr::GetCCList(nsString *resultCCList)
|
||||
return m_mdb->RowCellColumnTonsString(GetMDBRow(), m_mdb->m_ccListColumnToken, *resultCCList);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgHdr::GetMessageId(nsString *resultMessageId)
|
||||
NS_IMETHODIMP nsMsgHdr::GetMessageId(nsCString *resultMessageId)
|
||||
{
|
||||
return m_mdb->RowCellColumnTonsString(GetMDBRow(), m_mdb->m_messageIdColumnToken, *resultMessageId);
|
||||
return m_mdb->RowCellColumnTonsCString(GetMDBRow(), m_mdb->m_messageIdColumnToken, *resultMessageId);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgHdr::GetMime2DecodedAuthor(nsString *resultAuthor)
|
||||
@ -560,7 +560,7 @@ nsresult nsMsgHdr::GetUInt32Column(mdb_token token, PRUint32 *pvalue)
|
||||
}
|
||||
|
||||
// get the next <> delimited reference from nextRef and copy it into reference,
|
||||
const char *nsMsgHdr::GetNextReference(const char *startNextRef, nsString2 &reference)
|
||||
const char *nsMsgHdr::GetNextReference(const char *startNextRef, nsCString &reference)
|
||||
{
|
||||
const char *ptr = startNextRef;
|
||||
|
||||
@ -578,7 +578,7 @@ const char *nsMsgHdr::GetNextReference(const char *startNextRef, nsString2 &refe
|
||||
// Get previous <> delimited reference - used to go backwards through the
|
||||
// reference string. Caller will need to make sure that prevRef is not before
|
||||
// the start of the reference string when we return.
|
||||
const char *nsMsgHdr::GetPrevReference(const char *prevRef, nsString2 &reference)
|
||||
const char *nsMsgHdr::GetPrevReference(const char *prevRef, nsCString &reference)
|
||||
{
|
||||
const char *ptr = prevRef;
|
||||
|
||||
@ -599,8 +599,8 @@ PRBool nsMsgHdr::IsParentOf(nsIMsgDBHdr *possibleChild)
|
||||
{
|
||||
PRUint16 numReferences = 0;
|
||||
possibleChild->GetNumReferences(&numReferences);
|
||||
nsAutoString2 reference(eOneByte);
|
||||
nsAutoString2 messageId(eOneByte);
|
||||
nsCString reference;
|
||||
nsCString messageId;
|
||||
|
||||
GetMessageId(&messageId);
|
||||
possibleChild->GetStringReference(numReferences - 1, reference);
|
||||
|
||||
@ -424,7 +424,7 @@ PRBool nsMsgThread::TryReferenceThreading(nsIMsgDBHdr *newHeader)
|
||||
for (int32 refIndex = newHeader->GetNumReferences() - 1; !done && refIndex >= 0; refIndex--)
|
||||
{
|
||||
nsCOMPtr <nsIMsgDBHdr> refHdr;
|
||||
nsString2 referenceStr;
|
||||
nsCString referenceStr;
|
||||
|
||||
newHeader->GetStringReference(refIndex, referenceStr);
|
||||
refHdr = m_mdbDB->GetMsgHdrForMessageID(referenceStr);
|
||||
|
||||
@ -63,7 +63,7 @@ public:
|
||||
nsMsgKey newKey,
|
||||
nsISupports* copyState) = 0;
|
||||
NS_IMETHOD GetMessageId(nsIImapProtocol* aProtocol,
|
||||
nsString2* messageId,
|
||||
nsCString* messageId,
|
||||
nsISupports* copyState) = 0;
|
||||
};
|
||||
|
||||
|
||||
@ -161,8 +161,8 @@ public:
|
||||
|
||||
NS_IMETHOD AddOnlineDirectoryIfNecessary(const char *onlineMailboxName, char ** directory) = 0;
|
||||
|
||||
NS_IMETHOD CreateSearchCriteriaString(nsString2 *aResult) = 0;
|
||||
NS_IMETHOD CreateListOfMessageIdsString(nsString2 *result) = 0;
|
||||
NS_IMETHOD CreateSearchCriteriaString(nsCString *aResult) = 0;
|
||||
NS_IMETHOD CreateListOfMessageIdsString(nsCString *result) = 0;
|
||||
NS_IMETHOD MessageIdsAreUids(PRBool *result) = 0;
|
||||
NS_IMETHOD GetMsgFlags(imapMessageFlagsType *result) = 0; // kAddMsgFlags or kSubtractMsgFlags only
|
||||
NS_IMETHOD GetChildDiscoveryDepth(PRInt32* discoveryDepth) = 0;
|
||||
|
||||
@ -1558,7 +1558,7 @@ PRBool nsIMAPBodyShellCache::AddShellToCache(nsIMAPBodyShell *shell)
|
||||
|
||||
}
|
||||
|
||||
nsIMAPBodyShell *nsIMAPBodyShellCache::FindShellForUID(nsString2 &UID, const char *mailboxName)
|
||||
nsIMAPBodyShell *nsIMAPBodyShellCache::FindShellForUID(nsCString &UID, const char *mailboxName)
|
||||
{
|
||||
nsStringKey hashKey(UID);
|
||||
nsIMAPBodyShell *foundShell = (nsIMAPBodyShell *) m_shellHash->Get(&hashKey);
|
||||
@ -1579,7 +1579,7 @@ nsIMAPBodyShell *nsIMAPBodyShellCache::FindShellForUID(nsString2 &UID, const cha
|
||||
|
||||
nsIMAPBodyShell *nsIMAPBodyShellCache::FindShellForUID(PRUint32 UID, const char *mailboxName)
|
||||
{
|
||||
nsString2 uidString;
|
||||
nsCString uidString;
|
||||
|
||||
uidString.Append(UID, 10);
|
||||
nsIMAPBodyShell *rv = FindShellForUID(uidString, mailboxName);
|
||||
|
||||
@ -260,7 +260,7 @@ public:
|
||||
nsImapProtocol *GetConnection() { return m_protocolConnection; }
|
||||
PRBool GetPseudoInterrupted();
|
||||
PRBool DeathSignalReceived();
|
||||
nsString2 &GetUID() { return m_UID; }
|
||||
nsCString &GetUID() { return m_UID; }
|
||||
const char *GetFolderName() { return m_folderName; }
|
||||
char *GetGeneratingPart() { return m_generatingPart; }
|
||||
PRBool IsBeingGenerated() { return m_isBeingGenerated; } // Returns TRUE if this is in the process of being
|
||||
@ -277,7 +277,7 @@ protected:
|
||||
|
||||
PRBool m_isValid;
|
||||
nsImapProtocol *m_protocolConnection; // Connection, for filling in parts
|
||||
nsString2 m_UID; // UID of this message
|
||||
nsCString m_UID; // UID of this message
|
||||
char *m_folderName; // folder that contains this message
|
||||
char *m_generatingPart; // If a specific part is being generated, this is it. Otherwise, NULL.
|
||||
PRBool m_isBeingGenerated; // TRUE if this body shell is in the process of being generated
|
||||
@ -309,7 +309,7 @@ public:
|
||||
|
||||
PRBool AddShellToCache(nsIMAPBodyShell *shell); // Adds shell to cache, possibly ejecting
|
||||
// another entry based on scheme in EjectEntry().
|
||||
nsIMAPBodyShell *FindShellForUID(nsString2 &UID, const char *mailboxName); // Looks up a shell in the cache given the message's UID.
|
||||
nsIMAPBodyShell *FindShellForUID(nsCString &UID, const char *mailboxName); // Looks up a shell in the cache given the message's UID.
|
||||
nsIMAPBodyShell *FindShellForUID(PRUint32 UID, const char *mailboxName); // Looks up a shell in the cache given the message's UID.
|
||||
// Returns the shell if found, NULL if not found.
|
||||
|
||||
|
||||
@ -422,7 +422,7 @@ char *nsIMAPGenericParser::CreateQuoted(PRBool /*skipToEnd*/)
|
||||
int charIndex = 0;
|
||||
int tokenIndex = 0;
|
||||
PRBool closeQuoteFound = PR_FALSE;
|
||||
nsString2 returnString(currentChar, eOneByte);
|
||||
nsCString returnString(currentChar);
|
||||
|
||||
while (!closeQuoteFound && ContinueParse())
|
||||
{
|
||||
@ -588,8 +588,8 @@ char *nsIMAPGenericParser::CreateParenGroup()
|
||||
|
||||
// build up a buffer with the paren group.
|
||||
// start with an initial chunk, expand later if necessary
|
||||
nsString2 buf;
|
||||
nsString2 returnString;
|
||||
nsCString buf;
|
||||
nsCString returnString;
|
||||
int bytesUsed = 0;
|
||||
|
||||
// count the number of parens in the current token
|
||||
|
||||
@ -740,7 +740,7 @@ NS_IMETHODIMP nsIMAPHostSessionList::AddShellToCacheForHost(const char *hostName
|
||||
|
||||
NS_IMETHODIMP nsIMAPHostSessionList::FindShellInCacheForHost(const char *hostName, const char *userName, const char *mailboxName, const char *UID, nsIMAPBodyShell &shell)
|
||||
{
|
||||
nsString2 uidString = UID;
|
||||
nsCString uidString = UID;
|
||||
|
||||
PR_EnterMonitor(gCachedHostInfoMonitor);
|
||||
nsIMAPHostInfo *host = FindHost(hostName, userName);
|
||||
|
||||
@ -111,7 +111,7 @@ nsresult nsIMAPNamespaceList::InitFromString(const char *nameSpaceString, EIMAPN
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult nsIMAPNamespaceList::OutputToString(nsString &string)
|
||||
nsresult nsIMAPNamespaceList::OutputToString(nsCString &string)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
|
||||
@ -282,7 +282,7 @@ nsIMAPNamespace *nsIMAPNamespaceList::GetNamespaceForMailbox(const char *boxname
|
||||
If there is only one string, simply copy it and return it.
|
||||
Otherwise, put them in quotes and comma-delimit them.
|
||||
Returns a newly allocated string. */
|
||||
nsresult nsIMAPNamespaceList::SerializeNamespaces(char **prefixes, int len, nsString2 &serializedNamespaces)
|
||||
nsresult nsIMAPNamespaceList::SerializeNamespaces(char **prefixes, int len, nsCString &serializedNamespaces)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
if (len <= 0)
|
||||
|
||||
@ -57,9 +57,9 @@ public:
|
||||
static nsIMAPNamespaceList *CreatensIMAPNamespaceList();
|
||||
|
||||
nsresult InitFromString(const char *nameSpaceString, EIMAPNamespaceType nstype);
|
||||
nsresult OutputToString(nsString2 &OutputString);
|
||||
nsresult OutputToString(nsCString &OutputString);
|
||||
int UnserializeNamespaces(const char *str, char **prefixes, int len);
|
||||
nsresult SerializeNamespaces(char **prefixes, int len, nsString2 &serializedNamespace);
|
||||
nsresult SerializeNamespaces(char **prefixes, int len, nsCString &serializedNamespace);
|
||||
|
||||
void ClearNamespaces(PRBool deleteFromPrefsNamespaces, PRBool deleteServerAdvertisedNamespaces, PRBool reallyDelete);
|
||||
int GetNumberOfNamespaces();
|
||||
|
||||
@ -138,7 +138,7 @@ public:
|
||||
|
||||
protected:
|
||||
PRBool m_childrenListed;
|
||||
nsString2 m_mailboxName;
|
||||
nsCString m_mailboxName;
|
||||
char m_delimiter;
|
||||
};
|
||||
|
||||
|
||||
@ -626,7 +626,7 @@ NS_IMETHODIMP nsImapMailFolder::GetName(PRUnichar ** name)
|
||||
{
|
||||
char *hostName = nsnull;
|
||||
GetHostname(&hostName);
|
||||
nsString2 unicodeHostName(hostName);
|
||||
nsString unicodeHostName(hostName);
|
||||
SetName((PRUnichar *) unicodeHostName.GetUnicode());
|
||||
PR_FREEIF(hostName);
|
||||
m_haveReadNameFromDB = PR_TRUE;
|
||||
@ -996,7 +996,7 @@ NS_IMETHODIMP nsImapMailFolder::DeleteMessages(nsISupportsArray *messages,
|
||||
// *** jt - assuming delete is move to the trash folder for now
|
||||
nsCOMPtr<nsIEnumerator> aEnumerator;
|
||||
nsCOMPtr<nsIRDFResource> res;
|
||||
nsString2 uri("", eOneByte);
|
||||
nsCString uri;
|
||||
PRBool isTrashFolder = PR_FALSE;
|
||||
nsCString messageIds;
|
||||
nsMsgKeyArray srcKeyArray;
|
||||
@ -1152,7 +1152,7 @@ NS_IMETHODIMP nsImapMailFolder::PossibleImapMailbox(
|
||||
|
||||
nsCOMPtr <nsIMsgFolder> child;
|
||||
|
||||
// nsString2 possibleName(aSpec->allocatedPathName, eOneByte);
|
||||
// nsCString possibleName(aSpec->allocatedPathName);
|
||||
|
||||
uri.Append('/');
|
||||
uri.Append(aSpec->allocatedPathName);
|
||||
@ -2731,7 +2731,7 @@ nsImapMailFolder::SetAppendMsgUid(nsIImapProtocol* aProtocol,
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsImapMailFolder::GetMessageId(nsIImapProtocol* aProtocl,
|
||||
nsString2* messageId,
|
||||
nsCString* messageId,
|
||||
nsISupports* copyState)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
@ -2855,11 +2855,30 @@ NS_IMETHODIMP
|
||||
nsImapMailFolder::ProgressStatus(nsIImapProtocol* aProtocol,
|
||||
PRUint32 aMsgId)
|
||||
{
|
||||
#ifdef DEBUG_bienvenu
|
||||
PRUnichar *progressMsg = IMAPGetStringByID(aMsgId);
|
||||
nsCString cString(progressMsg);
|
||||
|
||||
if (aProtocol && progressMsg)
|
||||
{
|
||||
#ifdef DEBUG_bienvenu
|
||||
nsCString cString;
|
||||
cString = progressMsg;
|
||||
printf("status: %s\n", cString.GetBuffer());
|
||||
#endif
|
||||
nsCOMPtr <nsIImapUrl> imapUrl;
|
||||
aProtocol->GetRunningImapURL(getter_AddRefs(imapUrl));
|
||||
if (imapUrl)
|
||||
{
|
||||
nsCOMPtr <nsIMsgMailNewsUrl> mailnewsUrl = do_QueryInterface(imapUrl);
|
||||
if (mailnewsUrl)
|
||||
{
|
||||
nsCOMPtr <nsIMsgStatusFeedback> feedback;
|
||||
mailnewsUrl->GetStatusFeedback(getter_AddRefs(feedback));
|
||||
|
||||
if (feedback)
|
||||
feedback->ShowStatusString(progressMsg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
@ -2884,7 +2903,10 @@ nsImapMailFolder::PercentProgress(nsIImapProtocol* aProtocol,
|
||||
nsCOMPtr <nsIMsgStatusFeedback> feedback;
|
||||
mailnewsUrl->GetStatusFeedback(getter_AddRefs(feedback));
|
||||
if (feedback && aInfo->message)
|
||||
{
|
||||
feedback->ShowProgress(aInfo->percent);
|
||||
feedback->ShowStatusString(aInfo->message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3172,7 +3194,7 @@ nsImapMailFolder::CopyFileMessage(nsIFileSpec* fileSpec,
|
||||
{
|
||||
nsresult rv = NS_ERROR_NULL_POINTER;
|
||||
nsMsgKey key = 0xffffffff;
|
||||
nsString2 messageId("", eOneByte);
|
||||
nsCString messageId;
|
||||
nsCOMPtr<nsIUrlListener> urlListener;
|
||||
nsCOMPtr<nsISupports> srcSupport;
|
||||
nsCOMPtr<nsISupportsArray> messages;
|
||||
|
||||
@ -256,7 +256,7 @@ public:
|
||||
nsMsgKey aKey,
|
||||
nsISupports* copyState);
|
||||
NS_IMETHOD GetMessageId(nsIImapProtocol* aProtocol,
|
||||
nsString2* messageId,
|
||||
nsCString* messageId,
|
||||
nsISupports* copyState);
|
||||
|
||||
// nsIImapMiscellaneousSink methods
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
|
||||
|
||||
#include "msgCore.h" // precompiled header...
|
||||
#include "nsIMsgFolder.h"
|
||||
#include "nsImapMessage.h"
|
||||
#include "nsIRDFService.h"
|
||||
#include "nsIServiceManager.h"
|
||||
|
||||
@ -234,6 +234,7 @@ nsImapProtocol::nsImapProtocol() :
|
||||
m_userName = nsnull;
|
||||
m_hostName = nsnull;
|
||||
|
||||
m_progressStringId = 0;
|
||||
// where should we do this? Perhaps in the factory object?
|
||||
if (!IMAP)
|
||||
IMAP = PR_NewLogModule("IMAP");
|
||||
@ -608,7 +609,7 @@ nsImapProtocol::TellThreadToDie(PRBool isSaveToClose)
|
||||
|
||||
PRBool closeNeeded = GetServerStateParser().GetIMAPstate() ==
|
||||
nsImapServerResponseParser::kFolderSelected && isSaveToClose;
|
||||
nsString2 command("", eOneByte);
|
||||
nsCString command;
|
||||
nsresult rv;
|
||||
|
||||
if (closeNeeded && GetDeleteIsMoveToTrash())
|
||||
@ -1165,7 +1166,7 @@ NS_IMETHODIMP nsImapProtocol::CanHandleUrl(nsIImapUrl * aImapUrl,
|
||||
PRBool inSelectedState = GetServerStateParser().GetIMAPstate() ==
|
||||
nsImapServerResponseParser::kFolderSelected;
|
||||
|
||||
nsString2 curUrlFolderName("", eOneByte);
|
||||
nsCString curUrlFolderName;
|
||||
if (inSelectedState)
|
||||
{
|
||||
curUrlFolderName =
|
||||
@ -1279,7 +1280,7 @@ void nsImapProtocol::ProcessSelectedStateURL()
|
||||
PRBool bMessageIdsAreUids = PR_TRUE;
|
||||
imapMessageFlagsType msgFlags = 0;
|
||||
const char *hostName = GetImapHostName();
|
||||
nsString2 urlHost("",eOneByte);
|
||||
nsCString urlHost;
|
||||
|
||||
// this can't fail, can it?
|
||||
nsresult res;
|
||||
@ -1390,7 +1391,7 @@ void nsImapProtocol::ProcessSelectedStateURL()
|
||||
break;
|
||||
case nsIImapUrl::nsImapMsgFetch:
|
||||
{
|
||||
nsString2 messageIdString("",eOneByte);
|
||||
nsCString messageIdString;
|
||||
|
||||
m_runningUrl->CreateListOfMessageIdsString(&messageIdString);
|
||||
// we dont want to send the flags back in a group
|
||||
@ -1526,7 +1527,7 @@ void nsImapProtocol::ProcessSelectedStateURL()
|
||||
break;
|
||||
case nsIImapUrl::nsImapMsgHeader:
|
||||
{
|
||||
nsString2 messageIds("",eOneByte);
|
||||
nsCString messageIds;
|
||||
m_runningUrl->CreateListOfMessageIdsString(&messageIds);
|
||||
|
||||
// we don't want to send the flags back in a group
|
||||
@ -1538,7 +1539,7 @@ void nsImapProtocol::ProcessSelectedStateURL()
|
||||
break;
|
||||
case nsIImapUrl::nsImapSearch:
|
||||
{
|
||||
nsString2 searchCriteriaString("",eOneByte);
|
||||
nsCString searchCriteriaString;
|
||||
m_runningUrl->CreateSearchCriteriaString(&searchCriteriaString);
|
||||
Search(searchCriteriaString, bMessageIdsAreUids);
|
||||
// drop the results on the floor for now
|
||||
@ -1546,7 +1547,7 @@ void nsImapProtocol::ProcessSelectedStateURL()
|
||||
break;
|
||||
case nsIImapUrl::nsImapDeleteMsg:
|
||||
{
|
||||
nsString2 messageIdString("",eOneByte);
|
||||
nsCString messageIdString;
|
||||
|
||||
m_runningUrl->CreateListOfMessageIdsString(&messageIdString);
|
||||
if (HandlingMultipleMessages(messageIdString))
|
||||
@ -1590,7 +1591,7 @@ void nsImapProtocol::ProcessSelectedStateURL()
|
||||
uint32 numberOfMessages = GetServerStateParser().NumberOfMessages();
|
||||
if (numberOfMessages)
|
||||
{
|
||||
nsString2 messageIdString("1:*", eOneByte);
|
||||
nsCString messageIdString("1:*");
|
||||
|
||||
Store(messageIdString, "+FLAGS.SILENT (\\Deleted)",
|
||||
PR_FALSE); // use sequence #'s
|
||||
@ -1636,7 +1637,7 @@ void nsImapProtocol::ProcessSelectedStateURL()
|
||||
break;
|
||||
case nsIImapUrl::nsImapAddMsgFlags:
|
||||
{
|
||||
nsString2 messageIdString("",eOneByte);
|
||||
nsCString messageIdString;
|
||||
m_runningUrl->CreateListOfMessageIdsString(&messageIdString);
|
||||
|
||||
ProcessStoreFlags(messageIdString, bMessageIdsAreUids,
|
||||
@ -1656,7 +1657,7 @@ void nsImapProtocol::ProcessSelectedStateURL()
|
||||
break;
|
||||
case nsIImapUrl::nsImapSubtractMsgFlags:
|
||||
{
|
||||
nsString2 messageIdString("",eOneByte);
|
||||
nsCString messageIdString;
|
||||
m_runningUrl->CreateListOfMessageIdsString(&messageIdString);
|
||||
|
||||
ProcessStoreFlags(messageIdString, bMessageIdsAreUids,
|
||||
@ -1666,7 +1667,7 @@ void nsImapProtocol::ProcessSelectedStateURL()
|
||||
break;
|
||||
case nsIImapUrl::nsImapSetMsgFlags:
|
||||
{
|
||||
nsString2 messageIdString("",eOneByte);
|
||||
nsCString messageIdString;
|
||||
m_runningUrl->CreateListOfMessageIdsString(&messageIdString);
|
||||
|
||||
ProcessStoreFlags(messageIdString, bMessageIdsAreUids,
|
||||
@ -1681,7 +1682,7 @@ void nsImapProtocol::ProcessSelectedStateURL()
|
||||
case nsIImapUrl::nsImapOnlineCopy:
|
||||
case nsIImapUrl::nsImapOnlineMove:
|
||||
{
|
||||
nsString2 messageIdString("",eOneByte);
|
||||
nsCString messageIdString;
|
||||
m_runningUrl->CreateListOfMessageIdsString(&messageIdString);
|
||||
char *destinationMailbox =
|
||||
OnCreateServerDestinationFolderPathString();
|
||||
@ -1945,7 +1946,7 @@ nsImapProtocol::AdjustChunkSize()
|
||||
// escape any backslashes or quotes. Backslashes are used a lot with our NT server
|
||||
char *nsImapProtocol::CreateEscapedMailboxName(const char *rawName)
|
||||
{
|
||||
nsString2 escapedName(rawName, eOneByte);
|
||||
nsCString escapedName(rawName);
|
||||
|
||||
for (PRInt32 strIndex = 0; *rawName; strIndex++)
|
||||
{
|
||||
@ -1966,7 +1967,7 @@ void nsImapProtocol::SelectMailbox(const char *mailboxName)
|
||||
m_closeNeededBeforeSelect = PR_FALSE; // initial value
|
||||
GetServerStateParser().ResetFlagInfo(0);
|
||||
char *escapedName = CreateEscapedMailboxName(mailboxName);
|
||||
nsString2 commandBuffer(GetServerCommandTag(), eOneByte);
|
||||
nsCString commandBuffer(GetServerCommandTag());
|
||||
commandBuffer.Append(" select \"");
|
||||
commandBuffer.Append(escapedName);
|
||||
commandBuffer.Append("\"" CRLF);
|
||||
@ -1998,7 +1999,7 @@ void nsImapProtocol::Bodystructure(const char *messageId, PRBool idIsUid)
|
||||
{
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 commandString(GetServerCommandTag(), eOneByte);
|
||||
nsCString commandString(GetServerCommandTag());
|
||||
if (idIsUid)
|
||||
commandString.Append(" UID");
|
||||
commandString.Append(" fetch ");
|
||||
@ -2017,7 +2018,7 @@ void nsImapProtocol::PipelinedFetchMessageParts(const char *uid, nsIMAPMessagePa
|
||||
// assumes no chunking
|
||||
|
||||
// build up a string to fetch
|
||||
nsString2 stringToFetch("",eOneByte), what("",eOneByte);
|
||||
nsCString stringToFetch, what;
|
||||
int32 currentPartNum = 0;
|
||||
while ((parts->GetNumParts() > currentPartNum) && !DeathSignalReceived())
|
||||
{
|
||||
@ -2065,7 +2066,7 @@ void nsImapProtocol::PipelinedFetchMessageParts(const char *uid, nsIMAPMessagePa
|
||||
{
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 commandString(GetServerCommandTag(), eOneByte);
|
||||
nsCString commandString(GetServerCommandTag());
|
||||
commandString.Append(" UID fetch ");
|
||||
commandString.Append(uid, 10);
|
||||
commandString.Append(" (");
|
||||
@ -2084,7 +2085,7 @@ void nsImapProtocol::PipelinedFetchMessageParts(const char *uid, nsIMAPMessagePa
|
||||
// message...
|
||||
|
||||
void
|
||||
nsImapProtocol::FetchMessage(nsString2 &messageIds,
|
||||
nsImapProtocol::FetchMessage(nsCString &messageIds,
|
||||
nsIMAPeFetchFields whatToFetch,
|
||||
PRBool idIsUid,
|
||||
PRUint32 startByte, PRUint32 endByte,
|
||||
@ -2092,7 +2093,7 @@ nsImapProtocol::FetchMessage(nsString2 &messageIds,
|
||||
{
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 commandString;
|
||||
nsCString commandString;
|
||||
if (idIsUid)
|
||||
commandString = "%s UID fetch";
|
||||
else
|
||||
@ -2295,7 +2296,7 @@ nsImapProtocol::FetchMessage(nsString2 &messageIds,
|
||||
HandleMemoryFailure();
|
||||
}
|
||||
|
||||
void nsImapProtocol::FetchTryChunking(nsString2 &messageIds,
|
||||
void nsImapProtocol::FetchTryChunking(nsCString &messageIds,
|
||||
nsIMAPeFetchFields whatToFetch,
|
||||
PRBool idIsUid,
|
||||
char *part,
|
||||
@ -2345,13 +2346,13 @@ void nsImapProtocol::FetchTryChunking(nsString2 &messageIds,
|
||||
}
|
||||
|
||||
|
||||
void nsImapProtocol::PipelinedFetchMessageParts(nsString2 &uid, nsIMAPMessagePartIDArray *parts)
|
||||
void nsImapProtocol::PipelinedFetchMessageParts(nsCString &uid, nsIMAPMessagePartIDArray *parts)
|
||||
{
|
||||
// assumes no chunking
|
||||
|
||||
// build up a string to fetch
|
||||
nsString2 stringToFetch("",eOneByte, 0);
|
||||
nsString2 what("",eOneByte, 0);
|
||||
nsCString stringToFetch;
|
||||
nsCString what;
|
||||
|
||||
int32 currentPartNum = 0;
|
||||
while ((parts->GetNumParts() > currentPartNum) && !DeathSignalReceived())
|
||||
@ -2620,7 +2621,7 @@ void nsImapProtocol::ProcessMailboxUpdate(PRBool handlePossibleUndo)
|
||||
if (handlePossibleUndo)
|
||||
{
|
||||
// undo any delete flags we may have asked to
|
||||
nsString2 undoIds("",eOneByte);
|
||||
nsCString undoIds;
|
||||
|
||||
GetCurrentUrl()->CreateListOfMessageIdsString(&undoIds);
|
||||
if (undoIds.Length() > 0)
|
||||
@ -2639,7 +2640,7 @@ void nsImapProtocol::ProcessMailboxUpdate(PRBool handlePossibleUndo)
|
||||
}
|
||||
|
||||
// make the parser record these flags
|
||||
nsString2 fetchStr;
|
||||
nsCString fetchStr;
|
||||
PRInt32 added = 0, deleted = 0;
|
||||
|
||||
m_flagState.GetNumberOfMessages(&added);
|
||||
@ -2647,7 +2648,7 @@ void nsImapProtocol::ProcessMailboxUpdate(PRBool handlePossibleUndo)
|
||||
|
||||
if (!added || (added == deleted))
|
||||
{
|
||||
nsString2 idsToFetch("1:*");
|
||||
nsCString idsToFetch("1:*");
|
||||
FetchMessage(idsToFetch, kFlags, TRUE); // id string shows uids
|
||||
// lets see if we should expunge during a full sync of flags.
|
||||
if (!DeathSignalReceived()) // only expunge if not reading messages manually and before fetching new
|
||||
@ -2845,7 +2846,7 @@ void nsImapProtocol::FolderMsgDumpLoop(PRUint32 *msgUids, PRUint32 msgCount, nsI
|
||||
PRUint32 msgsDownloaded = 0;
|
||||
do
|
||||
{
|
||||
nsString2 idString("",eOneByte);
|
||||
nsCString idString;
|
||||
|
||||
PRUint32 msgsToDownload = (msgCountLeft > 200) ? 200 : msgCountLeft;
|
||||
AllocateImapUidString(msgUids + msgsDownloaded, msgsToDownload, idString); // 20 * 200
|
||||
@ -2890,7 +2891,7 @@ void nsImapProtocol::PeriodicBiff()
|
||||
if (GetServerStateParser().NumberOfMessages() != numMessages)
|
||||
{
|
||||
PRUint32 id = GetServerStateParser().HighestRecordedUID() + 1;
|
||||
nsString2 fetchStr("",eOneByte); // only update flags
|
||||
nsCString fetchStr; // only update flags
|
||||
PRUint32 added = 0, deleted = 0;
|
||||
|
||||
deleted = m_flagState.GetNumberOfDeletedMessages();
|
||||
@ -2941,7 +2942,7 @@ PRBool nsImapProtocol::CheckNewMail()
|
||||
|
||||
|
||||
|
||||
void nsImapProtocol::AllocateImapUidString(PRUint32 *msgUids, PRUint32 msgCount, nsString2 &returnString)
|
||||
void nsImapProtocol::AllocateImapUidString(PRUint32 *msgUids, PRUint32 msgCount, nsCString &returnString)
|
||||
{
|
||||
PRUint32 startSequence = (msgCount > 0) ? msgUids[0] : 0xFFFFFFFF;
|
||||
PRUint32 curSequenceEnd = startSequence;
|
||||
@ -3029,7 +3030,7 @@ void nsImapProtocol::Log(const char *logSubName, const char *extraInfo, const ch
|
||||
// In 4.5, this posted an event back to libmsg and blocked until it got a response.
|
||||
// We may still have to do this.It would be nice if we could preflight this value,
|
||||
// but we may not always know when we'll need it.
|
||||
PRUint32 nsImapProtocol::GetMessageSize(nsString2 &messageId,
|
||||
PRUint32 nsImapProtocol::GetMessageSize(nsCString &messageId,
|
||||
PRBool idsAreUids)
|
||||
{
|
||||
MessageSizeInfo *sizeInfo =
|
||||
@ -3111,12 +3112,12 @@ PRBool nsImapProtocol::GetShowAttachmentsInline()
|
||||
PL_strchr(messageIdString,':') != nsnull);
|
||||
}
|
||||
|
||||
/* static */PRBool nsImapProtocol::HandlingMultipleMessages(nsString2 &messageIdString)
|
||||
/* static */PRBool nsImapProtocol::HandlingMultipleMessages(nsCString &messageIdString)
|
||||
{
|
||||
return (messageIdString.FindCharInSet(",:") != -1);
|
||||
}
|
||||
|
||||
PRUint32 nsImapProtocol::CountMessagesInIdString(nsString2 &idString)
|
||||
PRUint32 nsImapProtocol::CountMessagesInIdString(nsCString &idString)
|
||||
{
|
||||
return CountMessagesInIdString((const char *) idString.GetBuffer());
|
||||
}
|
||||
@ -3484,7 +3485,7 @@ nsImapProtocol::DiscoverMailboxSpec(mailbox_spec * adoptedBoxSpec)
|
||||
hostName, userName, kPersonalNamespace, ns);
|
||||
const char *nsPrefix = ns ? ns->GetPrefix() : 0;
|
||||
|
||||
nsString2 canonicalSubDir("",eOneByte, 0);
|
||||
nsCString canonicalSubDir;
|
||||
if (nsPrefix)
|
||||
{
|
||||
PRUnichar slash = '/';
|
||||
@ -3517,7 +3518,7 @@ nsImapProtocol::DiscoverMailboxSpec(mailbox_spec * adoptedBoxSpec)
|
||||
kImapTrashFolderName))
|
||||
{
|
||||
PRBool trashExists = PR_FALSE;
|
||||
nsString2 trashMatch("",eOneByte,0);
|
||||
nsCString trashMatch;
|
||||
trashMatch = nsPrefix;
|
||||
trashMatch += kImapTrashFolderName;
|
||||
{
|
||||
@ -3560,7 +3561,7 @@ nsImapProtocol::DiscoverMailboxSpec(mailbox_spec * adoptedBoxSpec)
|
||||
if (adoptedBoxSpec->allocatedPathName&&
|
||||
*adoptedBoxSpec->allocatedPathName)
|
||||
{
|
||||
nsString2 boxNameCopy ("",eOneByte, 0);
|
||||
nsCString boxNameCopy;
|
||||
|
||||
boxNameCopy = adoptedBoxSpec->allocatedPathName;
|
||||
|
||||
@ -3630,8 +3631,7 @@ nsImapProtocol::DiscoverMailboxSpec(mailbox_spec * adoptedBoxSpec)
|
||||
case kListingForInfoOnly:
|
||||
{
|
||||
//UpdateProgressWindowForUpgrade(adoptedBoxSpec->allocatedPathName);
|
||||
ProgressEventFunctionUsingIdWithString(
|
||||
/***** fix me **** MK_MSG_IMAP_DISCOVERING_MAILBOX */ -1,
|
||||
ProgressEventFunctionUsingIdWithString(IMAP_DISCOVERING_MAILBOX,
|
||||
adoptedBoxSpec->allocatedPathName);
|
||||
nsIMAPMailboxInfo *mb = new
|
||||
nsIMAPMailboxInfo(adoptedBoxSpec->allocatedPathName,
|
||||
@ -3770,7 +3770,7 @@ nsImapProtocol::CreateUtf7ConvertedString(const char * aSourceString,
|
||||
}
|
||||
NS_IF_RELEASE(decoder);
|
||||
// convert the unicode to 8 bit ascii.
|
||||
nsString2 unicodeStr(unichars);
|
||||
nsString unicodeStr(unichars);
|
||||
convertedString = (char *) PR_Malloc(unicharLength + 1);
|
||||
if (convertedString)
|
||||
unicodeStr.ToCString(convertedString, unicharLength + 1, 0);
|
||||
@ -3779,7 +3779,7 @@ nsImapProtocol::CreateUtf7ConvertedString(const char * aSourceString,
|
||||
else
|
||||
{
|
||||
// convert from 8 bit ascii string to modified utf7
|
||||
nsString2 unicodeStr(aSourceString);
|
||||
nsString unicodeStr(aSourceString);
|
||||
nsIUnicodeEncoder* encoder = nsnull;
|
||||
aCharset.SetString("x-imap4-modified-utf7");
|
||||
res = ccm->GetUnicodeEncoder(&aCharset, &encoder);
|
||||
@ -3800,7 +3800,7 @@ nsImapProtocol::CreateUtf7ConvertedString(const char * aSourceString,
|
||||
}
|
||||
}
|
||||
NS_IF_RELEASE(encoder);
|
||||
nsString2 unicodeStr2(dstPtr);
|
||||
nsString unicodeStr2(dstPtr);
|
||||
convertedString = (char *) PR_Malloc(dstLength + 1);
|
||||
if (convertedString)
|
||||
unicodeStr2.ToCString(convertedString, dstLength + 1, 0);
|
||||
@ -3845,7 +3845,7 @@ PRUnichar * nsImapProtocol::CreatePRUnicharStringFromUTF7(const char * aSourceSt
|
||||
}
|
||||
NS_IF_RELEASE(decoder);
|
||||
// convert the unicode to 8 bit ascii.
|
||||
nsString2 unicodeStr(unichars);
|
||||
nsString unicodeStr(unichars);
|
||||
convertedString = unicodeStr.ToNewUnicode();
|
||||
}
|
||||
}
|
||||
@ -3855,7 +3855,7 @@ PRUnichar * nsImapProtocol::CreatePRUnicharStringFromUTF7(const char * aSourceSt
|
||||
|
||||
// imap commands issued by the parser
|
||||
void
|
||||
nsImapProtocol::Store(nsString2 &messageList, const char * messageData,
|
||||
nsImapProtocol::Store(nsCString &messageList, const char * messageData,
|
||||
PRBool idsAreUid)
|
||||
{
|
||||
IncrementCommandTagNumber();
|
||||
@ -3898,7 +3898,7 @@ void
|
||||
nsImapProtocol::UidExpunge(const char* messageSet)
|
||||
{
|
||||
IncrementCommandTagNumber();
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
command.Append(" uid expunge ");
|
||||
command.Append(messageSet);
|
||||
command.Append(CRLF);
|
||||
@ -3910,10 +3910,10 @@ nsImapProtocol::UidExpunge(const char* messageSet)
|
||||
void
|
||||
nsImapProtocol::Expunge()
|
||||
{
|
||||
ProgressEventFunctionUsingId (/***** fix me **** MK_IMAP_STATUS_EXPUNGING_MAILBOX */ -1);
|
||||
ProgressEventFunctionUsingId (IMAP_STATUS_EXPUNGING_MAILBOX);
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
command.Append(" expunge"CRLF);
|
||||
|
||||
nsresult rv = SendData(command.GetBuffer());
|
||||
@ -3961,7 +3961,7 @@ void nsImapProtocol::Capability()
|
||||
|
||||
ProgressEventFunctionUsingId (IMAP_STATUS_CHECK_COMPAT);
|
||||
IncrementCommandTagNumber();
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
|
||||
command.Append(" capability" CRLF);
|
||||
|
||||
@ -3973,11 +3973,9 @@ void nsImapProtocol::Capability()
|
||||
void nsImapProtocol::InsecureLogin(const char *userName, const char *password)
|
||||
{
|
||||
|
||||
#ifdef UNREADY_CODE
|
||||
ProgressEventFunction_UsingId (MK_IMAP_STATUS_SENDING_LOGIN);
|
||||
#endif
|
||||
ProgressEventFunctionUsingId (IMAP_STATUS_SENDING_LOGIN);
|
||||
IncrementCommandTagNumber();
|
||||
nsString2 command (GetServerCommandTag(), eOneByte);
|
||||
nsCString command (GetServerCommandTag());
|
||||
command.Append(" login \"");
|
||||
command.Append(userName);
|
||||
command.Append("\" \"");
|
||||
@ -3996,9 +3994,7 @@ void nsImapProtocol::InsecureLogin(const char *userName, const char *password)
|
||||
|
||||
void nsImapProtocol::AuthLogin(const char *userName, const char *password, eIMAPCapabilityFlag flag)
|
||||
{
|
||||
#ifdef UNREADY_CODE
|
||||
ProgressEventFunction_UsingId (MK_IMAP_STATUS_SENDING_AUTH_LOGIN);
|
||||
#endif
|
||||
ProgressEventFunctionUsingId (IMAP_STATUS_SENDING_AUTH_LOGIN);
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
char * currentCommand=nsnull;
|
||||
@ -4087,9 +4083,7 @@ void nsImapProtocol::OnLSubFolders()
|
||||
char *mailboxName = OnCreateServerSourceFolderPathString();
|
||||
if (mailboxName)
|
||||
{
|
||||
#ifdef UNREADY_CODE
|
||||
ProgressEventFunction_UsingId(MK_IMAP_STATUS_LOOKING_FOR_MAILBOX);
|
||||
#endif
|
||||
ProgressEventFunctionUsingId(IMAP_STATUS_LOOKING_FOR_MAILBOX);
|
||||
IncrementCommandTagNumber();
|
||||
PR_snprintf(m_dataOutputBuf, OUTPUT_BUFFER_SIZE,"%s list \"\" \"%s\"" CRLF, GetServerCommandTag(), mailboxName);
|
||||
nsresult rv = SendData(m_dataOutputBuf);
|
||||
@ -4190,12 +4184,12 @@ void nsImapProtocol::UploadMessageFromFile (nsIFileSpec* fileSpec,
|
||||
PRUint32 fileSize = 0;
|
||||
PRInt32 totalSize, readCount;
|
||||
char *dataBuffer = nsnull;
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
char* escapedName = CreateEscapedMailboxName(mailboxName);
|
||||
nsresult rv;
|
||||
PRBool isOpen = PR_FALSE;
|
||||
PRBool eof = PR_FALSE;
|
||||
nsString2 flagString("", eOneByte);
|
||||
nsCString flagString;
|
||||
PRBool hasLiteralPlus = (GetServerStateParser().GetCapabilityFlag() &
|
||||
kLiteralPlusCapability);
|
||||
|
||||
@ -4267,7 +4261,7 @@ void nsImapProtocol::UploadMessageFromFile (nsIFileSpec* fileSpec,
|
||||
copyState);
|
||||
WaitForFEEventCompletion();
|
||||
}
|
||||
nsString2 oldMsgId("", eOneByte);
|
||||
nsCString oldMsgId;
|
||||
rv =
|
||||
m_runningUrl->CreateListOfMessageIdsString(&oldMsgId);
|
||||
if (NS_SUCCEEDED(rv) && oldMsgId.Length() > 0)
|
||||
@ -4280,7 +4274,7 @@ void nsImapProtocol::UploadMessageFromFile (nsIFileSpec* fileSpec,
|
||||
}
|
||||
else if (m_imapExtensionSink)
|
||||
{ // *** code me to search for the newly appended message
|
||||
nsString2 messageId("", eOneByte);
|
||||
nsCString messageId;
|
||||
rv = m_imapExtensionSink->GetMessageId(this, &messageId,
|
||||
copyState);
|
||||
WaitForFEEventCompletion();
|
||||
@ -4387,7 +4381,7 @@ void nsImapProtocol::OnRefreshACLForFolder(const char *mailboxName)
|
||||
{
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
char *escapedName = CreateEscapedMailboxName(mailboxName);
|
||||
command.Append(" getacl \"");
|
||||
command.Append(escapedName);
|
||||
@ -4408,7 +4402,7 @@ void nsImapProtocol::OnRefreshAllACLs()
|
||||
// any state commands
|
||||
void nsImapProtocol::Logout()
|
||||
{
|
||||
// ProgressEventFunction_UsingId (MK_IMAP_STATUS_LOGGING_OUT);
|
||||
ProgressEventFunctionUsingId (IMAP_STATUS_LOGGING_OUT);
|
||||
|
||||
/******************************************************************
|
||||
* due to the undo functionality we cannot issule a close when logout; there
|
||||
@ -4424,7 +4418,7 @@ void nsImapProtocol::Logout()
|
||||
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
|
||||
command.Append(" logout" CRLF);
|
||||
|
||||
@ -4438,7 +4432,7 @@ void nsImapProtocol::Noop()
|
||||
{
|
||||
//ProgressUpdateEvent("noop...");
|
||||
IncrementCommandTagNumber();
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
|
||||
command.Append(" noop" CRLF);
|
||||
|
||||
@ -4450,9 +4444,9 @@ void nsImapProtocol::Noop()
|
||||
void nsImapProtocol::XServerInfo()
|
||||
{
|
||||
|
||||
// ProgressEventFunction_UsingId (MK_IMAP_GETTING_SERVER_INFO);
|
||||
ProgressEventFunctionUsingId (IMAP_GETTING_SERVER_INFO);
|
||||
IncrementCommandTagNumber();
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
|
||||
command.Append(" XSERVERINFO MANAGEACCOUNTURL MANAGELISTSURL MANAGEFILTERSURL" CRLF);
|
||||
|
||||
@ -4464,9 +4458,9 @@ void nsImapProtocol::XServerInfo()
|
||||
void nsImapProtocol::XMailboxInfo(const char *mailboxName)
|
||||
{
|
||||
|
||||
// ProgressEventFunction_UsingId (MK_IMAP_GETTING_MAILBOX_INFO);
|
||||
ProgressEventFunctionUsingId (IMAP_GETTING_MAILBOX_INFO);
|
||||
IncrementCommandTagNumber();
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
|
||||
command.Append(" XMAILBOXINFO \"");
|
||||
command.Append(mailboxName);
|
||||
@ -4480,10 +4474,10 @@ void nsImapProtocol::XMailboxInfo(const char *mailboxName)
|
||||
void nsImapProtocol::Namespace()
|
||||
{
|
||||
|
||||
// ProgressEventFunction_UsingId (MK_IMAP_STATUS_GETTING_NAMESPACE);
|
||||
ProgressEventFunctionUsingId (IMAP_STATUS_GETTING_NAMESPACE);
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
command.Append(" namespace" CRLF);
|
||||
|
||||
nsresult rv = SendData(command.GetBuffer());
|
||||
@ -4496,7 +4490,7 @@ void nsImapProtocol::MailboxData()
|
||||
{
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
command.Append(" mailboxdata" CRLF);
|
||||
|
||||
nsresult rv = SendData(command.GetBuffer());
|
||||
@ -4509,7 +4503,7 @@ void nsImapProtocol::GetMyRightsForFolder(const char *mailboxName)
|
||||
{
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
char *escapedName = CreateEscapedMailboxName(mailboxName);
|
||||
|
||||
command.Append(" myrights \"");
|
||||
@ -4527,7 +4521,7 @@ void nsImapProtocol::OnStatusForFolder(const char *mailboxName)
|
||||
{
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
char *escapedName = CreateEscapedMailboxName(mailboxName);
|
||||
|
||||
command.Append(" STATUS \"");
|
||||
@ -4737,8 +4731,8 @@ void nsImapProtocol::DiscoverMailboxList()
|
||||
}
|
||||
|
||||
// now do the folders within this namespace
|
||||
nsString2 pattern("",eOneByte);
|
||||
nsString2 pattern2("",eOneByte);
|
||||
nsCString pattern;
|
||||
nsCString pattern2;
|
||||
if (usingSubscription)
|
||||
{
|
||||
pattern.Append(prefix);
|
||||
@ -4791,9 +4785,7 @@ void nsImapProtocol::DiscoverMailboxList()
|
||||
GetServerStateParser().SetReportingErrors(FALSE);
|
||||
if (total)
|
||||
{
|
||||
#ifdef UNREADY_CODE
|
||||
ProgressEventFunction_UsingId(MK_IMAP_GETTING_ACL_FOR_FOLDER);
|
||||
#endif
|
||||
ProgressEventFunctionUsingId(IMAP_GETTING_ACL_FOR_FOLDER);
|
||||
nsIMAPMailboxInfo * mb = nsnull;
|
||||
do
|
||||
{
|
||||
@ -4811,9 +4803,7 @@ void nsImapProtocol::DiscoverMailboxList()
|
||||
PR_Free(onlineName);
|
||||
}
|
||||
}
|
||||
#ifdef UNREADY_CODE
|
||||
PercentProgressUpdateEvent(NULL, (cnt*100)/total);
|
||||
#endif
|
||||
delete mb; // this is the last time we're using the list, so delete the entries here
|
||||
cnt++;
|
||||
}
|
||||
@ -4944,14 +4934,12 @@ PRBool nsImapProtocol::CreateMailboxRespectingSubscriptions(const char *mailboxN
|
||||
|
||||
void nsImapProtocol::CreateMailbox(const char *mailboxName)
|
||||
{
|
||||
#ifdef UNREADY_CODE
|
||||
ProgressEventFunction_UsingId (MK_IMAP_STATUS_CREATING_MAILBOX);
|
||||
#endif
|
||||
ProgressEventFunctionUsingId (IMAP_STATUS_CREATING_MAILBOX);
|
||||
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
char *escapedName = CreateEscapedMailboxName(mailboxName);
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
command += " create \"";
|
||||
command += escapedName;
|
||||
command += "\""CRLF;
|
||||
@ -4970,7 +4958,7 @@ char * nsImapProtocol::CreatePossibleTrashName(const char *prefix)
|
||||
// use a string literal....(only temporary!!!!! =))...
|
||||
|
||||
// IMAP_LoadTrashFolderName();
|
||||
nsString2 returnTrash(prefix, eOneByte);
|
||||
nsCString returnTrash(prefix);
|
||||
|
||||
returnTrash += "Trash";
|
||||
return PL_strdup(returnTrash.GetBuffer());
|
||||
@ -4978,9 +4966,7 @@ char * nsImapProtocol::CreatePossibleTrashName(const char *prefix)
|
||||
|
||||
void nsImapProtocol::Lsub(const char *mailboxPattern, PRBool addDirectoryIfNecessary)
|
||||
{
|
||||
#ifdef UNREADY_CODE
|
||||
ProgressEventFunction_UsingId (MK_IMAP_STATUS_LOOKING_FOR_MAILBOX);
|
||||
#endif
|
||||
ProgressEventFunctionUsingId (IMAP_STATUS_LOOKING_FOR_MAILBOX);
|
||||
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
@ -4992,7 +4978,7 @@ void nsImapProtocol::Lsub(const char *mailboxPattern, PRBool addDirectoryIfNeces
|
||||
boxnameWithOnlineDirectory :
|
||||
mailboxPattern);
|
||||
|
||||
nsString2 command (GetServerCommandTag(), eOneByte);
|
||||
nsCString command (GetServerCommandTag());
|
||||
command += " lsub \"\" \"";
|
||||
command += escapedPattern;
|
||||
command += "\""CRLF;
|
||||
@ -5013,9 +4999,7 @@ void nsImapProtocol::Lsub(const char *mailboxPattern, PRBool addDirectoryIfNeces
|
||||
|
||||
void nsImapProtocol::List(const char *mailboxPattern, PRBool addDirectoryIfNecessary)
|
||||
{
|
||||
#ifdef UNREADY_CODE
|
||||
ProgressEventFunction_UsingId (MK_IMAP_STATUS_LOOKING_FOR_MAILBOX);
|
||||
#endif
|
||||
ProgressEventFunctionUsingId (IMAP_STATUS_LOOKING_FOR_MAILBOX);
|
||||
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
@ -5027,7 +5011,7 @@ void nsImapProtocol::List(const char *mailboxPattern, PRBool addDirectoryIfNeces
|
||||
boxnameWithOnlineDirectory :
|
||||
mailboxPattern);
|
||||
|
||||
nsString2 command (GetServerCommandTag(), eOneByte);
|
||||
nsCString command (GetServerCommandTag());
|
||||
command += " list \"\" \"";
|
||||
command += escapedPattern;
|
||||
command += "\""CRLF;
|
||||
@ -5047,15 +5031,15 @@ void nsImapProtocol::List(const char *mailboxPattern, PRBool addDirectoryIfNeces
|
||||
}
|
||||
|
||||
|
||||
void nsImapProtocol::Search(nsString2 &searchCriteria,
|
||||
void nsImapProtocol::Search(nsCString &searchCriteria,
|
||||
PRBool useUID,
|
||||
PRBool notifyHit /* TRUE */)
|
||||
{
|
||||
m_notifySearchHit = notifyHit;
|
||||
// ProgressEventFunction_UsingId (MK_IMAP_STATUS_SEARCH_MAILBOX);
|
||||
ProgressEventFunctionUsingId (IMAP_STATUS_SEARCH_MAILBOX);
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 protocolString(GetServerCommandTag(), eOneByte);
|
||||
nsCString protocolString(GetServerCommandTag());
|
||||
// the searchCriteria string contains the 'search ....' string
|
||||
if (useUID)
|
||||
protocolString.Append(" uid");
|
||||
@ -5068,7 +5052,7 @@ void nsImapProtocol::Search(nsString2 &searchCriteria,
|
||||
ParseIMAPandCheckForNewMail();
|
||||
}
|
||||
|
||||
void nsImapProtocol::Copy(nsString2 &messageList,
|
||||
void nsImapProtocol::Copy(nsCString &messageList,
|
||||
const char *destinationMailbox,
|
||||
PRBool idsAreUid)
|
||||
{
|
||||
@ -5076,7 +5060,7 @@ void nsImapProtocol::Copy(nsString2 &messageList,
|
||||
|
||||
char *escapedDestination = CreateEscapedMailboxName(destinationMailbox);
|
||||
|
||||
nsString2 protocolString(GetServerCommandTag(), eOneByte);
|
||||
nsCString protocolString(GetServerCommandTag());
|
||||
if (idsAreUid)
|
||||
protocolString.Append(" uid");
|
||||
protocolString.Append(" copy ");
|
||||
@ -5099,7 +5083,7 @@ void nsImapProtocol::NthLevelChildList(const char* onlineMailboxPrefix,
|
||||
"Oops ... depth must be equal or greater than 0");
|
||||
if (depth < 0) return;
|
||||
|
||||
nsString2 truncatedPrefix (onlineMailboxPrefix, eOneByte);
|
||||
nsCString truncatedPrefix (onlineMailboxPrefix);
|
||||
PRUnichar slash = '/';
|
||||
if (truncatedPrefix.Last() == slash)
|
||||
truncatedPrefix.SetLength(truncatedPrefix.Length()-1);
|
||||
@ -5108,8 +5092,8 @@ void nsImapProtocol::NthLevelChildList(const char* onlineMailboxPrefix,
|
||||
CreateUtf7ConvertedString(truncatedPrefix.GetBuffer(),TRUE);
|
||||
if (utf7ListArg)
|
||||
{
|
||||
nsString2 pattern(utf7ListArg, eOneByte);
|
||||
nsString2 suffix("",eOneByte);
|
||||
nsCString pattern(utf7ListArg);
|
||||
nsCString suffix;
|
||||
int count = 0;
|
||||
char separator = 0;
|
||||
m_runningUrl->GetOnlineSubDirSeparator(&separator);
|
||||
@ -5329,7 +5313,7 @@ void nsImapProtocol::ProcessAfterAuthenticated()
|
||||
}
|
||||
}
|
||||
|
||||
void nsImapProtocol::SetupMessageFlagsString(nsString2& flagString,
|
||||
void nsImapProtocol::SetupMessageFlagsString(nsCString& flagString,
|
||||
imapMessageFlagsType flags,
|
||||
PRUint16 userFlags)
|
||||
{
|
||||
@ -5357,7 +5341,7 @@ void nsImapProtocol::SetupMessageFlagsString(nsString2& flagString,
|
||||
flagString.SetLength(flagString.Length()-1);
|
||||
}
|
||||
|
||||
void nsImapProtocol::ProcessStoreFlags(nsString2 &messageIdsString,
|
||||
void nsImapProtocol::ProcessStoreFlags(nsCString &messageIdsString,
|
||||
PRBool idsAreUids,
|
||||
imapMessageFlagsType flags,
|
||||
PRBool addFlags)
|
||||
@ -5365,7 +5349,7 @@ void nsImapProtocol::ProcessStoreFlags(nsString2 &messageIdsString,
|
||||
if (!flags)
|
||||
return;
|
||||
|
||||
nsString2 flagString("",eOneByte);
|
||||
nsCString flagString;
|
||||
|
||||
uint16 userFlags = GetServerStateParser().SupportsUserFlags();
|
||||
uint16 settableFlags = GetServerStateParser().SettablePermanentFlags();
|
||||
@ -5404,10 +5388,10 @@ void nsImapProtocol::Close()
|
||||
{
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
command.Append(" close" CRLF);
|
||||
|
||||
// ProgressEventFunction_UsingId (MK_IMAP_STATUS_CLOSE_MAILBOX);
|
||||
ProgressEventFunctionUsingId (IMAP_STATUS_CLOSE_MAILBOX);
|
||||
|
||||
GetServerStateParser().ResetFlagInfo(0);
|
||||
|
||||
@ -5421,7 +5405,7 @@ void nsImapProtocol::Check()
|
||||
//ProgressUpdateEvent("Checking mailbox...");
|
||||
IncrementCommandTagNumber();
|
||||
|
||||
nsString2 command(GetServerCommandTag(), eOneByte);
|
||||
nsCString command(GetServerCommandTag());
|
||||
command.Append(" check" CRLF);
|
||||
|
||||
nsresult rv = SendData(command.GetBuffer());
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
#include "nsIStreamListener.h"
|
||||
#include "nsIOutputStream.h"
|
||||
#include "nsImapCore.h"
|
||||
#include "nsString2.h"
|
||||
#include "nsString.h"
|
||||
#include "nsCOMPtr.h"
|
||||
|
||||
#include "nsImapServerResponseParser.h"
|
||||
@ -113,26 +113,26 @@ public:
|
||||
|
||||
// message id string utilities.
|
||||
PRUint32 CountMessagesInIdString(const char *idString);
|
||||
PRUint32 CountMessagesInIdString(nsString2 &idString);
|
||||
PRUint32 CountMessagesInIdString(nsCString &idString);
|
||||
static PRBool HandlingMultipleMessages(const char *messageIdString);
|
||||
static PRBool HandlingMultipleMessages(nsString2 &messageIdString);
|
||||
static PRBool HandlingMultipleMessages(nsCString &messageIdString);
|
||||
|
||||
// used to start fetching a message.
|
||||
PRBool GetShouldDownloadArbitraryHeaders();
|
||||
char *GetArbitraryHeadersToDownload();
|
||||
virtual void AdjustChunkSize();
|
||||
virtual void FetchMessage(nsString2 &messageIds,
|
||||
virtual void FetchMessage(nsCString &messageIds,
|
||||
nsIMAPeFetchFields whatToFetch,
|
||||
PRBool idAreUid,
|
||||
PRUint32 startByte = 0, PRUint32 endByte = 0,
|
||||
char *part = 0);
|
||||
void FetchTryChunking(nsString2 &messageIds,
|
||||
void FetchTryChunking(nsCString &messageIds,
|
||||
nsIMAPeFetchFields whatToFetch,
|
||||
PRBool idIsUid,
|
||||
char *part,
|
||||
PRUint32 downloadSize,
|
||||
PRBool tryChunking);
|
||||
virtual void PipelinedFetchMessageParts(nsString2 &uid, nsIMAPMessagePartIDArray *parts);
|
||||
virtual void PipelinedFetchMessageParts(nsCString &uid, nsIMAPMessagePartIDArray *parts);
|
||||
|
||||
// used when streaming a message fetch
|
||||
virtual void BeginMessageDownLoad(PRUint32 totalSize, // for user, headers and body
|
||||
@ -156,7 +156,7 @@ public:
|
||||
PRBool GetPseudoInterrupted();
|
||||
void PseudoInterrupt(PRBool the_interrupt);
|
||||
|
||||
PRUint32 GetMessageSize(nsString2 &messageId, PRBool idsAreUids);
|
||||
PRUint32 GetMessageSize(nsCString &messageId, PRBool idsAreUids);
|
||||
PRBool GetSubscribingNow();
|
||||
|
||||
PRBool DeathSignalReceived();
|
||||
@ -200,14 +200,14 @@ public:
|
||||
|
||||
PRUnichar * CreatePRUnicharStringFromUTF7(const char * aSourceString);
|
||||
|
||||
void Copy(nsString2 &messageList, const char *destinationMailbox,
|
||||
void Copy(nsCString &messageList, const char *destinationMailbox,
|
||||
PRBool idsAreUid);
|
||||
void Search(nsString2 &searchCriteria, PRBool useUID,
|
||||
void Search(nsCString &searchCriteria, PRBool useUID,
|
||||
PRBool notifyHit = PR_TRUE);
|
||||
// imap commands issued by the parser
|
||||
void Store(nsString2 &aMessageList, const char * aMessageData, PRBool
|
||||
void Store(nsCString &aMessageList, const char * aMessageData, PRBool
|
||||
aIdsAreUid);
|
||||
void ProcessStoreFlags(nsString2 &messageIds,
|
||||
void ProcessStoreFlags(nsCString &messageIds,
|
||||
PRBool idsAreUids,
|
||||
imapMessageFlagsType flags,
|
||||
PRBool addFlags);
|
||||
@ -326,7 +326,7 @@ private:
|
||||
|
||||
PRBool GetDeleteIsMoveToTrash();
|
||||
PRMonitor *GetDataMemberMonitor();
|
||||
nsString2 m_currentCommand;
|
||||
nsCString m_currentCommand;
|
||||
nsImapServerResponseParser m_parser;
|
||||
nsImapServerResponseParser& GetServerStateParser() { return m_parser; };
|
||||
|
||||
@ -347,14 +347,14 @@ private:
|
||||
void FolderMsgDumpLoop(PRUint32 *msgUids, PRUint32 msgCount, nsIMAPeFetchFields fields);
|
||||
void WaitForPotentialListOfMsgsToFetch(PRUint32 **msgIdList, PRUint32 &msgCount);
|
||||
void WaitForPotentialListOfBodysToFetch(PRUint32 **msgIdList, PRUint32 &msgCount);
|
||||
void AllocateImapUidString(PRUint32 *msgUids, PRUint32 msgCount, nsString2 &returnString);
|
||||
void AllocateImapUidString(PRUint32 *msgUids, PRUint32 msgCount, nsCString &returnString);
|
||||
void HeaderFetchCompleted();
|
||||
void UploadMessageFromFile(nsIFileSpec* fileSpec, const char* mailboxName,
|
||||
imapMessageFlagsType flags);
|
||||
|
||||
// mailbox name utilities.
|
||||
char *CreateEscapedMailboxName(const char *rawName);
|
||||
void SetupMessageFlagsString(nsString2& flagString,
|
||||
void SetupMessageFlagsString(nsCString & flagString,
|
||||
imapMessageFlagsType flags,
|
||||
PRUint16 userFlags);
|
||||
|
||||
|
||||
@ -1175,7 +1175,7 @@ nsImapExtensionSinkProxy::SetAppendMsgUid(nsIImapProtocol* aProtocol,
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsImapExtensionSinkProxy::GetMessageId(nsIImapProtocol* aProtocol,
|
||||
nsString2* messageId,
|
||||
nsCString* messageId,
|
||||
nsISupports* copyState)
|
||||
{
|
||||
nsresult res = NS_OK;
|
||||
@ -3056,7 +3056,7 @@ SetAppendMsgUidProxyEvent::HandleEvent()
|
||||
}
|
||||
|
||||
GetMessageIdProxyEvent::GetMessageIdProxyEvent(
|
||||
nsImapExtensionSinkProxy* aProxy, nsString2* messageId,
|
||||
nsImapExtensionSinkProxy* aProxy, nsCString* messageId,
|
||||
nsISupports* copyState) :
|
||||
nsImapExtensionSinkProxyEvent(aProxy), m_messageId(messageId)
|
||||
{
|
||||
|
||||
@ -187,7 +187,7 @@ public:
|
||||
nsMsgKey aKey,
|
||||
nsISupports* copyState);
|
||||
NS_IMETHOD GetMessageId(nsIImapProtocol* aProtocol,
|
||||
nsString2* messageId,
|
||||
nsCString* messageId,
|
||||
nsISupports* copyState);
|
||||
|
||||
nsIImapExtensionSink* m_realImapExtensionSink;
|
||||
@ -600,7 +600,7 @@ struct SetCopyResponseUidProxyEvent : nsImapExtensionSinkProxyEvent
|
||||
virtual ~SetCopyResponseUidProxyEvent();
|
||||
NS_IMETHOD HandleEvent();
|
||||
nsMsgKeyArray m_copyKeyArray;
|
||||
nsString2 m_msgIdString;
|
||||
nsCString m_msgIdString;
|
||||
nsCOMPtr<nsISupports> m_copyState;
|
||||
};
|
||||
|
||||
@ -617,10 +617,10 @@ struct SetAppendMsgUidProxyEvent : nsImapExtensionSinkProxyEvent
|
||||
struct GetMessageIdProxyEvent : nsImapExtensionSinkProxyEvent
|
||||
{
|
||||
GetMessageIdProxyEvent(nsImapExtensionSinkProxy* aProxy,
|
||||
nsString2* messageId, nsISupports* copyState);
|
||||
nsCString* messageId, nsISupports* copyState);
|
||||
virtual ~GetMessageIdProxyEvent();
|
||||
NS_IMETHOD HandleEvent();
|
||||
nsString2* m_messageId;
|
||||
nsCString* m_messageId;
|
||||
nsCOMPtr<nsISupports> m_copyState;
|
||||
};
|
||||
|
||||
|
||||
@ -28,6 +28,7 @@
|
||||
#include "nsIMAPBodyShell.h"
|
||||
#include "nsImapFlagAndUidState.h"
|
||||
#include "nsIMAPNamespace.h"
|
||||
#include "nsImapStringBundle.h"
|
||||
////////////////// nsImapServerResponseParser /////////////////////////
|
||||
|
||||
extern PRLogModuleInfo* IMAP;
|
||||
@ -2163,7 +2164,7 @@ PRBool nsImapServerResponseParser::msg_fetch_literal(PRBool chunk, PRInt32 origi
|
||||
charsReadSoFar += nsCRT::strlen(fCurrentLine);
|
||||
if (!fDownloadingHeaders && fCurrentCommandIsSingleMessageFetch)
|
||||
{
|
||||
fServerConnection.ProgressEventFunctionUsingId(kImapDownloadingMessage);
|
||||
fServerConnection.ProgressEventFunctionUsingId(IMAP_DOWNLOADING_MESSAGE);
|
||||
if (fTotalDownloadSize > 0)
|
||||
fServerConnection.PercentProgressUpdateEvent(0,(100*(charsReadSoFar + origin))/fTotalDownloadSize);
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ class nsIMAPNamespaceList;
|
||||
class nsIMAPBodyShell;
|
||||
class nsImapSearchResultIterator;
|
||||
class nsImapFlagAndUidState;
|
||||
class nsString2;
|
||||
class nsCString;
|
||||
|
||||
#include "nsIMAPGenericParser.h"
|
||||
|
||||
@ -206,7 +206,7 @@ private:
|
||||
|
||||
char *fCurrentCommandTag;
|
||||
|
||||
nsString2 fZeroLengthMessageUidString;
|
||||
nsCString fZeroLengthMessageUidString;
|
||||
|
||||
char *fSelectedMailboxName;
|
||||
|
||||
|
||||
@ -100,7 +100,7 @@ nsresult nsImapService::QueryInterface(const nsIID &aIID, void** aInstancePtr)
|
||||
|
||||
nsresult
|
||||
nsImapService::GetFolderName(nsIMsgFolder* aImapFolder,
|
||||
nsString2& folderName)
|
||||
nsCString& folderName)
|
||||
{
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIFolder> aFolder(do_QueryInterface(aImapFolder, &rv));
|
||||
@ -138,7 +138,7 @@ nsImapService::SelectFolder(nsIEventQueue * aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl * imapUrl = nsnull;
|
||||
nsString2 urlSpec(eOneByte);
|
||||
nsCString urlSpec;
|
||||
nsresult rv;
|
||||
rv = CreateStartOfImapUrl(imapUrl, aImapMailFolder, urlSpec);
|
||||
|
||||
@ -156,7 +156,7 @@ nsImapService::SelectFolder(nsIEventQueue * aClientEventQueue,
|
||||
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsString2 folderName("", eOneByte);
|
||||
nsCString folderName;
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
urlSpec.Append("/select>/");
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
@ -196,7 +196,7 @@ nsImapService::LiteSelectFolder(nsIEventQueue * aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl * imapUrl = nsnull;
|
||||
nsString2 urlSpec("", eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv;
|
||||
|
||||
@ -213,7 +213,8 @@ nsImapService::LiteSelectFolder(nsIEventQueue * aClientEventQueue,
|
||||
char hierarchySeparator = '/';
|
||||
urlSpec.Append("/liteselect>");
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
nsString2 folderName("", eOneByte);
|
||||
|
||||
nsCString folderName;
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
nsCOMPtr <nsIURI> url = do_QueryInterface(imapUrl, &rv);
|
||||
@ -266,7 +267,7 @@ NS_IMETHODIMP nsImapService::DisplayMessage(const char* aMessageURI,
|
||||
imapMessageSink(do_QueryInterface(res, &rv));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsString2 messageIdString("", eOneByte);
|
||||
nsCString messageIdString;
|
||||
|
||||
messageIdString.Append(msgKey, 10);
|
||||
rv = FetchMessage(queue, folder, imapMessageSink,
|
||||
@ -319,7 +320,7 @@ nsImapService::CopyMessage(const char * aSrcMailboxURI, nsIStreamListener *
|
||||
imapMessageSink(do_QueryInterface(res, &rv));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsString2 messageIdString("", eOneByte);
|
||||
nsCString messageIdString;
|
||||
|
||||
messageIdString.Append(msgKey, 10);
|
||||
rv = FetchMessage(queue, folder, imapMessageSink,
|
||||
@ -381,7 +382,7 @@ nsImapService::FetchMessage(nsIEventQueue * aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl * imapUrl = nsnull;
|
||||
nsString2 urlSpec("",eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv;
|
||||
rv = CreateStartOfImapUrl(imapUrl, aImapMailFolder, urlSpec);
|
||||
@ -401,7 +402,8 @@ nsImapService::FetchMessage(nsIEventQueue * aClientEventQueue,
|
||||
urlSpec.Append(messageIdsAreUID ? uidString : sequenceString);
|
||||
urlSpec.Append(">");
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
nsString2 folderName("", eOneByte);
|
||||
|
||||
nsCString folderName;
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
urlSpec.Append(">");
|
||||
@ -425,7 +427,7 @@ nsImapService::FetchMessage(nsIEventQueue * aClientEventQueue,
|
||||
nsresult
|
||||
nsImapService::CreateStartOfImapUrl(nsIImapUrl * &imapUrl,
|
||||
nsIMsgFolder* &aImapMailFolder,
|
||||
nsString2 &urlSpec)
|
||||
nsCString &urlSpec)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
char *hostname = nsnull;
|
||||
@ -497,7 +499,7 @@ nsImapService::GetHeaders(nsIEventQueue * aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl * imapUrl = nsnull;
|
||||
nsString2 urlSpec("", eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv = CreateStartOfImapUrl(imapUrl,
|
||||
aImapMailFolder,
|
||||
@ -516,7 +518,9 @@ nsImapService::GetHeaders(nsIEventQueue * aClientEventQueue,
|
||||
urlSpec.Append(messageIdsAreUID ? uidString : sequenceString);
|
||||
urlSpec.Append(">");
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
nsString2 folderName("", eOneByte);
|
||||
|
||||
nsCString folderName;
|
||||
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
urlSpec.Append(">");
|
||||
@ -553,7 +557,7 @@ nsImapService::Noop(nsIEventQueue * aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl * imapUrl = nsnull;
|
||||
nsString2 urlSpec("", eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv = CreateStartOfImapUrl(imapUrl,
|
||||
aImapMailFolder,
|
||||
@ -570,7 +574,9 @@ nsImapService::Noop(nsIEventQueue * aClientEventQueue,
|
||||
|
||||
urlSpec.Append("/selectnoop>");
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
nsString2 folderName("", eOneByte);
|
||||
|
||||
nsCString folderName;
|
||||
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
nsCOMPtr <nsIURI> url = do_QueryInterface(imapUrl, &rv);
|
||||
@ -601,7 +607,7 @@ nsImapService::Expunge(nsIEventQueue * aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl * imapUrl = nsnull;
|
||||
nsString2 urlSpec("",eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv = CreateStartOfImapUrl(imapUrl,
|
||||
aImapMailFolder,
|
||||
@ -618,7 +624,9 @@ nsImapService::Expunge(nsIEventQueue * aClientEventQueue,
|
||||
|
||||
urlSpec.Append("/Expunge>");
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
nsString2 folderName("", eOneByte);
|
||||
|
||||
nsCString folderName;
|
||||
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
nsCOMPtr <nsIURI> url = do_QueryInterface(imapUrl, &rv);
|
||||
@ -652,7 +660,7 @@ nsImapService::Biff(nsIEventQueue * aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl * imapUrl = nsnull;
|
||||
nsString2 urlSpec("",eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv = CreateStartOfImapUrl(imapUrl,
|
||||
aImapMailFolder,
|
||||
@ -669,7 +677,8 @@ nsImapService::Biff(nsIEventQueue * aClientEventQueue,
|
||||
|
||||
urlSpec.Append("/Biff>");
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
nsString2 folderName("", eOneByte);
|
||||
|
||||
nsCString folderName;
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
urlSpec.Append(">");
|
||||
@ -706,7 +715,7 @@ nsImapService::DeleteMessages(nsIEventQueue * aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl * imapUrl = nsnull;
|
||||
nsString2 urlSpec("",eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv = CreateStartOfImapUrl(imapUrl,
|
||||
aImapMailFolder,
|
||||
@ -725,7 +734,9 @@ nsImapService::DeleteMessages(nsIEventQueue * aClientEventQueue,
|
||||
urlSpec.Append(messageIdsAreUID ? uidString : sequenceString);
|
||||
urlSpec.Append(">");
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
nsString2 folderName("", eOneByte);
|
||||
|
||||
nsCString folderName;
|
||||
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
urlSpec.Append(">");
|
||||
@ -759,7 +770,7 @@ nsImapService::DeleteAllMessages(nsIEventQueue * aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl * imapUrl = nsnull;
|
||||
nsString2 urlSpec("",eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv = CreateStartOfImapUrl(imapUrl,
|
||||
aImapMailFolder,
|
||||
@ -776,7 +787,7 @@ nsImapService::DeleteAllMessages(nsIEventQueue * aClientEventQueue,
|
||||
|
||||
urlSpec.Append("/deleteallmsgs>");
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
nsString2 folderName("", eOneByte);
|
||||
nsCString folderName;
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
nsCOMPtr <nsIURI> url = do_QueryInterface(imapUrl, &rv);
|
||||
@ -855,7 +866,7 @@ nsresult nsImapService::DiddleFlags(nsIEventQueue * aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl * imapUrl = nsnull;
|
||||
nsString2 urlSpec("",eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv = CreateStartOfImapUrl(imapUrl,
|
||||
aImapMailFolder,
|
||||
@ -876,7 +887,7 @@ nsresult nsImapService::DiddleFlags(nsIEventQueue * aClientEventQueue,
|
||||
urlSpec.Append(messageIdsAreUID ? uidString : sequenceString);
|
||||
urlSpec.Append(">");
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
nsString2 folderName("", eOneByte);
|
||||
nsCString folderName;
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
urlSpec.Append(">");
|
||||
@ -958,7 +969,7 @@ nsImapService::DiscoverAllFolders(nsIEventQueue* aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl* aImapUrl = nsnull;
|
||||
nsString2 urlSpec("", eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv = CreateStartOfImapUrl(aImapUrl,
|
||||
aImapMailFolder,
|
||||
@ -997,7 +1008,7 @@ nsImapService::DiscoverAllAndSubscribedFolders(nsIEventQueue* aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl* aImapUrl = nsnull;
|
||||
nsString2 urlSpec("",eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv = CreateStartOfImapUrl(aImapUrl,
|
||||
aImapMailFolder,
|
||||
@ -1036,7 +1047,7 @@ nsImapService::DiscoverChildren(nsIEventQueue* aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl* aImapUrl = nsnull;
|
||||
nsString2 urlSpec("", eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv = CreateStartOfImapUrl(aImapUrl,
|
||||
aImapMailFolder,
|
||||
@ -1047,7 +1058,7 @@ nsImapService::DiscoverChildren(nsIEventQueue* aClientEventQueue,
|
||||
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsString2 folderName("", eOneByte);
|
||||
nsCString folderName;
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
if (folderName.Length() > 0)
|
||||
{
|
||||
@ -1089,7 +1100,7 @@ nsImapService::DiscoverLevelChildren(nsIEventQueue* aClientEventQueue,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl* aImapUrl = nsnull;
|
||||
nsString2 urlSpec("", eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
nsresult rv = CreateStartOfImapUrl(aImapUrl,
|
||||
aImapMailFolder, urlSpec);
|
||||
@ -1099,7 +1110,7 @@ nsImapService::DiscoverLevelChildren(nsIEventQueue* aClientEventQueue,
|
||||
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsString2 folderName("", eOneByte);
|
||||
nsCString folderName;
|
||||
GetFolderName(aImapMailFolder, folderName);
|
||||
if (folderName.Length() > 0)
|
||||
{
|
||||
@ -1185,7 +1196,7 @@ nsImapService::OnlineMessageCopy(nsIEventQueue* aClientEventQueue,
|
||||
}
|
||||
|
||||
nsIImapUrl* imapUrl = nsnull;
|
||||
nsString2 urlSpec("", eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
rv = CreateStartOfImapUrl(imapUrl, aSrcFolder,
|
||||
urlSpec);
|
||||
@ -1207,7 +1218,7 @@ nsImapService::OnlineMessageCopy(nsIEventQueue* aClientEventQueue,
|
||||
urlSpec.Append('>');
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
|
||||
nsString2 folderName("", eOneByte);
|
||||
nsCString folderName;
|
||||
GetFolderName(aSrcFolder, folderName);
|
||||
urlSpec.Append(folderName.GetBuffer());
|
||||
urlSpec.Append('>');
|
||||
@ -1254,7 +1265,7 @@ nsImapService::AppendMessageFromFile(nsIEventQueue* aClientEventQueue,
|
||||
if (!aClientEventQueue || !aFileSpec || !aDstFolder)
|
||||
return rv;
|
||||
nsIImapUrl* imapUrl = nsnull;
|
||||
nsString2 urlSpec("", eOneByte);
|
||||
nsCString urlSpec;
|
||||
|
||||
rv = CreateStartOfImapUrl(imapUrl, aDstFolder, urlSpec);
|
||||
if (NS_SUCCEEDED(rv) && imapUrl)
|
||||
@ -1272,7 +1283,7 @@ nsImapService::AppendMessageFromFile(nsIEventQueue* aClientEventQueue,
|
||||
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
|
||||
nsString2 folderName("", eOneByte);
|
||||
nsCString folderName;
|
||||
GetFolderName(aDstFolder, folderName);
|
||||
urlSpec.Append(folderName);
|
||||
|
||||
@ -1334,7 +1345,7 @@ nsImapService::MoveFolder(nsIEventQueue* eventQueue, nsIMsgFolder* srcFolder,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl* imapUrl;
|
||||
nsString2 urlSpec(eOneByte);
|
||||
nsCString urlSpec;
|
||||
nsresult rv;
|
||||
|
||||
rv = CreateStartOfImapUrl(imapUrl, dstFolder, urlSpec);
|
||||
@ -1344,7 +1355,8 @@ nsImapService::MoveFolder(nsIEventQueue* eventQueue, nsIMsgFolder* srcFolder,
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
char hierarchySeparator = kOnlineHierarchySeparatorUnknown;
|
||||
nsString2 folderName(eOneByte);
|
||||
nsCString folderName;
|
||||
|
||||
GetFolderName(srcFolder, folderName);
|
||||
urlSpec.Append("/movefolderhierarchy>");
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
@ -1380,7 +1392,7 @@ nsImapService::RenameLeaf(nsIEventQueue* eventQueue, nsIMsgFolder* srcFolder,
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsIImapUrl* imapUrl;
|
||||
nsString2 urlSpec(eOneByte);
|
||||
nsCString urlSpec;
|
||||
nsresult rv;
|
||||
|
||||
rv = CreateStartOfImapUrl(imapUrl, srcFolder, urlSpec);
|
||||
@ -1390,7 +1402,7 @@ nsImapService::RenameLeaf(nsIEventQueue* eventQueue, nsIMsgFolder* srcFolder,
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
char hierarchySeparator = '/';
|
||||
nsString2 folderName(eOneByte);
|
||||
nsCString folderName;
|
||||
GetFolderName(srcFolder, folderName);
|
||||
urlSpec.Append("/rename>");
|
||||
urlSpec.Append(hierarchySeparator);
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
#include "nsIProtocolHandler.h"
|
||||
|
||||
class nsIImapHostSessionList;
|
||||
class nsString2;
|
||||
class nsCString;
|
||||
class nsIImapUrl;
|
||||
class nsIMsgFolder;
|
||||
class nsIMsgStatusFeedback;
|
||||
@ -190,10 +190,10 @@ public:
|
||||
|
||||
protected:
|
||||
nsresult GetFolderName(nsIMsgFolder* aImapFolder,
|
||||
nsString2& folderName);
|
||||
nsCString& folderName);
|
||||
nsresult CreateStartOfImapUrl(nsIImapUrl * &imapUrl,
|
||||
nsIMsgFolder* &aImapFolder,
|
||||
nsString2 &urlSpec);
|
||||
nsCString &urlSpec);
|
||||
nsresult GetImapConnectionAndLoadUrl(nsIEventQueue* aClientEventQueue,
|
||||
nsIImapUrl* aImapUrl,
|
||||
nsIUrlListener* aUrlListener,
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
/* This is the next generation string retrieval call */
|
||||
static NS_DEFINE_CID(kStringBundleServiceCID, NS_STRINGBUNDLESERVICE_CID);
|
||||
|
||||
#define IMAP_MSGS_URL "resource:/chrome/messenger/content/default/imapMsgs.properties"
|
||||
#define IMAP_MSGS_URL "resource:/chrome/messenger/content/default/imapMsgs_en-US.properties"
|
||||
|
||||
extern "C"
|
||||
PRUnichar *
|
||||
|
||||
@ -73,6 +73,6 @@ NS_END_EXTERN_C
|
||||
#define IMAP_COPYING_MESSAGE_TO 5043
|
||||
#define IMAP_SELECTING_MAILBOX 5044
|
||||
#define IMAP_FOLDER_RECEIVING_MESSAGE_OF 5045
|
||||
|
||||
#define IMAP_DISCOVERING_MAILBOX 5046
|
||||
|
||||
#endif /* _nsImapStringBundle_H__ */
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
|
||||
#include "msgCore.h" // for precompiled headers
|
||||
#include "nsMsgImapCID.h"
|
||||
#include "nsIMsgHdr.h"
|
||||
#include "nsImapUndoTxn.h"
|
||||
|
||||
|
||||
@ -86,7 +87,7 @@ nsImapMoveCopyMsgTxn::Init(
|
||||
}
|
||||
char *uri = nsnull;
|
||||
rv = m_srcFolder->GetURI(&uri);
|
||||
nsString2 protocolType(uri, eOneByte);
|
||||
nsCString protocolType(uri);
|
||||
PR_FREEIF(uri);
|
||||
protocolType.SetLength(protocolType.FindChar(':'));
|
||||
// ** jt -- only do this for mailbox protocol
|
||||
|
||||
@ -280,7 +280,7 @@ nsresult nsImapUrl::ParseUrl()
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsImapUrl::CreateSearchCriteriaString(nsString2 *aResult)
|
||||
NS_IMETHODIMP nsImapUrl::CreateSearchCriteriaString(nsCString *aResult)
|
||||
{
|
||||
if (nsnull == aResult || !m_searchCriteriaString)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
@ -292,7 +292,7 @@ NS_IMETHODIMP nsImapUrl::CreateSearchCriteriaString(nsString2 *aResult)
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsImapUrl::CreateListOfMessageIdsString(nsString2 *aResult)
|
||||
NS_IMETHODIMP nsImapUrl::CreateListOfMessageIdsString(nsCString *aResult)
|
||||
{
|
||||
if (nsnull == aResult || !m_listOfMessageIds)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
@ -68,8 +68,8 @@ public:
|
||||
NS_IMETHOD CreateServerSourceFolderPathString(char **result) ;
|
||||
NS_IMETHOD CreateServerDestinationFolderPathString(char **result);
|
||||
|
||||
NS_IMETHOD CreateSearchCriteriaString(nsString2 *aResult);
|
||||
NS_IMETHOD CreateListOfMessageIdsString(nsString2 *result) ;
|
||||
NS_IMETHOD CreateSearchCriteriaString(nsCString *aResult);
|
||||
NS_IMETHOD CreateListOfMessageIdsString(nsCString *result) ;
|
||||
NS_IMETHOD MessageIdsAreUids(PRBool *result);
|
||||
NS_IMETHOD GetMsgFlags(imapMessageFlagsType *result); // kAddMsgFlags or kSubtractMsgFlags only
|
||||
NS_IMETHOD GetChildDiscoveryDepth(PRInt32* result);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user