- Add httprequest.idl and httprequestid.h from Wine 1.5.4
- Update winhttp.h to Wine 1.5.4

svn path=/trunk/; revision=56774
This commit is contained in:
Thomas Faber 2012-06-21 16:33:23 +00:00
parent 44ae74e30a
commit 6c59846bd7
5 changed files with 244 additions and 2 deletions

View file

@ -41,6 +41,7 @@ list(APPEND SOURCE
fusion.idl
hlink.idl
htiframe.idl
httprequest.idl
iads.idl
icftypes.idl
imnact.idl

View file

@ -0,0 +1,191 @@
/*
* Copyright 2011 Hans Leidekker for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "httprequestid.h"
import "oaidl.idl";
#ifndef __WIDL__
#define threading(model)
#define progid(str)
#endif
[
uuid(662901fc-6951-4854-9eb2-d9a2570f2b2e),
helpstring("Microsoft WinHTTP Services, version 5.1"),
lcid(0x0000),
version(5.1)
]
library WinHttp {
importlib ("stdole2.tlb");
typedef [public] LONG HTTPREQUEST_PROXY_SETTING;
const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_DEFAULT = 0x00000000;
const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_PRECONFIG = 0x00000000;
const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_DIRECT = 0x00000001;
const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_PROXY = 0x00000002;
typedef [public] LONG HTTPREQUEST_SETCREDENTIALS_FLAGS;
const HTTPREQUEST_SETCREDENTIALS_FLAGS HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0x00000000;
const HTTPREQUEST_SETCREDENTIALS_FLAGS HTTPREQUEST_SETCREDENTIALS_FOR_PROXY = 0x00000001;
typedef
[uuid(12782009-fe90-4877-9730-e5e183669b19)]
enum WinHttpRequestOption
{
WinHttpRequestOption_UserAgentString,
WinHttpRequestOption_URL,
WinHttpRequestOption_URLCodePage,
WinHttpRequestOption_EscapePercentInURL,
WinHttpRequestOption_SslErrorIgnoreFlags,
WinHttpRequestOption_SelectCertificate,
WinHttpRequestOption_EnableRedirects,
WinHttpRequestOption_UrlEscapeDisable,
WinHttpRequestOption_UrlEscapeDisableQuery,
WinHttpRequestOption_SecureProtocols,
WinHttpRequestOption_EnableTracing,
WinHttpRequestOption_RevertImpersonationOverSsl,
WinHttpRequestOption_EnableHttpsToHttpRedirects,
WinHttpRequestOption_EnablePassportAuthentication,
WinHttpRequestOption_MaxAutomaticRedirects,
WinHttpRequestOption_MaxResponseHeaderSize,
WinHttpRequestOption_MaxResponseDrainSize,
WinHttpRequestOption_EnableHttp1_1,
WinHttpRequestOption_EnableCertificateRevocationCheck,
WinHttpRequestOption_RejectUserpwd
} WinHttpRequestOption;
typedef
[uuid(9d8a6df8-13de-4b1f-a330-67c719d62514)]
enum WinHttpRequestAutoLogonPolicy
{
AutoLogonPolicy_Always,
AutoLogonPolicy_OnlyIfBypassProxy,
AutoLogonPolicy_Never
} WinHttpRequestAutoLogonPolicy;
[
object,
uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396b),
odl,
dual,
oleautomation,
nonextensible,
pointer_default(unique)
]
interface IWinHttpRequest : IDispatch
{
[id(DISPID_HTTPREQUEST_SETPROXY)]
HRESULT SetProxy(
[in] HTTPREQUEST_PROXY_SETTING proxy_setting,
[in, optional] VARIANT proxy_server,
[in, optional] VARIANT bypass_list);
[id(DISPID_HTTPREQUEST_SETCREDENTIALS)]
HRESULT SetCredentials(
[in] BSTR username,
[in] BSTR password,
[in] HTTPREQUEST_SETCREDENTIALS_FLAGS flags);
[id(DISPID_HTTPREQUEST_OPEN)]
HRESULT Open(
[in] BSTR method,
[in] BSTR url,
[in, optional] VARIANT async);
[id(DISPID_HTTPREQUEST_SETREQUESTHEADER)]
HRESULT SetRequestHeader(
[in] BSTR header,
[in] BSTR value);
[id(DISPID_HTTPREQUEST_GETRESPONSEHEADER)]
HRESULT GetResponseHeader(
[in] BSTR header,
[out, retval] BSTR *value);
[id(DISPID_HTTPREQUEST_GETALLRESPONSEHEADERS)]
HRESULT GetAllResponseHeaders(
[out, retval] BSTR *headers);
[id(DISPID_HTTPREQUEST_SEND)]
HRESULT Send(
[in, optional] VARIANT body);
[propget, id(DISPID_HTTPREQUEST_STATUS)]
HRESULT Status(
[out, retval] LONG *status);
[propget, id(DISPID_HTTPREQUEST_STATUSTEXT)]
HRESULT StatusText(
[out, retval] BSTR *status);
[propget, id(DISPID_HTTPREQUEST_RESPONSETEXT)]
HRESULT ResponseText(
[out, retval] BSTR *body);
[propget, id(DISPID_HTTPREQUEST_RESPONSEBODY)]
HRESULT ResponseBody(
[out, retval] VARIANT *body);
[propget, id(DISPID_HTTPREQUEST_RESPONSESTREAM)]
HRESULT ResponseStream(
[out, retval] VARIANT *body);
[propget, id(DISPID_HTTPREQUEST_OPTION)]
HRESULT Option(
[in] WinHttpRequestOption option,
[out, retval] VARIANT *value);
[propput, id(DISPID_HTTPREQUEST_OPTION)]
HRESULT Option(
[in] WinHttpRequestOption option,
[in] VARIANT value);
[id(DISPID_HTTPREQUEST_WAITFORRESPONSE)]
HRESULT WaitForResponse(
[in, optional] VARIANT timeout,
[out, retval] VARIANT_BOOL *succeeded);
[id(DISPID_HTTPREQUEST_ABORT)]
HRESULT Abort();
[id(DISPID_HTTPREQUEST_SETTIMEOUTS)]
HRESULT SetTimeouts(
[in] LONG resolve_timeout,
[in] LONG connect_timeout,
[in] LONG send_timeout,
[in] LONG receive_timeout);
[id(DISPID_HTTPREQUEST_SETCLIENTCERTIFICATE)]
HRESULT SetClientCertificate(
[in] BSTR certificate);
[id(DISPID_HTTPREQUEST_SETAUTOLOGONPOLICY)]
HRESULT SetAutoLogonPolicy(
[in] WinHttpRequestAutoLogonPolicy policy);
}
[
helpstring("WinHttpRequest Component version 5.1"),
threading(apartment),
progid("WinHttp.WinHttpRequest.5.1"),
uuid(2087c2f4-2cef-4953-a8ab-66779b670495)
]
coclass WinHttpRequest { interface IWinHttpRequest; }
} /* WinHttp */

View file

@ -0,0 +1,42 @@
/*
* Copyright 2011 Hans Leidekker for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_HTTPREQUESTID_H
#define __WINE_HTTPREQUESTID_H
#define DISPID_HTTPREQUEST_BASE 1
#define DISPID_HTTPREQUEST_OPEN (DISPID_HTTPREQUEST_BASE)
#define DISPID_HTTPREQUEST_SETREQUESTHEADER (DISPID_HTTPREQUEST_BASE + 1)
#define DISPID_HTTPREQUEST_GETRESPONSEHEADER (DISPID_HTTPREQUEST_BASE + 2)
#define DISPID_HTTPREQUEST_GETALLRESPONSEHEADERS (DISPID_HTTPREQUEST_BASE + 3)
#define DISPID_HTTPREQUEST_SEND (DISPID_HTTPREQUEST_BASE + 4)
#define DISPID_HTTPREQUEST_OPTION (DISPID_HTTPREQUEST_BASE + 5)
#define DISPID_HTTPREQUEST_STATUS (DISPID_HTTPREQUEST_BASE + 6)
#define DISPID_HTTPREQUEST_STATUSTEXT (DISPID_HTTPREQUEST_BASE + 7)
#define DISPID_HTTPREQUEST_RESPONSETEXT (DISPID_HTTPREQUEST_BASE + 8)
#define DISPID_HTTPREQUEST_RESPONSEBODY (DISPID_HTTPREQUEST_BASE + 9)
#define DISPID_HTTPREQUEST_RESPONSESTREAM (DISPID_HTTPREQUEST_BASE + 10)
#define DISPID_HTTPREQUEST_ABORT (DISPID_HTTPREQUEST_BASE + 11)
#define DISPID_HTTPREQUEST_SETPROXY (DISPID_HTTPREQUEST_BASE + 12)
#define DISPID_HTTPREQUEST_SETCREDENTIALS (DISPID_HTTPREQUEST_BASE + 13)
#define DISPID_HTTPREQUEST_WAITFORRESPONSE (DISPID_HTTPREQUEST_BASE + 14)
#define DISPID_HTTPREQUEST_SETTIMEOUTS (DISPID_HTTPREQUEST_BASE + 15)
#define DISPID_HTTPREQUEST_SETCLIENTCERTIFICATE (DISPID_HTTPREQUEST_BASE + 16)
#define DISPID_HTTPREQUEST_SETAUTOLOGONPOLICY (DISPID_HTTPREQUEST_BASE + 17)
#endif /* __WINE_HTTPREQUESTID_H */

View file

@ -408,7 +408,7 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
| WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE | WINHTTP_CALLBACK_STATUS_READ_COMPLETE \
| WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE | WINHTTP_CALLBACK_STATUS_REQUEST_ERROR)
#define WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS 0xffffffff
#define WINHTTP_INVALID_STATUS_CALLBACK ((WINHTTP_STATUS_CALLBACK)(-1L))
#define WINHTTP_INVALID_STATUS_CALLBACK ((WINHTTP_STATUS_CALLBACK)(-1))
#define API_RECEIVE_RESPONSE (1)
#define API_QUERY_DATA_AVAILABLE (2)
@ -503,6 +503,14 @@ typedef struct
typedef VOID (CALLBACK *WINHTTP_STATUS_CALLBACK)(HINTERNET,DWORD_PTR,DWORD,LPVOID,DWORD);
#define WINHTTP_AUTO_DETECT_TYPE_DHCP 0x00000001
#define WINHTTP_AUTO_DETECT_TYPE_DNS_A 0x00000002
#define WINHTTP_AUTOPROXY_AUTO_DETECT 0x00000001
#define WINHTTP_AUTOPROXY_CONFIG_URL 0x00000002
#define WINHTTP_AUTOPROXY_RUN_INPROCESS 0x00010000
#define WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY 0x00020000
typedef struct
{
DWORD dwFlags;

View file

@ -49,7 +49,7 @@ list(APPEND IDL_SOURCES
# htiface.idl
htiframe.idl
# htmlfilter.idl
# httprequest.idl
httprequest.idl
# iaccess.idl
# iaspolcy.idl
# iedial.idl