inkobj: Implement stub IInkCollector interface

John Klehm xixsimplicityxix at gmail.com
Fri Aug 24 03:09:26 CDT 2007


Fattens up those skinny stub definitions.

-John Klehm
-------------- next part --------------
From f11260ae739ac6bb4cb530a11cf6e949f3b7efea Mon Sep 17 00:00:00 2001
From: John Klehm <xixsimplicityxix at gmail.com>
Date: Fri, 24 Aug 2007 01:42:47 -0500
Subject: inkobj: Implement stub IInkCollector interface

---
 dlls/inkobj/Makefile.in       |    3 +-
 dlls/inkobj/inkcollector.c    |   95 +++++++++++++++++++++++++++++++++++++++++
 dlls/inkobj/inkobj_internal.h |   21 +++++++++
 3 files changed, 118 insertions(+), 1 deletions(-)
 create mode 100644 dlls/inkobj/inkcollector.c

diff --git a/dlls/inkobj/Makefile.in b/dlls/inkobj/Makefile.in
index 9f561d6..0ff3e23 100644
--- a/dlls/inkobj/Makefile.in
+++ b/dlls/inkobj/Makefile.in
@@ -7,7 +7,8 @@ IMPORTS   = advapi32 kernel32
 
 C_SRCS = \
 	inkobj.c \
-	inkobj_classfactory.c
+	inkobj_classfactory.c \
+	inkcollector.c
 
 @MAKE_DLL_RULES@
 
diff --git a/dlls/inkobj/inkcollector.c b/dlls/inkobj/inkcollector.c
new file mode 100644
index 0000000..7eb4329
--- /dev/null
+++ b/dlls/inkobj/inkcollector.c
@@ -0,0 +1,95 @@
+/* Copyright (C) 2007 C John Klehm
+ *
+ * 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 "inkobj_internal.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(inkobj);
+
+
+static HRESULT WINAPI InkCollector_QueryInterface(
+    IInkCollector* This, REFIID riid, void** ppvObject)
+{
+    FIXME("requested interface %s not implemented\n", debugstr_guid(riid));
+    return E_NOINTERFACE;
+}
+
+static ULONG WINAPI InkCollector_AddRef(
+    IInkCollector* This)
+{
+    FIXME("stub!\n");
+    return 0;
+}
+
+static ULONG WINAPI InkCollector_Release(
+    IInkCollector* This)
+{
+    FIXME("stub!\n");
+    return 0;
+}
+
+static HRESULT WINAPI InkCollector_GetTypeInfoCount(
+    IInkCollector* This, UINT* pctinfo)
+{
+    FIXME("stub!\n");
+    return S_OK;
+}
+
+static HRESULT WINAPI InkCollector_GetTypeInfo(
+    IInkCollector* This, UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo)
+{
+    FIXME("stub!\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI InkCollector_GetIDsOfNames(
+    IInkCollector* This, REFIID riid, LPOLESTR* rgszNames, UINT cNames,
+    LCID lcid, DISPID* rgDispId)
+{
+    FIXME("stub!\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI InkCollector_Invoke(
+    IInkCollector* This, DISPID dispIdMember, REFIID riid, LCID lcid,
+    WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult,
+    EXCEPINFO* pExcepInfo, UINT* puArgErr)
+{
+    FIXME("stub!\n");
+    return S_OK;
+}
+
+static const IInkCollectorVtbl InkCollectorVtbl =
+{
+    InkCollector_QueryInterface,
+    InkCollector_AddRef,
+    InkCollector_Release,
+    InkCollector_GetTypeInfoCount,
+    InkCollector_GetTypeInfo,
+    InkCollector_GetIDsOfNames,
+    InkCollector_Invoke,
+};
+
+HRESULT InkCollector_Create(IUnknown* pUnkOuter, REFIID riid, void** ppvObject)
+{
+    InkCollector* ret;
+    HRESULT result = E_NOINTERFACE;
+
+    FIXME("pUnkOuter=%p, riid=%s, ppvObject=%p\n",
+        pUnkOuter, debugstr_guid(riid), ppvObject);
+
+    return result;
+}
diff --git a/dlls/inkobj/inkobj_internal.h b/dlls/inkobj/inkobj_internal.h
index b59a4cf..81551f2 100644
--- a/dlls/inkobj/inkobj_internal.h
+++ b/dlls/inkobj/inkobj_internal.h
@@ -27,6 +27,7 @@
 #include <winreg.h>     /* RegDeleteKey, RegCreateKey, RegSetValue */
 #include <winuser.h>    /* IClassFactory 1 of 2 */
 #include <ole2.h>       /* IClassFactory 2 of 2, IID_IUknown, IID_IClassFactory */
+#include <msinkaut.h>   /* inkobj header */
 
 #include <wine/debug.h> /* FIXME, TRACE, WARN, ERR */
 
@@ -66,5 +67,25 @@ extern HRESULT ClassFactory_Create(
 /*
  * end inkobj_classfactory.c declarations
  */
+/*
+ * start inkcollector.c declarations
+ */
+
+/* InkCollector object - declare internal data members here */
+struct InkCollector
+{
+    const IInkCollectorVtbl* lpInkCollectorVtbl;
+    /* lpVtbl must be first! */
+
+    LONG refCount;
+    HWND hWnd;
+};
+
+extern HRESULT InkCollector_Create(
+    IUnknown* pUnkOuter, REFIID riid, void** ppvObject);
+
+/*
+ * end inkcollector.c declarations
+ */
 
 #endif /* INKOBJ_INTERNAL_H */
-- 
1.5.1.6



More information about the wine-patches mailing list