| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_ELF_WHITELIST_WHITELIST_IME_H_ |
| #define CHROME_ELF_WHITELIST_WHITELIST_IME_H_ |
| |
| #include <stdint.h> |
| |
| namespace whitelist { |
| |
| // "static_cast<int>(IMEStatus::value)" to access underlying value. |
| enum class IMEStatus { |
| kSuccess = 0, |
| kErrorGeneric = 1, |
| kMissingRegKey = 2, |
| kRegAccessDenied = 3, |
| kGenericRegFailure = 4, |
| COUNT |
| }; |
| |
| // This list of IMEs was provided by Microsoft as their own. |
| extern const wchar_t* const kMicrosoftImeGuids[]; |
| // The number of elements in the kMicrosoftImeGuids array. |
| extern const uint32_t kMicrosoftImeGuidsLength; |
| // The length of a GUID string. (Hard-coded for compile time.) |
| enum { kGuidLength = 38 }; |
| |
| // Constant registry locations for IME information. |
| extern const wchar_t kClassesKey[]; |
| extern const wchar_t kClassesSubkey[]; |
| extern const wchar_t kImeRegistryKey[]; |
| |
| // Initialize internal list of registered IMEs. |
| IMEStatus InitIMEs(); |
| |
| } // namespace whitelist |
| |
| #endif // CHROME_ELF_WHITELIST_WHITELIST_IME_H_ |