OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef URL_URL_CANON_ICU_H_ | 5 #ifndef URL_URL_CANON_ICU_H_ |
6 #define URL_URL_CANON_ICU_H_ | 6 #define URL_URL_CANON_ICU_H_ |
7 | 7 |
8 // ICU integration functions. | 8 // ICU integration functions. |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
11 #include "url/url_canon.h" | 11 #include "url/url_canon.h" |
12 #include "url/url_export.h" | 12 #include "url/url_export.h" |
13 | 13 |
14 typedef struct UConverter UConverter; | 14 typedef struct UConverter UConverter; |
15 | 15 |
16 namespace url { | 16 namespace url { |
17 | 17 |
18 // An implementation of CharsetConverter that implementations can use to | 18 // An implementation of CharsetConverter that implementations can use to |
19 // interface the canonicalizer with ICU's conversion routines. | 19 // interface the canonicalizer with ICU's conversion routines. |
20 class URL_EXPORT ICUCharsetConverter : public CharsetConverter { | 20 class URL_EXPORT ICUCharsetConverter : public CharsetConverter { |
21 public: | 21 public: |
22 // Constructs a converter using an already-existing ICU character set | 22 // Constructs a converter using an already-existing ICU character set |
23 // converter. This converter is NOT owned by this object; the lifetime must | 23 // converter. This converter is NOT owned by this object; the lifetime must |
24 // be managed by the creator such that it is alive as long as this is. | 24 // be managed by the creator such that it is alive as long as this is. |
25 ICUCharsetConverter(UConverter* converter); | 25 ICUCharsetConverter(UConverter* converter); |
26 | 26 |
27 virtual ~ICUCharsetConverter(); | 27 ~ICUCharsetConverter() override; |
28 | 28 |
29 virtual void ConvertFromUTF16(const base::char16* input, | 29 void ConvertFromUTF16(const base::char16* input, |
30 int input_len, | 30 int input_len, |
31 CanonOutput* output) override; | 31 CanonOutput* output) override; |
32 | 32 |
33 private: | 33 private: |
34 // The ICU converter, not owned by this class. | 34 // The ICU converter, not owned by this class. |
35 UConverter* converter_; | 35 UConverter* converter_; |
36 }; | 36 }; |
37 | 37 |
38 } // namespace url | 38 } // namespace url |
39 | 39 |
40 #endif // URL_URL_CANON_ICU_H_ | 40 #endif // URL_URL_CANON_ICU_H_ |
OLD | NEW |