Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
fd7538d3
Commit
fd7538d3
authored
Jul 08, 2011
by
Hans Leidekker
Committed by
Alexandre Julliard
Jul 08, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winhttp: Add a stub implementation of IWinHttpRequest.
parent
7c938ac2
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
318 additions
and
1 deletion
+318
-1
Makefile.in
dlls/winhttp/Makefile.in
+1
-1
request.c
dlls/winhttp/request.c
+314
-0
winhttp_private.h
dlls/winhttp/winhttp_private.h
+3
-0
No files found.
dlls/winhttp/Makefile.in
View file @
fd7538d3
MODULE
=
winhttp.dll
IMPORTLIB
=
winhttp
IMPORTS
=
shlwapi
IMPORTS
=
uuid
shlwapi
DELAYIMPORTS
=
crypt32 advapi32
EXTRALIBS
=
@SOCKETLIBS@
...
...
dlls/winhttp/request.c
View file @
fd7538d3
...
...
@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define COBJMACROS
#include "config.h"
#include "wine/port.h"
#include "wine/debug.h"
...
...
@@ -30,6 +31,9 @@
#include "windef.h"
#include "winbase.h"
#include "ole2.h"
#include "initguid.h"
#include "httprequest.h"
#include "winhttp.h"
#include "winhttp_private.h"
...
...
@@ -2132,3 +2136,313 @@ BOOL WINAPI WinHttpWriteData( HINTERNET hrequest, LPCVOID buffer, DWORD to_write
release_object
(
&
request
->
hdr
);
return
ret
;
}
struct
winhttp_request
{
IWinHttpRequest
IWinHttpRequest_iface
;
LONG
refs
;
};
static
inline
struct
winhttp_request
*
impl_from_IWinHttpRequest
(
IWinHttpRequest
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
struct
winhttp_request
,
IWinHttpRequest_iface
);
}
static
ULONG
WINAPI
winhttp_request_AddRef
(
IWinHttpRequest
*
iface
)
{
struct
winhttp_request
*
request
=
impl_from_IWinHttpRequest
(
iface
);
return
InterlockedIncrement
(
&
request
->
refs
);
}
static
ULONG
WINAPI
winhttp_request_Release
(
IWinHttpRequest
*
iface
)
{
struct
winhttp_request
*
request
=
impl_from_IWinHttpRequest
(
iface
);
LONG
refs
=
InterlockedDecrement
(
&
request
->
refs
);
if
(
!
refs
)
{
TRACE
(
"destroying %p
\n
"
,
request
);
heap_free
(
request
);
}
return
refs
;
}
static
HRESULT
WINAPI
winhttp_request_QueryInterface
(
IWinHttpRequest
*
iface
,
REFIID
riid
,
void
**
obj
)
{
struct
winhttp_request
*
request
=
impl_from_IWinHttpRequest
(
iface
);
TRACE
(
"%p, %s, %p
\n
"
,
request
,
debugstr_guid
(
riid
),
obj
);
if
(
IsEqualGUID
(
riid
,
&
IID_IWinHttpRequest
)
||
IsEqualGUID
(
riid
,
&
IID_IDispatch
)
||
IsEqualGUID
(
riid
,
&
IID_IUnknown
))
{
*
obj
=
iface
;
}
else
{
FIXME
(
"interface %s not implemented
\n
"
,
debugstr_guid
(
riid
));
return
E_NOINTERFACE
;
}
IWinHttpRequest_AddRef
(
iface
);
return
S_OK
;
}
static
HRESULT
WINAPI
winhttp_request_GetTypeInfoCount
(
IWinHttpRequest
*
iface
,
UINT
*
count
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_GetTypeInfo
(
IWinHttpRequest
*
iface
,
UINT
index
,
LCID
lcid
,
ITypeInfo
**
info
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_GetIDsOfNames
(
IWinHttpRequest
*
iface
,
REFIID
riid
,
LPOLESTR
*
names
,
UINT
count
,
LCID
lcid
,
DISPID
*
dispid
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_Invoke
(
IWinHttpRequest
*
iface
,
DISPID
member
,
REFIID
riid
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
result
,
EXCEPINFO
*
excep_info
,
UINT
*
arg_err
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_SetProxy
(
IWinHttpRequest
*
iface
,
HTTPREQUEST_PROXY_SETTING
proxy_setting
,
VARIANT
proxy_server
,
VARIANT
bypass_list
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_SetCredentials
(
IWinHttpRequest
*
iface
,
BSTR
username
,
BSTR
password
,
HTTPREQUEST_SETCREDENTIALS_FLAGS
flags
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_Open
(
IWinHttpRequest
*
iface
,
BSTR
method
,
BSTR
url
,
VARIANT
async
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_SetRequestHeader
(
IWinHttpRequest
*
iface
,
BSTR
header
,
BSTR
value
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_GetResponseHeader
(
IWinHttpRequest
*
iface
,
BSTR
header
,
BSTR
*
value
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_GetAllResponseHeaders
(
IWinHttpRequest
*
iface
,
BSTR
*
headers
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_Send
(
IWinHttpRequest
*
iface
,
VARIANT
body
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_get_Status
(
IWinHttpRequest
*
iface
,
LONG
*
status
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_get_StatusText
(
IWinHttpRequest
*
iface
,
BSTR
*
status
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_get_ResponseText
(
IWinHttpRequest
*
iface
,
BSTR
*
body
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_get_ResponseBody
(
IWinHttpRequest
*
iface
,
VARIANT
*
body
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_get_ResponseStream
(
IWinHttpRequest
*
iface
,
VARIANT
*
body
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_get_Option
(
IWinHttpRequest
*
iface
,
WinHttpRequestOption
option
,
VARIANT
*
value
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_put_Option
(
IWinHttpRequest
*
iface
,
WinHttpRequestOption
option
,
VARIANT
value
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_WaitForResponse
(
IWinHttpRequest
*
iface
,
VARIANT
timeout
,
VARIANT_BOOL
*
succeeded
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_Abort
(
IWinHttpRequest
*
iface
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_SetTimeouts
(
IWinHttpRequest
*
iface
,
LONG
resolve_timeout
,
LONG
connect_timeout
,
LONG
send_timeout
,
LONG
receive_timeout
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_SetClientCertificate
(
IWinHttpRequest
*
iface
,
BSTR
certificate
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
winhttp_request_SetAutoLogonPolicy
(
IWinHttpRequest
*
iface
,
WinHttpRequestAutoLogonPolicy
policy
)
{
FIXME
(
"
\n
"
);
return
E_NOTIMPL
;
}
static
const
struct
IWinHttpRequestVtbl
winhttp_request_vtbl
=
{
winhttp_request_QueryInterface
,
winhttp_request_AddRef
,
winhttp_request_Release
,
winhttp_request_GetTypeInfoCount
,
winhttp_request_GetTypeInfo
,
winhttp_request_GetIDsOfNames
,
winhttp_request_Invoke
,
winhttp_request_SetProxy
,
winhttp_request_SetCredentials
,
winhttp_request_Open
,
winhttp_request_SetRequestHeader
,
winhttp_request_GetResponseHeader
,
winhttp_request_GetAllResponseHeaders
,
winhttp_request_Send
,
winhttp_request_get_Status
,
winhttp_request_get_StatusText
,
winhttp_request_get_ResponseText
,
winhttp_request_get_ResponseBody
,
winhttp_request_get_ResponseStream
,
winhttp_request_get_Option
,
winhttp_request_put_Option
,
winhttp_request_WaitForResponse
,
winhttp_request_Abort
,
winhttp_request_SetTimeouts
,
winhttp_request_SetClientCertificate
,
winhttp_request_SetAutoLogonPolicy
};
HRESULT
WinHttpRequest_create
(
IUnknown
*
unknown
,
void
**
obj
)
{
struct
winhttp_request
*
request
;
TRACE
(
"%p, %p
\n
"
,
unknown
,
obj
);
if
(
!
(
request
=
heap_alloc
(
sizeof
(
*
request
)
)))
return
E_OUTOFMEMORY
;
request
->
IWinHttpRequest_iface
.
lpVtbl
=
&
winhttp_request_vtbl
;
request
->
refs
=
1
;
*
obj
=
&
request
->
IWinHttpRequest_iface
;
TRACE
(
"returning iface %p
\n
"
,
*
obj
);
return
S_OK
;
}
dlls/winhttp/winhttp_private.h
View file @
fd7538d3
...
...
@@ -42,6 +42,7 @@
# define closesocket close
# define ioctlsocket ioctl
#endif
#include "ole2.h"
static
const
WCHAR
getW
[]
=
{
'G'
,
'E'
,
'T'
,
0
};
static
const
WCHAR
postW
[]
=
{
'P'
,
'O'
,
'S'
,
'T'
,
0
};
...
...
@@ -237,6 +238,8 @@ BOOL add_request_headers( request_t *, LPCWSTR, DWORD, DWORD ) DECLSPEC_HIDDEN;
void
delete_domain
(
domain_t
*
)
DECLSPEC_HIDDEN
;
BOOL
set_server_for_hostname
(
connect_t
*
connect
,
LPCWSTR
server
,
INTERNET_PORT
port
)
DECLSPEC_HIDDEN
;
extern
HRESULT
WinHttpRequest_create
(
IUnknown
*
,
void
**
)
DECLSPEC_HIDDEN
;
static
inline
void
*
heap_alloc
(
SIZE_T
size
)
{
return
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment