Hans Leidekker : qmgr: Add a stub implementation of IBackgroundCopyJobHttpOptions.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jun 15 08:49:07 CDT 2015
Module: wine
Branch: master
Commit: faa65f629119f1388f46a16b300b14e814f4cb6e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=faa65f629119f1388f46a16b300b14e814f4cb6e
Author: Hans Leidekker <hans at codeweavers.com>
Date: Fri Jun 12 15:05:11 2015 +0200
qmgr: Add a stub implementation of IBackgroundCopyJobHttpOptions.
---
dlls/qmgr/job.c | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
dlls/qmgr/qmgr.h | 7 ++++
2 files changed, 129 insertions(+)
diff --git a/dlls/qmgr/job.c b/dlls/qmgr/job.c
index d342041..5cb85ae 100644
--- a/dlls/qmgr/job.c
+++ b/dlls/qmgr/job.c
@@ -212,6 +212,10 @@ static HRESULT WINAPI BackgroundCopyJob_QueryInterface(
{
*obj = &This->IBackgroundCopyJob3_iface;
}
+ else if (IsEqualGUID(riid, &IID_IBackgroundCopyJobHttpOptions))
+ {
+ *obj = &This->IBackgroundCopyJobHttpOptions_iface;
+ }
else
{
*obj = NULL;
@@ -245,6 +249,7 @@ static ULONG WINAPI BackgroundCopyJob_Release(IBackgroundCopyJob3 *iface)
IBackgroundCopyCallback2_Release(This->callback);
HeapFree(GetProcessHeap(), 0, This->displayName);
HeapFree(GetProcessHeap(), 0, This->description);
+ HeapFree(GetProcessHeap(), 0, This->http_options.headers);
HeapFree(GetProcessHeap(), 0, This);
}
@@ -900,6 +905,120 @@ static const IBackgroundCopyJob3Vtbl BackgroundCopyJob3Vtbl =
BackgroundCopyJob_GetFileACLFlags
};
+static inline BackgroundCopyJobImpl *impl_from_IBackgroundCopyJobHttpOptions(
+ IBackgroundCopyJobHttpOptions *iface)
+{
+ return CONTAINING_RECORD(iface, BackgroundCopyJobImpl, IBackgroundCopyJobHttpOptions_iface);
+}
+
+static HRESULT WINAPI http_options_QueryInterface(
+ IBackgroundCopyJobHttpOptions *iface,
+ REFIID riid,
+ void **ppvObject)
+{
+ BackgroundCopyJobImpl *job = impl_from_IBackgroundCopyJobHttpOptions(iface);
+ return IBackgroundCopyJob3_QueryInterface(&job->IBackgroundCopyJob3_iface, riid, ppvObject);
+}
+
+static ULONG WINAPI http_options_AddRef(
+ IBackgroundCopyJobHttpOptions *iface)
+{
+ BackgroundCopyJobImpl *job = impl_from_IBackgroundCopyJobHttpOptions(iface);
+ return IBackgroundCopyJob3_AddRef(&job->IBackgroundCopyJob3_iface);
+}
+
+static ULONG WINAPI http_options_Release(
+ IBackgroundCopyJobHttpOptions *iface)
+{
+ BackgroundCopyJobImpl *job = impl_from_IBackgroundCopyJobHttpOptions(iface);
+ return IBackgroundCopyJob3_Release(&job->IBackgroundCopyJob3_iface);
+}
+
+static HRESULT WINAPI http_options_SetClientCertificateByID(
+ IBackgroundCopyJobHttpOptions *iface,
+ BG_CERT_STORE_LOCATION StoreLocation,
+ LPCWSTR StoreName,
+ BYTE *pCertHashBlob)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI http_options_SetClientCertificateByName(
+ IBackgroundCopyJobHttpOptions *iface,
+ BG_CERT_STORE_LOCATION StoreLocation,
+ LPCWSTR StoreName,
+ LPCWSTR SubjectName)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI http_options_RemoveClientCertificate(
+ IBackgroundCopyJobHttpOptions *iface)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI http_options_GetClientCertificate(
+ IBackgroundCopyJobHttpOptions *iface,
+ BG_CERT_STORE_LOCATION *pStoreLocation,
+ LPWSTR *pStoreName,
+ BYTE **ppCertHashBlob,
+ LPWSTR *pSubjectName)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI http_options_SetCustomHeaders(
+ IBackgroundCopyJobHttpOptions *iface,
+ LPCWSTR RequestHeaders)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI http_options_GetCustomHeaders(
+ IBackgroundCopyJobHttpOptions *iface,
+ LPWSTR *pRequestHeaders)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI http_options_SetSecurityFlags(
+ IBackgroundCopyJobHttpOptions *iface,
+ ULONG Flags)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI http_options_GetSecurityFlags(
+ IBackgroundCopyJobHttpOptions *iface,
+ ULONG *pFlags)
+{
+ FIXME("\n");
+ return E_NOTIMPL;
+}
+
+static const IBackgroundCopyJobHttpOptionsVtbl http_options_vtbl =
+{
+ http_options_QueryInterface,
+ http_options_AddRef,
+ http_options_Release,
+ http_options_SetClientCertificateByID,
+ http_options_SetClientCertificateByName,
+ http_options_RemoveClientCertificate,
+ http_options_GetClientCertificate,
+ http_options_SetCustomHeaders,
+ http_options_GetCustomHeaders,
+ http_options_SetSecurityFlags,
+ http_options_GetSecurityFlags
+};
+
HRESULT BackgroundCopyJobConstructor(LPCWSTR displayName, BG_JOB_TYPE type, GUID *job_id, BackgroundCopyJobImpl **job)
{
HRESULT hr;
@@ -913,6 +1032,7 @@ HRESULT BackgroundCopyJobConstructor(LPCWSTR displayName, BG_JOB_TYPE type, GUID
return E_OUTOFMEMORY;
This->IBackgroundCopyJob3_iface.lpVtbl = &BackgroundCopyJob3Vtbl;
+ This->IBackgroundCopyJobHttpOptions_iface.lpVtbl = &http_options_vtbl;
InitializeCriticalSection(&This->cs);
This->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": BackgroundCopyJobImpl.cs");
@@ -957,6 +1077,8 @@ HRESULT BackgroundCopyJobConstructor(LPCWSTR displayName, BG_JOB_TYPE type, GUID
This->error.code = 0;
This->error.file = NULL;
+ memset(&This->http_options, 0, sizeof(This->http_options));
+
*job = This;
TRACE("created job %s:%p\n", debugstr_guid(&This->jobId), This);
diff --git a/dlls/qmgr/qmgr.h b/dlls/qmgr/qmgr.h
index 9595f22..4b9d2fb 100644
--- a/dlls/qmgr/qmgr.h
+++ b/dlls/qmgr/qmgr.h
@@ -37,6 +37,7 @@
typedef struct
{
IBackgroundCopyJob3 IBackgroundCopyJob3_iface;
+ IBackgroundCopyJobHttpOptions IBackgroundCopyJobHttpOptions_iface;
LONG ref;
LPWSTR displayName;
LPWSTR description;
@@ -53,6 +54,12 @@ typedef struct
struct list entryFromQmgr;
struct
{
+ WCHAR *headers;
+ ULONG flags;
+ BG_AUTH_CREDENTIALS creds;
+ } http_options;
+ struct
+ {
BG_ERROR_CONTEXT context;
HRESULT code;
IBackgroundCopyFile2 *file;
More information about the wine-cvs
mailing list