📄 nsiuploadchannel.h
字号:
/* * DO NOT EDIT. THIS FILE IS GENERATED FROM 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#endifclass 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(); virtual ~nsUploadChannel(); /* 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__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -