Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
6aaf2aa3
Commit
6aaf2aa3
authored
Dec 23, 2010
by
Michael Stefaniuc
Committed by
Alexandre Julliard
Dec 23, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msctf: Standardize the COM usage in documentmgr.c.
parent
e803e634
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
37 deletions
+47
-37
documentmgr.c
dlls/msctf/documentmgr.c
+47
-37
No files found.
dlls/msctf/documentmgr.c
View file @
6aaf2aa3
...
...
@@ -41,8 +41,8 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
msctf
);
typedef
struct
tagDocumentMgr
{
const
ITfDocumentMgrVtbl
*
DocumentMgrVtbl
;
const
ITfSourceVtbl
*
SourceVtbl
;
ITfDocumentMgr
ITfDocumentMgr_iface
;
ITfSource
ITfSource_iface
;
LONG
refCount
;
/* Aggregation */
...
...
@@ -53,7 +53,7 @@ typedef struct tagDocumentMgr {
}
DocumentMgr
;
typedef
struct
tagEnumTfContext
{
const
IEnumTfContextsVtbl
*
Vtbl
;
IEnumTfContexts
IEnumTfContexts_iface
;
LONG
refCount
;
DWORD
index
;
...
...
@@ -62,9 +62,19 @@ typedef struct tagEnumTfContext {
static
HRESULT
EnumTfContext_Constructor
(
DocumentMgr
*
mgr
,
IEnumTfContexts
**
ppOut
);
static
inline
DocumentMgr
*
impl_from_ITf
SourceVtbl
(
ITfSource
*
iface
)
static
inline
DocumentMgr
*
impl_from_ITf
DocumentMgr
(
ITfDocumentMgr
*
iface
)
{
return
(
DocumentMgr
*
)((
char
*
)
iface
-
FIELD_OFFSET
(
DocumentMgr
,
SourceVtbl
));
return
CONTAINING_RECORD
(
iface
,
DocumentMgr
,
ITfDocumentMgr_iface
);
}
static
inline
DocumentMgr
*
impl_from_ITfSource
(
ITfSource
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
DocumentMgr
,
ITfSource_iface
);
}
static
inline
EnumTfContext
*
impl_from_IEnumTfContexts
(
IEnumTfContexts
*
iface
)
\
{
return
CONTAINING_RECORD
(
iface
,
EnumTfContext
,
IEnumTfContexts_iface
);
}
static
void
DocumentMgr_Destructor
(
DocumentMgr
*
This
)
...
...
@@ -73,7 +83,7 @@ static void DocumentMgr_Destructor(DocumentMgr *This)
TRACE
(
"destroying %p
\n
"
,
This
);
TF_GetThreadMgr
(
&
tm
);
ThreadMgr_OnDocumentMgrDestruction
(
tm
,
(
ITfDocumentMgr
*
)
This
);
ThreadMgr_OnDocumentMgrDestruction
(
tm
,
&
This
->
ITfDocumentMgr_iface
);
if
(
This
->
contextStack
[
0
])
ITfContext_Release
(
This
->
contextStack
[
0
]);
...
...
@@ -85,7 +95,7 @@ static void DocumentMgr_Destructor(DocumentMgr *This)
static
HRESULT
WINAPI
DocumentMgr_QueryInterface
(
ITfDocumentMgr
*
iface
,
REFIID
iid
,
LPVOID
*
ppvOut
)
{
DocumentMgr
*
This
=
(
DocumentMgr
*
)
iface
;
DocumentMgr
*
This
=
impl_from_ITfDocumentMgr
(
iface
)
;
*
ppvOut
=
NULL
;
if
(
IsEqualIID
(
iid
,
&
IID_IUnknown
)
||
IsEqualIID
(
iid
,
&
IID_ITfDocumentMgr
))
...
...
@@ -94,7 +104,7 @@ static HRESULT WINAPI DocumentMgr_QueryInterface(ITfDocumentMgr *iface, REFIID i
}
else
if
(
IsEqualIID
(
iid
,
&
IID_ITfSource
))
{
*
ppvOut
=
&
This
->
SourceVtbl
;
*
ppvOut
=
&
This
->
ITfSource_iface
;
}
else
if
(
IsEqualIID
(
iid
,
&
IID_ITfCompartmentMgr
))
{
...
...
@@ -113,13 +123,13 @@ static HRESULT WINAPI DocumentMgr_QueryInterface(ITfDocumentMgr *iface, REFIID i
static
ULONG
WINAPI
DocumentMgr_AddRef
(
ITfDocumentMgr
*
iface
)
{
DocumentMgr
*
This
=
(
DocumentMgr
*
)
iface
;
DocumentMgr
*
This
=
impl_from_ITfDocumentMgr
(
iface
)
;
return
InterlockedIncrement
(
&
This
->
refCount
);
}
static
ULONG
WINAPI
DocumentMgr_Release
(
ITfDocumentMgr
*
iface
)
{
DocumentMgr
*
This
=
(
DocumentMgr
*
)
iface
;
DocumentMgr
*
This
=
impl_from_ITfDocumentMgr
(
iface
)
;
ULONG
ret
;
ret
=
InterlockedDecrement
(
&
This
->
refCount
);
...
...
@@ -136,14 +146,14 @@ static HRESULT WINAPI DocumentMgr_CreateContext(ITfDocumentMgr *iface,
DWORD
dwFlags
,
IUnknown
*
punk
,
ITfContext
**
ppic
,
TfEditCookie
*
pecTextStore
)
{
DocumentMgr
*
This
=
(
DocumentMgr
*
)
iface
;
DocumentMgr
*
This
=
impl_from_ITfDocumentMgr
(
iface
)
;
TRACE
(
"(%p) 0x%x 0x%x %p %p %p
\n
"
,
This
,
tidOwner
,
dwFlags
,
punk
,
ppic
,
pecTextStore
);
return
Context_Constructor
(
tidOwner
,
punk
,
iface
,
ppic
,
pecTextStore
);
}
static
HRESULT
WINAPI
DocumentMgr_Push
(
ITfDocumentMgr
*
iface
,
ITfContext
*
pic
)
{
DocumentMgr
*
This
=
(
DocumentMgr
*
)
iface
;
DocumentMgr
*
This
=
impl_from_ITfDocumentMgr
(
iface
)
;
ITfContext
*
check
;
TRACE
(
"(%p) %p
\n
"
,
This
,
pic
);
...
...
@@ -168,7 +178,7 @@ static HRESULT WINAPI DocumentMgr_Push(ITfDocumentMgr *iface, ITfContext *pic)
static
HRESULT
WINAPI
DocumentMgr_Pop
(
ITfDocumentMgr
*
iface
,
DWORD
dwFlags
)
{
DocumentMgr
*
This
=
(
DocumentMgr
*
)
iface
;
DocumentMgr
*
This
=
impl_from_ITfDocumentMgr
(
iface
)
;
TRACE
(
"(%p) 0x%x
\n
"
,
This
,
dwFlags
);
if
(
dwFlags
==
TF_POPF_ALL
)
...
...
@@ -210,7 +220,7 @@ static HRESULT WINAPI DocumentMgr_Pop(ITfDocumentMgr *iface, DWORD dwFlags)
static
HRESULT
WINAPI
DocumentMgr_GetTop
(
ITfDocumentMgr
*
iface
,
ITfContext
**
ppic
)
{
DocumentMgr
*
This
=
(
DocumentMgr
*
)
iface
;
DocumentMgr
*
This
=
impl_from_ITfDocumentMgr
(
iface
)
;
TRACE
(
"(%p)
\n
"
,
This
);
if
(
!
ppic
)
return
E_INVALIDARG
;
...
...
@@ -225,7 +235,7 @@ static HRESULT WINAPI DocumentMgr_GetTop(ITfDocumentMgr *iface, ITfContext **ppi
static
HRESULT
WINAPI
DocumentMgr_GetBase
(
ITfDocumentMgr
*
iface
,
ITfContext
**
ppic
)
{
DocumentMgr
*
This
=
(
DocumentMgr
*
)
iface
;
DocumentMgr
*
This
=
impl_from_ITfDocumentMgr
(
iface
)
;
ITfContext
*
tgt
;
TRACE
(
"(%p)
\n
"
,
This
);
...
...
@@ -247,7 +257,7 @@ static HRESULT WINAPI DocumentMgr_GetBase(ITfDocumentMgr *iface, ITfContext **pp
static
HRESULT
WINAPI
DocumentMgr_EnumContexts
(
ITfDocumentMgr
*
iface
,
IEnumTfContexts
**
ppEnum
)
{
DocumentMgr
*
This
=
(
DocumentMgr
*
)
iface
;
DocumentMgr
*
This
=
impl_from_ITfDocumentMgr
(
iface
)
;
TRACE
(
"(%p) %p
\n
"
,
This
,
ppEnum
);
return
EnumTfContext_Constructor
(
This
,
ppEnum
);
}
...
...
@@ -269,20 +279,20 @@ static const ITfDocumentMgrVtbl DocumentMgr_DocumentMgrVtbl =
static
HRESULT
WINAPI
Source_QueryInterface
(
ITfSource
*
iface
,
REFIID
iid
,
LPVOID
*
ppvOut
)
{
DocumentMgr
*
This
=
impl_from_ITfSource
Vtbl
(
iface
);
return
DocumentMgr_QueryInterface
(
(
ITfDocumentMgr
*
)
This
,
iid
,
*
ppvOut
);
DocumentMgr
*
This
=
impl_from_ITfSource
(
iface
);
return
DocumentMgr_QueryInterface
(
&
This
->
ITfDocumentMgr_iface
,
iid
,
*
ppvOut
);
}
static
ULONG
WINAPI
Source_AddRef
(
ITfSource
*
iface
)
{
DocumentMgr
*
This
=
impl_from_ITfSource
Vtbl
(
iface
);
return
DocumentMgr_AddRef
(
(
ITfDocumentMgr
*
)
This
);
DocumentMgr
*
This
=
impl_from_ITfSource
(
iface
);
return
DocumentMgr_AddRef
(
&
This
->
ITfDocumentMgr_iface
);
}
static
ULONG
WINAPI
Source_Release
(
ITfSource
*
iface
)
{
DocumentMgr
*
This
=
impl_from_ITfSource
Vtbl
(
iface
);
return
DocumentMgr_Release
(
(
ITfDocumentMgr
*
)
This
);
DocumentMgr
*
This
=
impl_from_ITfSource
(
iface
);
return
DocumentMgr_Release
(
&
This
->
ITfDocumentMgr_iface
);
}
/*****************************************************
...
...
@@ -291,14 +301,14 @@ static ULONG WINAPI Source_Release(ITfSource *iface)
static
HRESULT
WINAPI
DocumentMgrSource_AdviseSink
(
ITfSource
*
iface
,
REFIID
riid
,
IUnknown
*
punk
,
DWORD
*
pdwCookie
)
{
DocumentMgr
*
This
=
impl_from_ITfSource
Vtbl
(
iface
);
DocumentMgr
*
This
=
impl_from_ITfSource
(
iface
);
FIXME
(
"STUB:(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
DocumentMgrSource_UnadviseSink
(
ITfSource
*
iface
,
DWORD
pdwCookie
)
{
DocumentMgr
*
This
=
impl_from_ITfSource
Vtbl
(
iface
);
DocumentMgr
*
This
=
impl_from_ITfSource
(
iface
);
FIXME
(
"STUB:(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
}
...
...
@@ -321,15 +331,15 @@ HRESULT DocumentMgr_Constructor(ITfThreadMgrEventSink *ThreadMgrSink, ITfDocumen
if
(
This
==
NULL
)
return
E_OUTOFMEMORY
;
This
->
DocumentMgrVtbl
=
&
DocumentMgr_DocumentMgrVtbl
;
This
->
Source
Vtbl
=
&
DocumentMgr_SourceVtbl
;
This
->
ITfDocumentMgr_iface
.
lpVtbl
=
&
DocumentMgr_DocumentMgrVtbl
;
This
->
ITfSource_iface
.
lp
Vtbl
=
&
DocumentMgr_SourceVtbl
;
This
->
refCount
=
1
;
This
->
ThreadMgrSink
=
ThreadMgrSink
;
CompartmentMgr_Constructor
((
IUnknown
*
)
This
,
&
IID_IUnknown
,
(
IUnknown
**
)
&
This
->
CompartmentMgr
);
TRACE
(
"returning %p
\n
"
,
This
);
*
ppOut
=
(
ITfDocumentMgr
*
)
This
;
*
ppOut
=
&
This
->
ITfDocumentMgr_iface
;
return
S_OK
;
}
...
...
@@ -344,7 +354,7 @@ static void EnumTfContext_Destructor(EnumTfContext *This)
static
HRESULT
WINAPI
EnumTfContext_QueryInterface
(
IEnumTfContexts
*
iface
,
REFIID
iid
,
LPVOID
*
ppvOut
)
{
EnumTfContext
*
This
=
(
EnumTfContext
*
)
iface
;
EnumTfContext
*
This
=
impl_from_IEnumTfContexts
(
iface
)
;
*
ppvOut
=
NULL
;
if
(
IsEqualIID
(
iid
,
&
IID_IUnknown
)
||
IsEqualIID
(
iid
,
&
IID_IEnumTfContexts
))
...
...
@@ -364,13 +374,13 @@ static HRESULT WINAPI EnumTfContext_QueryInterface(IEnumTfContexts *iface, REFII
static
ULONG
WINAPI
EnumTfContext_AddRef
(
IEnumTfContexts
*
iface
)
{
EnumTfContext
*
This
=
(
EnumTfContext
*
)
iface
;
EnumTfContext
*
This
=
impl_from_IEnumTfContexts
(
iface
)
;
return
InterlockedIncrement
(
&
This
->
refCount
);
}
static
ULONG
WINAPI
EnumTfContext_Release
(
IEnumTfContexts
*
iface
)
{
EnumTfContext
*
This
=
(
EnumTfContext
*
)
iface
;
EnumTfContext
*
This
=
impl_from_IEnumTfContexts
(
iface
)
;
ULONG
ret
;
ret
=
InterlockedDecrement
(
&
This
->
refCount
);
...
...
@@ -382,7 +392,7 @@ static ULONG WINAPI EnumTfContext_Release(IEnumTfContexts *iface)
static
HRESULT
WINAPI
EnumTfContext_Next
(
IEnumTfContexts
*
iface
,
ULONG
ulCount
,
ITfContext
**
rgContext
,
ULONG
*
pcFetched
)
{
EnumTfContext
*
This
=
(
EnumTfContext
*
)
iface
;
EnumTfContext
*
This
=
impl_from_IEnumTfContexts
(
iface
)
;
ULONG
fetched
=
0
;
TRACE
(
"(%p)
\n
"
,
This
);
...
...
@@ -411,7 +421,7 @@ static HRESULT WINAPI EnumTfContext_Next(IEnumTfContexts *iface,
static
HRESULT
WINAPI
EnumTfContext_Skip
(
IEnumTfContexts
*
iface
,
ULONG
celt
)
{
EnumTfContext
*
This
=
(
EnumTfContext
*
)
iface
;
EnumTfContext
*
This
=
impl_from_IEnumTfContexts
(
iface
)
;
TRACE
(
"(%p)
\n
"
,
This
);
This
->
index
+=
celt
;
return
S_OK
;
...
...
@@ -419,7 +429,7 @@ static HRESULT WINAPI EnumTfContext_Skip( IEnumTfContexts* iface, ULONG celt)
static
HRESULT
WINAPI
EnumTfContext_Reset
(
IEnumTfContexts
*
iface
)
{
EnumTfContext
*
This
=
(
EnumTfContext
*
)
iface
;
EnumTfContext
*
This
=
impl_from_IEnumTfContexts
(
iface
)
;
TRACE
(
"(%p)
\n
"
,
This
);
This
->
index
=
0
;
return
S_OK
;
...
...
@@ -428,7 +438,7 @@ static HRESULT WINAPI EnumTfContext_Reset( IEnumTfContexts* iface)
static
HRESULT
WINAPI
EnumTfContext_Clone
(
IEnumTfContexts
*
iface
,
IEnumTfContexts
**
ppenum
)
{
EnumTfContext
*
This
=
(
EnumTfContext
*
)
iface
;
EnumTfContext
*
This
=
impl_from_IEnumTfContexts
(
iface
)
;
HRESULT
res
;
TRACE
(
"(%p)
\n
"
,
This
);
...
...
@@ -438,7 +448,7 @@ static HRESULT WINAPI EnumTfContext_Clone( IEnumTfContexts *iface,
res
=
EnumTfContext_Constructor
(
This
->
docmgr
,
ppenum
);
if
(
SUCCEEDED
(
res
))
{
EnumTfContext
*
new_This
=
(
EnumTfContext
*
)
*
ppenum
;
EnumTfContext
*
new_This
=
impl_from_IEnumTfContexts
(
*
ppenum
)
;
new_This
->
index
=
This
->
index
;
}
return
res
;
...
...
@@ -463,11 +473,11 @@ static HRESULT EnumTfContext_Constructor(DocumentMgr *mgr, IEnumTfContexts **ppO
if
(
This
==
NULL
)
return
E_OUTOFMEMORY
;
This
->
Vtbl
=
&
IEnumTfContexts_Vtbl
;
This
->
IEnumTfContexts_iface
.
lpVtbl
=
&
IEnumTfContexts_Vtbl
;
This
->
refCount
=
1
;
This
->
docmgr
=
mgr
;
TRACE
(
"returning %p
\n
"
,
This
);
*
ppOut
=
(
IEnumTfContexts
*
)
This
;
*
ppOut
=
&
This
->
IEnumTfContexts_iface
;
return
S_OK
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment