From ddac650d1aaa52b00f9359907d142a6c537e2047 Mon Sep 17 00:00:00 2001 From: "radha%netscape.com" Date: Tue, 27 Nov 2001 23:13:10 +0000 Subject: [PATCH] nsPartChannel implements nsIMultiPartChannel to provide access to base channel. r=darin sr=rpotts bug=99638 git-svn-id: svn://10.0.0.236/trunk@109050 18797224-902f-48f8-a5cc-f745e15eee43 --- .../streamconv/converters/nsMultiMixedConv.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mozilla/netwerk/streamconv/converters/nsMultiMixedConv.cpp b/mozilla/netwerk/streamconv/converters/nsMultiMixedConv.cpp index 75304b50bfb..71449da617a 100644 --- a/mozilla/netwerk/streamconv/converters/nsMultiMixedConv.cpp +++ b/mozilla/netwerk/streamconv/converters/nsMultiMixedConv.cpp @@ -45,6 +45,7 @@ #include "nsMimeTypes.h" #include "nsIByteArrayInputStream.h" #include "nsReadableUtils.h" +#include "nsIMultiPartChannel.h" // @@ -55,7 +56,8 @@ // nsIStreamListener interface. // class nsPartChannel : public nsIChannel, - public nsIByteRangeRequest + public nsIByteRangeRequest, + public nsIMultiPartChannel { public: nsPartChannel(nsIChannel *aMultipartChannel); @@ -66,6 +68,7 @@ public: NS_DECL_NSIREQUEST NS_DECL_NSICHANNEL NS_DECL_NSIBYTERANGEREQUEST + NS_DECL_NSIMULTIPARTCHANNEL protected: virtual ~nsPartChannel(); @@ -128,6 +131,7 @@ NS_INTERFACE_MAP_BEGIN(nsPartChannel) NS_INTERFACE_MAP_ENTRY(nsIRequest) NS_INTERFACE_MAP_ENTRY(nsIChannel) NS_INTERFACE_MAP_ENTRY(nsIByteRangeRequest) + NS_INTERFACE_MAP_ENTRY(nsIMultiPartChannel) NS_INTERFACE_MAP_END // @@ -342,7 +346,14 @@ nsPartChannel::GetEndRange(PRInt32 *aEndRange) return NS_OK; } +NS_IMETHODIMP +nsPartChannel::GetBaseChannel(nsIChannel ** aReturn) +{ + NS_ENSURE_ARG_POINTER(aReturn); + *aReturn = mMultipartChannel; + NS_IF_ADDREF(*aReturn); +}