bits: BackgroundCopyManager interface stubs (5/26)

Roy Shea roy at cs.hmc.edu
Mon Nov 19 18:20:45 CST 2007


Stub implementation of the BackgroundCopyManager interface used within BITS.
---
 dlls/qmgr/Makefile.in    |    5 ++-
 dlls/qmgr/qmgr.c         |  106 ++++++++++++++++++++++++++++++++++++++++++++++
 dlls/qmgr/qmgr.spec      |    3 +
 dlls/qmgr/qmgr_local.idl |   21 +++++++++
 dlls/qmgr/qmgr_private.h |   49 +++++++++++++++++++++
 5 files changed, 183 insertions(+), 1 deletions(-)
 create mode 100644 dlls/qmgr/qmgr.c
 create mode 100644 dlls/qmgr/qmgr_local.idl
 create mode 100644 dlls/qmgr/qmgr_private.h

diff --git a/dlls/qmgr/Makefile.in b/dlls/qmgr/Makefile.in
index 5ac07d3..6975e0f 100644
--- a/dlls/qmgr/Makefile.in
+++ b/dlls/qmgr/Makefile.in
@@ -7,7 +7,10 @@ IMPORTS   = kernel32
 EXTRALIBS =
 
 C_SRCS = \
-	qmgr_main.c
+	qmgr_main.c \
+	qmgr.c
+
+IDL_I_SRCS = qmgr_local.idl
 
 @MAKE_DLL_RULES@
 
diff --git a/dlls/qmgr/qmgr.c b/dlls/qmgr/qmgr.c
new file mode 100644
index 0000000..65106bc
--- /dev/null
+++ b/dlls/qmgr/qmgr.c
@@ -0,0 +1,106 @@
+/*
+ * Queue Manager (BITS) core functions
+ *
+ * Copyright 2007 Google (Roy Shea)
+ *
+ * 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 "qmgr_private.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(qmgr);
+
+/*** IUnknown interface methods ***/
+
+/* Add a reference to the iface pointer */
+static ULONG WINAPI BITS_IBackgroundCopyManager_AddRef(
+        IBackgroundCopyManager* iface)
+{
+    FIXME("Not implemented\n");
+    return E_NOTIMPL;
+}
+
+/* Attempt to provide a new interface to interact with iface */
+static HRESULT WINAPI BITS_IBackgroundCopyManager_QueryInterface(
+        IBackgroundCopyManager* iface,
+        REFIID riid,
+        LPVOID *ppvObject)
+{
+    FIXME("Not implemented\n");
+    return E_NOTIMPL;
+}
+
+/* Release an interface to iface */
+static ULONG WINAPI BITS_IBackgroundCopyManager_Release(
+        IBackgroundCopyManager* iface)
+{
+    FIXME("Not implemented\n");
+    return E_NOTIMPL;
+}
+
+/*** IBackgroundCopyManager interface methods ***/
+
+static HRESULT WINAPI BITS_IBackgroundCopyManager_CreateJob(
+        IBackgroundCopyManager* This,
+        LPCWSTR DisplayName,
+        BG_JOB_TYPE Type,
+        GUID *pJobId,
+        IBackgroundCopyJob **ppJob)
+{
+    FIXME("Not implemented\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI BITS_IBackgroundCopyManager_GetJob(
+        IBackgroundCopyManager* This,
+        REFGUID jobID,
+        IBackgroundCopyJob **ppJob)
+{
+    FIXME("Not implemented\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI BITS_IBackgroundCopyManager_EnumJobs(
+        IBackgroundCopyManager* This,
+        DWORD dwFlags,
+        IEnumBackgroundCopyJobs **ppEnum)
+{
+    FIXME("Not implemented\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI BITS_IBackgroundCopyManager_GetErrorDescription(
+        IBackgroundCopyManager* This,
+        HRESULT hResult,
+        DWORD LanguageId,
+        LPWSTR *pErrorDescription)
+{
+    FIXME("Not implemented\n");
+    return E_NOTIMPL;
+}
+
+
+const IBackgroundCopyManagerVtbl BITS_IBackgroundCopyManager_Vtbl =
+{
+    BITS_IBackgroundCopyManager_QueryInterface,
+    BITS_IBackgroundCopyManager_AddRef,
+    BITS_IBackgroundCopyManager_Release,
+    BITS_IBackgroundCopyManager_CreateJob,
+    BITS_IBackgroundCopyManager_GetJob,
+    BITS_IBackgroundCopyManager_EnumJobs,
+    BITS_IBackgroundCopyManager_GetErrorDescription
+};
+
diff --git a/dlls/qmgr/qmgr.spec b/dlls/qmgr/qmgr.spec
index 1a63b32..c2eb3c0 100644
--- a/dlls/qmgr/qmgr.spec
+++ b/dlls/qmgr/qmgr.spec
@@ -1,2 +1,5 @@
+@ stdcall -private DllCanUnloadNow()
+@ stdcall -private DllGetClassObject(ptr ptr ptr)
 @ stub DllRegisterServer
 @ stub DllUnregisterServer
+
diff --git a/dlls/qmgr/qmgr_local.idl b/dlls/qmgr/qmgr_local.idl
new file mode 100644
index 0000000..3477ca9
--- /dev/null
+++ b/dlls/qmgr/qmgr_local.idl
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2007 Google (Roy Shea)
+ *
+ * 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 "bits.idl"
+
+
diff --git a/dlls/qmgr/qmgr_private.h b/dlls/qmgr/qmgr_private.h
new file mode 100644
index 0000000..d4ccce3
--- /dev/null
+++ b/dlls/qmgr/qmgr_private.h
@@ -0,0 +1,49 @@
+/*
+ * Queue Manager (BITS) private definitions
+ *
+ * Copyright 2007 Google (Roy Shea)
+ *
+ * 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 __QMGR_PRIVATE_H__
+#define __QMGR_PRIVATE_H__
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "objbase.h"
+
+#include "bits.h"
+
+#define ICOM_THIS_MULTI(impl,field,iface) \
+    impl* const This=(impl*)((char*)(iface) - offsetof(impl,field))
+
+/* Count number of references to this DLL */
+extern LONG dll_ref;
+
+/* Background copy manager vtbl and related data */
+typedef struct
+{
+    const IBackgroundCopyManager *bitsVtbl;
+    LONG ref;
+} BackgroundCopyManagerImpl;
+
+/* Single instance of the background copy manager used to create new instances */
+extern BackgroundCopyManagerImpl BITS_BackgroundCopyManager;
+
+#endif /* __QMGR_PRIVATE_H__ */
+
-- 
1.5.3.1




More information about the wine-patches mailing list