mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-26 19:33:31 +00:00
Supporting CTF IMEs. JIRA issue: CORE-19360 - Add base/ctf/cicero/ciciface.h to add CicInterface_RefCnt template class. - Add CicProfile:: LanguageProfilesCallback callback function. - Implement CicProfile:: GetActiveLanguageProfile and CicProfile::IsIME functions.
64 lines
1.6 KiB
C++
64 lines
1.6 KiB
C++
/*
|
|
* PROJECT: ReactOS msctfime.ime
|
|
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
|
* PURPOSE: Profile of msctfime.ime
|
|
* COPYRIGHT: Copyright 2024-2026 Katayama Hirofumi MZ <[email protected]>
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "sinks.h"
|
|
|
|
class CicProfile : public IUnknown
|
|
{
|
|
protected:
|
|
typedef struct tagLANG_PROF_ENUM_ARG
|
|
{
|
|
GUID catid;
|
|
TF_LANGUAGEPROFILE profile;
|
|
} LANG_PROF_ENUM_ARG, *PLANG_PROF_ENUM_ARG;
|
|
|
|
ITfInputProcessorProfiles *m_pIPProfiles;
|
|
CActiveLanguageProfileNotifySink *m_pActiveLanguageProfileNotifySink;
|
|
LANGID m_LangID1;
|
|
WORD m_padding1;
|
|
DWORD m_dwFlags;
|
|
UINT m_nCodePage;
|
|
LANGID m_LangID2;
|
|
WORD m_padding2;
|
|
DWORD m_dwUnknown1;
|
|
LONG m_cRefs;
|
|
|
|
static INT CALLBACK
|
|
ActiveLanguageProfileNotifySinkCallback(
|
|
REFGUID rguid1,
|
|
REFGUID rguid2,
|
|
BOOL fActivated,
|
|
LPVOID pUserData);
|
|
|
|
public:
|
|
CicProfile();
|
|
virtual ~CicProfile();
|
|
|
|
// IUnknown interface
|
|
STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppvObj) override;
|
|
STDMETHODIMP_(ULONG) AddRef() override;
|
|
STDMETHODIMP_(ULONG) Release() override;
|
|
|
|
HRESULT
|
|
GetActiveLanguageProfile(
|
|
_In_ HKL hKL,
|
|
_In_ REFGUID catid,
|
|
_Out_ TF_LANGUAGEPROFILE* pProfile);
|
|
HRESULT GetLangId(_Out_ LANGID *pLangID);
|
|
HRESULT GetCodePageA(_Out_ UINT *puCodePage);
|
|
|
|
HRESULT InitProfileInstance(_Inout_ TLS *pTLS);
|
|
HRESULT IsIME(HKL hKL);
|
|
|
|
static HRESULT CALLBACK
|
|
LanguageProfilesCallback(
|
|
_In_ TF_LANGUAGEPROFILE profile,
|
|
_Inout_opt_ LPARAM lParam);
|
|
};
|