xref: /reactos/dll/ime/msctfime/tls.h (revision de5c4720)
1 /*
2  * PROJECT:     ReactOS msctfime.ime
3  * LICENSE:     LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4  * PURPOSE:     Thread-local storage
5  * COPYRIGHT:   Copyright 2024 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6  */
7 
8 #pragma once
9 
10 class CicBridge;
11 class CicProfile;
12 
13 class TLS
14 {
15 public:
16     static DWORD s_dwTlsIndex;
17 
18     DWORD m_dwSystemInfoFlags;
19     CicBridge *m_pBridge;
20     CicProfile *m_pProfile;
21     ITfThreadMgr_P *m_pThreadMgr;
22     DWORD m_dwFlags1;
23     DWORD m_dwFlags2;
24     DWORD m_dwUnknown2;
25     BOOL m_bDestroyed;
26     BOOL m_bNowOpening;
27     DWORD m_NonEAComposition;
28     DWORD m_cWnds;
29 
30     static BOOL Initialize();
31     static VOID Uninitialize();
32 
33     static TLS* GetTLS();
34     static TLS* PeekTLS();
35 
36     static TLS* InternalAllocateTLS();
37     static BOOL InternalDestroyTLS();
38 
39     BOOL NonEACompositionEnabled();
40 };
41