Moved parse url utility
git-svn-id: svn://10.0.0.236/trunk@23941 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -125,6 +125,9 @@ nsPath2URI(const char* rootURI, nsFileSpec& path, char* *uri);
|
||||
extern nsresult
|
||||
nsURI2Name(const char* rootURI, char* uriStr, nsString& name);
|
||||
|
||||
extern nsresult
|
||||
nsParseLocalMessageURI(const char* uri, nsString& folderURI, PRUint32 *key);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1544,4 +1544,31 @@ nsURI2Name(const char* rootURI, char* uriStr, nsString& name)
|
||||
return uri.Right(name, count);
|
||||
}
|
||||
|
||||
nsresult nsParseLocalMessageURI(const char* uri, nsString& folderURI, PRUint32 *key)
|
||||
{
|
||||
if(!key)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsAutoString uriStr = uri;
|
||||
PRInt32 keySeparator = uriStr.Find('#');
|
||||
if(keySeparator != -1)
|
||||
{
|
||||
nsAutoString folderPath;
|
||||
uriStr.Left(folderPath, keySeparator);
|
||||
PRInt32 msfExtPos = folderPath.Find(".msf");
|
||||
if(msfExtPos != -1)
|
||||
folderPath.Left(folderURI, msfExtPos);
|
||||
else
|
||||
folderURI = folderPath;
|
||||
|
||||
nsAutoString keyStr;
|
||||
uriStr.Right(keyStr, uriStr.Length() - (keySeparator + 1));
|
||||
PRInt32 errorCode;
|
||||
*key = keyStr.ToInteger(&errorCode);
|
||||
|
||||
return errorCode;
|
||||
}
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -44,33 +44,6 @@ static NS_DEFINE_CID(kRDFServiceCID, NS_RDFSERVICE_CID);
|
||||
static NS_DEFINE_CID(kMailboxServiceCID, NS_MAILBOXSERVICE_CID);
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
nsresult nsParseLocalMessageURI(const char* uri, nsString& folderURI, nsMsgKey *key)
|
||||
{
|
||||
if(!key)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsAutoString uriStr = uri;
|
||||
PRInt32 keySeparator = uriStr.Find('#');
|
||||
if(keySeparator != -1)
|
||||
{
|
||||
nsAutoString folderPath;
|
||||
uriStr.Left(folderPath, keySeparator);
|
||||
PRInt32 msfExtPos = folderPath.Find(".msf");
|
||||
if(msfExtPos != -1)
|
||||
folderPath.Left(folderURI, msfExtPos);
|
||||
else
|
||||
folderURI = folderPath;
|
||||
|
||||
nsAutoString keyStr;
|
||||
uriStr.Right(keyStr, uriStr.Length() - (keySeparator + 1));
|
||||
PRInt32 errorCode;
|
||||
*key = keyStr.ToInteger(&errorCode);
|
||||
|
||||
return errorCode;
|
||||
}
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@@ -132,7 +132,4 @@ protected:
|
||||
nsMailDatabase* mMailDatabase;
|
||||
};
|
||||
|
||||
extern nsresult
|
||||
nsParseLocalMessageURI(const char* uri, nsString& folderURI, nsMsgKey *key);
|
||||
|
||||
#endif // nsMsgLocalMailFolder_h__
|
||||
|
||||
Reference in New Issue
Block a user