From 1bb2458bbd832096bb10d850524c560129224b46 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Wed, 5 Jan 2005 20:48:47 +0000 Subject: Only implement nsITransfer if possible. 2005-01-05 Christian Persch * configure.ac: * embed/mozilla/MozDownload.cpp: * embed/mozilla/MozDownload.h: Only implement nsITransfer if possible. --- embed/mozilla/MozDownload.cpp | 54 +++++++++++++++++++++++++------------------ embed/mozilla/MozDownload.h | 25 +++++++++++++++++--- 2 files changed, 54 insertions(+), 25 deletions(-) (limited to 'embed/mozilla') diff --git a/embed/mozilla/MozDownload.cpp b/embed/mozilla/MozDownload.cpp index 23c48fcd7..e65974476 100644 --- a/embed/mozilla/MozDownload.cpp +++ b/embed/mozilla/MozDownload.cpp @@ -79,7 +79,11 @@ MozDownload::~MozDownload() NS_ASSERTION (!mEphyDownload, "MozillaDownload still alive!"); } +#ifdef HAVE_NSITRANSFER_H +NS_IMPL_ISUPPORTS1(MozDownload, nsITransfer) +#else NS_IMPL_ISUPPORTS3(MozDownload, nsIDownload, nsITransfer, nsIWebProgressListener) +#endif NS_IMETHODIMP MozDownload::InitForEmbed (nsIURI *aSource, nsIURI *aTarget, const PRUnichar *aDisplayName, @@ -151,6 +155,7 @@ MozDownload::GetSource(nsIURI **aSource) return NS_OK; } +#ifndef HAVE_NSITRANSFER_H NS_IMETHODIMP MozDownload::GetTarget(nsIURI **aTarget) { @@ -159,6 +164,7 @@ MozDownload::GetTarget(nsIURI **aTarget) return NS_OK; } +#endif NS_IMETHODIMP MozDownload::GetTargetFile (nsILocalFile** aTargetFile) @@ -175,6 +181,7 @@ MozDownload::GetTargetFile (nsILocalFile** aTargetFile) return rv; } +#ifndef HAVE_NSITRANSFER_H NS_IMETHODIMP MozDownload::GetPersist(nsIWebBrowserPersist **aPersist) { @@ -183,6 +190,7 @@ MozDownload::GetPersist(nsIWebBrowserPersist **aPersist) return NS_OK; } +#endif NS_IMETHODIMP MozDownload::GetPercentComplete(PRInt32 *aPercentComplete) @@ -193,6 +201,7 @@ MozDownload::GetPercentComplete(PRInt32 *aPercentComplete) return NS_OK; } +#ifndef HAVE_NSITRANSFER_H #ifdef MOZ_NSIDOWNLOAD_GETSIZE /* readonly attribute PRUint64 amountTransferred; */ NS_IMETHODIMP @@ -207,52 +216,53 @@ MozDownload::GetSize(PRUint64 *aSize) { return NS_ERROR_NOT_IMPLEMENTED; } -#endif /* MOZ_NSIDOWNLOAD_GETSIZE */ NS_IMETHODIMP -MozDownload::GetTotalProgress(PRInt32 *aTotalProgress) +MozDownload::GetStartTime(PRInt64 *aStartTime) { - NS_ENSURE_ARG_POINTER(aTotalProgress); - *aTotalProgress = mTotalProgress; + NS_ENSURE_ARG_POINTER(aStartTime); + *aStartTime = mStartTime; return NS_OK; } +#endif /* MOZ_NSIDOWNLOAD_GETSIZE */ NS_IMETHODIMP -MozDownload::GetCurrentProgress(PRInt32 *aCurrentProgress) +MozDownload::GetDisplayName(PRUnichar * *aDisplayName) { - NS_ENSURE_ARG_POINTER(aCurrentProgress); - *aCurrentProgress = mCurrentProgress; - - return NS_OK; + return NS_ERROR_NOT_IMPLEMENTED; } NS_IMETHODIMP -MozDownload::GetState(EphyDownloadState *aDownloadState) +MozDownload::SetDisplayName(const PRUnichar * aDisplayName) { - NS_ENSURE_ARG_POINTER(aDownloadState); - *aDownloadState = mDownloadState; - - return NS_OK; + return NS_ERROR_NOT_IMPLEMENTED; } +#endif /* !HAVE_NSITRANSFER_H */ NS_IMETHODIMP -MozDownload::GetDisplayName(PRUnichar * *aDisplayName) +MozDownload::GetTotalProgress(PRInt32 *aTotalProgress) { - return NS_ERROR_NOT_IMPLEMENTED; + NS_ENSURE_ARG_POINTER(aTotalProgress); + *aTotalProgress = mTotalProgress; + + return NS_OK; } NS_IMETHODIMP -MozDownload::SetDisplayName(const PRUnichar * aDisplayName) +MozDownload::GetCurrentProgress(PRInt32 *aCurrentProgress) { - return NS_ERROR_NOT_IMPLEMENTED; + NS_ENSURE_ARG_POINTER(aCurrentProgress); + *aCurrentProgress = mCurrentProgress; + + return NS_OK; } NS_IMETHODIMP -MozDownload::GetStartTime(PRInt64 *aStartTime) +MozDownload::GetState(EphyDownloadState *aDownloadState) { - NS_ENSURE_ARG_POINTER(aStartTime); - *aStartTime = mStartTime; + NS_ENSURE_ARG_POINTER(aDownloadState); + *aDownloadState = mDownloadState; return NS_OK; } @@ -326,7 +336,7 @@ MozDownload::OnStateChange (nsIWebProgress *aWebProgress, nsIRequest *aRequest, if (aStateFlags & EPHY_EMBED_STATE_STOP) { /* Keep us alive */ - nsCOMPtr kungFuDeathGrip(this); + nsCOMPtr kungFuDeathGrip(this); mDownloadState = NS_SUCCEEDED (aStatus) ? EPHY_DOWNLOAD_COMPLETED : EPHY_DOWNLOAD_FAILED; if (mEphyDownload) diff --git a/embed/mozilla/MozDownload.h b/embed/mozilla/MozDownload.h index 9addcadb1..c4592ec5d 100644 --- a/embed/mozilla/MozDownload.h +++ b/embed/mozilla/MozDownload.h @@ -49,7 +49,6 @@ #include "ephy-download.h" #include "ephy-embed-shell.h" -#include #include #include #include @@ -59,6 +58,12 @@ #include #include +#ifdef HAVE_NSITRANSFER_H +#include +#else +#include +#endif + #include /* MozDownload @@ -89,17 +94,31 @@ nsresult InitiateMozillaDownload (nsIDOMDocument *domDocument, nsIURI *sourceUri PRInt32 aMaxSize); nsresult BuildDownloadPath (const char *defaultFileName, nsILocalFile **_retval); -class MozDownload : public nsIDownload, +class MozDownload : +#ifdef HAVE_NSITRANSFER_H + public nsITransfer +#else + public nsIDownload, public nsIWebProgressListener +#endif { public: MozDownload(); virtual ~MozDownload(); NS_DECL_ISUPPORTS + NS_DECL_NSIWEBPROGRESSLISTENER NS_DECL_NSITRANSFER +#ifndef HAVE_NSITRANSFER_H NS_DECL_NSIDOWNLOAD - NS_DECL_NSIWEBPROGRESSLISTENER +#endif + +#ifdef HAVE_NSITRANSFER_H + nsresult GetMIMEInfo (nsIMIMEInfo **aMIMEInfo); + nsresult GetTargetFile (nsILocalFile **aFile); + nsresult GetSource(nsIURI * *aSource); + nsresult GetPercentComplete(PRInt32 *aPercentComplete); +#endif virtual void Cancel(); virtual void Pause(); -- cgit v1.2.3