ReactOS 0.4.16-dev-1668-g3f66390
CContext Class Reference
Inheritance diagram for CContext:
Collaboration diagram for CContext:

Public Member Functions

 CContext ()
 
virtual ~CContext ()
 
HRESULT Initialize (ITfDocumentMgr *manager)
 
HRESULT Uninitialize ()
 
STDMETHODIMP QueryInterface (REFIID riid, void **ppvObj) override
 
 STDMETHODIMP_ (ULONG) AddRef() override
 
 STDMETHODIMP_ (ULONG) Release() override
 
STDMETHODIMP RequestEditSession (_In_ TfClientId tid, _In_ ITfEditSession *pes, _In_ DWORD dwFlags, _Out_ HRESULT *phrSession) override
 
STDMETHODIMP InWriteSession (_In_ TfClientId tid, _Out_ BOOL *pfWriteSession) override
 
STDMETHODIMP GetSelection (_In_ TfEditCookie ec, _In_ ULONG ulIndex, _In_ ULONG ulCount, _Out_ TF_SELECTION *pSelection, _Out_ ULONG *pcFetched) override
 
STDMETHODIMP SetSelection (_In_ TfEditCookie ec, _In_ ULONG ulCount, _In_ const TF_SELECTION *pSelection) override
 
STDMETHODIMP GetStart (_In_ TfEditCookie ec, _Out_ ITfRange **ppStart) override
 
STDMETHODIMP GetEnd (_In_ TfEditCookie ec, _Out_ ITfRange **ppEnd) override
 
STDMETHODIMP GetActiveView (_Out_ ITfContextView **ppView) override
 
STDMETHODIMP EnumViews (_Out_ IEnumTfContextViews **ppEnum) override
 
STDMETHODIMP GetStatus (_Out_ TF_STATUS *pdcs) override
 
STDMETHODIMP GetProperty (_In_ REFGUID guidProp, _Out_ ITfProperty **ppProp) override
 
STDMETHODIMP GetAppProperty (_In_ REFGUID guidProp, _Out_ ITfReadOnlyProperty **ppProp) override
 
STDMETHODIMP TrackProperties (_In_ const GUID **prgProp, _In_ ULONG cProp, _In_ const GUID **prgAppProp, _In_ ULONG cAppProp, _Out_ ITfReadOnlyProperty **ppProperty) override
 
STDMETHODIMP EnumProperties (_Out_ IEnumTfProperties **ppEnum) override
 
STDMETHODIMP GetDocumentMgr (_Out_ ITfDocumentMgr **ppDm) override
 
STDMETHODIMP CreateRangeBackup (_In_ TfEditCookie ec, _In_ ITfRange *pRange, _Out_ ITfRangeBackup **ppBackup) override
 
STDMETHODIMP AdviseSink (_In_ REFIID riid, _In_ IUnknown *punk, _Out_ DWORD *pdwCookie) override
 
STDMETHODIMP UnadviseSink (_In_ DWORD dwCookie) override
 
STDMETHODIMP StartComposition (_In_ TfEditCookie ecWrite, _In_ ITfRange *pCompositionRange, _In_ ITfCompositionSink *pSink, _Out_ ITfComposition **ppComposition) override
 
STDMETHODIMP EnumCompositions (_Out_ IEnumITfCompositionView **ppEnum) override
 
STDMETHODIMP FindComposition (_In_ TfEditCookie ecRead, _In_ ITfRange *pTestRange, _Out_ IEnumITfCompositionView **ppEnum) override
 
STDMETHODIMP TakeOwnership (_In_ TfEditCookie ecWrite, _In_ ITfCompositionView *pComposition, _In_ ITfCompositionSink *pSink, _Out_ ITfComposition **ppComposition) override
 
STDMETHODIMP TerminateComposition (_In_ ITfCompositionView *pComposition) override
 
STDMETHODIMP InsertTextAtSelection (_In_ TfEditCookie ec, _In_ DWORD dwFlags, _In_ const WCHAR *pchText, _In_ LONG cch, _Out_ ITfRange **ppRange) override
 
STDMETHODIMP InsertEmbeddedAtSelection (_In_ TfEditCookie ec, _In_ DWORD dwFlags, _In_ IDataObject *pDataObject, _Out_ ITfRange **ppRange) override
 
STDMETHODIMP AdviseSingleSink (_In_ TfClientId tid, _In_ REFIID riid, _In_ IUnknown *punk) override
 
STDMETHODIMP UnadviseSingleSink (_In_ TfClientId tid, _In_ REFIID riid) override
 
STDMETHODIMP OnTextChange (_In_ DWORD dwFlags, _In_ const TS_TEXTCHANGE *pChange) override
 
STDMETHODIMP OnSelectionChange () override
 
STDMETHODIMP OnLayoutChange (_In_ TsLayoutCode lcode, _In_ TsViewCookie vcView) override
 
STDMETHODIMP OnStatusChange (_In_ DWORD dwFlags) override
 
STDMETHODIMP OnAttrsChange (_In_ LONG acpStart, _In_ LONG acpEnd, _In_ ULONG cAttrs, _In_ const TS_ATTRID *paAttrs) override
 
STDMETHODIMP OnLockGranted (_In_ DWORD dwLockFlags) override
 
STDMETHODIMP OnStartEditTransaction () override
 
STDMETHODIMP OnEndEditTransaction () override
 
STDMETHODIMP Serialize (_In_ ITfProperty *prop, _In_ ITfRange *range, _Out_ TF_PERSISTENT_PROPERTY_HEADER_ACP *header, _In_ IStream *stream) override
 
STDMETHODIMP Unserialize (_In_ ITfProperty *prop, _In_ const TF_PERSISTENT_PROPERTY_HEADER_ACP *header, _In_ IStream *stream, _In_ ITfPersistentPropertyLoaderACP *loader) override
 
STDMETHODIMP ForceLoadProperty (_In_ ITfProperty *prop) override
 
STDMETHODIMP CreateRange (_In_ LONG start, _In_ LONG end, _Out_ ITfRangeACP **range) override
 
- Public Member Functions inherited from ITfContext
HRESULT RequestEditSession ([in] TfClientId tid, [in] ITfEditSession *pes, [in] DWORD dwFlags, [out] HRESULT *phrSession)
 
HRESULT InWriteSession ([in] TfClientId tid, [out] BOOL *pfWriteSession)
 
HRESULT GetSelection ([in] TfEditCookie ec, [in] ULONG ulIndex, [in] ULONG ulCount, [out, size_is(ulCount), length_is(*pcFetched)] TF_SELECTION *pSelection, [out] ULONG *pcFetched)
 
HRESULT SetSelection ([in] TfEditCookie ec, [in] ULONG ulCount, [in, size_is(ulCount)] const TF_SELECTION *pSelection)
 
HRESULT GetStart ([in] TfEditCookie ec, [out] ITfRange **ppStart)
 
HRESULT GetEnd ([in] TfEditCookie ec, [out] ITfRange **ppEnd)
 
HRESULT GetActiveView ([out] ITfContextView **ppView)
 
HRESULT EnumViews ([out] IEnumTfContextViews **ppEnum)
 
HRESULT GetStatus ([out] TF_STATUS *pdcs)
 
HRESULT GetProperty ([in] REFGUID guidProp, [out] ITfProperty **ppProp)
 
HRESULT GetAppProperty ([in] REFGUID guidProp, [out] ITfReadOnlyProperty **ppProp)
 
HRESULT TrackProperties ([in, size_is(cProp)] const GUID **prgProp, [in] ULONG cProp, [in, size_is(cAppProp)] const GUID **prgAppProp, [in] ULONG cAppProp, [out] ITfReadOnlyProperty **ppProperty)
 
HRESULT EnumProperties ([out] IEnumTfProperties **ppEnum)
 
HRESULT GetDocumentMgr ([out] ITfDocumentMgr **ppDm)
 
HRESULT CreateRangeBackup ([in] TfEditCookie ec, [in] ITfRange *pRange, [out] ITfRangeBackup **ppBackup)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
- Public Member Functions inherited from ITfSource
HRESULT AdviseSink ([in] REFIID riid, [in, iid_is(riid)] IUnknown *punk, [out] DWORD *pdwCookie)
 
HRESULT UnadviseSink ([in] DWORD dwCookie)
 
- Public Member Functions inherited from ITfContextOwnerCompositionServices
HRESULT TerminateComposition ([in] ITfCompositionView *pComposition)
 
- Public Member Functions inherited from ITfContextComposition
HRESULT StartComposition ([in] TfEditCookie ecWrite, [in] ITfRange *pCompositionRange, [in] ITfCompositionSink *pSink, [out] ITfComposition **ppComposition)
 
HRESULT EnumCompositions ([out] IEnumITfCompositionView **ppEnum)
 
HRESULT FindComposition ([in] TfEditCookie ecRead, [in] ITfRange *pTestRange, [out] IEnumITfCompositionView **ppEnum)
 
HRESULT TakeOwnership ([in] TfEditCookie ecWrite, [in] ITfCompositionView *pComposition, [in] ITfCompositionSink *pSink, [out] ITfComposition **ppComposition)
 
- Public Member Functions inherited from ITfInsertAtSelection
HRESULT InsertTextAtSelection ([in] TfEditCookie ec, [in] DWORD dwFlags, [in, size_is(cch)] const WCHAR *pchText, [in] LONG cch, [out] ITfRange **ppRange)
 
HRESULT InsertEmbeddedAtSelection ([in] TfEditCookie ec, [in] DWORD dwFlags, [in] IDataObject *pDataObject, [out] ITfRange **ppRange)
 
- Public Member Functions inherited from ITfSourceSingle
HRESULT AdviseSingleSink ([in] TfClientId tid, [in] REFIID riid, [in, iid_is(riid)] IUnknown *punk)
 
HRESULT UnadviseSingleSink ([in] TfClientId tid, [in] REFIID riid)
 
- Public Member Functions inherited from ITextStoreACPSink
HRESULT OnTextChange ([in] DWORD dwFlags, [in] const TS_TEXTCHANGE *pChange)
 
HRESULT OnSelectionChange ()
 
HRESULT OnLayoutChange ([in] TsLayoutCode lcode, [in] TsViewCookie vcView)
 
HRESULT OnStatusChange ([in] DWORD dwFlags)
 
HRESULT OnAttrsChange ([in] LONG acpStart, [in] LONG acpEnd, [in] ULONG cAttrs, [in, size_is(cAttrs)] const TS_ATTRID *paAttrs)
 
HRESULT OnLockGranted ([in] DWORD dwLockFlags)
 
HRESULT OnStartEditTransaction ()
 
HRESULT OnEndEditTransaction ()
 
- Public Member Functions inherited from ITextStoreACPServices
HRESULT Serialize ([in] ITfProperty *prop, [in] ITfRange *range, [out] TF_PERSISTENT_PROPERTY_HEADER_ACP *header, [in] IStream *stream)
 
HRESULT Unserialize ([in] ITfProperty *prop, [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP *header, [in] IStream *stream, [in] ITfPersistentPropertyLoaderACP *loader)
 
HRESULT ForceLoadProperty ([in] ITfProperty *prop)
 
HRESULT CreateRange ([in] LONG start, [in] LONG end, [out] ITfRangeACP **range)
 

Static Public Member Functions

static HRESULT CreateInstance (TfClientId tidOwner, IUnknown *punk, ITfDocumentMgr *mgr, ITfContext **ppOut, TfEditCookie *pecTextStore)
 

Protected Attributes

LONG m_cRefs
 
BOOL m_connected
 
ITfCompartmentMgrm_CompartmentMgr
 
TfClientId m_tidOwner
 
TfEditCookie m_defaultCookie
 
TS_STATUS m_documentStatus
 
ITfDocumentMgrm_manager
 
ITextStoreACPm_pITextStoreACP
 
ITfContextOwnerCompositionSinkm_pITfContextOwnerCompositionSink
 
ITfEditSessionm_currentEditSession
 
struct list m_pContextKeyEventSink
 
struct list m_pEditTransactionSink
 
struct list m_pStatusSink
 
struct list m_pTextEditSink
 
struct list m_pTextLayoutSink
 

Additional Inherited Members

- Public Types inherited from ITfContext
enum  TfActiveSelEnd { TF_AE_NONE , TF_AE_START , TF_AE_END }
 
typedef struct ITfContext::TF_SELECTIONSTYLE TF_SELECTIONSTYLE
 
typedef struct ITfContext::TF_SELECTION TF_SELECTION
 
typedef TS_STATUS TF_STATUS
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Attributes inherited from ITfContext
const DWORD TF_ES_ASYNCDONTCARE = 0x0
 
const DWORD TF_ES_SYNC = 0x1
 
const DWORD TF_ES_READ = 0x2
 
const DWORD TF_ES_READWRITE = 0x6
 
const DWORD TF_ES_ASYNC = 0x8
 
const ULONG TF_DEFAULT_SELECTION = TS_DEFAULT_SELECTION
 
const DWORD TF_SD_READONLY = TS_SD_READONLY
 
const DWORD TF_SD_LOADING = TS_SD_LOADING
 
const DWORD TF_SS_DISJOINTSEL = TS_SS_DISJOINTSEL
 
const DWORD TF_SS_REGIONS = TS_SS_REGIONS
 
const DWORD TF_SS_TRANSITORY = TS_SS_TRANSITORY
 
- Public Attributes inherited from ITfInsertAtSelection
const DWORD TF_IAS_NOQUERY = 0x1
 
const DWORD TF_IAS_QUERYONLY = 0x2
 
const DWORD TF_IAS_NO_DEFAULT_COMPOSITION = 0x80000000
 

Detailed Description

Definition at line 16 of file context.cpp.

Constructor & Destructor Documentation

◆ CContext()

CContext::CContext ( )

Definition at line 210 of file context.cpp.

211 : m_cRefs(1)
214 , m_manager(NULL)
218{
224}
static void list_init(struct list_entry *head)
Definition: list.h:51
struct list m_pContextKeyEventSink
Definition: context.cpp:193
struct list m_pStatusSink
Definition: context.cpp:195
struct list m_pEditTransactionSink
Definition: context.cpp:194
ITextStoreACP * m_pITextStoreACP
Definition: context.cpp:188
BOOL m_connected
Definition: context.cpp:178
ITfEditSession * m_currentEditSession
Definition: context.cpp:190
struct list m_pTextEditSink
Definition: context.cpp:196
struct list m_pTextLayoutSink
Definition: context.cpp:197
ITfDocumentMgr * m_manager
Definition: context.cpp:186
LONG m_cRefs
Definition: context.cpp:177
ITfContextOwnerCompositionSink * m_pITfContextOwnerCompositionSink
Definition: context.cpp:189
ITfCompartmentMgr * m_CompartmentMgr
Definition: context.cpp:181
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117

Referenced by CreateInstance().

◆ ~CContext()

CContext::~CContext ( )
virtual

Definition at line 226 of file context.cpp.

227{
229 TRACE("destroying %p\n", this);
230
233
236
237 if (m_defaultCookie)
238 {
241 m_defaultCookie = 0;
242 }
243
249
252}
static void cicMemFree(LPVOID ptr)
Definition: cicbase.h:20
TfEditCookie m_defaultCookie
Definition: context.cpp:184
ULONG Release()
EXTERN_C LPVOID remove_Cookie(DWORD id)
Definition: msctf.cpp:231
EXTERN_C void free_sinks(struct list *sink_list)
Definition: msctf.cpp:297
#define TRACE(s)
Definition: solgame.cpp:4
Definition: cookie.c:34

Member Function Documentation

◆ AdviseSingleSink()

STDMETHODIMP CContext::AdviseSingleSink ( _In_ TfClientId  tid,
_In_ REFIID  riid,
_In_ IUnknown punk 
)
override

Definition at line 713 of file context.cpp.

717{
718 FIXME("STUB:(%p) %i %s %p\n", this, tid, debugstr_guid(&riid), punk);
719 return E_NOTIMPL;
720}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define E_NOTIMPL
Definition: ddrawi.h:99
REFIID riid
Definition: atlbase.h:39
static TfClientId tid
#define debugstr_guid
Definition: kernel32.h:35

◆ AdviseSink()

STDMETHODIMP CContext::AdviseSink ( _In_ REFIID  riid,
_In_ IUnknown punk,
_Out_ DWORD pdwCookie 
)
override

Definition at line 597 of file context.cpp.

601{
602 TRACE("(%p) %s %p %p\n", this, debugstr_guid(&riid), punk, pdwCookie);
603
604 if (cicIsNullPtr(&riid) || !punk || !pdwCookie)
605 return E_INVALIDARG;
606
607 if (riid == IID_ITfTextEditSink)
608 return advise_sink(&m_pTextEditSink, IID_ITfTextEditSink, COOKIE_MAGIC_CONTEXTSINK, punk, pdwCookie);
609
610 FIXME("(%p) Unhandled Sink: %s\n", this, debugstr_guid(&riid));
611 return E_NOTIMPL;
612}
#define COOKIE_MAGIC_CONTEXTSINK
Definition: precomp.h:34
static bool cicIsNullPtr(LPCVOID ptr)
Definition: cicbase.h:40
#define E_INVALIDARG
Definition: ddrawi.h:101
EXTERN_C HRESULT advise_sink(struct list *sink_list, REFIID riid, DWORD cookie_magic, IUnknown *unk, DWORD *cookie)
Definition: msctf.cpp:259

◆ CreateInstance()

HRESULT CContext::CreateInstance ( TfClientId  tidOwner,
IUnknown punk,
ITfDocumentMgr mgr,
ITfContext **  ppOut,
TfEditCookie pecTextStore 
)
static

Definition at line 889 of file context.cpp.

895{
897 if (!This)
898 return E_OUTOFMEMORY;
899
901 if (!cookie)
902 {
903 delete This;
904 return E_OUTOFMEMORY;
905 }
906
907 TRACE("(%p) %x %p %p %p\n", This, tidOwner, punk, ppOut, pecTextStore);
908
909 This->m_tidOwner = tidOwner;
910 This->m_manager = mgr;
911
912 CompartmentMgr_Constructor(static_cast<ITfContext *>(This), IID_IUnknown, (IUnknown **)&This->m_CompartmentMgr);
913
914 cookie->lockType = TF_ES_READ;
915 cookie->pOwningContext = This;
916
917 if (punk)
918 {
919 punk->QueryInterface(IID_ITextStoreACP, (LPVOID*)&This->m_pITextStoreACP);
920 punk->QueryInterface(IID_ITfContextOwnerCompositionSink, (LPVOID*)&This->m_pITfContextOwnerCompositionSink);
921
922 if (!This->m_pITextStoreACP && !This->m_pITfContextOwnerCompositionSink)
923 FIXME("Unhandled pUnk\n");
924 }
925
927 *pecTextStore = This->m_defaultCookie;
928
929 list_init(&This->m_pContextKeyEventSink);
930 list_init(&This->m_pEditTransactionSink);
931 list_init(&This->m_pStatusSink);
932 list_init(&This->m_pTextEditSink);
933 list_init(&This->m_pTextLayoutSink);
934
935 *ppOut = static_cast<ITfContext *>(This);
936 TRACE("returning %p\n", *ppOut);
937
938 return S_OK;
939}
#define COOKIE_MAGIC_EDITCOOKIE
Definition: precomp.h:37
const GUID IID_IUnknown
static LPVOID cicMemAlloc(SIZE_T size)
Definition: cicbase.h:10
#define cicNoThrow
Definition: cicbase.h:46
CContext()
Definition: context.cpp:210
EXTERN_C HRESULT CompartmentMgr_Constructor(IUnknown *pUnkOuter, REFIID riid, IUnknown **ppOut)
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
const DWORD TF_ES_READ
Definition: msctf.idl:413
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define S_OK
Definition: intsafe.h:52
EXTERN_C DWORD generate_Cookie(DWORD magic, LPVOID data)
Definition: msctf.cpp:157

Referenced by Context_Constructor().

◆ CreateRange()

STDMETHODIMP CContext::CreateRange ( _In_ LONG  start,
_In_ LONG  end,
_Out_ ITfRangeACP **  range 
)
override

Definition at line 880 of file context.cpp.

884{
885 FIXME("stub: %p %d %d %p\n", this, start, end, range);
886 return S_OK;
887}
GLuint start
Definition: gl.h:1545
GLuint GLuint end
Definition: gl.h:1545
GLenum GLint * range
Definition: glext.h:7539

◆ CreateRangeBackup()

STDMETHODIMP CContext::CreateRangeBackup ( _In_ TfEditCookie  ec,
_In_ ITfRange pRange,
_Out_ ITfRangeBackup **  ppBackup 
)
override

Definition at line 588 of file context.cpp.

592{
593 FIXME("STUB:(%p)\n", this);
594 return E_NOTIMPL;
595}

◆ EnumCompositions()

STDMETHODIMP CContext::EnumCompositions ( _Out_ IEnumITfCompositionView **  ppEnum)
override

Definition at line 634 of file context.cpp.

635{
636 FIXME("STUB:(%p) %p\n", this, ppEnum);
637 return E_NOTIMPL;
638}

◆ EnumProperties()

STDMETHODIMP CContext::EnumProperties ( _Out_ IEnumTfProperties **  ppEnum)
override

Definition at line 567 of file context.cpp.

568{
569 FIXME("STUB:(%p)\n", this);
570 return E_NOTIMPL;
571}

◆ EnumViews()

STDMETHODIMP CContext::EnumViews ( _Out_ IEnumTfContextViews **  ppEnum)
override

Definition at line 511 of file context.cpp.

512{
513 FIXME("STUB:(%p)\n", this);
514 return E_NOTIMPL;
515}

◆ FindComposition()

STDMETHODIMP CContext::FindComposition ( _In_ TfEditCookie  ecRead,
_In_ ITfRange pTestRange,
_Out_ IEnumITfCompositionView **  ppEnum 
)
override

Definition at line 640 of file context.cpp.

644{
645 FIXME("STUB:(%p) %#x %p %p\n", this, ecRead, pTestRange, ppEnum);
646 return E_NOTIMPL;
647}

◆ ForceLoadProperty()

STDMETHODIMP CContext::ForceLoadProperty ( _In_ ITfProperty prop)
override

Definition at line 874 of file context.cpp.

875{
876 FIXME("stub: %p %p\n", this, prop);
877 return E_NOTIMPL;
878}

◆ GetActiveView()

STDMETHODIMP CContext::GetActiveView ( _Out_ ITfContextView **  ppView)
override

Definition at line 505 of file context.cpp.

506{
507 FIXME("STUB:(%p)\n", this);
508 return E_NOTIMPL;
509}

◆ GetAppProperty()

STDMETHODIMP CContext::GetAppProperty ( _In_ REFGUID  guidProp,
_Out_ ITfReadOnlyProperty **  ppProp 
)
override

Definition at line 548 of file context.cpp.

551{
552 FIXME("STUB:(%p)\n", this);
553 return E_NOTIMPL;
554}

◆ GetDocumentMgr()

STDMETHODIMP CContext::GetDocumentMgr ( _Out_ ITfDocumentMgr **  ppDm)
override

Definition at line 573 of file context.cpp.

574{
575 TRACE("(%p) %p\n", this, ppDm);
576
577 if (!ppDm)
578 return E_INVALIDARG;
579
580 *ppDm = m_manager;
581 if (!m_manager)
582 return S_FALSE;
583
584 m_manager->AddRef();
585 return S_OK;
586}
ULONG AddRef()
#define S_FALSE
Definition: winerror.h:3451

◆ GetEnd()

STDMETHODIMP CContext::GetEnd ( _In_ TfEditCookie  ec,
_Out_ ITfRange **  ppEnd 
)
override

Definition at line 475 of file context.cpp.

478{
479 LONG end;
480
481 TRACE("(%p) %i %p\n", this, ec, ppEnd);
482
483 if (!ppEnd)
484 return E_INVALIDARG;
485
486 *ppEnd = NULL;
487
488 if (!m_connected)
489 return TF_E_DISCONNECTED;
490
492 return TF_E_NOLOCK;
493
494 if (!m_pITextStoreACP)
495 {
496 FIXME("Context does not have a ITextStoreACP\n");
497 return E_NOTIMPL;
498 }
499
501
502 return Range_Constructor(this, end, end, ppEnd);
503}
HRESULT Range_Constructor(ITfContext *context, DWORD anchorStart, DWORD anchorEnd, ITfRange **ppOut)
Definition: range.cpp:372
HRESULT GetEndACP([out] LONG *pacp)
EXTERN_C DWORD get_Cookie_magic(DWORD id)
Definition: msctf.cpp:203
long LONG
Definition: pedump.c:60

◆ GetProperty()

STDMETHODIMP CContext::GetProperty ( _In_ REFGUID  guidProp,
_Out_ ITfProperty **  ppProp 
)
override

Definition at line 540 of file context.cpp.

543{
544 FIXME("STUB:(%p)\n", this);
545 return E_NOTIMPL;
546}

◆ GetSelection()

STDMETHODIMP CContext::GetSelection ( _In_ TfEditCookie  ec,
_In_ ULONG  ulIndex,
_In_ ULONG  ulCount,
_Out_ TF_SELECTION pSelection,
_Out_ ULONG pcFetched 
)
override

Definition at line 360 of file context.cpp.

366{
367 ULONG count, i;
368 ULONG totalFetched = 0;
369 HRESULT hr = S_OK;
370
371 if (!pSelection || !pcFetched)
372 return E_INVALIDARG;
373
374 *pcFetched = 0;
375
376 if (!m_connected)
377 return TF_E_DISCONNECTED;
378
380 return TF_E_NOLOCK;
381
382 if (!m_pITextStoreACP)
383 {
384 FIXME("Context does not have a ITextStoreACP\n");
385 return E_NOTIMPL;
386 }
387
388 count = (ulIndex == (ULONG)TF_DEFAULT_SELECTION) ? 1 : ulCount;
389
390 for (i = 0; i < count; i++)
391 {
392 DWORD fetched;
393 TS_SELECTION_ACP acps;
394
395 hr = m_pITextStoreACP->GetSelection(ulIndex + i, 1, &acps, &fetched);
396 if (hr == TS_E_NOLOCK)
397 return TF_E_NOLOCK;
398 else if (FAILED(hr))
399 break;
400
401 pSelection[totalFetched].style.ase = (TfActiveSelEnd)acps.style.ase;
402 pSelection[totalFetched].style.fInterimChar = acps.style.fInterimChar;
403 Range_Constructor(this, acps.acpStart, acps.acpEnd, &pSelection[totalFetched].range);
404 totalFetched++;
405 }
406
407 *pcFetched = totalFetched;
408 return hr;
409}
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
HRESULT GetSelection([in] ULONG ulIndex, [in] ULONG ulCount, [out, size_is(ulCount), length_is(*pcFetched)] TS_SELECTION_ACP *pSelection, [out] ULONG *pcFetched)
const ULONG TF_DEFAULT_SELECTION
Definition: msctf.idl:441
TfActiveSelEnd
Definition: msctf.idl:427
#define FAILED(hr)
Definition: intsafe.h:51
HRESULT hr
Definition: shlfolder.c:183
TsActiveSelEnd ase
Definition: textstor.idl:86
TS_SELECTIONSTYLE style
Definition: textstor.idl:94
uint32_t ULONG
Definition: typedefs.h:59

◆ GetStart()

STDMETHODIMP CContext::GetStart ( _In_ TfEditCookie  ec,
_Out_ ITfRange **  ppStart 
)
override

Definition at line 454 of file context.cpp.

457{
458 TRACE("(%p) %i %p\n", this, ec, ppStart);
459
460 if (!ppStart)
461 return E_INVALIDARG;
462
463 *ppStart = NULL;
464
465 if (!m_connected)
466 return TF_E_DISCONNECTED;
467
469 return TF_E_NOLOCK;
470
471 return Range_Constructor(this, 0, 0, ppStart);
472}

◆ GetStatus()

STDMETHODIMP CContext::GetStatus ( _Out_ TF_STATUS pdcs)
override

Definition at line 517 of file context.cpp.

518{
519 TRACE("(%p) %p\n", this, pdcs);
520
521 if (!m_connected)
522 return TF_E_DISCONNECTED;
523
524 if (!pdcs)
525 return E_INVALIDARG;
526
527 if (!m_pITextStoreACP)
528 {
529 FIXME("Context does not have a ITextStoreACP\n");
530 return E_NOTIMPL;
531 }
532
534
535 *pdcs = m_documentStatus;
536
537 return S_OK;
538}
TS_STATUS m_documentStatus
Definition: context.cpp:185
HRESULT GetStatus([out] TS_STATUS *pdcs)

◆ Initialize()

HRESULT CContext::Initialize ( ITfDocumentMgr manager)

Definition at line 941 of file context.cpp.

942{
944 {
945 m_pITextStoreACP->AdviseSink(IID_ITextStoreACPSink,
946 static_cast<ITextStoreACPSink *>(this),
948 }
950 m_manager = manager;
951 return S_OK;
952}
#define TRUE
Definition: types.h:120
HRESULT AdviseSink([in] REFIID riid, [in, iid_is(riid)] IUnknown *punk, [in] DWORD dwMask)
const DWORD TS_AS_ALL_SINKS
Definition: textstor.idl:54

◆ InsertEmbeddedAtSelection()

STDMETHODIMP CContext::InsertEmbeddedAtSelection ( _In_ TfEditCookie  ec,
_In_ DWORD  dwFlags,
_In_ IDataObject pDataObject,
_Out_ ITfRange **  ppRange 
)
override

Definition at line 703 of file context.cpp.

708{
709 FIXME("STUB:(%p)\n", this);
710 return E_NOTIMPL;
711}

◆ InsertTextAtSelection()

STDMETHODIMP CContext::InsertTextAtSelection ( _In_ TfEditCookie  ec,
_In_ DWORD  dwFlags,
_In_ const WCHAR pchText,
_In_ LONG  cch,
_Out_ ITfRange **  ppRange 
)
override

Definition at line 665 of file context.cpp.

671{
673 LONG acpStart, acpEnd;
674 TS_TEXTCHANGE change;
675 HRESULT hr;
676
677 TRACE("(%p) %i %x %s %p\n", this, ec, dwFlags, debugstr_wn(pchText,cch), ppRange);
678
679 if (!m_connected)
680 return TF_E_DISCONNECTED;
681
683 return TF_E_NOLOCK;
684
686
687 if ((cookie->lockType & TS_LF_READWRITE) != TS_LF_READWRITE)
688 return TS_E_READONLY;
689
690 if (!m_pITextStoreACP)
691 {
692 FIXME("Context does not have a ITextStoreACP\n");
693 return E_NOTIMPL;
694 }
695
696 hr = m_pITextStoreACP->InsertTextAtSelection(dwFlags, pchText, cch, &acpStart, &acpEnd, &change);
697 if (SUCCEEDED(hr))
698 Range_Constructor(this, change.acpStart, change.acpNewEnd, ppRange);
699
700 return hr;
701}
HRESULT InsertTextAtSelection([in] DWORD dwFlags, [in, size_is(cch)] const WCHAR *pchText, [in] ULONG cch, [out] LONG *pacpStart, [out] LONG *pacpEnd, [out] TS_TEXTCHANGE *pChange)
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define debugstr_wn
Definition: kernel32.h:33
LPCWSTR LPCWSTR LPCWSTR DWORD dwFlags
Definition: env.c:37
EXTERN_C LPVOID get_Cookie_data(DWORD id)
Definition: msctf.cpp:217
_In_ UINT _In_ UINT cch
Definition: shellapi.h:432
LONG acpNewEnd
Definition: textstor.idl:81
const DWORD TS_LF_READWRITE
Definition: textstor.idl:58

◆ InWriteSession()

STDMETHODIMP CContext::InWriteSession ( _In_ TfClientId  tid,
_Out_ BOOL pfWriteSession 
)
override

Definition at line 352 of file context.cpp.

355{
356 FIXME("STUB:(%p)\n", this);
357 return E_NOTIMPL;
358}

◆ OnAttrsChange()

STDMETHODIMP CContext::OnAttrsChange ( _In_ LONG  acpStart,
_In_ LONG  acpEnd,
_In_ ULONG  cAttrs,
_In_ const TS_ATTRID paAttrs 
)
override

Definition at line 772 of file context.cpp.

777{
778 FIXME("STUB:(%p)\n", this);
779 return E_NOTIMPL;
780}

◆ OnEndEditTransaction()

STDMETHODIMP CContext::OnEndEditTransaction ( )
override

Implements ITextStoreACPSink.

Definition at line 848 of file context.cpp.

849{
850 FIXME("STUB:(%p)\n", this);
851 return E_NOTIMPL;
852}

◆ OnLayoutChange()

STDMETHODIMP CContext::OnLayoutChange ( _In_ TsLayoutCode  lcode,
_In_ TsViewCookie  vcView 
)
override

Definition at line 744 of file context.cpp.

747{
748 FIXME("STUB:(%p)\n", this);
749 return S_OK;
750}

◆ OnLockGranted()

STDMETHODIMP CContext::OnLockGranted ( _In_ DWORD  dwLockFlags)
override

Definition at line 782 of file context.cpp.

783{
784 HRESULT hr;
785 EditCookie *cookie, *sinkcookie;
786 TfEditCookie ec;
787 struct list *cursor;
788
789 TRACE("(%p) %x\n", this, dwLockFlags);
790
792 {
793 FIXME("OnLockGranted called for something other than an EditSession\n");
794 return S_OK;
795 }
796
798 if (!cookie)
799 return E_OUTOFMEMORY;
800
801 sinkcookie = (EditCookie *)cicMemAlloc(sizeof(EditCookie));
802 if (!sinkcookie)
803 {
805 return E_OUTOFMEMORY;
806 }
807
808 cookie->lockType = dwLockFlags;
809 cookie->pOwningContext = this;
811
813
814 if ((dwLockFlags & TS_LF_READWRITE) == TS_LF_READWRITE)
815 {
817 TfEditCookie sc;
818
819 sinkcookie->lockType = TS_LF_READ;
820 sinkcookie->pOwningContext = this;
822
823 /*TODO: implement ITfEditRecord */
825 {
826 sink->OnEndEdit(static_cast<ITfContext *>(this), sc, NULL);
827 }
828 sinkcookie = (EditCookie *)remove_Cookie(sc);
829 }
830 cicMemFree(sinkcookie);
831
834
835 /* Edit Cookie is only valid during the edit session */
838
839 return hr;
840}
#define SINK_FOR_EACH(cursor, list, type, elem)
Definition: precomp.h:96
Definition: list.h:37
GLsizei GLenum GLboolean sink
Definition: glext.h:5672
const char cursor[]
Definition: icontest.c:13
HRESULT DoEditSession([in] TfEditCookie ec)
DWORD TfEditCookie
Definition: msctf.idl:86
CContext * pOwningContext
Definition: context.cpp:205
DWORD lockType
Definition: context.cpp:204
const DWORD TS_LF_READ
Definition: textstor.idl:57

◆ OnSelectionChange()

STDMETHODIMP CContext::OnSelectionChange ( )
override

Implements ITextStoreACPSink.

Definition at line 738 of file context.cpp.

739{
740 FIXME("STUB:(%p)\n", this);
741 return S_OK;
742}

◆ OnStartEditTransaction()

STDMETHODIMP CContext::OnStartEditTransaction ( )
override

Implements ITextStoreACPSink.

Definition at line 842 of file context.cpp.

843{
844 FIXME("STUB:(%p)\n", this);
845 return E_NOTIMPL;
846}

◆ OnStatusChange()

STDMETHODIMP CContext::OnStatusChange ( _In_ DWORD  dwFlags)
override

Definition at line 752 of file context.cpp.

753{
754 HRESULT hr, hrSession;
755
756 TRACE("(%p) %x\n", this, dwFlags);
757
758 if (!m_pITextStoreACP)
759 {
760 FIXME("Context does not have a ITextStoreACP\n");
761 return E_NOTIMPL;
762 }
763
765
766 if(SUCCEEDED(hr) && SUCCEEDED(hrSession))
768
769 return S_OK;
770}
HRESULT RequestLock([in] DWORD dwLockFlags, [out] HRESULT *phrSession)
DWORD dwDynamicFlags
Definition: textstor.idl:73

◆ OnTextChange()

STDMETHODIMP CContext::OnTextChange ( _In_ DWORD  dwFlags,
_In_ const TS_TEXTCHANGE pChange 
)
override

Definition at line 730 of file context.cpp.

733{
734 FIXME("STUB:(%p)\n", this);
735 return S_OK;
736}

◆ QueryInterface()

STDMETHODIMP CContext::QueryInterface ( REFIID  riid,
void **  ppvObj 
)
override

Implements IUnknown.

Definition at line 254 of file context.cpp.

255{
256 *ppvObj = NULL;
257
258 IUnknown *pUnk = NULL;
259 if (riid == IID_IUnknown || riid == IID_ITfContext)
260 pUnk = static_cast<ITfContext *>(this);
261 else if (riid == IID_ITfSource)
262 pUnk = static_cast<ITfSource *>(this);
263 else if (riid == IID_ITfContextOwnerCompositionServices)
264 pUnk = static_cast<ITfContextOwnerCompositionServices *>(this);
265 else if (riid == IID_ITfInsertAtSelection)
266 pUnk = static_cast<ITfInsertAtSelection *>(this);
267 else if (riid == IID_ITfCompartmentMgr)
269 else if (riid == IID_ITfSourceSingle)
270 pUnk = static_cast<ITfSourceSingle *>(this);
271 else if (riid == IID_ITextStoreACPSink)
272 pUnk = static_cast<ITextStoreACPSink *>(this);
273 else if (riid == IID_ITextStoreACPServices)
274 pUnk = static_cast<ITextStoreACPServices *>(this);
275
276 if (pUnk)
277 {
278 pUnk->AddRef();
279 *ppvObj = pUnk;
280 return S_OK;
281 }
282
283 WARN("unsupported interface: %s\n", debugstr_guid(&riid));
284 return E_NOINTERFACE;
285}
#define WARN(fmt,...)
Definition: precomp.h:61
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30
nsrefcnt AddRef()
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ RequestEditSession()

STDMETHODIMP CContext::RequestEditSession ( _In_ TfClientId  tid,
_In_ ITfEditSession pes,
_In_ DWORD  dwFlags,
_Out_ HRESULT phrSession 
)
override

Definition at line 300 of file context.cpp.

305{
306 HRESULT hr;
307 DWORD dwLockFlags = 0x0;
308
309 TRACE("(%p) %i %p %x %p\n", this, tid, pes, dwFlags, phrSession);
310
311 if (!(dwFlags & TF_ES_READ) && !(dwFlags & TF_ES_READWRITE))
312 {
313 *phrSession = E_FAIL;
314 return E_INVALIDARG;
315 }
316
317 if (!m_pITextStoreACP)
318 {
319 FIXME("No ITextStoreACP available\n");
320 *phrSession = E_FAIL;
321 return E_FAIL;
322 }
323
324 if (!(dwFlags & TF_ES_ASYNC))
325 dwLockFlags |= TS_LF_SYNC;
326
328 dwLockFlags |= TS_LF_READWRITE;
329 else if (dwFlags & TF_ES_READ)
330 dwLockFlags |= TS_LF_READ;
331
334
337 {
338 *phrSession = TS_E_READONLY;
339 return S_OK;
340 }
341
342 hr = pes->QueryInterface(IID_ITfEditSession, (LPVOID *)&m_currentEditSession);
343 if (FAILED(hr))
344 {
345 *phrSession = E_FAIL;
346 return E_INVALIDARG;
347 }
348
349 return m_pITextStoreACP->RequestLock(dwLockFlags, phrSession);
350}
#define E_FAIL
Definition: ddrawi.h:102
const DWORD TF_ES_ASYNC
Definition: msctf.idl:415
const DWORD TF_ES_READWRITE
Definition: msctf.idl:414
const DWORD TS_LF_SYNC
Definition: textstor.idl:56
const DWORD TS_SD_READONLY
Definition: textstor.idl:40

◆ Serialize()

STDMETHODIMP CContext::Serialize ( _In_ ITfProperty prop,
_In_ ITfRange range,
_Out_ TF_PERSISTENT_PROPERTY_HEADER_ACP header,
_In_ IStream stream 
)
override

Definition at line 854 of file context.cpp.

859{
860 FIXME("stub: %p %p %p %p %p\n", this, prop, range, header, stream);
861 return E_NOTIMPL;
862}
Definition: parse.h:23

◆ SetSelection()

STDMETHODIMP CContext::SetSelection ( _In_ TfEditCookie  ec,
_In_ ULONG  ulCount,
_In_ const TF_SELECTION pSelection 
)
override

Definition at line 412 of file context.cpp.

416{
417 TS_SELECTION_ACP *acp;
418 ULONG i;
419 HRESULT hr;
420
421 TRACE("(%p) %i %i %p\n", this, ec, ulCount, pSelection);
422
423 if (!m_pITextStoreACP)
424 {
425 FIXME("Context does not have a ITextStoreACP\n");
426 return E_NOTIMPL;
427 }
428
430 return TF_E_NOLOCK;
431
432 acp = (TS_SELECTION_ACP *)cicMemAlloc(sizeof(TS_SELECTION_ACP) * ulCount);
433 if (!acp)
434 return E_OUTOFMEMORY;
435
436 for (i = 0; i < ulCount; i++)
437 {
438 if (FAILED(TF_SELECTION_to_TS_SELECTION_ACP(&pSelection[i], &acp[i])))
439 {
440 TRACE("Selection Conversion Failed\n");
441 cicMemFree(acp);
442 return E_FAIL;
443 }
444 }
445
446 hr = m_pITextStoreACP->SetSelection(ulCount, acp);
447
448 cicMemFree(acp);
449
450 return hr;
451}
HRESULT TF_SELECTION_to_TS_SELECTION_ACP(const TF_SELECTION *tf, TS_SELECTION_ACP *tsAcp)
Definition: range.cpp:385
HRESULT SetSelection([in] ULONG ulCount, [in, size_is(ulCount)] const TS_SELECTION_ACP *pSelection)

◆ StartComposition()

STDMETHODIMP CContext::StartComposition ( _In_ TfEditCookie  ecWrite,
_In_ ITfRange pCompositionRange,
_In_ ITfCompositionSink pSink,
_Out_ ITfComposition **  ppComposition 
)
override

Definition at line 624 of file context.cpp.

629{
630 FIXME("STUB:(%p) %#x %p %p %p\n", this, ecWrite, pCompositionRange, pSink, ppComposition);
631 return E_NOTIMPL;
632}

◆ STDMETHODIMP_() [1/2]

CContext::STDMETHODIMP_ ( ULONG  )
override

◆ STDMETHODIMP_() [2/2]

CContext::STDMETHODIMP_ ( ULONG  )
override

◆ TakeOwnership()

STDMETHODIMP CContext::TakeOwnership ( _In_ TfEditCookie  ecWrite,
_In_ ITfCompositionView pComposition,
_In_ ITfCompositionSink pSink,
_Out_ ITfComposition **  ppComposition 
)
override

Definition at line 649 of file context.cpp.

654{
655 FIXME("STUB:(%p) %#x %p %p %p\n", this, ecWrite, pComposition, pSink, ppComposition);
656 return E_NOTIMPL;
657}

◆ TerminateComposition()

STDMETHODIMP CContext::TerminateComposition ( _In_ ITfCompositionView pComposition)
override

Definition at line 659 of file context.cpp.

660{
661 FIXME("STUB:(%p) %p\n", this, pComposition);
662 return E_NOTIMPL;
663}

◆ TrackProperties()

STDMETHODIMP CContext::TrackProperties ( _In_ const GUID **  prgProp,
_In_ ULONG  cProp,
_In_ const GUID **  prgAppProp,
_In_ ULONG  cAppProp,
_Out_ ITfReadOnlyProperty **  ppProperty 
)
override

Definition at line 556 of file context.cpp.

562{
563 FIXME("STUB:(%p)\n", this);
564 return E_NOTIMPL;
565}

◆ UnadviseSingleSink()

STDMETHODIMP CContext::UnadviseSingleSink ( _In_ TfClientId  tid,
_In_ REFIID  riid 
)
override

Definition at line 722 of file context.cpp.

725{
726 FIXME("STUB:(%p) %i %s\n", this, tid, debugstr_guid(&riid));
727 return E_NOTIMPL;
728}

◆ UnadviseSink()

STDMETHODIMP CContext::UnadviseSink ( _In_ DWORD  dwCookie)
override

Definition at line 614 of file context.cpp.

615{
616 TRACE("(%p) %x\n", this, dwCookie);
617
619 return E_INVALIDARG;
620
621 return unadvise_sink(dwCookie);
622}
EXTERN_C HRESULT unadvise_sink(DWORD cookie)
Definition: msctf.cpp:286

◆ Uninitialize()

HRESULT CContext::Uninitialize ( )

Definition at line 954 of file context.cpp.

955{
957 m_pITextStoreACP->UnadviseSink(static_cast<ITextStoreACPSink *>(this));
959 m_manager = NULL;
960 return S_OK;
961}
HRESULT UnadviseSink([in] IUnknown *punk)

◆ Unserialize()

STDMETHODIMP CContext::Unserialize ( _In_ ITfProperty prop,
_In_ const TF_PERSISTENT_PROPERTY_HEADER_ACP header,
_In_ IStream stream,
_In_ ITfPersistentPropertyLoaderACP loader 
)
override

Definition at line 864 of file context.cpp.

869{
870 FIXME("stub: %p %p %p %p %p\n", this, prop, header, stream, loader);
871 return E_NOTIMPL;
872}

Member Data Documentation

◆ m_CompartmentMgr

ITfCompartmentMgr* CContext::m_CompartmentMgr
protected

Definition at line 181 of file context.cpp.

Referenced by QueryInterface(), and ~CContext().

◆ m_connected

BOOL CContext::m_connected
protected

◆ m_cRefs

LONG CContext::m_cRefs
protected

Definition at line 177 of file context.cpp.

Referenced by STDMETHODIMP_().

◆ m_currentEditSession

ITfEditSession* CContext::m_currentEditSession
protected

Definition at line 190 of file context.cpp.

Referenced by OnLockGranted(), and RequestEditSession().

◆ m_defaultCookie

TfEditCookie CContext::m_defaultCookie
protected

Definition at line 184 of file context.cpp.

Referenced by ~CContext().

◆ m_documentStatus

TS_STATUS CContext::m_documentStatus
protected

Definition at line 185 of file context.cpp.

Referenced by GetStatus(), OnStatusChange(), and RequestEditSession().

◆ m_manager

ITfDocumentMgr* CContext::m_manager
protected

Definition at line 186 of file context.cpp.

Referenced by GetDocumentMgr(), Initialize(), and Uninitialize().

◆ m_pContextKeyEventSink

struct list CContext::m_pContextKeyEventSink
protected

Definition at line 193 of file context.cpp.

Referenced by CContext(), and ~CContext().

◆ m_pEditTransactionSink

struct list CContext::m_pEditTransactionSink
protected

Definition at line 194 of file context.cpp.

Referenced by CContext(), and ~CContext().

◆ m_pITextStoreACP

◆ m_pITfContextOwnerCompositionSink

ITfContextOwnerCompositionSink* CContext::m_pITfContextOwnerCompositionSink
protected

Definition at line 189 of file context.cpp.

Referenced by ~CContext().

◆ m_pStatusSink

struct list CContext::m_pStatusSink
protected

Definition at line 195 of file context.cpp.

Referenced by CContext(), and ~CContext().

◆ m_pTextEditSink

struct list CContext::m_pTextEditSink
protected

Definition at line 196 of file context.cpp.

Referenced by AdviseSink(), CContext(), OnLockGranted(), and ~CContext().

◆ m_pTextLayoutSink

struct list CContext::m_pTextLayoutSink
protected

Definition at line 197 of file context.cpp.

Referenced by CContext(), and ~CContext().

◆ m_tidOwner

TfClientId CContext::m_tidOwner
protected

Definition at line 183 of file context.cpp.


The documentation for this class was generated from the following file: