make name and pretty name unichar's

This commit is contained in:
bienvenu%netscape.com 1999-06-28 21:56:33 +00:00
Родитель 1dd84fdb56
Коммит a75b982dcc
16 изменённых файлов: 70 добавлений и 79 удалений

Просмотреть файл

@ -23,7 +23,7 @@
interface nsIFolder : nsICollection {
readonly attribute string URI;
attribute string name;
attribute wstring name;
nsISupports GetChildNamed(in string name);
attribute nsIFolder parent;

Просмотреть файл

@ -53,8 +53,8 @@ interface nsIMsgFolder : nsIFolder {
nsIMsgThread GetThreadForMessage(in nsIMessage message);
boolean HasMessage(in nsIMessage message);
nsIEnumerator GetVisibleSubFolders();
attribute string prettyName;
readonly attribute string prettiestName;
attribute wstring prettyName;
readonly attribute wstring prettiestName;
string BuildFolderURL();
readonly attribute boolean deleteIsMoveToTrash;

Просмотреть файл

@ -700,7 +700,7 @@ nsresult nsMsgFolderDataSource::createFolderNode(nsIMsgFolder* folder,
nsresult nsMsgFolderDataSource::createFolderNameNode(nsIMsgFolder *folder,
nsIRDFNode **target)
{
char *name;
PRUnichar *name;
nsresult rv = folder->GetName(&name);
if (NS_FAILED(rv)) return rv;
nsString nameString(name);

Просмотреть файл

@ -22,11 +22,12 @@
#include "nsMsgFolderFlags.h"
#include "nsISupportsArray.h"
#include "prprf.h"
#include "nsMsgDBCID.h"
// we need this because of an egcs 1.0 (and possibly gcc) compiler bug
// that doesn't allow you to call ::nsISupports::GetIID() inside of a class
// that multiply inherits from nsISupports
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_CID(kCMailDB, NS_MAILDB_CID);
nsMsgImapMailFolder::nsMsgImapMailFolder(nsString& name)
: nsMsgFolder(/*name*/)
@ -148,7 +149,7 @@ nsMsgImapMailFolder::FindChildNamed(const char *name, nsIMsgFolder ** aChild)
return NS_OK;
}
NS_IMETHODIMP nsMsgImapMailFolder::GetName(char** name)
NS_IMETHODIMP nsMsgImapMailFolder::GetName(PRUnichar** name)
{
return NS_ERROR_NOT_IMPLEMENTED;
}

Просмотреть файл

@ -337,39 +337,29 @@ NS_IMETHODIMP nsMsgFolder::GetServer(nsIMsgIncomingServer ** aServer)
return rv;
}
NS_IMETHODIMP nsMsgFolder::GetPrettyName(char ** name)
NS_IMETHODIMP nsMsgFolder::GetPrettyName(PRUnichar ** name)
{
char *cmName = mName.ToNewCString();
if(cmName)
{
if (name) *name = PL_strdup(cmName);
delete[] cmName;
return NS_OK;
}
else
if (!name)
return NS_ERROR_OUT_OF_MEMORY;
*name = mName.ToNewUnicode();
return (*name) ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
}
NS_IMETHODIMP nsMsgFolder::SetPrettyName(char *name)
NS_IMETHODIMP nsMsgFolder::SetPrettyName(PRUnichar *name)
{
mName = name;
return NS_OK;
}
NS_IMETHODIMP nsMsgFolder::GetName(char **name)
NS_IMETHODIMP nsMsgFolder::GetName(PRUnichar **name)
{
char *cmName = mName.ToNewCString();
if(cmName)
{
if (name) *name = PL_strdup(cmName);
delete[] cmName;
return NS_OK;
}
else
return NS_ERROR_OUT_OF_MEMORY;
if (!name)
return NS_ERROR_NULL_POINTER;
*name = mName.ToNewUnicode();
return (*name) ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
}
NS_IMETHODIMP nsMsgFolder::SetName(char * name)
NS_IMETHODIMP nsMsgFolder::SetName(PRUnichar * name)
{
mName = name;
return NS_OK;
@ -394,11 +384,11 @@ NS_IMETHODIMP nsMsgFolder::GetChildNamed(const char *name, nsISupports ** aChild
folder = do_QueryInterface(supports, &rv);
if(NS_SUCCEEDED(rv))
{
char *folderName;
PRUnichar *folderName;
folder->GetName(&folderName);
// case-insensitive compare is probably LCD across OS filesystems
if (folderName && PL_strcasecmp(name, folderName)!=0)
if (folderName && nsCRT::strcasecmp(folderName, name)!=0)
{
*aChild = folder;
delete[] folderName;
@ -411,7 +401,7 @@ NS_IMETHODIMP nsMsgFolder::GetChildNamed(const char *name, nsISupports ** aChild
}
NS_IMETHODIMP nsMsgFolder::GetPrettiestName(char **name)
NS_IMETHODIMP nsMsgFolder::GetPrettiestName(PRUnichar **name)
{
if (NS_SUCCEEDED(GetPrettyName(name)))
return NS_OK;
@ -599,7 +589,8 @@ NS_IMETHODIMP nsMsgFolder::CreateSubfolder(const char *folderName)
NS_IMETHODIMP nsMsgFolder::Rename(const char *name)
{
nsresult status = NS_OK;
status = SetName((char*)name);
nsAutoString2 unicharString(name);
status = SetName((PRUnichar *) unicharString.GetUnicode());
//After doing a SetName we need to make sure that broadcasting this message causes a
//new sort to happen.
#ifdef HAVE_MASTER

Просмотреть файл

@ -71,8 +71,8 @@ public:
// nsIFolder methods:
NS_IMETHOD GetURI(char* *name) { return nsRDFResource::GetValue(name); }
NS_IMETHOD GetName(char **name);
NS_IMETHOD SetName(char *name);
NS_IMETHOD GetName(PRUnichar **name);
NS_IMETHOD SetName(PRUnichar *name);
NS_IMETHOD GetChildNamed(const char *name, nsISupports* *result);
NS_IMETHOD GetSubFolders(nsIEnumerator* *result);
NS_IMETHOD GetHasSubFolders(PRBool *_retval);
@ -95,8 +95,8 @@ public:
NS_IMETHOD GetServer(nsIMsgIncomingServer ** aServer);
NS_IMETHOD GetPrettyName(char ** name);
NS_IMETHOD SetPrettyName(char * name);
NS_IMETHOD GetPrettyName(PRUnichar ** name);
NS_IMETHOD SetPrettyName(PRUnichar * name);
#if 0
static nsresult GetRoot(nsIMsgFolder* *result);
#endif
@ -117,7 +117,7 @@ public:
NS_IMETHOD BuildFolderURL(char ** url);
NS_IMETHOD GetPrettiestName(char ** name);
NS_IMETHOD GetPrettiestName(PRUnichar ** name);
#ifdef HAVE_ADMINURL
NS_IMETHOD GetAdminUrl(MWContext *context, MSG_AdminURLType type);

Просмотреть файл

@ -296,4 +296,6 @@ NS_IMPL_SERVERPREF_STR(nsMsgIncomingServer, LocalPath, "directory")
/* what was this called in 4.x? */
// pref("mail.pop3_gets_new_mail", true);
NS_IMPL_SERVERPREF_BOOL(nsMsgIncomingServer, DownloadOnBiff, "download_on_biff");

Просмотреть файл

@ -431,12 +431,8 @@ NS_IMETHODIMP nsImapMailFolder::GetMessages(nsIEnumerator* *result)
if (NS_FAILED(rv)) return rv;
char *folderName = nsnull;
rv = GetName(&folderName);
selectFolder = PR_TRUE;
delete [] folderName;
if (mDepth == 0)
{
if (!m_haveDiscoverAllFolders)
@ -586,7 +582,7 @@ NS_IMETHODIMP nsImapMailFolder::GetChildNamed(const char * name, nsISupports **
return rv;
}
NS_IMETHODIMP nsImapMailFolder::GetName(char ** name)
NS_IMETHODIMP nsImapMailFolder::GetName(PRUnichar ** name)
{
nsresult result = NS_OK;
@ -599,10 +595,11 @@ NS_IMETHODIMP nsImapMailFolder::GetName(char ** name)
{
char *hostName = nsnull;
GetHostname(&hostName);
SetName(hostName);
nsString2 unicodeHostName(hostName);
SetName((PRUnichar *) unicodeHostName.GetUnicode());
PR_FREEIF(hostName);
m_haveReadNameFromDB = PR_TRUE;
*name = mName.ToNewCString();
*name = mName.ToNewUnicode();
return NS_OK;
}
#if 0
@ -630,7 +627,7 @@ NS_IMETHODIMP nsImapMailFolder::GetName(char ** name)
}
nsAutoString folderName;
nsImapURI2Name(kImapRootURI, mURI, folderName);
*name = folderName.ToNewCString();
*name = folderName.ToNewUnicode();
return result;
}
@ -912,9 +909,9 @@ NS_IMETHODIMP nsImapMailFolder::DeleteMessages(nsISupportsArray *messages,
nsCOMPtr<nsIMsgFolder> aMsgFolder(do_QueryInterface(aItem, &rv));
if (NS_SUCCEEDED(rv))
{
char* aName = nsnull;
PRUnichar* aName = nsnull;
rv = aMsgFolder->GetName(&aName);
if (NS_SUCCEEDED(rv) && PL_strcmp("Trash", aName) == 0)
if (NS_SUCCEEDED(rv) && nsCRT::strcmp(aName, "Trash") == 0)
{
delete [] aName;
trashFolder = aMsgFolder;
@ -1084,12 +1081,12 @@ NS_IMETHODIMP nsImapMailFolder::PossibleImapMailbox(
aFolder = do_QueryInterface(aItem, &rv);
if (rv == NS_OK && aFolder)
{
char* aName = nsnull;
PRUnichar* aName = nsnull;
aFolder->GetName(&aName);
PRBool isInbox =
PL_strcasecmp("inbox", aSpec->allocatedPathName) == 0;
if (PL_strcmp(aName, aSpec->allocatedPathName) == 0 ||
(isInbox && PL_strcasecmp(aName, aSpec->allocatedPathName) == 0))
if (nsCRT::strcmp(aName, aSpec->allocatedPathName) == 0 ||
(isInbox && nsCRT::strcasecmp(aName, aSpec->allocatedPathName) == 0))
{
delete [] aName;
found = PR_TRUE;

Просмотреть файл

@ -81,7 +81,7 @@ public:
NS_IMETHOD GetChildNamed(const char * name, nsISupports ** aChild);
// this override pulls the value from the db
NS_IMETHOD GetName(char ** name); // Name of this folder (as presented to user).
NS_IMETHOD GetName(PRUnichar ** name); // Name of this folder (as presented to user).
NS_IMETHOD GetPrettyName(char ** prettyName); // Override of the base, for top-level mail folder
NS_IMETHOD BuildFolderURL(char **url);

Просмотреть файл

@ -432,7 +432,8 @@ nsIMAP4TestDriver::SetupInbox()
rdfResource(do_QueryInterface(m_inbox, &rv));
if (NS_SUCCEEDED(rv))
rdfResource->Init("imap:/Inbox");
m_inbox->SetName("Inbox");
nsString2 inboxName("Inbox", eTwoByte);
m_inbox->SetName((PRUnichar *) inboxName.GetUnicode());
}
}
}

Просмотреть файл

@ -728,7 +728,7 @@ NS_IMETHODIMP nsMsgLocalMailFolder::Adopt(nsIMsgFolder *srcFolder, PRUint32 *out
}
NS_IMETHODIMP nsMsgLocalMailFolder::GetName(char **name)
NS_IMETHODIMP nsMsgLocalMailFolder::GetName(PRUnichar **name)
{
if(!name)
return NS_ERROR_NULL_POINTER;
@ -737,9 +737,10 @@ NS_IMETHODIMP nsMsgLocalMailFolder::GetName(char **name)
{
if (mDepth == 1)
{
SetName("Local Mail");
nsString localMailStr("Local Mail");
SetName((PRUnichar *) localMailStr.GetUnicode());
mHaveReadNameFromDB = TRUE;
*name = mName.ToNewCString();
*name = mName.ToNewUnicode();
if(!(*name))
return NS_ERROR_OUT_OF_MEMORY;
return NS_OK;
@ -751,17 +752,18 @@ NS_IMETHODIMP nsMsgLocalMailFolder::GetName(char **name)
}
nsAutoString folderName;
nsLocalURI2Name(kMailboxRootURI, mURI, folderName);
*name = folderName.ToNewCString();
*name = folderName.ToNewUnicode();
return NS_OK;
}
NS_IMETHODIMP nsMsgLocalMailFolder::GetPrettyName(char ** prettyName)
NS_IMETHODIMP nsMsgLocalMailFolder::GetPrettyName(PRUnichar ** prettyName)
{
if (mDepth == 1) {
// Depth == 1 means we are on the mail server level
// override the name here to say "Local Mail"
*prettyName = PL_strdup("Local Mail");
nsString2 localMailStr("Local Mail");
*prettyName = localMailStr.ToNewUnicode();
if(!(*prettyName))
return NS_ERROR_OUT_OF_MEMORY;
}

Просмотреть файл

@ -72,8 +72,8 @@ public:
NS_IMETHOD Adopt(nsIMsgFolder *srcFolder, PRUint32 *outPos);
// this override pulls the value from the db
NS_IMETHOD GetName(char ** name); // Name of this folder (as presented to user).
NS_IMETHOD GetPrettyName(char** prettyName); // Override of the base, for top-level mail folder
NS_IMETHOD GetName(PRUnichar ** name); // Name of this folder (as presented to user).
NS_IMETHOD GetPrettyName(PRUnichar** prettyName); // Override of the base, for top-level mail folder
NS_IMETHOD BuildFolderURL(char **url);

Просмотреть файл

@ -1639,8 +1639,9 @@ NS_IMETHODIMP nsParseNewMailState::ApplyFilterHit(nsIMsgFilter *filter, PRBool *
{
// this sucks - but we need value to live past this scope
// so we use an nsString from above.
char *folderName = nsnull;
PRUnichar *folderName = nsnull;
rv = trash->GetName(&folderName);
// ### woa, is this right?. will the eOneByte nsString do the right unichar conversion?.
trashNameVal = folderName;
PR_FREEIF(folderName);
value = (void *) trashNameVal.GetBuffer();
@ -1804,7 +1805,9 @@ nsresult nsParseNewMailState::MoveIncorporatedMessage(nsIMsgDBHdr *mailHdr,
nsresult rv = nsComponentManager::CreateInstance(kCMailDB, nsnull, nsIMsgDatabase::GetIID(), (void **) getter_AddRefs(mailDBFactory));
if (NS_SUCCEEDED(rv) && mailDBFactory)
{
rv = mailDBFactory->Open(destFolderSpec, PR_TRUE, (nsIMsgDatabase **) getter_AddRefs(destMailDB), PR_TRUE);
nsCOMPtr <nsIFileSpec> dbFileSpec;
NS_NewFileSpecWithSpec(destFolderSpec, getter_AddRefs(dbFileSpec));
rv = mailDBFactory->Open(dbFileSpec, PR_TRUE, (nsIMsgDatabase **) getter_AddRefs(destMailDB), PR_TRUE);
}
NS_ASSERTION(destMailDB, "failed to open mail db parsing folder");
// don't force upgrade in place - open the db here before we start writing to the

Просмотреть файл

@ -32,7 +32,7 @@
#ifdef DEBUG_bienvenu
//#define DOING_FILTERS
#define DOING_FILTERS
#endif
#ifdef DOING_FILTERS

Просмотреть файл

@ -806,12 +806,12 @@ nsMsgNewsFolder::GetChildNamed(const char *name, nsISupports ** aChild)
supports = mSubFolders->ElementAt(i);
if(NS_SUCCEEDED(supports->QueryInterface(kISupportsIID, getter_AddRefs(folder)))) {
char *folderName;
PRUnichar *folderName;
folder->GetName(&folderName);
// case-insensitive compare is probably LCD across OS filesystems
if (folderName && PL_strcasecmp(name, folderName)!=0) {
if (folderName && nsCRT::strcasecmp(folderName, name)!=0) {
*aChild = folder;
PR_FREEIF(folderName);
return NS_OK;
@ -822,32 +822,25 @@ nsMsgNewsFolder::GetChildNamed(const char *name, nsISupports ** aChild)
return NS_OK;
}
NS_IMETHODIMP nsMsgNewsFolder::GetName(char **name)
NS_IMETHODIMP nsMsgNewsFolder::GetName(PRUnichar **name)
{
if(!name)
return NS_ERROR_NULL_POINTER;
nsAutoString folderName;
nsNewsURI2Name(kNewsRootURI, mURI, folderName);
*name = folderName.ToNewCString();
*name = folderName.ToNewUnicode();
return NS_OK;
}
NS_IMETHODIMP nsMsgNewsFolder::GetPrettyName(char ** prettyName)
NS_IMETHODIMP nsMsgNewsFolder::GetPrettyName(PRUnichar ** prettyName)
{
if (!prettyName)
return NS_ERROR_NULL_POINTER;
nsresult rv = NS_OK;;
char *pName = PL_strdup(*prettyName);
if (pName) {
rv = nsMsgFolder::GetPrettyName(&pName);
delete[] pName;
}
else {
return NS_ERROR_OUT_OF_MEMORY;
}
rv = nsMsgFolder::GetPrettyName(prettyName);
return rv;
}
@ -1087,14 +1080,15 @@ NS_IMETHODIMP nsMsgNewsFolder::DeleteMessages(nsISupportsArray *messages,
char *hostname;
rv = GetHostname(&hostname);
if (NS_FAILED(rv)) return rv;
char *newsgroupname;
PRUnichar *newsgroupname;
rv = GetName(&newsgroupname);
nsString2 asciiName(newsgroupname, eOneByte);
if (NS_FAILED(rv)) {
PR_FREEIF(hostname);
return rv;
}
rv = nntpService->CancelMessages(hostname, newsgroupname, messages, nsnull, nsnull, nsnull);
rv = nntpService->CancelMessages(hostname, asciiName.GetBuffer(), messages, nsnull, nsnull, nsnull);
PR_FREEIF(hostname);
PR_FREEIF(newsgroupname);

Просмотреть файл

@ -64,8 +64,8 @@ public:
NS_IMETHOD GetChildNamed(const char* name, nsISupports ** aChild);
// this override pulls the value from the db
NS_IMETHOD GetName(char ** name); // Name of this folder (as presented to user).
NS_IMETHOD GetPrettyName(char ** prettyName); // Override of the base, for top-level news folder
NS_IMETHOD GetName(PRUnichar ** name); // Name of this folder (as presented to user).
NS_IMETHOD GetPrettyName(PRUnichar ** prettyName); // Override of the base, for top-level news folder
NS_IMETHOD BuildFolderURL(char **url);