| /* |
| * DO NOT EDIT. THIS FILE IS GENERATED FROM e:/builds/tinderbox/XR-Trunk/WINNT_5.2_Depend/mozilla/content/base/public/nsIXMLHttpRequest.idl |
| */ |
| |
| #ifndef __gen_nsIXMLHttpRequest_h__ |
| #define __gen_nsIXMLHttpRequest_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 nsIChannel; /* forward declaration */ |
| |
| class nsIDOMDocument; /* forward declaration */ |
| |
| class nsIDOMEventListener; /* forward declaration */ |
| |
| class nsIPrincipal; /* forward declaration */ |
| |
| class nsIScriptContext; /* forward declaration */ |
| |
| class nsIVariant; /* forward declaration */ |
| |
| class nsPIDOMWindow; /* forward declaration */ |
| |
| |
| /* starting interface: nsIXMLHttpRequest */ |
| #define NS_IXMLHTTPREQUEST_IID_STR "acda85ab-d06c-4176-b834-6d129ca97ca3" |
| |
| #define NS_IXMLHTTPREQUEST_IID \ |
| {0xacda85ab, 0xd06c, 0x4176, \ |
| { 0xb8, 0x34, 0x6d, 0x12, 0x9c, 0xa9, 0x7c, 0xa3 }} |
| |
| /** |
| * Mozilla's XMLHttpRequest is modelled after Microsoft's IXMLHttpRequest |
| * object. The goal has been to make Mozilla's version match Microsoft's |
| * version as closely as possible, but there are bound to be some differences. |
| * |
| * In general, Microsoft's documentation for IXMLHttpRequest can be used. |
| * Mozilla's interface definitions provide some additional documentation. The |
| * web page to look at is http://www.mozilla.org/xmlextras/ |
| * |
| * Mozilla's XMLHttpRequest object can be created in JavaScript like this: |
| * new XMLHttpRequest() |
| * compare to Internet Explorer: |
| * new ActiveXObject("Msxml2.XMLHTTP") |
| * |
| * From JavaScript, the methods and properties visible in the XMLHttpRequest |
| * object are a combination of nsIXMLHttpRequest and nsIJSXMLHttpRequest; |
| * there is no need to differentiate between those interfaces. |
| * |
| * From native code, the way to set up onload and onerror handlers is a bit |
| * different. Here is a comment from Johnny Stenback <jst@netscape.com>: |
| * |
| * The mozilla implementation of nsIXMLHttpRequest implements the interface |
| * nsIDOMEventTarget and that's how you're supported to add event listeners. |
| * Try something like this: |
| * |
| * nsCOMPtr<nsIDOMEventTarget> target(do_QueryInterface(myxmlhttpreq)); |
| * |
| * target->AddEventListener(NS_LITERAL_STRING("load"), mylistener, |
| * PR_FALSE) |
| * |
| * where mylistener is your event listener object that implements the |
| * interface nsIDOMEventListener. |
| * |
| * The 'onload', 'onerror', and 'onreadystatechange' attributes moved to |
| * nsIJSXMLHttpRequest, but if you're coding in C++ you should avoid using |
| * those. |
| * |
| * Though actually, if you use addEventListener from C++ weird things will |
| * happen too, since the result will depend on what JS happens to be on the |
| * stack when you do it.... |
| * |
| * Conclusion: Do not use event listeners on XMLHttpRequest from C++, unless |
| * you're aware of all the security implications. And then think twice about |
| * it. |
| */ |
| class NS_NO_VTABLE NS_SCRIPTABLE nsIXMLHttpRequest : public nsISupports { |
| public: |
| |
| NS_DECLARE_STATIC_IID_ACCESSOR(NS_IXMLHTTPREQUEST_IID) |
| |
| /** |
| * The request uses a channel in order to perform the |
| * request. This attribute represents the channel used |
| * for the request. NULL if the channel has not yet been |
| * created. |
| * |
| * In a multipart request case, this is the initial channel, not the |
| * different parts in the multipart request. |
| * |
| * Mozilla only. Requires elevated privileges to access. |
| */ |
| /* readonly attribute nsIChannel channel; */ |
| NS_SCRIPTABLE NS_IMETHOD GetChannel(nsIChannel * *aChannel) = 0; |
| |
| /** |
| * The response to the request is parsed as if it were a |
| * text/xml stream. This attributes represents the response as |
| * a DOM Document object. NULL if the request is unsuccessful or |
| * has not yet been sent. |
| */ |
| /* readonly attribute nsIDOMDocument responseXML; */ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseXML(nsIDOMDocument * *aResponseXML) = 0; |
| |
| /** |
| * The response to the request as text. |
| * NULL if the request is unsuccessful or |
| * has not yet been sent. |
| */ |
| /* readonly attribute AString responseText; */ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseText(nsAString & aResponseText) = 0; |
| |
| /** |
| * The status of the response to the request for HTTP requests. |
| */ |
| /* readonly attribute unsigned long status; */ |
| NS_SCRIPTABLE NS_IMETHOD GetStatus(PRUint32 *aStatus) = 0; |
| |
| /** |
| * The string representing the status of the response for |
| * HTTP requests. |
| */ |
| /* readonly attribute AUTF8String statusText; */ |
| NS_SCRIPTABLE NS_IMETHOD GetStatusText(nsACString & aStatusText) = 0; |
| |
| /** |
| * If the request has been sent already, this method will |
| * abort the request. |
| */ |
| /* void abort (); */ |
| NS_SCRIPTABLE NS_IMETHOD Abort(void) = 0; |
| |
| /** |
| * Returns all of the response headers as a string for HTTP |
| * requests. |
| * |
| * Note that this will return all the headers from the *current* |
| * part of a multipart request, not from the original channel. |
| * |
| * @returns A string containing all of the response headers. |
| * NULL if the response has not yet been received. |
| */ |
| /* string getAllResponseHeaders (); */ |
| NS_SCRIPTABLE NS_IMETHOD GetAllResponseHeaders(char **_retval) = 0; |
| |
| /** |
| * Returns the text of the header with the specified name for |
| * HTTP requests. |
| * |
| * @param header The name of the header to retrieve |
| * @returns A string containing the text of the header specified. |
| * NULL if the response has not yet been received or the |
| * header does not exist in the response. |
| */ |
| /* ACString getResponseHeader (in AUTF8String header); */ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseHeader(const nsACString & header, nsACString & _retval) = 0; |
| |
| /** |
| * Native (non-script) method to initialize a request. Note that |
| * the request is not sent until the <code>send</code> method |
| * is invoked. |
| * |
| * If there is an "active" request (that is, if open() or openRequest() has |
| * been called already), this is equivalent to calling abort(). |
| * |
| * @param method The HTTP method, for example "POST" or "GET". Ignored |
| * if the URL is not a HTTP(S) URL. |
| * @param url The URL to which to send the request. |
| * @param async Whether the request is synchronous or asynchronous |
| * i.e. whether send returns only after the response |
| * is received or if it returns immediately after |
| * sending the request. In the latter case, notification |
| * of completion is sent through the event listeners. |
| * This argument must be true if the multipart |
| * attribute has been set to true, or an exception will |
| * be thrown. |
| * @param user A username for authentication if necessary. |
| * @param password A password for authentication if necessary. |
| */ |
| /* [noscript] void openRequest (in AUTF8String method, in AUTF8String url, in boolean async, in AString user, in AString password); */ |
| NS_IMETHOD OpenRequest(const nsACString & method, const nsACString & url, PRBool async, const nsAString & user, const nsAString & password) = 0; |
| |
| /** |
| * Meant to be a script-only method for initializing a request. |
| * The parameters are similar to the ones detailed in the |
| * description of <code>openRequest</code>, but the last |
| * 3 are optional. |
| * |
| * If there is an "active" request (that is, if open() or openRequest() has |
| * been called already), this is equivalent to calling abort(). |
| * |
| * @param method The HTTP method - either "POST" or "GET". Ignored |
| * if the URL is not a HTTP URL. |
| * @param url The URL to which to send the request. |
| * @param async (optional) Whether the request is synchronous or |
| * asynchronous i.e. whether send returns only after |
| * the response is received or if it returns immediately after |
| * sending the request. In the latter case, notification |
| * of completion is sent through the event listeners. |
| * The default value is true. |
| * This argument must be true if the multipart |
| * attribute has been set to true, or an exception will |
| * be thrown. |
| * @param user (optional) A username for authentication if necessary. |
| * The default value is the empty string |
| * @param password (optional) A password for authentication if necessary. |
| * The default value is the empty string |
| */ |
| /* void open (in AUTF8String method, in AUTF8String url); */ |
| NS_SCRIPTABLE NS_IMETHOD Open(const nsACString & method, const nsACString & url) = 0; |
| |
| /** |
| * Sends the request. If the request is asynchronous, returns |
| * immediately after sending the request. If it is synchronous |
| * returns only after the response has been received. |
| * |
| * All event listeners must be set before calling send(). |
| * |
| * After the initial response, all event listeners will be cleared. |
| * // XXXbz what does that mean, exactly? |
| * |
| * @param body Either an instance of nsIDOMDocument, nsIInputStream |
| * or a string (nsISupportsString in the native calling |
| * case). This is used to populate the body of the |
| * HTTP request if the HTTP request method is "POST". |
| * If the parameter is a nsIDOMDocument, it is serialized. |
| * If the parameter is a nsIInputStream, then it must be |
| * compatible with nsIUploadChannel.setUploadStream, and a |
| * Content-Length header will be added to the HTTP request |
| * with a value given by nsIInputStream.available. Any |
| * headers included at the top of the stream will be |
| * treated as part of the message body. The MIME type of |
| * the stream should be specified by setting the Content- |
| * Type header via the setRequestHeader method before |
| * calling send. |
| */ |
| /* void send (in nsIVariant body); */ |
| NS_SCRIPTABLE NS_IMETHOD Send(nsIVariant *body) = 0; |
| |
| /** |
| * A variant of the send() method used to send binary data. |
| * |
| * @param body The request body as a DOM string. The string data will be |
| * converted to a single-byte string by truncation (i.e., the |
| * high-order byte of each character will be discarded). |
| */ |
| /* void sendAsBinary (in DOMString body); */ |
| NS_SCRIPTABLE NS_IMETHOD SendAsBinary(const nsAString & body) = 0; |
| |
| /** |
| * Sets a HTTP request header for HTTP requests. You must call open |
| * before setting the request headers. |
| * |
| * @param header The name of the header to set in the request. |
| * @param value The body of the header. |
| */ |
| /* void setRequestHeader (in AUTF8String header, in AUTF8String value); */ |
| NS_SCRIPTABLE NS_IMETHOD SetRequestHeader(const nsACString & header, const nsACString & value) = 0; |
| |
| /** |
| * The state of the request. |
| * |
| * Possible values: |
| * 0 UNINITIALIZED open() has not been called yet. |
| * 1 LOADING send() has not been called yet. |
| * 2 LOADED send() has been called, headers and status are available. |
| * 3 INTERACTIVE Downloading, responseText holds the partial data. |
| * 4 COMPLETED Finished with all operations. |
| */ |
| /* readonly attribute long readyState; */ |
| NS_SCRIPTABLE NS_IMETHOD GetReadyState(PRInt32 *aReadyState) = 0; |
| |
| /** |
| * Override the mime type returned by the server (if any). This may |
| * be used, for example, to force a stream to be treated and parsed |
| * as text/xml, even if the server does not report it as such. This |
| * must be done before the <code>send</code> method is invoked. |
| * |
| * @param mimetype The type used to override that returned by the server |
| * (if any). |
| */ |
| /* void overrideMimeType (in AUTF8String mimetype); */ |
| NS_SCRIPTABLE NS_IMETHOD OverrideMimeType(const nsACString & mimetype) = 0; |
| |
| /** |
| * Set to true if the response is expected to be a stream of |
| * possibly multiple (XML) documents. If set to true, the content |
| * type of the initial response must be multipart/x-mixed-replace or |
| * an error will be triggerd. All requests must be asynchronous. |
| * |
| * This enables server push. For each XML document that's written to |
| * this request, a new XML DOM document is created and the onload |
| * handler is called inbetween documents. Note that when this is |
| * set, the onload handler and other event handlers are not reset |
| * after the first XML document is loaded, and the onload handler |
| * will be called as each part of the response is received. |
| */ |
| /* attribute boolean multipart; */ |
| NS_SCRIPTABLE NS_IMETHOD GetMultipart(PRBool *aMultipart) = 0; |
| NS_SCRIPTABLE NS_IMETHOD SetMultipart(PRBool aMultipart) = 0; |
| |
| /** |
| * Set to true if this is a background service request. This will |
| * prevent a load group being associated with the request, and |
| * suppress any security dialogs from being shown * to the user. |
| * In the cases where one of those dialogs would be shown, the request |
| * will simply fail instead. |
| */ |
| /* attribute boolean mozBackgroundRequest; */ |
| NS_SCRIPTABLE NS_IMETHOD GetMozBackgroundRequest(PRBool *aMozBackgroundRequest) = 0; |
| NS_SCRIPTABLE NS_IMETHOD SetMozBackgroundRequest(PRBool aMozBackgroundRequest) = 0; |
| |
| /** |
| * Initialize the object for use from C++ code with the principal, script |
| * context, and owner window that should be used. |
| * |
| * @param principal The principal to use for the request. This must not be |
| * null. |
| * @param scriptContext The script context to use for the request. May be |
| * null. |
| * @param ownerWindow The associated window for the request. May be null. |
| */ |
| /* [noscript] void init (in nsIPrincipal principal, in nsIScriptContext scriptContext, in nsPIDOMWindow ownerWindow); */ |
| NS_IMETHOD Init(nsIPrincipal *principal, nsIScriptContext *scriptContext, nsPIDOMWindow *ownerWindow) = 0; |
| |
| }; |
| |
| NS_DEFINE_STATIC_IID_ACCESSOR(nsIXMLHttpRequest, NS_IXMLHTTPREQUEST_IID) |
| |
| /* Use this macro when declaring classes that implement this interface. */ |
| #define NS_DECL_NSIXMLHTTPREQUEST \ |
| NS_SCRIPTABLE NS_IMETHOD GetChannel(nsIChannel * *aChannel); \ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseXML(nsIDOMDocument * *aResponseXML); \ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseText(nsAString & aResponseText); \ |
| NS_SCRIPTABLE NS_IMETHOD GetStatus(PRUint32 *aStatus); \ |
| NS_SCRIPTABLE NS_IMETHOD GetStatusText(nsACString & aStatusText); \ |
| NS_SCRIPTABLE NS_IMETHOD Abort(void); \ |
| NS_SCRIPTABLE NS_IMETHOD GetAllResponseHeaders(char **_retval); \ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseHeader(const nsACString & header, nsACString & _retval); \ |
| NS_IMETHOD OpenRequest(const nsACString & method, const nsACString & url, PRBool async, const nsAString & user, const nsAString & password); \ |
| NS_SCRIPTABLE NS_IMETHOD Open(const nsACString & method, const nsACString & url); \ |
| NS_SCRIPTABLE NS_IMETHOD Send(nsIVariant *body); \ |
| NS_SCRIPTABLE NS_IMETHOD SendAsBinary(const nsAString & body); \ |
| NS_SCRIPTABLE NS_IMETHOD SetRequestHeader(const nsACString & header, const nsACString & value); \ |
| NS_SCRIPTABLE NS_IMETHOD GetReadyState(PRInt32 *aReadyState); \ |
| NS_SCRIPTABLE NS_IMETHOD OverrideMimeType(const nsACString & mimetype); \ |
| NS_SCRIPTABLE NS_IMETHOD GetMultipart(PRBool *aMultipart); \ |
| NS_SCRIPTABLE NS_IMETHOD SetMultipart(PRBool aMultipart); \ |
| NS_SCRIPTABLE NS_IMETHOD GetMozBackgroundRequest(PRBool *aMozBackgroundRequest); \ |
| NS_SCRIPTABLE NS_IMETHOD SetMozBackgroundRequest(PRBool aMozBackgroundRequest); \ |
| NS_IMETHOD Init(nsIPrincipal *principal, nsIScriptContext *scriptContext, nsPIDOMWindow *ownerWindow); |
| |
| /* Use this macro to declare functions that forward the behavior of this interface to another object. */ |
| #define NS_FORWARD_NSIXMLHTTPREQUEST(_to) \ |
| NS_SCRIPTABLE NS_IMETHOD GetChannel(nsIChannel * *aChannel) { return _to GetChannel(aChannel); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseXML(nsIDOMDocument * *aResponseXML) { return _to GetResponseXML(aResponseXML); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseText(nsAString & aResponseText) { return _to GetResponseText(aResponseText); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetStatus(PRUint32 *aStatus) { return _to GetStatus(aStatus); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetStatusText(nsACString & aStatusText) { return _to GetStatusText(aStatusText); } \ |
| NS_SCRIPTABLE NS_IMETHOD Abort(void) { return _to Abort(); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetAllResponseHeaders(char **_retval) { return _to GetAllResponseHeaders(_retval); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseHeader(const nsACString & header, nsACString & _retval) { return _to GetResponseHeader(header, _retval); } \ |
| NS_IMETHOD OpenRequest(const nsACString & method, const nsACString & url, PRBool async, const nsAString & user, const nsAString & password) { return _to OpenRequest(method, url, async, user, password); } \ |
| NS_SCRIPTABLE NS_IMETHOD Open(const nsACString & method, const nsACString & url) { return _to Open(method, url); } \ |
| NS_SCRIPTABLE NS_IMETHOD Send(nsIVariant *body) { return _to Send(body); } \ |
| NS_SCRIPTABLE NS_IMETHOD SendAsBinary(const nsAString & body) { return _to SendAsBinary(body); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetRequestHeader(const nsACString & header, const nsACString & value) { return _to SetRequestHeader(header, value); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetReadyState(PRInt32 *aReadyState) { return _to GetReadyState(aReadyState); } \ |
| NS_SCRIPTABLE NS_IMETHOD OverrideMimeType(const nsACString & mimetype) { return _to OverrideMimeType(mimetype); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetMultipart(PRBool *aMultipart) { return _to GetMultipart(aMultipart); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetMultipart(PRBool aMultipart) { return _to SetMultipart(aMultipart); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetMozBackgroundRequest(PRBool *aMozBackgroundRequest) { return _to GetMozBackgroundRequest(aMozBackgroundRequest); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetMozBackgroundRequest(PRBool aMozBackgroundRequest) { return _to SetMozBackgroundRequest(aMozBackgroundRequest); } \ |
| NS_IMETHOD Init(nsIPrincipal *principal, nsIScriptContext *scriptContext, nsPIDOMWindow *ownerWindow) { return _to Init(principal, scriptContext, ownerWindow); } |
| |
| /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ |
| #define NS_FORWARD_SAFE_NSIXMLHTTPREQUEST(_to) \ |
| NS_SCRIPTABLE NS_IMETHOD GetChannel(nsIChannel * *aChannel) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetChannel(aChannel); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseXML(nsIDOMDocument * *aResponseXML) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetResponseXML(aResponseXML); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseText(nsAString & aResponseText) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetResponseText(aResponseText); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetStatus(PRUint32 *aStatus) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStatus(aStatus); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetStatusText(nsACString & aStatusText) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStatusText(aStatusText); } \ |
| NS_SCRIPTABLE NS_IMETHOD Abort(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Abort(); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetAllResponseHeaders(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAllResponseHeaders(_retval); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetResponseHeader(const nsACString & header, nsACString & _retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetResponseHeader(header, _retval); } \ |
| NS_IMETHOD OpenRequest(const nsACString & method, const nsACString & url, PRBool async, const nsAString & user, const nsAString & password) { return !_to ? NS_ERROR_NULL_POINTER : _to->OpenRequest(method, url, async, user, password); } \ |
| NS_SCRIPTABLE NS_IMETHOD Open(const nsACString & method, const nsACString & url) { return !_to ? NS_ERROR_NULL_POINTER : _to->Open(method, url); } \ |
| NS_SCRIPTABLE NS_IMETHOD Send(nsIVariant *body) { return !_to ? NS_ERROR_NULL_POINTER : _to->Send(body); } \ |
| NS_SCRIPTABLE NS_IMETHOD SendAsBinary(const nsAString & body) { return !_to ? NS_ERROR_NULL_POINTER : _to->SendAsBinary(body); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetRequestHeader(const nsACString & header, const nsACString & value) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRequestHeader(header, value); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetReadyState(PRInt32 *aReadyState) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReadyState(aReadyState); } \ |
| NS_SCRIPTABLE NS_IMETHOD OverrideMimeType(const nsACString & mimetype) { return !_to ? NS_ERROR_NULL_POINTER : _to->OverrideMimeType(mimetype); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetMultipart(PRBool *aMultipart) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMultipart(aMultipart); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetMultipart(PRBool aMultipart) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMultipart(aMultipart); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetMozBackgroundRequest(PRBool *aMozBackgroundRequest) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMozBackgroundRequest(aMozBackgroundRequest); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetMozBackgroundRequest(PRBool aMozBackgroundRequest) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMozBackgroundRequest(aMozBackgroundRequest); } \ |
| NS_IMETHOD Init(nsIPrincipal *principal, nsIScriptContext *scriptContext, nsPIDOMWindow *ownerWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(principal, scriptContext, ownerWindow); } |
| |
| #if 0 |
| /* Use the code below as a template for the implementation class for this interface. */ |
| |
| /* Header file */ |
| class nsXMLHttpRequest : public nsIXMLHttpRequest |
| { |
| public: |
| NS_DECL_ISUPPORTS |
| NS_DECL_NSIXMLHTTPREQUEST |
| |
| nsXMLHttpRequest(); |
| |
| private: |
| ~nsXMLHttpRequest(); |
| |
| protected: |
| /* additional members */ |
| }; |
| |
| /* Implementation file */ |
| NS_IMPL_ISUPPORTS1(nsXMLHttpRequest, nsIXMLHttpRequest) |
| |
| nsXMLHttpRequest::nsXMLHttpRequest() |
| { |
| /* member initializers and constructor code */ |
| } |
| |
| nsXMLHttpRequest::~nsXMLHttpRequest() |
| { |
| /* destructor code */ |
| } |
| |
| /* readonly attribute nsIChannel channel; */ |
| NS_IMETHODIMP nsXMLHttpRequest::GetChannel(nsIChannel * *aChannel) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* readonly attribute nsIDOMDocument responseXML; */ |
| NS_IMETHODIMP nsXMLHttpRequest::GetResponseXML(nsIDOMDocument * *aResponseXML) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* readonly attribute AString responseText; */ |
| NS_IMETHODIMP nsXMLHttpRequest::GetResponseText(nsAString & aResponseText) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* readonly attribute unsigned long status; */ |
| NS_IMETHODIMP nsXMLHttpRequest::GetStatus(PRUint32 *aStatus) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* readonly attribute AUTF8String statusText; */ |
| NS_IMETHODIMP nsXMLHttpRequest::GetStatusText(nsACString & aStatusText) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* void abort (); */ |
| NS_IMETHODIMP nsXMLHttpRequest::Abort() |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* string getAllResponseHeaders (); */ |
| NS_IMETHODIMP nsXMLHttpRequest::GetAllResponseHeaders(char **_retval) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* ACString getResponseHeader (in AUTF8String header); */ |
| NS_IMETHODIMP nsXMLHttpRequest::GetResponseHeader(const nsACString & header, nsACString & _retval) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* [noscript] void openRequest (in AUTF8String method, in AUTF8String url, in boolean async, in AString user, in AString password); */ |
| NS_IMETHODIMP nsXMLHttpRequest::OpenRequest(const nsACString & method, const nsACString & url, PRBool async, const nsAString & user, const nsAString & password) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* void open (in AUTF8String method, in AUTF8String url); */ |
| NS_IMETHODIMP nsXMLHttpRequest::Open(const nsACString & method, const nsACString & url) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* void send (in nsIVariant body); */ |
| NS_IMETHODIMP nsXMLHttpRequest::Send(nsIVariant *body) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* void sendAsBinary (in DOMString body); */ |
| NS_IMETHODIMP nsXMLHttpRequest::SendAsBinary(const nsAString & body) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* void setRequestHeader (in AUTF8String header, in AUTF8String value); */ |
| NS_IMETHODIMP nsXMLHttpRequest::SetRequestHeader(const nsACString & header, const nsACString & value) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* readonly attribute long readyState; */ |
| NS_IMETHODIMP nsXMLHttpRequest::GetReadyState(PRInt32 *aReadyState) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* void overrideMimeType (in AUTF8String mimetype); */ |
| NS_IMETHODIMP nsXMLHttpRequest::OverrideMimeType(const nsACString & mimetype) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* attribute boolean multipart; */ |
| NS_IMETHODIMP nsXMLHttpRequest::GetMultipart(PRBool *aMultipart) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| NS_IMETHODIMP nsXMLHttpRequest::SetMultipart(PRBool aMultipart) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* attribute boolean mozBackgroundRequest; */ |
| NS_IMETHODIMP nsXMLHttpRequest::GetMozBackgroundRequest(PRBool *aMozBackgroundRequest) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| NS_IMETHODIMP nsXMLHttpRequest::SetMozBackgroundRequest(PRBool aMozBackgroundRequest) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* [noscript] void init (in nsIPrincipal principal, in nsIScriptContext scriptContext, in nsPIDOMWindow ownerWindow); */ |
| NS_IMETHODIMP nsXMLHttpRequest::Init(nsIPrincipal *principal, nsIScriptContext *scriptContext, nsPIDOMWindow *ownerWindow) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* End of implementation class template. */ |
| #endif |
| |
| |
| /* starting interface: nsIJSXMLHttpRequest */ |
| #define NS_IJSXMLHTTPREQUEST_IID_STR "261676b4-d508-43bf-b099-74635a0ee2e9" |
| |
| #define NS_IJSXMLHTTPREQUEST_IID \ |
| {0x261676b4, 0xd508, 0x43bf, \ |
| { 0xb0, 0x99, 0x74, 0x63, 0x5a, 0x0e, 0xe2, 0xe9 }} |
| |
| class NS_NO_VTABLE NS_SCRIPTABLE nsIJSXMLHttpRequest : public nsISupports { |
| public: |
| |
| NS_DECLARE_STATIC_IID_ACCESSOR(NS_IJSXMLHTTPREQUEST_IID) |
| |
| /** |
| * Meant to be a script-only mechanism for setting a load event listener. |
| * The attribute is expected to be JavaScript function object. When |
| * the load event occurs, the function is invoked. |
| * This attribute should not be used from native code!! |
| * |
| * After the initial response, all event listeners will be cleared. |
| * // XXXbz what does that mean, exactly? |
| * |
| * Call open() before setting an onload listener. |
| * |
| * Mozilla only. |
| */ |
| /* attribute nsIDOMEventListener onload; */ |
| NS_SCRIPTABLE NS_IMETHOD GetOnload(nsIDOMEventListener * *aOnload) = 0; |
| NS_SCRIPTABLE NS_IMETHOD SetOnload(nsIDOMEventListener * aOnload) = 0; |
| |
| /** |
| * Meant to be a script-only mechanism for setting an error event listener. |
| * The attribute is expected to be JavaScript function object. When |
| * the error event occurs, the function is invoked. |
| * This attribute should not be used from native code!! |
| * |
| * After the initial response, all event listeners will be cleared. |
| * // XXXbz what does that mean, exactly? |
| * |
| * Call open() before setting an onerror listener. |
| * |
| * Mozilla only. |
| */ |
| /* attribute nsIDOMEventListener onerror; */ |
| NS_SCRIPTABLE NS_IMETHOD GetOnerror(nsIDOMEventListener * *aOnerror) = 0; |
| NS_SCRIPTABLE NS_IMETHOD SetOnerror(nsIDOMEventListener * aOnerror) = 0; |
| |
| /** |
| * Meant to be a script-only mechanism for setting a progress event listener. |
| * The attribute is expected to be JavaScript function object. When |
| * the error event occurs, the function is invoked. |
| * This attribute should not be used from native code!! |
| * This event listener may be called multiple times during the open request. |
| * |
| * After the initial response, all event listeners will be cleared. |
| * // XXXbz what does that mean, exactly? |
| * |
| * This event listener must be set BEFORE calling open(). |
| * |
| * Mozilla only. |
| */ |
| /* attribute nsIDOMEventListener onprogress; */ |
| NS_SCRIPTABLE NS_IMETHOD GetOnprogress(nsIDOMEventListener * *aOnprogress) = 0; |
| NS_SCRIPTABLE NS_IMETHOD SetOnprogress(nsIDOMEventListener * aOnprogress) = 0; |
| |
| /** |
| * Meant to be a script-only mechanism for setting an upload progress event |
| * listener. |
| * This attribute should not be used from native code!! |
| * This event listener may be called multiple times during the upload.. |
| * |
| * After the initial response, all event listeners will be cleared. |
| * // XXXbz what does that mean, exactly? |
| * |
| * This event listener must be set BEFORE calling open(). |
| * |
| * Mozilla only. |
| */ |
| /* attribute nsIDOMEventListener onuploadprogress; */ |
| NS_SCRIPTABLE NS_IMETHOD GetOnuploadprogress(nsIDOMEventListener * *aOnuploadprogress) = 0; |
| NS_SCRIPTABLE NS_IMETHOD SetOnuploadprogress(nsIDOMEventListener * aOnuploadprogress) = 0; |
| |
| /** |
| * Meant to be a script-only mechanism for setting a callback function. |
| * The attribute is expected to be JavaScript function object. When the |
| * readyState changes, the callback function will be called. |
| * This attribute should not be used from native code!! |
| * |
| * After the initial response, all event listeners will be cleared. |
| * // XXXbz what does that mean, exactly? |
| * |
| * Call open() before setting an onreadystatechange listener. |
| */ |
| /* attribute nsIDOMEventListener onreadystatechange; */ |
| NS_SCRIPTABLE NS_IMETHOD GetOnreadystatechange(nsIDOMEventListener * *aOnreadystatechange) = 0; |
| NS_SCRIPTABLE NS_IMETHOD SetOnreadystatechange(nsIDOMEventListener * aOnreadystatechange) = 0; |
| |
| }; |
| |
| NS_DEFINE_STATIC_IID_ACCESSOR(nsIJSXMLHttpRequest, NS_IJSXMLHTTPREQUEST_IID) |
| |
| /* Use this macro when declaring classes that implement this interface. */ |
| #define NS_DECL_NSIJSXMLHTTPREQUEST \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnload(nsIDOMEventListener * *aOnload); \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnload(nsIDOMEventListener * aOnload); \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnerror(nsIDOMEventListener * *aOnerror); \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnerror(nsIDOMEventListener * aOnerror); \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnprogress(nsIDOMEventListener * *aOnprogress); \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnprogress(nsIDOMEventListener * aOnprogress); \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnuploadprogress(nsIDOMEventListener * *aOnuploadprogress); \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnuploadprogress(nsIDOMEventListener * aOnuploadprogress); \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnreadystatechange(nsIDOMEventListener * *aOnreadystatechange); \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnreadystatechange(nsIDOMEventListener * aOnreadystatechange); |
| |
| /* Use this macro to declare functions that forward the behavior of this interface to another object. */ |
| #define NS_FORWARD_NSIJSXMLHTTPREQUEST(_to) \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnload(nsIDOMEventListener * *aOnload) { return _to GetOnload(aOnload); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnload(nsIDOMEventListener * aOnload) { return _to SetOnload(aOnload); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnerror(nsIDOMEventListener * *aOnerror) { return _to GetOnerror(aOnerror); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnerror(nsIDOMEventListener * aOnerror) { return _to SetOnerror(aOnerror); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnprogress(nsIDOMEventListener * *aOnprogress) { return _to GetOnprogress(aOnprogress); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnprogress(nsIDOMEventListener * aOnprogress) { return _to SetOnprogress(aOnprogress); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnuploadprogress(nsIDOMEventListener * *aOnuploadprogress) { return _to GetOnuploadprogress(aOnuploadprogress); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnuploadprogress(nsIDOMEventListener * aOnuploadprogress) { return _to SetOnuploadprogress(aOnuploadprogress); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnreadystatechange(nsIDOMEventListener * *aOnreadystatechange) { return _to GetOnreadystatechange(aOnreadystatechange); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnreadystatechange(nsIDOMEventListener * aOnreadystatechange) { return _to SetOnreadystatechange(aOnreadystatechange); } |
| |
| /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ |
| #define NS_FORWARD_SAFE_NSIJSXMLHTTPREQUEST(_to) \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnload(nsIDOMEventListener * *aOnload) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOnload(aOnload); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnload(nsIDOMEventListener * aOnload) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOnload(aOnload); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnerror(nsIDOMEventListener * *aOnerror) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOnerror(aOnerror); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnerror(nsIDOMEventListener * aOnerror) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOnerror(aOnerror); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnprogress(nsIDOMEventListener * *aOnprogress) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOnprogress(aOnprogress); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnprogress(nsIDOMEventListener * aOnprogress) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOnprogress(aOnprogress); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnuploadprogress(nsIDOMEventListener * *aOnuploadprogress) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOnuploadprogress(aOnuploadprogress); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnuploadprogress(nsIDOMEventListener * aOnuploadprogress) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOnuploadprogress(aOnuploadprogress); } \ |
| NS_SCRIPTABLE NS_IMETHOD GetOnreadystatechange(nsIDOMEventListener * *aOnreadystatechange) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOnreadystatechange(aOnreadystatechange); } \ |
| NS_SCRIPTABLE NS_IMETHOD SetOnreadystatechange(nsIDOMEventListener * aOnreadystatechange) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOnreadystatechange(aOnreadystatechange); } |
| |
| #if 0 |
| /* Use the code below as a template for the implementation class for this interface. */ |
| |
| /* Header file */ |
| class nsJSXMLHttpRequest : public nsIJSXMLHttpRequest |
| { |
| public: |
| NS_DECL_ISUPPORTS |
| NS_DECL_NSIJSXMLHTTPREQUEST |
| |
| nsJSXMLHttpRequest(); |
| |
| private: |
| ~nsJSXMLHttpRequest(); |
| |
| protected: |
| /* additional members */ |
| }; |
| |
| /* Implementation file */ |
| NS_IMPL_ISUPPORTS1(nsJSXMLHttpRequest, nsIJSXMLHttpRequest) |
| |
| nsJSXMLHttpRequest::nsJSXMLHttpRequest() |
| { |
| /* member initializers and constructor code */ |
| } |
| |
| nsJSXMLHttpRequest::~nsJSXMLHttpRequest() |
| { |
| /* destructor code */ |
| } |
| |
| /* attribute nsIDOMEventListener onload; */ |
| NS_IMETHODIMP nsJSXMLHttpRequest::GetOnload(nsIDOMEventListener * *aOnload) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| NS_IMETHODIMP nsJSXMLHttpRequest::SetOnload(nsIDOMEventListener * aOnload) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* attribute nsIDOMEventListener onerror; */ |
| NS_IMETHODIMP nsJSXMLHttpRequest::GetOnerror(nsIDOMEventListener * *aOnerror) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| NS_IMETHODIMP nsJSXMLHttpRequest::SetOnerror(nsIDOMEventListener * aOnerror) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* attribute nsIDOMEventListener onprogress; */ |
| NS_IMETHODIMP nsJSXMLHttpRequest::GetOnprogress(nsIDOMEventListener * *aOnprogress) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| NS_IMETHODIMP nsJSXMLHttpRequest::SetOnprogress(nsIDOMEventListener * aOnprogress) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* attribute nsIDOMEventListener onuploadprogress; */ |
| NS_IMETHODIMP nsJSXMLHttpRequest::GetOnuploadprogress(nsIDOMEventListener * *aOnuploadprogress) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| NS_IMETHODIMP nsJSXMLHttpRequest::SetOnuploadprogress(nsIDOMEventListener * aOnuploadprogress) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* attribute nsIDOMEventListener onreadystatechange; */ |
| NS_IMETHODIMP nsJSXMLHttpRequest::GetOnreadystatechange(nsIDOMEventListener * *aOnreadystatechange) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| NS_IMETHODIMP nsJSXMLHttpRequest::SetOnreadystatechange(nsIDOMEventListener * aOnreadystatechange) |
| { |
| return NS_ERROR_NOT_IMPLEMENTED; |
| } |
| |
| /* End of implementation class template. */ |
| #endif |
| |
| #define NS_XMLHTTPREQUEST_CID \ |
| { /* d164e770-4157-11d4-9a42-000064657374 */ \ |
| 0xd164e770, 0x4157, 0x11d4, \ |
| {0x9a, 0x42, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74} } |
| #define NS_XMLHTTPREQUEST_CONTRACTID \ |
| "@mozilla.org/xmlextras/xmlhttprequest;1" |
| |
| #endif /* __gen_nsIXMLHttpRequest_h__ */ |