Commit da8618f3 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

msxml3: Add a stub for IAuthenticate.

parent 8375c8e0
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* IXMLHTTPRequest implementation * IXMLHTTPRequest implementation
* *
* Copyright 2008 Alistair Leslie-Hughes * Copyright 2008 Alistair Leslie-Hughes
* Copyright 2010 Nikolay Sivov for CodeWeavers * Copyright 2010-2012 Nikolay Sivov for CodeWeavers
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
...@@ -149,6 +149,7 @@ struct BindStatusCallback ...@@ -149,6 +149,7 @@ struct BindStatusCallback
{ {
IBindStatusCallback IBindStatusCallback_iface; IBindStatusCallback IBindStatusCallback_iface;
IHttpNegotiate IHttpNegotiate_iface; IHttpNegotiate IHttpNegotiate_iface;
IAuthenticate IAuthenticate_iface;
LONG ref; LONG ref;
IBinding *binding; IBinding *binding;
...@@ -171,6 +172,11 @@ static inline BindStatusCallback *impl_from_IHttpNegotiate( IHttpNegotiate *ifac ...@@ -171,6 +172,11 @@ static inline BindStatusCallback *impl_from_IHttpNegotiate( IHttpNegotiate *ifac
return CONTAINING_RECORD(iface, BindStatusCallback, IHttpNegotiate_iface); return CONTAINING_RECORD(iface, BindStatusCallback, IHttpNegotiate_iface);
} }
static inline BindStatusCallback *impl_from_IAuthenticate( IAuthenticate *iface )
{
return CONTAINING_RECORD(iface, BindStatusCallback, IAuthenticate_iface);
}
static void BindStatusCallback_Detach(BindStatusCallback *bsc) static void BindStatusCallback_Detach(BindStatusCallback *bsc)
{ {
if (bsc) if (bsc)
...@@ -199,6 +205,10 @@ static HRESULT WINAPI BindStatusCallback_QueryInterface(IBindStatusCallback *ifa ...@@ -199,6 +205,10 @@ static HRESULT WINAPI BindStatusCallback_QueryInterface(IBindStatusCallback *ifa
{ {
*ppv = &This->IHttpNegotiate_iface; *ppv = &This->IHttpNegotiate_iface;
} }
else if (IsEqualGUID(&IID_IAuthenticate, riid))
{
*ppv = &This->IAuthenticate_iface;
}
else if (IsEqualGUID(&IID_IServiceProvider, riid) || else if (IsEqualGUID(&IID_IServiceProvider, riid) ||
IsEqualGUID(&IID_IBindStatusCallbackEx, riid) || IsEqualGUID(&IID_IBindStatusCallbackEx, riid) ||
IsEqualGUID(&IID_IInternetProtocol, riid) || IsEqualGUID(&IID_IInternetProtocol, riid) ||
...@@ -534,6 +544,40 @@ static const IHttpNegotiateVtbl BSCHttpNegotiateVtbl = { ...@@ -534,6 +544,40 @@ static const IHttpNegotiateVtbl BSCHttpNegotiateVtbl = {
BSCHttpNegotiate_OnResponse BSCHttpNegotiate_OnResponse
}; };
static HRESULT WINAPI Authenticate_QueryInterface(IAuthenticate *iface,
REFIID riid, void **ppv)
{
BindStatusCallback *This = impl_from_IAuthenticate(iface);
return IBindStatusCallback_QueryInterface(&This->IBindStatusCallback_iface, riid, ppv);
}
static ULONG WINAPI Authenticate_AddRef(IAuthenticate *iface)
{
BindStatusCallback *This = impl_from_IAuthenticate(iface);
return IBindStatusCallback_AddRef(&This->IBindStatusCallback_iface);
}
static ULONG WINAPI Authenticate_Release(IAuthenticate *iface)
{
BindStatusCallback *This = impl_from_IAuthenticate(iface);
return IBindStatusCallback_Release(&This->IBindStatusCallback_iface);
}
static HRESULT WINAPI Authenticate_Authenticate(IAuthenticate *iface,
HWND *hwnd, LPWSTR *username, LPWSTR *password)
{
BindStatusCallback *This = impl_from_IAuthenticate(iface);
FIXME("(%p)->(%p %p %p)\n", This, hwnd, username, password);
return E_NOTIMPL;
}
static const IAuthenticateVtbl AuthenticateVtbl = {
Authenticate_QueryInterface,
Authenticate_AddRef,
Authenticate_Release,
Authenticate_Authenticate
};
static HRESULT BindStatusCallback_create(httprequest* This, BindStatusCallback **obj, const VARIANT *body) static HRESULT BindStatusCallback_create(httprequest* This, BindStatusCallback **obj, const VARIANT *body)
{ {
BindStatusCallback *bsc; BindStatusCallback *bsc;
...@@ -553,6 +597,7 @@ static HRESULT BindStatusCallback_create(httprequest* This, BindStatusCallback * ...@@ -553,6 +597,7 @@ static HRESULT BindStatusCallback_create(httprequest* This, BindStatusCallback *
bsc->IBindStatusCallback_iface.lpVtbl = &BindStatusCallbackVtbl; bsc->IBindStatusCallback_iface.lpVtbl = &BindStatusCallbackVtbl;
bsc->IHttpNegotiate_iface.lpVtbl = &BSCHttpNegotiateVtbl; bsc->IHttpNegotiate_iface.lpVtbl = &BSCHttpNegotiateVtbl;
bsc->IAuthenticate_iface.lpVtbl = &AuthenticateVtbl;
bsc->ref = 1; bsc->ref = 1;
bsc->request = This; bsc->request = This;
bsc->binding = NULL; bsc->binding = NULL;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment