213 , m_CompartmentMgr(
NULL)
215 , m_pITextStoreACP(
NULL)
216 , m_pITfContextOwnerCompositionSink(
NULL)
217 , m_currentEditSession(
NULL)
229 TRACE(
"destroying %p\n",
this);
261 else if (
riid == IID_ITfSource)
263 else if (
riid == IID_ITfContextOwnerCompositionServices)
265 else if (
riid == IID_ITfInsertAtSelection)
267 else if (
riid == IID_ITfCompartmentMgr)
269 else if (
riid == IID_ITfSourceSingle)
271 else if (
riid == IID_ITextStoreACPSink)
273 else if (
riid == IID_ITextStoreACPServices)
289 return ::InterlockedIncrement(&
m_cRefs);
307 DWORD dwLockFlags = 0x0;
319 FIXME(
"No ITextStoreACP available\n");
338 *phrSession = TS_E_READONLY;
356 FIXME(
"STUB:(%p)\n",
this);
368 ULONG totalFetched = 0;
371 if (!pSelection || !pcFetched)
377 return TF_E_DISCONNECTED;
384 FIXME(
"Context does not have a ITextStoreACP\n");
396 if (
hr == TS_E_NOLOCK)
407 *pcFetched = totalFetched;
421 TRACE(
"(%p) %i %i %p\n",
this, ec, ulCount, pSelection);
425 FIXME(
"Context does not have a ITextStoreACP\n");
436 for (
i = 0;
i < ulCount;
i++)
440 TRACE(
"Selection Conversion Failed\n");
458 TRACE(
"(%p) %i %p\n",
this, ec, ppStart);
466 return TF_E_DISCONNECTED;
481 TRACE(
"(%p) %i %p\n",
this, ec, ppEnd);
489 return TF_E_DISCONNECTED;
496 FIXME(
"Context does not have a ITextStoreACP\n");
507 FIXME(
"STUB:(%p)\n",
this);
513 FIXME(
"STUB:(%p)\n",
this);
519 TRACE(
"(%p) %p\n",
this, pdcs);
522 return TF_E_DISCONNECTED;
529 FIXME(
"Context does not have a ITextStoreACP\n");
544 FIXME(
"STUB:(%p)\n",
this);
552 FIXME(
"STUB:(%p)\n",
this);
563 FIXME(
"STUB:(%p)\n",
this);
569 FIXME(
"STUB:(%p)\n",
this);
575 TRACE(
"(%p) %p\n",
this, ppDm);
593 FIXME(
"STUB:(%p)\n",
this);
607 if (
riid == IID_ITfTextEditSink)
616 TRACE(
"(%p) %x\n",
this, dwCookie);
630 FIXME(
"STUB:(%p) %#x %p %p %p\n",
this, ecWrite, pCompositionRange, pSink, ppComposition);
636 FIXME(
"STUB:(%p) %p\n",
this, ppEnum);
645 FIXME(
"STUB:(%p) %#x %p %p\n",
this, ecRead, pTestRange, ppEnum);
655 FIXME(
"STUB:(%p) %#x %p %p %p\n",
this, ecWrite, pComposition, pSink, ppComposition);
661 FIXME(
"STUB:(%p) %p\n",
this, pComposition);
673 LONG acpStart, acpEnd;
680 return TF_E_DISCONNECTED;
688 return TS_E_READONLY;
692 FIXME(
"Context does not have a ITextStoreACP\n");
709 FIXME(
"STUB:(%p)\n",
this);
734 FIXME(
"STUB:(%p)\n",
this);
740 FIXME(
"STUB:(%p)\n",
this);
748 FIXME(
"STUB:(%p)\n",
this);
760 FIXME(
"Context does not have a ITextStoreACP\n");
778 FIXME(
"STUB:(%p)\n",
this);
789 TRACE(
"(%p) %x\n",
this, dwLockFlags);
793 FIXME(
"OnLockGranted called for something other than an EditSession\n");
808 cookie->lockType = dwLockFlags;
809 cookie->pOwningContext =
this;
844 FIXME(
"STUB:(%p)\n",
this);
850 FIXME(
"STUB:(%p)\n",
this);
876 FIXME(
"stub: %p %p\n",
this, prop);
907 TRACE(
"(%p) %x %p %p %p\n",
This, tidOwner,
punk, ppOut, pecTextStore);
909 This->m_tidOwner = tidOwner;
910 This->m_manager = mgr;
922 if (!
This->m_pITextStoreACP && !
This->m_pITfContextOwnerCompositionSink)
923 FIXME(
"Unhandled pUnk\n");
927 *pecTextStore =
This->m_defaultCookie;
936 TRACE(
"returning %p\n", *ppOut);
981 return This->Initialize(manager);
988 return This->Uninitialize();
#define InterlockedDecrement
#define GetStatus(BaseIoAddress, Status)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
HRESULT Range_Constructor(ITfContext *context, DWORD anchorStart, DWORD anchorEnd, ITfRange **ppOut)
#define SINK_FOR_EACH(cursor, list, type, elem)
#define COOKIE_MAGIC_EDITCOOKIE
#define COOKIE_MAGIC_CONTEXTSINK
HRESULT TF_SELECTION_to_TS_SELECTION_ACP(const TF_SELECTION *tf, TS_SELECTION_ACP *tsAcp)
static void list_init(struct list_entry *head)
static LPVOID cicMemAlloc(SIZE_T size)
static void cicMemFree(LPVOID ptr)
static bool cicIsNullPtr(LPCVOID ptr)
struct list m_pContextKeyEventSink
STDMETHODIMP OnLayoutChange(_In_ TsLayoutCode lcode, _In_ TsViewCookie vcView) override
STDMETHODIMP OnTextChange(_In_ DWORD dwFlags, _In_ const TS_TEXTCHANGE *pChange) override
STDMETHODIMP Unserialize(_In_ ITfProperty *prop, _In_ const TF_PERSISTENT_PROPERTY_HEADER_ACP *header, _In_ IStream *stream, _In_ ITfPersistentPropertyLoaderACP *loader) override
STDMETHODIMP AdviseSingleSink(_In_ TfClientId tid, _In_ REFIID riid, _In_ IUnknown *punk) override
STDMETHODIMP OnLockGranted(_In_ DWORD dwLockFlags) override
struct list m_pStatusSink
STDMETHODIMP TakeOwnership(_In_ TfEditCookie ecWrite, _In_ ITfCompositionView *pComposition, _In_ ITfCompositionSink *pSink, _Out_ ITfComposition **ppComposition) override
STDMETHODIMP_(ULONG) Release() override
STDMETHODIMP EnumProperties(_Out_ IEnumTfProperties **ppEnum) override
STDMETHODIMP EnumViews(_Out_ IEnumTfContextViews **ppEnum) override
STDMETHODIMP StartComposition(_In_ TfEditCookie ecWrite, _In_ ITfRange *pCompositionRange, _In_ ITfCompositionSink *pSink, _Out_ ITfComposition **ppComposition) override
STDMETHODIMP SetSelection(_In_ TfEditCookie ec, _In_ ULONG ulCount, _In_ const TF_SELECTION *pSelection) override
STDMETHODIMP OnEndEditTransaction() override
STDMETHODIMP FindComposition(_In_ TfEditCookie ecRead, _In_ ITfRange *pTestRange, _Out_ IEnumITfCompositionView **ppEnum) override
STDMETHODIMP GetEnd(_In_ TfEditCookie ec, _Out_ ITfRange **ppEnd) 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
struct list m_pEditTransactionSink
ITextStoreACP * m_pITextStoreACP
STDMETHODIMP OnAttrsChange(_In_ LONG acpStart, _In_ LONG acpEnd, _In_ ULONG cAttrs, _In_ const TS_ATTRID *paAttrs) override
STDMETHODIMP ForceLoadProperty(_In_ ITfProperty *prop) override
STDMETHODIMP Serialize(_In_ ITfProperty *prop, _In_ ITfRange *range, _Out_ TF_PERSISTENT_PROPERTY_HEADER_ACP *header, _In_ IStream *stream) override
STDMETHODIMP CreateRangeBackup(_In_ TfEditCookie ec, _In_ ITfRange *pRange, _Out_ ITfRangeBackup **ppBackup) override
STDMETHODIMP OnStartEditTransaction() override
ITfEditSession * m_currentEditSession
TS_STATUS m_documentStatus
HRESULT Initialize(ITfDocumentMgr *manager)
struct list m_pTextEditSink
STDMETHODIMP GetStart(_In_ TfEditCookie ec, _Out_ ITfRange **ppStart) override
STDMETHODIMP GetActiveView(_Out_ ITfContextView **ppView) override
STDMETHODIMP GetDocumentMgr(_Out_ ITfDocumentMgr **ppDm) override
struct list m_pTextLayoutSink
ITfDocumentMgr * m_manager
STDMETHODIMP RequestEditSession(_In_ TfClientId tid, _In_ ITfEditSession *pes, _In_ DWORD dwFlags, _Out_ HRESULT *phrSession) override
STDMETHODIMP EnumCompositions(_Out_ IEnumITfCompositionView **ppEnum) override
STDMETHODIMP InsertTextAtSelection(_In_ TfEditCookie ec, _In_ DWORD dwFlags, _In_ const WCHAR *pchText, _In_ LONG cch, _Out_ ITfRange **ppRange) override
STDMETHODIMP OnSelectionChange() override
STDMETHODIMP AdviseSink(_In_ REFIID riid, _In_ IUnknown *punk, _Out_ DWORD *pdwCookie) override
STDMETHODIMP TrackProperties(_In_ const GUID **prgProp, _In_ ULONG cProp, _In_ const GUID **prgAppProp, _In_ ULONG cAppProp, _Out_ ITfReadOnlyProperty **ppProperty) override
STDMETHODIMP GetProperty(_In_ REFGUID guidProp, _Out_ ITfProperty **ppProp) override
TfEditCookie m_defaultCookie
STDMETHODIMP TerminateComposition(_In_ ITfCompositionView *pComposition) override
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj) override
static HRESULT CreateInstance(TfClientId tidOwner, IUnknown *punk, ITfDocumentMgr *mgr, ITfContext **ppOut, TfEditCookie *pecTextStore)
STDMETHODIMP InsertEmbeddedAtSelection(_In_ TfEditCookie ec, _In_ DWORD dwFlags, _In_ IDataObject *pDataObject, _Out_ ITfRange **ppRange) override
ITfContextOwnerCompositionSink * m_pITfContextOwnerCompositionSink
ITfCompartmentMgr * m_CompartmentMgr
STDMETHODIMP CreateRange(_In_ LONG start, _In_ LONG end, _Out_ ITfRangeACP **range) override
STDMETHODIMP GetAppProperty(_In_ REFGUID guidProp, _Out_ ITfReadOnlyProperty **ppProp) override
STDMETHODIMP UnadviseSingleSink(_In_ TfClientId tid, _In_ REFIID riid) override
STDMETHODIMP_(ULONG) AddRef() override
STDMETHODIMP GetStatus(_Out_ TF_STATUS *pdcs) override
STDMETHODIMP OnStatusChange(_In_ DWORD dwFlags) override
STDMETHODIMP UnadviseSink(_In_ DWORD dwCookie) override
EXTERN_C HRESULT CompartmentMgr_Constructor(IUnknown *pUnkOuter, REFIID riid, IUnknown **ppOut)
EXTERN_C HRESULT Context_Initialize(ITfContext *iface, ITfDocumentMgr *manager)
EXTERN_C HRESULT Context_Uninitialize(ITfContext *iface)
struct tagEditCookie EditCookie
EXTERN_C HRESULT Context_Constructor(TfClientId tidOwner, IUnknown *punk, ITfDocumentMgr *mgr, ITfContext **ppOut, TfEditCookie *pecTextStore)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
GLuint GLuint GLsizei count
GLsizei GLenum GLboolean sink
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
static CInternetFolder * CreateInstance(void)
HRESULT SetSelection([in] ULONG ulCount, [in, size_is(ulCount)] const TS_SELECTION_ACP *pSelection)
HRESULT GetSelection([in] ULONG ulIndex, [in] ULONG ulCount, [out, size_is(ulCount), length_is(*pcFetched)] TS_SELECTION_ACP *pSelection, [out] ULONG *pcFetched)
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)
HRESULT GetStatus([out] TS_STATUS *pdcs)
HRESULT AdviseSink([in] REFIID riid, [in, iid_is(riid)] IUnknown *punk, [in] DWORD dwMask)
HRESULT UnadviseSink([in] IUnknown *punk)
HRESULT RequestLock([in] DWORD dwLockFlags, [out] HRESULT *phrSession)
HRESULT GetEndACP([out] LONG *pacp)
const ULONG TF_DEFAULT_SELECTION
const DWORD TF_ES_READWRITE
HRESULT DoEditSession([in] TfEditCookie ec)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
static IAdviseSinkEx AdviseSink
EXTERN_C HRESULT advise_sink(struct list *sink_list, REFIID riid, DWORD cookie_magic, IUnknown *unk, DWORD *cookie)
EXTERN_C DWORD get_Cookie_magic(DWORD id)
EXTERN_C LPVOID get_Cookie_data(DWORD id)
EXTERN_C HRESULT unadvise_sink(DWORD cookie)
EXTERN_C DWORD generate_Cookie(DWORD magic, LPVOID data)
EXTERN_C LPVOID remove_Cookie(DWORD id)
EXTERN_C void free_sinks(struct list *sink_list)
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
CContext * pOwningContext
const DWORD TS_LF_READWRITE
const DWORD TS_SD_READONLY
const DWORD TS_AS_ALL_SINKS