OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2016 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 #include "components/translate/content/common/translate_struct_traits.h" | |
6 | |
7 #include "ipc/ipc_message_utils.h" | |
jam
2016/08/09 22:22:18
nit: do you need this?
| |
8 #include "url/mojo/url_gurl_struct_traits.h" | |
9 | |
10 using namespace translate; | |
11 | |
12 namespace mojo { | |
13 | |
14 mojom::TranslateError | |
15 EnumTraits<mojom::TranslateError, TranslateErrors::Type>::ToMojom( | |
16 TranslateErrors::Type input) { | |
17 switch (input) { | |
18 case TranslateErrors::Type::NONE: | |
19 return mojom::TranslateError::NONE; | |
20 case TranslateErrors::Type::NETWORK: | |
21 return mojom::TranslateError::NETWORK; | |
22 case TranslateErrors::Type::INITIALIZATION_ERROR: | |
23 return mojom::TranslateError::INITIALIZATION_ERROR; | |
24 case TranslateErrors::Type::UNKNOWN_LANGUAGE: | |
25 return mojom::TranslateError::UNKNOWN_LANGUAGE; | |
26 case TranslateErrors::Type::UNSUPPORTED_LANGUAGE: | |
27 return mojom::TranslateError::UNSUPPORTED_LANGUAGE; | |
28 case TranslateErrors::Type::IDENTICAL_LANGUAGES: | |
29 return mojom::TranslateError::IDENTICAL_LANGUAGES; | |
30 case TranslateErrors::Type::TRANSLATION_ERROR: | |
31 return mojom::TranslateError::TRANSLATION_ERROR; | |
32 case TranslateErrors::Type::TRANSLATION_TIMEOUT: | |
33 return mojom::TranslateError::TRANSLATION_TIMEOUT; | |
34 case TranslateErrors::Type::UNEXPECTED_SCRIPT_ERROR: | |
35 return mojom::TranslateError::UNEXPECTED_SCRIPT_ERROR; | |
36 case TranslateErrors::Type::BAD_ORIGIN: | |
37 return mojom::TranslateError::BAD_ORIGIN; | |
38 case TranslateErrors::Type::SCRIPT_LOAD_ERROR: | |
39 return mojom::TranslateError::SCRIPT_LOAD_ERROR; | |
40 case TranslateErrors::Type::TRANSLATE_ERROR_MAX: | |
41 return mojom::TranslateError::TRANSLATE_ERROR_MAX; | |
42 } | |
43 | |
44 NOTREACHED(); | |
45 return mojom::TranslateError::NONE; | |
46 } | |
47 | |
48 bool EnumTraits<mojom::TranslateError, TranslateErrors::Type>::FromMojom( | |
49 mojom::TranslateError input, | |
50 TranslateErrors::Type* output) { | |
51 switch (input) { | |
52 case mojom::TranslateError::NONE: | |
53 *output = TranslateErrors::Type::NONE; | |
54 return true; | |
55 case mojom::TranslateError::NETWORK: | |
56 *output = TranslateErrors::Type::NETWORK; | |
57 return true; | |
58 case mojom::TranslateError::INITIALIZATION_ERROR: | |
59 *output = TranslateErrors::Type::INITIALIZATION_ERROR; | |
60 return true; | |
61 case mojom::TranslateError::UNKNOWN_LANGUAGE: | |
62 *output = TranslateErrors::Type::UNKNOWN_LANGUAGE; | |
63 return true; | |
64 case mojom::TranslateError::UNSUPPORTED_LANGUAGE: | |
65 *output = TranslateErrors::Type::UNSUPPORTED_LANGUAGE; | |
66 return true; | |
67 case mojom::TranslateError::IDENTICAL_LANGUAGES: | |
68 *output = TranslateErrors::Type::IDENTICAL_LANGUAGES; | |
69 return true; | |
70 case mojom::TranslateError::TRANSLATION_ERROR: | |
71 *output = TranslateErrors::Type::TRANSLATION_ERROR; | |
72 return true; | |
73 case mojom::TranslateError::TRANSLATION_TIMEOUT: | |
74 *output = TranslateErrors::Type::TRANSLATION_TIMEOUT; | |
75 return true; | |
76 case mojom::TranslateError::UNEXPECTED_SCRIPT_ERROR: | |
77 *output = TranslateErrors::Type::UNEXPECTED_SCRIPT_ERROR; | |
78 return true; | |
79 case mojom::TranslateError::BAD_ORIGIN: | |
80 *output = TranslateErrors::Type::BAD_ORIGIN; | |
81 return true; | |
82 case mojom::TranslateError::SCRIPT_LOAD_ERROR: | |
83 *output = TranslateErrors::Type::SCRIPT_LOAD_ERROR; | |
84 return true; | |
85 case mojom::TranslateError::TRANSLATE_ERROR_MAX: | |
86 *output = TranslateErrors::Type::TRANSLATE_ERROR_MAX; | |
87 return true; | |
88 } | |
89 | |
90 NOTREACHED(); | |
91 return false; | |
92 } | |
93 | |
94 // static | |
95 bool StructTraits<mojom::LanguageDetectionDetails, LanguageDetectionDetails>:: | |
96 Read(mojom::LanguageDetectionDetailsDataView data, | |
97 LanguageDetectionDetails* out) { | |
98 if (!data.ReadTime(&out->time)) | |
99 return false; | |
100 if (!data.ReadUrl(&out->url)) | |
101 return false; | |
102 if (!data.ReadContentLanguage(&out->content_language)) | |
103 return false; | |
104 if (!data.ReadCldLanguage(&out->cld_language)) | |
105 return false; | |
106 | |
107 out->is_cld_reliable = data.is_cld_reliable(); | |
108 out->has_notranslate = data.has_notranslate(); | |
109 | |
110 if (!data.ReadHtmlRootLanguage(&out->html_root_language)) | |
111 return false; | |
112 if (!data.ReadAdoptedLanguage(&out->adopted_language)) | |
113 return false; | |
114 if (!data.ReadContents(&out->contents)) | |
115 return false; | |
116 | |
117 return true; | |
118 } | |
119 | |
120 } // namespace mojo | |
OLD | NEW |