1// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef BASE_I18N_ICU_UTIL_H_
6#define BASE_I18N_ICU_UTIL_H_
7
8#include "build/build_config.h"
9#include "base/i18n/base_i18n_export.h"
10
11namespace base {
12namespace i18n {
13
14// Call this function to load ICU's data tables for the current process.  This
15// function should be called before ICU is used.
16BASE_I18N_EXPORT bool InitializeICU();
17
18#if defined(OS_ANDROID)
19// Android uses a file descriptor passed by browser process to initialize ICU
20// in render processes.
21BASE_I18N_EXPORT bool InitializeICUWithFileDescriptor(int data_fd);
22#endif
23
24// In a test binary, the call above might occur twice.
25BASE_I18N_EXPORT void AllowMultipleInitializeCallsForTesting();
26
27}  // namespace i18n
28}  // namespace base
29
30#endif  // BASE_I18N_ICU_UTIL_H_
31