2 * Copyright 2011 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 typedef struct nsWineURI nsWineURI;
21 /* Keep sync with request_method_strings in nsio.c */
29 nsIHttpChannel nsIHttpChannel_iface;
30 nsIUploadChannel nsIUploadChannel_iface;
31 nsIHttpChannelInternal nsIHttpChannelInternal_iface;
36 nsIInputStream *post_data_stream;
37 BOOL post_data_contains_headers;
38 nsILoadGroup *load_group;
39 nsIInterfaceRequestor *notif_callback;
41 nsLoadFlags load_flags;
46 PRUint32 response_status;
47 REQUEST_METHOD request_method;
48 struct list response_headers;
49 struct list request_headers;
53 typedef struct BSCallbackVtbl BSCallbackVtbl;
56 IBindStatusCallback IBindStatusCallback_iface;
57 IServiceProvider IServiceProvider_iface;
58 IHttpNegotiate2 IHttpNegotiate2_iface;
59 IInternetBindInfo IInternetBindInfo_iface;
61 const BSCallbackVtbl *vtbl;
75 HTMLDocumentNode *doc;
80 typedef struct nsProtocolStream nsProtocolStream;
88 nsIStreamListener *nslistener;
89 nsISupports *nscontext;
92 nsProtocolStream *nsstream;
101 HRESULT set_http_header(struct list*,const WCHAR*,int,const WCHAR*,int) DECLSPEC_HIDDEN;
102 HRESULT create_redirect_nschannel(const WCHAR*,nsChannel*,nsChannel**) DECLSPEC_HIDDEN;
104 nsresult on_start_uri_open(NSContainer*,nsIURI*,PRBool*) DECLSPEC_HIDDEN;
105 HRESULT hlink_frame_navigate(HTMLDocument*,LPCWSTR,nsChannel*,DWORD,BOOL*) DECLSPEC_HIDDEN;
106 HRESULT create_doc_uri(HTMLWindow*,WCHAR*,nsWineURI**) DECLSPEC_HIDDEN;
107 HRESULT load_nsuri(HTMLWindow*,nsWineURI*,nsChannelBSC*,DWORD) DECLSPEC_HIDDEN;
108 HRESULT set_moniker(HTMLDocument*,IMoniker*,IBindCtx*,nsChannelBSC*,BOOL) DECLSPEC_HIDDEN;
109 void prepare_for_binding(HTMLDocument*,IMoniker*,BOOL) DECLSPEC_HIDDEN;
111 HRESULT create_channelbsc(IMoniker*,WCHAR*,BYTE*,DWORD,nsChannelBSC**) DECLSPEC_HIDDEN;
112 HRESULT channelbsc_load_stream(nsChannelBSC*,IStream*) DECLSPEC_HIDDEN;
113 void channelbsc_set_channel(nsChannelBSC*,nsChannel*,nsIStreamListener*,nsISupports*) DECLSPEC_HIDDEN;