Michael Stefaniuc : msctf: Use an iface instead of a vtbl pointer in LangBarMgr.
Alexandre Julliard
julliard at winehq.org
Thu Dec 9 12:26:28 CST 2010
Module: wine
Branch: master
Commit: 3feb3e48154ca182ef7762dd99a9087b77799221
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3feb3e48154ca182ef7762dd99a9087b77799221
Author: Michael Stefaniuc <mstefani at redhat.de>
Date: Wed Dec 8 22:59:39 2010 +0100
msctf: Use an iface instead of a vtbl pointer in LangBarMgr.
---
dlls/msctf/langbarmgr.c | 33 +++++++++++++++++++--------------
1 files changed, 19 insertions(+), 14 deletions(-)
diff --git a/dlls/msctf/langbarmgr.c b/dlls/msctf/langbarmgr.c
index 272a816..5e814a7 100644
--- a/dlls/msctf/langbarmgr.c
+++ b/dlls/msctf/langbarmgr.c
@@ -31,12 +31,17 @@
WINE_DEFAULT_DEBUG_CHANNEL(msctf);
typedef struct tagLangBarMgr {
- const ITfLangBarMgrVtbl *LangBarMgrVtbl;
+ ITfLangBarMgr ITfLangBarMgr_iface;
LONG refCount;
} LangBarMgr;
+static inline LangBarMgr *impl_from_ITfLangBarMgr(ITfLangBarMgr *iface)
+{
+ return CONTAINING_RECORD(iface, LangBarMgr, ITfLangBarMgr_iface);
+}
+
static void LangBarMgr_Destructor(LangBarMgr *This)
{
TRACE("destroying %p\n", This);
@@ -46,7 +51,7 @@ static void LangBarMgr_Destructor(LangBarMgr *This)
static HRESULT WINAPI LangBarMgr_QueryInterface(ITfLangBarMgr *iface, REFIID iid, LPVOID *ppvOut)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
*ppvOut = NULL;
if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid, &IID_ITfLangBarMgr))
@@ -66,13 +71,13 @@ static HRESULT WINAPI LangBarMgr_QueryInterface(ITfLangBarMgr *iface, REFIID iid
static ULONG WINAPI LangBarMgr_AddRef(ITfLangBarMgr *iface)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
return InterlockedIncrement(&This->refCount);
}
static ULONG WINAPI LangBarMgr_Release(ITfLangBarMgr *iface)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
ULONG ret;
ret = InterlockedDecrement(&This->refCount);
@@ -87,7 +92,7 @@ static ULONG WINAPI LangBarMgr_Release(ITfLangBarMgr *iface)
static HRESULT WINAPI LangBarMgr_AdviseEventSink( ITfLangBarMgr* iface, ITfLangBarEventSink *pSink, HWND hwnd, DWORD dwflags, DWORD *pdwCookie)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -95,7 +100,7 @@ static HRESULT WINAPI LangBarMgr_AdviseEventSink( ITfLangBarMgr* iface, ITfLangB
static HRESULT WINAPI LangBarMgr_UnAdviseEventSink( ITfLangBarMgr* iface, DWORD dwCookie)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -103,7 +108,7 @@ static HRESULT WINAPI LangBarMgr_UnAdviseEventSink( ITfLangBarMgr* iface, DWORD
static HRESULT WINAPI LangBarMgr_GetThreadMarshalInterface( ITfLangBarMgr* iface, DWORD dwThreadId, DWORD dwType, REFIID riid, IUnknown **ppunk)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -111,7 +116,7 @@ static HRESULT WINAPI LangBarMgr_GetThreadMarshalInterface( ITfLangBarMgr* iface
static HRESULT WINAPI LangBarMgr_GetThreadLangBarItemMgr( ITfLangBarMgr* iface, DWORD dwThreadId, ITfLangBarItemMgr **pplbi, DWORD *pdwThreadid)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -119,7 +124,7 @@ static HRESULT WINAPI LangBarMgr_GetThreadLangBarItemMgr( ITfLangBarMgr* iface,
static HRESULT WINAPI LangBarMgr_GetInputProcessorProfiles( ITfLangBarMgr* iface, DWORD dwThreadId, ITfInputProcessorProfiles **ppaip, DWORD *pdwThreadid)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -127,7 +132,7 @@ static HRESULT WINAPI LangBarMgr_GetInputProcessorProfiles( ITfLangBarMgr* iface
static HRESULT WINAPI LangBarMgr_RestoreLastFocus( ITfLangBarMgr* iface, DWORD *dwThreadId, BOOL fPrev)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -135,7 +140,7 @@ static HRESULT WINAPI LangBarMgr_RestoreLastFocus( ITfLangBarMgr* iface, DWORD *
static HRESULT WINAPI LangBarMgr_SetModalInput( ITfLangBarMgr* iface, ITfLangBarEventSink *pSink, DWORD dwThreadId, DWORD dwFlags)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -143,7 +148,7 @@ static HRESULT WINAPI LangBarMgr_SetModalInput( ITfLangBarMgr* iface, ITfLangBar
static HRESULT WINAPI LangBarMgr_ShowFloating( ITfLangBarMgr* iface, DWORD dwFlags)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -151,7 +156,7 @@ static HRESULT WINAPI LangBarMgr_ShowFloating( ITfLangBarMgr* iface, DWORD dwFla
static HRESULT WINAPI LangBarMgr_GetShowFloatingStatus( ITfLangBarMgr* iface, DWORD *pdwFlags)
{
- LangBarMgr *This = (LangBarMgr *)iface;
+ LangBarMgr *This = impl_from_ITfLangBarMgr(iface);
FIXME("STUB:(%p)\n",This);
return E_NOTIMPL;
@@ -184,7 +189,7 @@ HRESULT LangBarMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
if (This == NULL)
return E_OUTOFMEMORY;
- This->LangBarMgrVtbl= &LangBarMgr_LangBarMgrVtbl;
+ This->ITfLangBarMgr_iface.lpVtbl = &LangBarMgr_LangBarMgrVtbl;
This->refCount = 1;
TRACE("returning %p\n", This);
More information about the wine-cvs
mailing list