| Index: gecko-sdk/include/nsIUploadChannel.h
|
| ===================================================================
|
| --- gecko-sdk/include/nsIUploadChannel.h (revision 0)
|
| +++ gecko-sdk/include/nsIUploadChannel.h (revision 0)
|
| @@ -0,0 +1,143 @@
|
| +/*
|
| + * DO NOT EDIT. THIS FILE IS GENERATED FROM c:/builds/tinderbox/XR-Mozilla1.8.0-Release/WINNT_5.2_Depend/mozilla/netwerk/base/public/nsIUploadChannel.idl
|
| + */
|
| +
|
| +#ifndef __gen_nsIUploadChannel_h__
|
| +#define __gen_nsIUploadChannel_h__
|
| +
|
| +
|
| +#ifndef __gen_nsISupports_h__
|
| +#include "nsISupports.h"
|
| +#endif
|
| +
|
| +/* For IDL files that don't want to include root IDL files. */
|
| +#ifndef NS_NO_VTABLE
|
| +#define NS_NO_VTABLE
|
| +#endif
|
| +class nsIInputStream; /* forward declaration */
|
| +
|
| +
|
| +/* starting interface: nsIUploadChannel */
|
| +#define NS_IUPLOADCHANNEL_IID_STR "ddf633d8-e9a4-439d-ad88-de636fd9bb75"
|
| +
|
| +#define NS_IUPLOADCHANNEL_IID \
|
| + {0xddf633d8, 0xe9a4, 0x439d, \
|
| + { 0xad, 0x88, 0xde, 0x63, 0x6f, 0xd9, 0xbb, 0x75 }}
|
| +
|
| +/**
|
| + * nsIUploadChannel
|
| + *
|
| + * A channel may optionally implement this interface if it supports the
|
| + * notion of uploading a data stream. The upload stream may only be set
|
| + * prior to the invocation of asyncOpen on the channel.
|
| + *
|
| + * @status FROZEN
|
| + */
|
| +class NS_NO_VTABLE nsIUploadChannel : public nsISupports {
|
| + public:
|
| +
|
| + NS_DEFINE_STATIC_IID_ACCESSOR(NS_IUPLOADCHANNEL_IID)
|
| +
|
| + /**
|
| + * Sets a stream to be uploaded by this channel.
|
| + *
|
| + * Most implementations of this interface require that the stream:
|
| + * (1) implement threadsafe addRef and release
|
| + * (2) implement nsIInputStream::readSegments
|
| + * (3) implement nsISeekableStream::seek
|
| + *
|
| + * History here is that we need to support both streams that already have
|
| + * headers (e.g., Content-Type and Content-Length) information prepended to
|
| + * the stream (by plugins) as well as clients (composer, uploading
|
| + * application) that want to upload data streams without any knowledge of
|
| + * protocol specifications. For this reason, we have a special meaning
|
| + * for the aContentType parameter (see below).
|
| + *
|
| + * @param aStream
|
| + * The stream to be uploaded by this channel.
|
| + * @param aContentType
|
| + * If aContentType is empty, the protocol will assume that no
|
| + * content headers are to be added to the uploaded stream and that
|
| + * any required headers are already encoded in the stream. In the
|
| + * case of HTTP, if this parameter is non-empty, then its value will
|
| + * replace any existing Content-Type header on the HTTP request.
|
| + * In the case of FTP and FILE, this parameter is ignored.
|
| + * @param aContentLength
|
| + * A value of -1 indicates that the length of the stream should be
|
| + * determined by calling the stream's |available| method.
|
| + */
|
| + /* void setUploadStream (in nsIInputStream aStream, in ACString aContentType, in long aContentLength); */
|
| + NS_IMETHOD SetUploadStream(nsIInputStream *aStream, const nsACString & aContentType, PRInt32 aContentLength) = 0;
|
| +
|
| + /**
|
| + * Get the stream (to be) uploaded by this channel.
|
| + */
|
| + /* readonly attribute nsIInputStream uploadStream; */
|
| + NS_IMETHOD GetUploadStream(nsIInputStream * *aUploadStream) = 0;
|
| +
|
| +};
|
| +
|
| +/* Use this macro when declaring classes that implement this interface. */
|
| +#define NS_DECL_NSIUPLOADCHANNEL \
|
| + NS_IMETHOD SetUploadStream(nsIInputStream *aStream, const nsACString & aContentType, PRInt32 aContentLength); \
|
| + NS_IMETHOD GetUploadStream(nsIInputStream * *aUploadStream);
|
| +
|
| +/* Use this macro to declare functions that forward the behavior of this interface to another object. */
|
| +#define NS_FORWARD_NSIUPLOADCHANNEL(_to) \
|
| + NS_IMETHOD SetUploadStream(nsIInputStream *aStream, const nsACString & aContentType, PRInt32 aContentLength) { return _to SetUploadStream(aStream, aContentType, aContentLength); } \
|
| + NS_IMETHOD GetUploadStream(nsIInputStream * *aUploadStream) { return _to GetUploadStream(aUploadStream); }
|
| +
|
| +/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
|
| +#define NS_FORWARD_SAFE_NSIUPLOADCHANNEL(_to) \
|
| + NS_IMETHOD SetUploadStream(nsIInputStream *aStream, const nsACString & aContentType, PRInt32 aContentLength) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUploadStream(aStream, aContentType, aContentLength); } \
|
| + NS_IMETHOD GetUploadStream(nsIInputStream * *aUploadStream) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUploadStream(aUploadStream); }
|
| +
|
| +#if 0
|
| +/* Use the code below as a template for the implementation class for this interface. */
|
| +
|
| +/* Header file */
|
| +class nsUploadChannel : public nsIUploadChannel
|
| +{
|
| +public:
|
| + NS_DECL_ISUPPORTS
|
| + NS_DECL_NSIUPLOADCHANNEL
|
| +
|
| + nsUploadChannel();
|
| +
|
| +private:
|
| + ~nsUploadChannel();
|
| +
|
| +protected:
|
| + /* additional members */
|
| +};
|
| +
|
| +/* Implementation file */
|
| +NS_IMPL_ISUPPORTS1(nsUploadChannel, nsIUploadChannel)
|
| +
|
| +nsUploadChannel::nsUploadChannel()
|
| +{
|
| + /* member initializers and constructor code */
|
| +}
|
| +
|
| +nsUploadChannel::~nsUploadChannel()
|
| +{
|
| + /* destructor code */
|
| +}
|
| +
|
| +/* void setUploadStream (in nsIInputStream aStream, in ACString aContentType, in long aContentLength); */
|
| +NS_IMETHODIMP nsUploadChannel::SetUploadStream(nsIInputStream *aStream, const nsACString & aContentType, PRInt32 aContentLength)
|
| +{
|
| + return NS_ERROR_NOT_IMPLEMENTED;
|
| +}
|
| +
|
| +/* readonly attribute nsIInputStream uploadStream; */
|
| +NS_IMETHODIMP nsUploadChannel::GetUploadStream(nsIInputStream * *aUploadStream)
|
| +{
|
| + return NS_ERROR_NOT_IMPLEMENTED;
|
| +}
|
| +
|
| +/* End of implementation class template. */
|
| +#endif
|
| +
|
| +
|
| +#endif /* __gen_nsIUploadChannel_h__ */
|
|
|
| Property changes on: gecko-sdk\include\nsIUploadChannel.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|