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