1 #pragma once 2 3 #include "input.h" 4 #include "locale_list.h" 5 #include "layout_list.h" 6 7 8 #define INPUT_LIST_NODE_FLAG_EDITED 0x0001 9 #define INPUT_LIST_NODE_FLAG_ADDED 0x0002 10 #define INPUT_LIST_NODE_FLAG_DELETED 0x0004 11 #define INPUT_LIST_NODE_FLAG_DEFAULT 0x0008 12 13 14 typedef struct _INPUT_LIST_NODE 15 { 16 WORD wFlags; 17 18 LOCALE_LIST_NODE *pLocale; 19 LAYOUT_LIST_NODE *pLayout; 20 21 HKL hkl; /* Only for loaded input methods */ 22 23 WCHAR *pszIndicator; 24 25 struct _INPUT_LIST_NODE *pPrev; 26 struct _INPUT_LIST_NODE *pNext; 27 } INPUT_LIST_NODE; 28 29 30 VOID 31 InputList_Create(VOID); 32 33 BOOL 34 InputList_Process(VOID); 35 36 BOOL 37 InputList_Add(LOCALE_LIST_NODE *pLocale, LAYOUT_LIST_NODE *pLayout); 38 39 VOID 40 InputList_SetDefault(INPUT_LIST_NODE *pNode); 41 42 VOID 43 InputList_Remove(INPUT_LIST_NODE *pNode); 44 45 VOID 46 InputList_Destroy(VOID); 47 48 INPUT_LIST_NODE* 49 InputList_GetFirst(VOID); 50