Split datasources into message and folder datasources and moved them to base.

This commit is contained in:
putterman%netscape.com 1999-04-20 01:11:11 +00:00
Родитель 0854186ce7
Коммит e142b0db9b
18 изменённых файлов: 96 добавлений и 56 удалений

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

@ -104,6 +104,7 @@ LINCS=$(LINCS) -I, \
-I$(PUBLIC)\netlib \
-I$(PUBLIC)\dom \
-I$(PUBLIC)\appcores \
-I$(PUBLIC)\mime \
$(NULL)
#//------------------------------------------------------------------------

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

@ -33,6 +33,22 @@
0xa8f54ee0, 0xd292, 0x11d2, \
{0xb7, 0xf6, 0x00, 0x80, 0x5f, 0x05, 0xff, 0xa5}}
#define NS_MAILNEWSFOLDERDATASOURCE_CID \
{ /* 2B8ED4A4-F684-11d2-8A5D-0060B0FC04D2 */ \
0x2b8ed4a4, \
0xf684, \
0x11d2, \
{0x8a, 0x5d, 0x0, 0x60, 0xb0, 0xfc, 0x4, 0xd2} \
}
#define NS_MAILNEWSMESSAGEDATASOURCE_CID \
{ /* 2B8ED4A5-F684-11d2-8A5D-0060B0FC04D2 */ \
0x2b8ed4a5, \
0xf684, \
0x11d2, \
{0x8a, 0x5d, 0x0, 0x60, 0xb0, 0xfc, 0x4, 0xd2} \
}
#define NS_MESSAGEVIEWDATASOURCE_CID \
{ /* 14495573-E945-11d2-8A52-0060B0FC04D2 */ \
0x14495573, 0xe945, 0x11d2, \

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

@ -43,6 +43,8 @@
#include "nsMsgAccountManager.h"
#include "nsMsgIdentity.h"
#include "nsMessageViewDataSource.h"
#include "nsMsgFolderDataSource.h"
#include "nsMsgMessageDataSource.h"
static NS_DEFINE_CID(kComponentManagerCID, NS_COMPONENTMANAGER_CID);
@ -58,6 +60,8 @@ static NS_DEFINE_CID(kCMsgFolderEventCID, NS_MSGFOLDEREVENT_CID);
static NS_DEFINE_CID(kCMsgAppCoreCID, NS_MSGAPPCORE_CID);
static NS_DEFINE_CID(kCMsgGroupRecordCID, NS_MSGGROUPRECORD_CID);
static NS_DEFINE_CID(kMailNewsFolderDataSourceCID, NS_MAILNEWSFOLDERDATASOURCE_CID);
static NS_DEFINE_CID(kMailNewsMessageDataSourceCID, NS_MAILNEWSMESSAGEDATASOURCE_CID);
static NS_DEFINE_CID(kCMessageViewDataSourceCID, NS_MESSAGEVIEWDATASOURCE_CID);
static NS_DEFINE_CID(kCMsgAccountManagerCID, NS_MSGACCOUNTMANAGER_CID);
@ -208,8 +212,34 @@ nsMsgFactory::CreateInstance(nsISupports *aOuter,
nsMsgIdentity* identity = new nsMsgIdentity();
return identity->QueryInterface(aIID, aResult);
}
else if (mClassID.Equals(kCMessageViewDataSourceCID))
else if (mClassID.Equals(kMailNewsFolderDataSourceCID))
{
nsresult rv;
nsMsgFolderDataSource * folderDataSource = new nsMsgFolderDataSource();
if (folderDataSource)
rv = folderDataSource->QueryInterface(aIID, aResult);
else
rv = NS_ERROR_OUT_OF_MEMORY;
if (NS_FAILED(rv) && folderDataSource)
delete folderDataSource;
return rv;
}
else if (mClassID.Equals(kMailNewsMessageDataSourceCID))
{
nsresult rv;
nsMsgMessageDataSource * messageDataSource = new nsMsgMessageDataSource();
if (messageDataSource)
rv = messageDataSource->QueryInterface(aIID, aResult);
else
rv = NS_ERROR_OUT_OF_MEMORY;
if (NS_FAILED(rv) && messageDataSource)
delete messageDataSource;
return rv;
}
else if (mClassID.Equals(kCMessageViewDataSourceCID))
{
nsMessageViewDataSource * msgView = new nsMessageViewDataSource();
if (msgView)
@ -342,6 +372,20 @@ NSRegisterSelf(nsISupports* aServMgr, const char* path)
PR_TRUE, PR_TRUE);
if (NS_FAILED(rv)) goto done;
// register our RDF datasources:
rv = compMgr->RegisterComponent(kMailNewsFolderDataSourceCID,
"Mail/News Folder Data Source",
NS_RDF_DATASOURCE_PROGID_PREFIX "mailnewsfolders",
path, PR_TRUE, PR_TRUE);
if (NS_FAILED(rv)) goto done;
// register our RDF datasources:
rv = compMgr->RegisterComponent(kMailNewsMessageDataSourceCID,
"Mail/News Message Data Source",
NS_RDF_DATASOURCE_PROGID_PREFIX "mailnewsmessages",
path, PR_TRUE, PR_TRUE);
if (NS_FAILED(rv)) goto done;
rv = compMgr->RegisterComponent(kCMessageViewDataSourceCID,
"Mail/News Message View Data Source",
NS_RDF_DATASOURCE_PROGID_PREFIX "mail-messageview",
@ -385,6 +429,10 @@ NSUnregisterSelf(nsISupports* aServMgr, const char* path)
if (NS_FAILED(rv)) goto done;
rv = compMgr->UnregisterComponent(kCMsgMailSessionCID, path);
if(NS_FAILED(rv)) goto done;
rv = compMgr->UnregisterComponent(kMailNewsFolderDataSourceCID, path);
if (NS_FAILED(rv)) goto done;
rv = compMgr->UnregisterComponent(kMailNewsMessageDataSourceCID, path);
if (NS_FAILED(rv)) goto done;
rv = compMgr->UnregisterComponent(kCMessageViewDataSourceCID, path);
if(NS_FAILED(rv)) goto done;

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

@ -21,6 +21,8 @@ nsMsgKeyArray.h
nsUrlListenerManager.h
nsMsgMailSession.h
nsMsgAppCore.h
nsMsgFolderDataSource.h
nsMsgMessageDataSource.h
nsMessageViewDataSource.h
nsMsgAccount.h
nsMsgAccountManager.h

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

@ -33,6 +33,8 @@ EXPORTS = \
nsMsgAppCore.h \
nsMsgAccountManager.h \
nsMsgAccount.h \
nsMsgFolderDataSource.h \
nsMsgMessageDataSource.h \
nsMessageViewDataSource.h \
$(NULL)
@ -50,6 +52,8 @@ CPPSRCS = \
nsMsgAccountManager.cpp \
nsMsgAccount.cpp \
nsCopyMessageStreamListener.cpp \
nsMsgFolderDataSource.cpp \
nsMsgMessageDataSource.cpp \
nsMessageViewDataSource.cpp \
$(NULL)

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

@ -40,6 +40,8 @@ CPPSRCS= \
nsMessageViewDataSource.cpp \
nsMsgAccountManager.cpp \
nsMsgAccount.cpp \
nsMsgFolderDataSource.cpp \
nsMsgMessageDataSource.cpp \
$(NULL)
@ -58,6 +60,8 @@ CPP_OBJS= \
.\$(OBJDIR)\nsMessageViewDataSource.obj \
.\$(OBJDIR)\nsMsgAccountManager.obj \
.\$(OBJDIR)\nsMsgAccount.obj \
.\$(OBJDIR)\nsMsgFolderDataSource.obj \
.\$(OBJDIR)\nsMsgMessageDataSource.obj \
$(NULL)
@ -67,6 +71,8 @@ EXPORTS= \
nsUrlListenerManager.h \
nsMsgMailSession.h \
nsMsgAppCore.h \
nsMsgFolderDataSource.h \
nsMsgMessageDataSource.h \
nsMessageViewDataSource.h \
nsMsgAccount.h \
nsMsgAccountManager.h \
@ -84,6 +90,7 @@ LINCS= \
-I$(PUBLIC)\dom \
-I$(PUBLIC)\appcores \
-I$(PUBLIC)\security \
-I$(PUBLIC)\mime \
$(NULL)
LCFLAGS = \

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

@ -187,7 +187,7 @@ static nsresult AddView(nsIRDFCompositeDataSource *database, nsIMessageView **me
if(NS_SUCCEEDED(rv))
{
rv = gRDFService->GetDataSource("rdf:mail-messageview", &view);
rv = NS_SUCCEEDED(rv) && gRDFService->GetDataSource("rdf:mailnews", &datasource);
rv = NS_SUCCEEDED(rv) && gRDFService->GetDataSource("rdf:mailnewsfolders", &datasource);
nsServiceManager::ReleaseService(kRDFServiceCID, gRDFService);
}

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

@ -23,14 +23,6 @@
#include "nsIFactory.h"
#include "nsIComponentManager.h"
#define NS_MAILNEWSDATASOURCE_CID \
{ /* ddd9d2b2-cd67-11d2-8cca-0060b0fc14a3 */ \
0xddd9d2b2, \
0xcd67, \
0x11d2, \
{0x8c, 0xca, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3} \
}
#define NS_MAILNEWSRESOURCE_CID \
{ /* e490d22c-cd67-11d2-8cca-0060b0fc14a3 */ \
0xe490d22c, \

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

@ -26,7 +26,6 @@
// include files for components this factory creates...
#include "nsMailboxUrl.h"
#include "nsPop3URL.h"
#include "nsMSGFolderDataSource.h"
#include "nsMailboxService.h"
#include "nsLocalMailFolder.h"
#include "nsParseMailbox.h"
@ -38,8 +37,7 @@ static NS_DEFINE_CID(kComponentManagerCID, NS_COMPONENTMANAGER_CID);
static NS_DEFINE_CID(kMailboxUrlCID, NS_MAILBOXURL_CID);
static NS_DEFINE_CID(kMailboxParserCID, NS_MAILBOXPARSER_CID);
static NS_DEFINE_CID(kMailboxServiceCID, NS_MAILBOXSERVICE_CID);
static NS_DEFINE_CID(kMailNewsDatasourceCID, NS_MAILNEWSDATASOURCE_CID);
static NS_DEFINE_CID(kMailNewsResourceCID, NS_MAILNEWSRESOURCE_CID);
static NS_DEFINE_CID(kMailNewsLocalResourceCID, NS_MAILNEWSRESOURCE_CID);
static NS_DEFINE_CID(kPop3ServiceCID, NS_POP3SERVICE_CID);
static NS_DEFINE_CID(kPop3UrlCID, NS_POP3URL_CID);
static NS_DEFINE_CID(kPop3IncomingServerCID, NS_POP3INCOMINGSERVER_CID);
@ -175,27 +173,16 @@ nsresult nsMsgLocalFactory::CreateInstance(nsISupports *aOuter, const nsIID &aII
if (NS_FAILED(rv) && popService)
delete popService;
}
else if (mClassID.Equals(kMailNewsDatasourceCID))
else if (mClassID.Equals(kMailNewsLocalResourceCID))
{
nsMSGFolderDataSource * folderDataSource = new nsMSGFolderDataSource();
if (folderDataSource)
rv = folderDataSource->QueryInterface(aIID, aResult);
nsMsgLocalMailFolder * localFolder = new nsMsgLocalMailFolder();
if (localFolder)
rv = localFolder->QueryInterface(aIID, aResult);
else
rv = NS_ERROR_OUT_OF_MEMORY;
if (NS_FAILED(rv) && folderDataSource)
delete folderDataSource;
}
else if (mClassID.Equals(kMailNewsResourceCID))
{
nsMsgLocalMailFolder * localDataSource = new nsMsgLocalMailFolder();
if (localDataSource)
rv = localDataSource->QueryInterface(aIID, aResult);
else
rv = NS_ERROR_OUT_OF_MEMORY;
if (NS_FAILED(rv) && localDataSource)
delete localDataSource;
if (NS_FAILED(rv) && localFolder)
delete localFolder;
}
else if (mClassID.Equals(kPop3IncomingServerCID))
rv = NS_NewPop3IncomingServer(nsISupports::GetIID(), aResult);
@ -275,16 +262,9 @@ NSRegisterSelf(nsISupports* aServMgr, const char* path)
path, PR_TRUE, PR_TRUE);
if (NS_FAILED(rv)) goto done;
// register our RDF datasources:
rv = compMgr->RegisterComponent(kMailNewsDatasourceCID,
"Mail/News Data Source",
NS_RDF_DATASOURCE_PROGID_PREFIX "mailnews",
path, PR_TRUE, PR_TRUE);
if (NS_FAILED(rv)) goto done;
// register our RDF resource factories:
rv = compMgr->RegisterComponent(kMailNewsResourceCID,
"Mail/News Resource Factory",
rv = compMgr->RegisterComponent(kMailNewsLocalResourceCID,
"Mail/News Local Resource Factory",
NS_RDF_RESOURCE_FACTORY_PROGID_PREFIX "mailbox",
path, PR_TRUE, PR_TRUE);
if (NS_FAILED(rv)) goto done;
@ -330,10 +310,7 @@ NSUnregisterSelf(nsISupports* aServMgr, const char* path)
rv = compMgr->UnregisterFactory(kMailboxParserCID, path);
if (NS_FAILED(rv)) goto done;
rv = compMgr->UnregisterComponent(kMailNewsDatasourceCID, path);
if (NS_FAILED(rv)) goto done;
rv = compMgr->UnregisterComponent(kMailNewsResourceCID, path);
rv = compMgr->UnregisterComponent(kMailNewsLocalResourceCID, path);
if (NS_FAILED(rv)) goto done;
rv = compMgr->UnregisterComponent(kPop3IncomingServerCID, path);

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

@ -16,7 +16,6 @@
# This is a list of local files which get copied to the mozilla:dist:mailnews directory
#
nsIRDFMSGFolderDataSource.h
nsIPop3Sink.h
nsIPop3URL.h
nsIMailboxUrl.h

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

@ -23,7 +23,6 @@ srcdir = @srcdir@
include $(DEPTH)/config/autoconf.mk
EXPORTS= \
nsIRDFMSGFolderDataSource.h \
nsIPop3Sink.h \
nsIPop3URL.h \
nsIMailboxUrl.h \

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

@ -19,7 +19,6 @@ DEPTH=..\..\..
IGNORE_MANIFEST=1
EXPORTS = \
nsIRDFMSGFolderDataSource.h \
nsIPop3Sink.h \
nsIPop3URL.h \
nsIMailboxUrl.h \

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

@ -25,7 +25,6 @@ MODULE=localmailbase
LIBRARY_NAME=localmailbase_s
CPPSRCS = \
nsMSGFolderDataSource.cpp \
nsPop3Protocol.cpp \
nsPop3URL.cpp \
nsPop3Sink.cpp \
@ -47,7 +46,6 @@ EXPORTS= \
nsMailboxProtocol.h \
nsMailboxService.h \
nsPop3Service.h \
nsMSGFolderDataSource.h \
nsLocalMailFolder.h \
nsPop3IncomingServer.h \
$(NULL)

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

@ -29,7 +29,6 @@ REQUIRES=xpcom nspr rdf
DEFINES=-D_IMPL_NS_HTML -DWIN32_LEAN_AND_MEAN
CPPSRCS= \
nsMSGFolderDataSource.cpp \
nsPop3Protocol.cpp \
nsPop3URL.cpp \
nsPop3Sink.cpp \
@ -43,7 +42,6 @@ CPPSRCS= \
$(NULL)
CPP_OBJS= \
.\$(OBJDIR)\nsMSGFolderDataSource.obj \
.\$(OBJDIR)\nsPop3Protocol.obj \
.\$(OBJDIR)\nsPop3URL.obj \
.\$(OBJDIR)\nsPop3Sink.obj \

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

@ -65,7 +65,7 @@ nsMsgLocalMailFolder::nsMsgLocalMailFolder(void)
(nsISupports**) &rdfService);
if(NS_SUCCEEDED(rv))
{
if(NS_SUCCEEDED(rv = rdfService->GetDataSource("rdf:mailnews", &datasource)))
if(NS_SUCCEEDED(rv = rdfService->GetDataSource("rdf:mailnewsfolders", &datasource)))
{
nsIFolderListener *folderListener;
if(NS_SUCCEEDED(datasource->QueryInterface(nsIFolderListener::GetIID(), (void**)&folderListener)))

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

@ -16,7 +16,7 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<tree rdf:datasources="rdf:mailnews" id="folderTree" onclick="return parent.parent.ChangeFolderByDOMNode(event.target.parentNode)">
<tree rdf:datasources="rdf:mailnewsfolders" id="folderTree" onclick="return parent.parent.ChangeFolderByDOMNode(event.target.parentNode)">
<treecol rdf:resource="http://home.netscape.com/NC-rdf#Name"/>
<treecol rdf:resource="http://home.netscape.com/NC-rdf#TotalUnreadMessages"/>
<treecol rdf:resource="http://home.netscape.com/NC-rdf#TotalMessages"/>

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

@ -359,10 +359,10 @@
</menu>
<menuitem name="&editMsgAsNewCmd.label;" onclick="MsgEditMessageAsNew();"/>
<separator/>
<menu name="&moveMsgMenu.label;" datasources="rdf:mailnews" id="mailbox:/" open="true"
<menu name="&moveMsgMenu.label;" datasources="rdf:mailnewsfolders" id="mailbox:/" open="true"
onclick="MsgMoveMessage(event.target)">
</menu>
<menu name="&copyMsgMenu.label;" datasources="rdf:mailnews" id="mailbox:/" open="true"
<menu name="&copyMsgMenu.label;" datasources="rdf:mailnewsfolders" id="mailbox:/" open="true"
onclick="MsgCopyMessage(event.target)">
</menu>
<separator/>

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

@ -15,7 +15,7 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<tree rdf:datasources="rdf:mailnews" id="threadTree" onclick="return parent.parent.LoadMessage(event.target.parentNode)" rdf:containment="http://home.netscape.com/NC-rdf#MessageChild">
<tree rdf:datasources="rdf:mailnewsfolders rdf:mailnewsmessages" id="threadTree" onclick="return parent.parent.LoadMessage(event.target.parentNode)" rdf:containment="http://home.netscape.com/NC-rdf#MessageChild">
<treecol id="SubjectColumn" rdf:resource="http://home.netscape.com/NC-rdf#Subject"/>
<treecol id="AuthorColumn" rdf:resource="http://home.netscape.com/NC-rdf#Sender"/>
<treecol id="DateColumn" rdf:resource="http://home.netscape.com/NC-rdf#Date"/>