Aric Stewart : msctf: Add stub ITfSourceSingle interface to ThreadMgr.

Alexandre Julliard julliard at winehq.org
Wed Sep 9 09:55:49 CDT 2009


Module: wine
Branch: master
Commit: 515c13774aecc440ca106d955070b1350b89b582
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=515c13774aecc440ca106d955070b1350b89b582

Author: Aric Stewart <aric at codeweavers.com>
Date:   Tue Sep  8 10:30:10 2009 -0500

msctf: Add stub ITfSourceSingle interface to ThreadMgr.

---

 dlls/msctf/threadmgr.c |   60 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 1 deletions(-)

diff --git a/dlls/msctf/threadmgr.c b/dlls/msctf/threadmgr.c
index 0661fec..a001792 100644
--- a/dlls/msctf/threadmgr.c
+++ b/dlls/msctf/threadmgr.c
@@ -88,7 +88,7 @@ typedef struct tagACLMulti {
     /* const ITfConfigureSystemKeystrokeFeedVtbl *ConfigureSystemKeystrokeFeedVtbl; */
     /* const ITfLangBarItemMgrVtbl *LangBarItemMgrVtbl; */
     /* const ITfUIElementMgrVtbl *UIElementMgrVtbl; */
-    /* const ITfSourceSingleVtbl *SourceSingleVtbl; */
+    const ITfSourceSingleVtbl *SourceSingleVtbl;
     LONG refCount;
 
     /* Aggregation */
@@ -153,6 +153,12 @@ static inline ThreadMgr *impl_from_ITfThreadMgrEventSink(ITfThreadMgrEventSink *
     return (ThreadMgr *)((char *)iface - FIELD_OFFSET(ThreadMgr,ThreadMgrEventSinkVtbl));
 }
 
+static inline ThreadMgr *impl_from_ITfSourceSingleVtbl(ITfSourceSingle* iface)
+
+{
+    return (ThreadMgr *)((char *)iface - FIELD_OFFSET(ThreadMgr,SourceSingleVtbl));
+}
+
 static HRESULT SetupWindowsHook(ThreadMgr *This)
 {
     if (!This->focusHook)
@@ -283,6 +289,10 @@ static HRESULT WINAPI ThreadMgr_QueryInterface(ITfThreadMgr *iface, REFIID iid,
     {
         *ppvOut = This->CompartmentMgr;
     }
+    else if (IsEqualIID(iid, &IID_ITfSourceSingle))
+    {
+        *ppvOut = &This->SourceSingleVtbl;
+    }
 
     if (*ppvOut)
     {
@@ -1172,6 +1182,53 @@ static const ITfThreadMgrEventSinkVtbl ThreadMgr_ThreadMgrEventSinkVtbl =
     ThreadMgrEventSink_OnPopContext
 };
 
+/*****************************************************
+ * ITfSourceSingle functions
+ *****************************************************/
+static HRESULT WINAPI ThreadMgrSourceSingle_QueryInterface(ITfSourceSingle *iface, REFIID iid, LPVOID *ppvOut)
+{
+    ThreadMgr *This = impl_from_ITfSourceSingleVtbl(iface);
+    return ThreadMgr_QueryInterface((ITfThreadMgr *)This, iid, *ppvOut);
+}
+
+static ULONG WINAPI ThreadMgrSourceSingle_AddRef(ITfSourceSingle *iface)
+{
+    ThreadMgr *This = impl_from_ITfSourceSingleVtbl(iface);
+    return ThreadMgr_AddRef((ITfThreadMgr *)This);
+}
+
+static ULONG WINAPI ThreadMgrSourceSingle_Release(ITfSourceSingle *iface)
+{
+    ThreadMgr *This = impl_from_ITfSourceSingleVtbl(iface);
+    return ThreadMgr_Release((ITfThreadMgr *)This);
+}
+
+static WINAPI HRESULT ThreadMgrSourceSingle_AdviseSingleSink( ITfSourceSingle *iface,
+    TfClientId tid, REFIID riid, IUnknown *punk)
+{
+    ThreadMgr *This = impl_from_ITfSourceSingleVtbl(iface);
+    FIXME("STUB:(%p) %i %s %p\n",This, tid, debugstr_guid(riid),punk);
+    return E_NOTIMPL;
+}
+
+static WINAPI HRESULT ThreadMgrSourceSingle_UnadviseSingleSink( ITfSourceSingle *iface,
+    TfClientId tid, REFIID riid)
+{
+    ThreadMgr *This = impl_from_ITfSourceSingleVtbl(iface);
+    FIXME("STUB:(%p) %i %s\n",This, tid, debugstr_guid(riid));
+    return E_NOTIMPL;
+}
+
+static const ITfSourceSingleVtbl ThreadMgr_SourceSingleVtbl =
+{
+    ThreadMgrSourceSingle_QueryInterface,
+    ThreadMgrSourceSingle_AddRef,
+    ThreadMgrSourceSingle_Release,
+
+    ThreadMgrSourceSingle_AdviseSingleSink,
+    ThreadMgrSourceSingle_UnadviseSingleSink,
+};
+
 HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
 {
     ThreadMgr *This;
@@ -1197,6 +1254,7 @@ HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
     This->MessagePumpVtbl= &ThreadMgr_MessagePumpVtbl;
     This->ClientIdVtbl = &ThreadMgr_ClientIdVtbl;
     This->ThreadMgrEventSinkVtbl = &ThreadMgr_ThreadMgrEventSinkVtbl;
+    This->SourceSingleVtbl = &ThreadMgr_SourceSingleVtbl;
     This->refCount = 1;
     TlsSetValue(tlsIndex,This);
 




More information about the wine-cvs mailing list