This commit is contained in:
putterman%netscape.com 1999-08-20 22:45:16 +00:00
Родитель ba29d47daf
Коммит 6cdb8038ad
2 изменённых файлов: 49 добавлений и 1 удалений

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

@ -71,6 +71,8 @@ nsMsgRDFDataSource::QueryInterface(const nsIID& iid, void **result)
res = NS_STATIC_CAST(nsIRDFDataSource*, this);
else if(iid.Equals(nsCOMTypeInfo<nsIShutdownListener>::GetIID()))
res = NS_STATIC_CAST(nsIShutdownListener*, this);
else if(iid.Equals(nsCOMTypeInfo<nsIMsgWindowData>::GetIID()))
res = NS_STATIC_CAST(nsIMsgWindowData*, this);
if (res) {
NS_ADDREF(this);
@ -275,6 +277,40 @@ nsMsgRDFDataSource::OnShutdown(const nsCID& aClass, nsISupports* service)
return NS_OK;
}
NS_IMETHODIMP nsMsgRDFDataSource::GetStatusFeedback(nsIMsgStatusFeedback * *aStatusFeedback)
{
if(!aStatusFeedback)
return NS_ERROR_NULL_POINTER;
*aStatusFeedback = mStatusFeedback;
NS_IF_ADDREF(*aStatusFeedback);
return NS_OK;
}
NS_IMETHODIMP nsMsgRDFDataSource::SetStatusFeedback(nsIMsgStatusFeedback * aStatusFeedback)
{
mStatusFeedback = aStatusFeedback;
return NS_OK;
}
NS_IMETHODIMP nsMsgRDFDataSource::GetTransactionManager(nsITransactionManager * *aTransactionManager)
{
if(!aTransactionManager)
return NS_ERROR_NULL_POINTER;
*aTransactionManager = mTransactionManager;
NS_IF_ADDREF(*aTransactionManager);
return NS_OK;
}
NS_IMETHODIMP nsMsgRDFDataSource::SetTransactionManager(nsITransactionManager * aTransactionManager)
{
mTransactionManager = aTransactionManager;
return NS_OK;
}
nsIRDFService *
nsMsgRDFDataSource::getRDFService()
{
@ -364,3 +400,4 @@ nsMsgRDFDataSource::GetTransactionManager(nsISupportsArray *aSources, nsITransac
return NS_OK;
}

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

@ -26,9 +26,11 @@
#include "nsIServiceManager.h"
#include "nsISupportsArray.h"
#include "nsITransactionManager.h"
#include "nsIMsgWindowData.h"
class nsMsgRDFDataSource : public nsIRDFDataSource,
public nsIShutdownListener
public nsIShutdownListener,
public nsIMsgWindowData
{
public:
nsMsgRDFDataSource();
@ -160,6 +162,13 @@ class nsMsgRDFDataSource : public nsIRDFDataSource,
nsISupportsArray *aArguments);
//nsIMsgWindowData interface
NS_IMETHOD GetStatusFeedback(nsIMsgStatusFeedback * *aStatusFeedback);
NS_IMETHOD SetStatusFeedback(nsIMsgStatusFeedback * aStatusFeedback);
NS_IMETHOD GetTransactionManager(nsITransactionManager * *aTransactionManager);
NS_IMETHOD SetTransactionManager(nsITransactionManager * aTransactionManager);
protected:
nsIRDFService *getRDFService();
static PRBool assertEnumFunc(nsISupports *aElement, void *aData);
@ -168,6 +177,8 @@ class nsMsgRDFDataSource : public nsIRDFDataSource,
nsIRDFNode *object, PRBool assert);
nsresult GetTransactionManager(nsISupportsArray *sources, nsITransactionManager **aTransactionManager);
nsCOMPtr<nsIMsgStatusFeedback> mStatusFeedback;
nsCOMPtr<nsITransactionManager> mTransactionManager;
private:
nsIRDFService *mRDFService;
nsCOMPtr<nsISupportsArray> mObservers;