зеркало из https://github.com/mozilla/pjs.git
reflect the ServerType into RDF
This commit is contained in:
Родитель
3f1a005088
Коммит
f29f7f0656
|
@ -48,6 +48,7 @@ nsIRDFResource* nsMsgFolderDataSource::kNC_MessageChild = nsnull;
|
||||||
nsIRDFResource* nsMsgFolderDataSource::kNC_Folder= nsnull;
|
nsIRDFResource* nsMsgFolderDataSource::kNC_Folder= nsnull;
|
||||||
nsIRDFResource* nsMsgFolderDataSource::kNC_Name= nsnull;
|
nsIRDFResource* nsMsgFolderDataSource::kNC_Name= nsnull;
|
||||||
nsIRDFResource* nsMsgFolderDataSource::kNC_SpecialFolder= nsnull;
|
nsIRDFResource* nsMsgFolderDataSource::kNC_SpecialFolder= nsnull;
|
||||||
|
nsIRDFResource* nsMsgFolderDataSource::kNC_ServerType = nsnull;
|
||||||
nsIRDFResource* nsMsgFolderDataSource::kNC_TotalMessages= nsnull;
|
nsIRDFResource* nsMsgFolderDataSource::kNC_TotalMessages= nsnull;
|
||||||
nsIRDFResource* nsMsgFolderDataSource::kNC_TotalUnreadMessages= nsnull;
|
nsIRDFResource* nsMsgFolderDataSource::kNC_TotalUnreadMessages= nsnull;
|
||||||
nsIRDFResource* nsMsgFolderDataSource::kNC_Charset = nsnull;
|
nsIRDFResource* nsMsgFolderDataSource::kNC_Charset = nsnull;
|
||||||
|
@ -87,6 +88,7 @@ nsMsgFolderDataSource::~nsMsgFolderDataSource (void)
|
||||||
NS_RELEASE2(kNC_Folder, refcnt);
|
NS_RELEASE2(kNC_Folder, refcnt);
|
||||||
NS_RELEASE2(kNC_Name, refcnt);
|
NS_RELEASE2(kNC_Name, refcnt);
|
||||||
NS_RELEASE2(kNC_SpecialFolder, refcnt);
|
NS_RELEASE2(kNC_SpecialFolder, refcnt);
|
||||||
|
NS_RELEASE2(kNC_ServerType, refcnt);
|
||||||
NS_RELEASE2(kNC_TotalMessages, refcnt);
|
NS_RELEASE2(kNC_TotalMessages, refcnt);
|
||||||
NS_RELEASE2(kNC_TotalUnreadMessages, refcnt);
|
NS_RELEASE2(kNC_TotalUnreadMessages, refcnt);
|
||||||
NS_RELEASE2(kNC_Charset, refcnt);
|
NS_RELEASE2(kNC_Charset, refcnt);
|
||||||
|
@ -130,6 +132,7 @@ nsresult nsMsgFolderDataSource::Init()
|
||||||
mRDFService->GetResource(NC_RDF_FOLDER, &kNC_Folder);
|
mRDFService->GetResource(NC_RDF_FOLDER, &kNC_Folder);
|
||||||
mRDFService->GetResource(NC_RDF_NAME, &kNC_Name);
|
mRDFService->GetResource(NC_RDF_NAME, &kNC_Name);
|
||||||
mRDFService->GetResource(NC_RDF_SPECIALFOLDER, &kNC_SpecialFolder);
|
mRDFService->GetResource(NC_RDF_SPECIALFOLDER, &kNC_SpecialFolder);
|
||||||
|
mRDFService->GetResource(NC_RDF_SERVERTYPE, &kNC_ServerType);
|
||||||
mRDFService->GetResource(NC_RDF_TOTALMESSAGES, &kNC_TotalMessages);
|
mRDFService->GetResource(NC_RDF_TOTALMESSAGES, &kNC_TotalMessages);
|
||||||
mRDFService->GetResource(NC_RDF_TOTALUNREADMESSAGES, &kNC_TotalUnreadMessages);
|
mRDFService->GetResource(NC_RDF_TOTALUNREADMESSAGES, &kNC_TotalUnreadMessages);
|
||||||
mRDFService->GetResource(NC_RDF_CHARSET, &kNC_Charset);
|
mRDFService->GetResource(NC_RDF_CHARSET, &kNC_Charset);
|
||||||
|
@ -293,7 +296,9 @@ NS_IMETHODIMP nsMsgFolderDataSource::GetTargets(nsIRDFResource* source,
|
||||||
rv = NS_OK;
|
rv = NS_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if((kNC_Name == property) || (kNC_SpecialFolder == property))
|
else if ((kNC_Name == property) ||
|
||||||
|
(kNC_SpecialFolder == property) ||
|
||||||
|
(kNC_ServerType == property))
|
||||||
{
|
{
|
||||||
nsSingletonEnumerator* cursor =
|
nsSingletonEnumerator* cursor =
|
||||||
new nsSingletonEnumerator(property);
|
new nsSingletonEnumerator(property);
|
||||||
|
@ -350,6 +355,16 @@ NS_IMETHODIMP nsMsgFolderDataSource::HasAssertion(nsIRDFResource* source,
|
||||||
PRBool* hasAssertion)
|
PRBool* hasAssertion)
|
||||||
{
|
{
|
||||||
nsresult rv;
|
nsresult rv;
|
||||||
|
#if 0
|
||||||
|
nsXPIDLCString sourceval;
|
||||||
|
nsXPIDLCString propval;
|
||||||
|
nsXPIDLCString targetval;
|
||||||
|
source->GetValue(getter_Copies(sourceval));
|
||||||
|
property->GetValue(getter_Copies(propval));
|
||||||
|
/* target->GetValue(getter_Copies(targetval)); */
|
||||||
|
printf("HasAssertion(%s, %s, ??...)\n", (const char*)sourceval, (const char*)propval);
|
||||||
|
#endif
|
||||||
|
|
||||||
nsCOMPtr<nsIMsgFolder> folder(do_QueryInterface(source, &rv));
|
nsCOMPtr<nsIMsgFolder> folder(do_QueryInterface(source, &rv));
|
||||||
if(NS_SUCCEEDED(rv))
|
if(NS_SUCCEEDED(rv))
|
||||||
return DoFolderHasAssertion(folder, property, target, tv, hasAssertion);
|
return DoFolderHasAssertion(folder, property, target, tv, hasAssertion);
|
||||||
|
@ -373,7 +388,6 @@ NS_IMETHODIMP nsMsgFolderDataSource::ArcLabelsOut(nsIRDFResource* source,
|
||||||
|
|
||||||
nsCOMPtr<nsIMsgFolder> folder(do_QueryInterface(source, &rv));
|
nsCOMPtr<nsIMsgFolder> folder(do_QueryInterface(source, &rv));
|
||||||
if (NS_SUCCEEDED(rv)) {
|
if (NS_SUCCEEDED(rv)) {
|
||||||
fflush(stdout);
|
|
||||||
rv = getFolderArcLabelsOut(folder, getter_AddRefs(arcs));
|
rv = getFolderArcLabelsOut(folder, getter_AddRefs(arcs));
|
||||||
#if 0
|
#if 0
|
||||||
nsXPIDLCString srcval;
|
nsXPIDLCString srcval;
|
||||||
|
@ -409,6 +423,7 @@ nsMsgFolderDataSource::getFolderArcLabelsOut(nsIMsgFolder *folder,
|
||||||
|
|
||||||
(*arcs)->AppendElement(kNC_Name);
|
(*arcs)->AppendElement(kNC_Name);
|
||||||
(*arcs)->AppendElement(kNC_SpecialFolder);
|
(*arcs)->AppendElement(kNC_SpecialFolder);
|
||||||
|
(*arcs)->AppendElement(kNC_ServerType);
|
||||||
(*arcs)->AppendElement(kNC_TotalMessages);
|
(*arcs)->AppendElement(kNC_TotalMessages);
|
||||||
(*arcs)->AppendElement(kNC_TotalUnreadMessages);
|
(*arcs)->AppendElement(kNC_TotalUnreadMessages);
|
||||||
(*arcs)->AppendElement(kNC_Charset);
|
(*arcs)->AppendElement(kNC_Charset);
|
||||||
|
@ -725,6 +740,8 @@ nsresult nsMsgFolderDataSource::createFolderNode(nsIMsgFolder* folder,
|
||||||
rv = createFolderNameNode(folder, target);
|
rv = createFolderNameNode(folder, target);
|
||||||
else if ((kNC_SpecialFolder == property))
|
else if ((kNC_SpecialFolder == property))
|
||||||
rv = createFolderSpecialNode(folder,target);
|
rv = createFolderSpecialNode(folder,target);
|
||||||
|
else if ((kNC_ServerType == property))
|
||||||
|
rv = createFolderServerTypeNode(folder, target);
|
||||||
else if ((kNC_TotalMessages == property))
|
else if ((kNC_TotalMessages == property))
|
||||||
rv = createTotalMessagesNode(folder, target);
|
rv = createTotalMessagesNode(folder, target);
|
||||||
else if ((kNC_TotalUnreadMessages == property))
|
else if ((kNC_TotalUnreadMessages == property))
|
||||||
|
@ -783,6 +800,22 @@ nsMsgFolderDataSource::createFolderSpecialNode(nsIMsgFolder *folder,
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nsresult
|
||||||
|
nsMsgFolderDataSource::createFolderServerTypeNode(nsIMsgFolder* folder,
|
||||||
|
nsIRDFNode **target)
|
||||||
|
{
|
||||||
|
nsresult rv;
|
||||||
|
nsCOMPtr<nsIMsgIncomingServer> server;
|
||||||
|
rv = folder->GetServer(getter_AddRefs(server));
|
||||||
|
if (NS_FAILED(rv)) return rv;
|
||||||
|
|
||||||
|
nsXPIDLCString serverType;
|
||||||
|
rv = server->GetType(getter_Copies(serverType));
|
||||||
|
|
||||||
|
createNode(serverType, target);
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
nsresult
|
nsresult
|
||||||
nsMsgFolderDataSource::createTotalMessagesNode(nsIMsgFolder *folder,
|
nsMsgFolderDataSource::createTotalMessagesNode(nsIMsgFolder *folder,
|
||||||
nsIRDFNode **target)
|
nsIRDFNode **target)
|
||||||
|
@ -1050,8 +1083,11 @@ nsresult nsMsgFolderDataSource::DoFolderAssert(nsIMsgFolder *folder, nsIRDFResou
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
nsresult nsMsgFolderDataSource::DoFolderHasAssertion(nsIMsgFolder *folder, nsIRDFResource *property, nsIRDFNode *target,
|
nsresult nsMsgFolderDataSource::DoFolderHasAssertion(nsIMsgFolder *folder,
|
||||||
PRBool tv, PRBool *hasAssertion)
|
nsIRDFResource *property,
|
||||||
|
nsIRDFNode *target,
|
||||||
|
PRBool tv,
|
||||||
|
PRBool *hasAssertion)
|
||||||
{
|
{
|
||||||
nsresult rv = NS_OK;
|
nsresult rv = NS_OK;
|
||||||
if(!hasAssertion)
|
if(!hasAssertion)
|
||||||
|
@ -1063,7 +1099,7 @@ nsresult nsMsgFolderDataSource::DoFolderHasAssertion(nsIMsgFolder *folder, nsIRD
|
||||||
*hasAssertion = PR_FALSE;
|
*hasAssertion = PR_FALSE;
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if((kNC_Child == property))
|
if((kNC_Child == property))
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsIFolder> childFolder(do_QueryInterface(target, &rv));
|
nsCOMPtr<nsIFolder> childFolder(do_QueryInterface(target, &rv));
|
||||||
|
@ -1082,8 +1118,13 @@ nsresult nsMsgFolderDataSource::DoFolderHasAssertion(nsIMsgFolder *folder, nsIRD
|
||||||
if(NS_SUCCEEDED(rv))
|
if(NS_SUCCEEDED(rv))
|
||||||
rv = folder->HasMessage(message, hasAssertion);
|
rv = folder->HasMessage(message, hasAssertion);
|
||||||
}
|
}
|
||||||
else if ((kNC_Name == property) || (kNC_SpecialFolder == property) || (kNC_TotalMessages == property)
|
else if ((kNC_Name == property) ||
|
||||||
|| (kNC_TotalUnreadMessages == property) || (kNC_Charset == property) || (kNC_BiffState == property))
|
(kNC_SpecialFolder == property) ||
|
||||||
|
(kNC_ServerType == property) ||
|
||||||
|
(kNC_TotalMessages == property) ||
|
||||||
|
(kNC_TotalUnreadMessages == property) ||
|
||||||
|
(kNC_Charset == property) ||
|
||||||
|
(kNC_BiffState == property))
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsIRDFResource> folderResource(do_QueryInterface(folder, &rv));
|
nsCOMPtr<nsIRDFResource> folderResource(do_QueryInterface(folder, &rv));
|
||||||
|
|
||||||
|
|
|
@ -127,6 +127,8 @@ protected:
|
||||||
nsIRDFNode **target);
|
nsIRDFNode **target);
|
||||||
nsresult createFolderNameNode(nsIMsgFolder *folder, nsIRDFNode **target);
|
nsresult createFolderNameNode(nsIMsgFolder *folder, nsIRDFNode **target);
|
||||||
nsresult createFolderSpecialNode(nsIMsgFolder *folder, nsIRDFNode **target);
|
nsresult createFolderSpecialNode(nsIMsgFolder *folder, nsIRDFNode **target);
|
||||||
|
nsresult createFolderServerTypeNode(nsIMsgFolder *folder,
|
||||||
|
nsIRDFNode **target);
|
||||||
nsresult createTotalMessagesNode(nsIMsgFolder *folder, nsIRDFNode **target);
|
nsresult createTotalMessagesNode(nsIMsgFolder *folder, nsIRDFNode **target);
|
||||||
nsresult createUnreadMessagesNode(nsIMsgFolder *folder, nsIRDFNode **target);
|
nsresult createUnreadMessagesNode(nsIMsgFolder *folder, nsIRDFNode **target);
|
||||||
nsresult createCharsetNode(nsIMsgFolder *folder, nsIRDFNode **target);
|
nsresult createCharsetNode(nsIMsgFolder *folder, nsIRDFNode **target);
|
||||||
|
@ -164,6 +166,7 @@ protected:
|
||||||
static nsIRDFResource* kNC_Columns;
|
static nsIRDFResource* kNC_Columns;
|
||||||
static nsIRDFResource* kNC_MSGFolderRoot;
|
static nsIRDFResource* kNC_MSGFolderRoot;
|
||||||
static nsIRDFResource* kNC_SpecialFolder;
|
static nsIRDFResource* kNC_SpecialFolder;
|
||||||
|
static nsIRDFResource* kNC_ServerType;
|
||||||
static nsIRDFResource* kNC_TotalMessages;
|
static nsIRDFResource* kNC_TotalMessages;
|
||||||
static nsIRDFResource* kNC_TotalUnreadMessages;
|
static nsIRDFResource* kNC_TotalUnreadMessages;
|
||||||
static nsIRDFResource* kNC_Charset;
|
static nsIRDFResource* kNC_Charset;
|
||||||
|
|
|
@ -114,6 +114,23 @@ nsresult createNode(PRUint32 value, nsIRDFNode **node)
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nsresult createNode(const char* charstr, nsIRDFNode **node)
|
||||||
|
{
|
||||||
|
nsresult rv;
|
||||||
|
// use nsString to convert to unicode
|
||||||
|
NS_WITH_SERVICE(nsIRDFService, rdf, kRDFServiceCID, &rv);
|
||||||
|
if (NS_FAILED(rv)) return rv;
|
||||||
|
nsCOMPtr<nsIRDFLiteral> value;
|
||||||
|
nsString str(charstr);
|
||||||
|
PRUnichar *ucharstr = str.ToNewUnicode();
|
||||||
|
rv = rdf->GetLiteral(ucharstr, getter_AddRefs(value));
|
||||||
|
if(NS_SUCCEEDED(rv)) {
|
||||||
|
*node = value;
|
||||||
|
NS_IF_ADDREF(*node);
|
||||||
|
}
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
nsresult createDateNode(PRTime time, nsIRDFNode **node)
|
nsresult createDateNode(PRTime time, nsIRDFNode **node)
|
||||||
{
|
{
|
||||||
*node = nsnull;
|
*node = nsnull;
|
||||||
|
|
|
@ -33,36 +33,37 @@ typedef struct _nsMsgRDFNotification {
|
||||||
|
|
||||||
//Some property declarations
|
//Some property declarations
|
||||||
|
|
||||||
#define NC_RDF_SUBJECT "http://home.netscape.com/NC-rdf#Subject"
|
#define NC_RDF_SUBJECT NC_NAMESPACE_URI "Subject"
|
||||||
#define NC_RDF_SENDER "http://home.netscape.com/NC-rdf#Sender"
|
#define NC_RDF_SENDER NC_NAMESPACE_URI "Sender"
|
||||||
#define NC_RDF_DATE "http://home.netscape.com/NC-rdf#Date"
|
#define NC_RDF_DATE NC_NAMESPACE_URI "Date"
|
||||||
#define NC_RDF_STATUS "http://home.netscape.com/NC-rdf#Status"
|
#define NC_RDF_STATUS NC_NAMESPACE_URI "Status"
|
||||||
|
|
||||||
#define NC_RDF_CHILD "http://home.netscape.com/NC-rdf#child"
|
#define NC_RDF_CHILD NC_NAMESPACE_URI "child"
|
||||||
#define NC_RDF_MESSAGECHILD "http://home.netscape.com/NC-rdf#MessageChild"
|
#define NC_RDF_MESSAGECHILD NC_NAMESPACE_URI "MessageChild"
|
||||||
#define NC_RDF_NAME "http://home.netscape.com/NC-rdf#Name"
|
#define NC_RDF_NAME NC_NAMESPACE_URI "Name"
|
||||||
#define NC_RDF_FOLDER "http://home.netscape.com/NC-rdf#Folder"
|
#define NC_RDF_FOLDER NC_NAMESPACE_URI "Folder"
|
||||||
#define NC_RDF_SPECIALFOLDER "http://home.netscape.com/NC-rdf#SpecialFolder"
|
#define NC_RDF_SPECIALFOLDER NC_NAMESPACE_URI "SpecialFolder"
|
||||||
#define NC_RDF_TOTALMESSAGES "http://home.netscape.com/NC-rdf#TotalMessages"
|
#define NC_RDF_SERVERTYPE NC_NAMESPACE_URI "ServerType"
|
||||||
#define NC_RDF_TOTALUNREADMESSAGES "http://home.netscape.com/NC-rdf#TotalUnreadMessages"
|
#define NC_RDF_TOTALMESSAGES NC_NAMESPACE_URI "TotalMessages"
|
||||||
#define NC_RDF_CHARSET "http://home.netscape.com/NC-rdf#Charset"
|
#define NC_RDF_TOTALUNREADMESSAGES NC_NAMESPACE_URI "TotalUnreadMessages"
|
||||||
#define NC_RDF_BIFFSTATE "http://home.netscape.com/NC-rdf#BiffState"
|
#define NC_RDF_CHARSET NC_NAMESPACE_URI "Charset"
|
||||||
|
#define NC_RDF_BIFFSTATE NC_NAMESPACE_URI "BiffState"
|
||||||
|
|
||||||
//Folder Commands
|
//Folder Commands
|
||||||
#define NC_RDF_DELETE "http://home.netscape.com/NC-rdf#Delete"
|
#define NC_RDF_DELETE NC_NAMESPACE_URI "Delete"
|
||||||
#define NC_RDF_NEWFOLDER "http://home.netscape.com/NC-rdf#NewFolder"
|
#define NC_RDF_NEWFOLDER NC_NAMESPACE_URI "NewFolder"
|
||||||
#define NC_RDF_GETNEWMESSAGES "http://home.netscape.com/NC-rdf#GetNewMessages"
|
#define NC_RDF_GETNEWMESSAGES NC_NAMESPACE_URI "GetNewMessages"
|
||||||
#define NC_RDF_COPY "http://home.netscape.com/NC-rdf#Copy"
|
#define NC_RDF_COPY NC_NAMESPACE_URI "Copy"
|
||||||
#define NC_RDF_MOVE "http://home.netscape.com/NC-rdf#Move"
|
#define NC_RDF_MOVE NC_NAMESPACE_URI "Move"
|
||||||
#define NC_RDF_MARKALLMESSAGESREAD "http://home.netscape.com/NC-rdf#MarkAllMessagesRead"
|
#define NC_RDF_MARKALLMESSAGESREAD NC_NAMESPACE_URI "MarkAllMessagesRead"
|
||||||
#define NC_RDF_COMPACT "http://home.netscape.com/NC-rdf#Compact"
|
#define NC_RDF_COMPACT NC_NAMESPACE_URI "Compact"
|
||||||
#define NC_RDF_RENAME "http://home.netscape.com/NC_rdf#Rename"
|
#define NC_RDF_RENAME NC_NAMESPACE_URI "Rename"
|
||||||
#define NC_RDF_EMPTYTRASH "http://home.netscape.com/NC_rdf#EmptyTrash"
|
#define NC_RDF_EMPTYTRASH NC_NAMESPACE_URI "EmptyTrash"
|
||||||
|
|
||||||
//Message Commands
|
//Message Commands
|
||||||
#define NC_RDF_MARKREAD "http://home.netscape.com/NC-rdf#MarkRead"
|
#define NC_RDF_MARKREAD NC_NAMESPACE_URI "MarkRead"
|
||||||
#define NC_RDF_MARKUNREAD "http://home.netscape.com/NC-rdf#MarkUnread"
|
#define NC_RDF_MARKUNREAD NC_NAMESPACE_URI "MarkUnread"
|
||||||
#define NC_RDF_TOGGLEREAD "http://home.netscape.com/NC-rdf#ToggleRead"
|
#define NC_RDF_TOGGLEREAD NC_NAMESPACE_URI "ToggleRead"
|
||||||
|
|
||||||
|
|
||||||
//Returns PR_TRUE if r1 is equal to r2 and r2 is the sort property.
|
//Returns PR_TRUE if r1 is equal to r2 and r2 is the sort property.
|
||||||
|
@ -75,6 +76,7 @@ peqCollationSort(nsIRDFResource* r1, nsIRDFResource* r2, PRBool *isCollation);
|
||||||
|
|
||||||
//Given an nsString, create an nsIRDFNode
|
//Given an nsString, create an nsIRDFNode
|
||||||
nsresult createNode(nsString& str, nsIRDFNode **node);
|
nsresult createNode(nsString& str, nsIRDFNode **node);
|
||||||
|
nsresult createNode(const char*, nsIRDFNode **);
|
||||||
|
|
||||||
//Given a PRUint32, create an nsiIRDFNode.
|
//Given a PRUint32, create an nsiIRDFNode.
|
||||||
nsresult createNode(PRUint32 value, nsIRDFNode **node);
|
nsresult createNode(PRUint32 value, nsIRDFNode **node);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче