tizen 2.3.1 release
[framework/api/base-utils.git] / src / utils_i18n_private.c
1 /*
2  * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16
17 #include <utils_i18n_private.h>
18
19 int _i18n_error_mapping ( int err )
20 {
21     if(err == U_STRING_NOT_TERMINATED_WARNING) return I18N_WARNING_STRING_NOT_TERMINATED;
22     else if(err == U_SORT_KEY_TOO_SHORT_WARNING) return I18N_WARNING_SORT_KEY_TOO_SHORT;
23     else if(err <= U_ZERO_ERROR) return I18N_ERROR_NONE;
24
25     switch (err) {
26     case U_ILLEGAL_ARGUMENT_ERROR      : return I18N_ERROR_INVALID_PARAMETER;
27     case U_MISSING_RESOURCE_ERROR      : return I18N_ERROR_MISSING_RESOURCE;
28     case U_INVALID_FORMAT_ERROR        : return I18N_ERROR_INVALID_FORMAT;
29     case U_FILE_ACCESS_ERROR           : return I18N_ERROR_FILE_ACCESS;
30     case U_INTERNAL_PROGRAM_ERROR      : return I18N_ERROR_INTERNAL_PROGRAM;
31     case U_MESSAGE_PARSE_ERROR         : return I18N_ERROR_MESSAGE_PARSE;
32     case U_MEMORY_ALLOCATION_ERROR     : return I18N_ERROR_OUT_OF_MEMORY;
33     case U_INDEX_OUTOFBOUNDS_ERROR     : return I18N_ERROR_INDEX_OUTOFBOUNDS;
34     case U_PARSE_ERROR                 : return I18N_ERROR_PARSE;
35     case U_INVALID_CHAR_FOUND          : return I18N_ERROR_INVALID_CHAR_FOUND;
36     case U_TRUNCATED_CHAR_FOUND        : return I18N_ERROR_TRUNCATED_CHAR_FOUND;
37     case U_ILLEGAL_CHAR_FOUND          : return I18N_ERROR_ILLEGAL_CHAR_FOUND;
38     case U_INVALID_TABLE_FORMAT        : return I18N_ERROR_INVALID_TABLE_FORMAT;
39     case U_INVALID_TABLE_FILE          : return I18N_ERROR_INVALID_TABLE_FILE;
40     case U_BUFFER_OVERFLOW_ERROR       : return I18N_ERROR_BUFFER_OVERFLOW;
41     case U_UNSUPPORTED_ERROR           : return I18N_ERROR_NOT_SUPPORTED;
42     case U_RESOURCE_TYPE_MISMATCH      : return I18N_ERROR_RESOURCE_TYPE_MISMATCH;
43     case U_ILLEGAL_ESCAPE_SEQUENCE     : return I18N_ERROR_ILLECAL_ESCAPE_SEQUENCE;
44     case U_UNSUPPORTED_ESCAPE_SEQUENCE : return I18N_ERROR_UNSUPPORTED_ESCAPE_SEQUENCE;
45     case U_NO_SPACE_AVAILABLE          : return I18N_ERROR_NO_SPACE_AVAILABLE;
46     case U_CE_NOT_FOUND_ERROR          : return I18N_ERROR_CE_NOT_FOUND;
47     case U_PRIMARY_TOO_LONG_ERROR      : return I18N_ERROR_PRIMARY_TOO_LONG;
48     case U_STATE_TOO_OLD_ERROR         : return I18N_ERROR_STATE_TOO_OLD;
49     case U_TOO_MANY_ALIASES_ERROR      : return I18N_ERROR_TOO_MANY_ALIASES;
50     case U_ENUM_OUT_OF_SYNC_ERROR      : return I18N_ERROR_ENUM_OUT_OF_SYNC;
51     case U_INVARIANT_CONVERSION_ERROR  : return I18N_ERROR_INVARIANT_CONVERSION;
52     case U_INVALID_STATE_ERROR         : return I18N_ERROR_INVALID_STATE;
53     case U_COLLATOR_VERSION_MISMATCH   : return I18N_ERROR_COLLATOR_VERSION_MISMATCH;
54     case U_USELESS_COLLATOR_ERROR      : return I18N_ERROR_USELESS_COLLATOR;
55     case U_NO_WRITE_PERMISSION         : return I18N_ERROR_NO_WRITE_PERMISSION;
56     case U_MALFORMED_SET               : return I18N_ERROR_MALFORMED_SET;
57     case U_IDNA_STD3_ASCII_RULES_ERROR : return I18N_ERROR_STD3_ASCII_RULES;
58     case U_IDNA_UNASSIGNED_ERROR       : return I18N_ERROR_UNASSIGNED;
59     default : return I18N_ERROR_UNKNOWN;
60     }
61 }
62
63 int _i18n_error_mapping_reverse ( int err )
64 {
65     switch (err) {
66     case I18N_ERROR_NONE                        : return U_ZERO_ERROR;
67     case I18N_ERROR_INVALID_PARAMETER           : return U_ILLEGAL_ARGUMENT_ERROR;
68     case I18N_ERROR_MISSING_RESOURCE            : return U_MISSING_RESOURCE_ERROR;
69     case I18N_ERROR_INVALID_FORMAT              : return U_INVALID_FORMAT_ERROR;
70     case I18N_ERROR_FILE_ACCESS                 : return U_FILE_ACCESS_ERROR;
71     case I18N_ERROR_INTERNAL_PROGRAM            : return U_INTERNAL_PROGRAM_ERROR;
72     case I18N_ERROR_MESSAGE_PARSE               : return U_MESSAGE_PARSE_ERROR;
73     case I18N_ERROR_OUT_OF_MEMORY               : return U_MEMORY_ALLOCATION_ERROR;
74     case I18N_ERROR_INDEX_OUTOFBOUNDS           : return U_INDEX_OUTOFBOUNDS_ERROR;
75     case I18N_ERROR_PARSE                       : return U_PARSE_ERROR;
76     case I18N_ERROR_INVALID_CHAR_FOUND          : return U_INVALID_CHAR_FOUND;
77     case I18N_ERROR_TRUNCATED_CHAR_FOUND        : return U_TRUNCATED_CHAR_FOUND;
78     case I18N_ERROR_ILLEGAL_CHAR_FOUND          : return U_ILLEGAL_CHAR_FOUND;
79     case I18N_ERROR_INVALID_TABLE_FORMAT        : return U_INVALID_TABLE_FORMAT;
80     case I18N_ERROR_INVALID_TABLE_FILE          : return U_INVALID_TABLE_FILE;
81     case I18N_ERROR_BUFFER_OVERFLOW             : return U_BUFFER_OVERFLOW_ERROR;
82     case I18N_ERROR_NOT_SUPPORTED               : return U_UNSUPPORTED_ERROR;
83     case I18N_ERROR_RESOURCE_TYPE_MISMATCH      : return U_RESOURCE_TYPE_MISMATCH;
84     case I18N_ERROR_ILLECAL_ESCAPE_SEQUENCE     : return U_ILLEGAL_ESCAPE_SEQUENCE;
85     case I18N_ERROR_UNSUPPORTED_ESCAPE_SEQUENCE : return U_UNSUPPORTED_ESCAPE_SEQUENCE;
86     case I18N_ERROR_NO_SPACE_AVAILABLE          : return U_NO_SPACE_AVAILABLE;
87     case I18N_ERROR_CE_NOT_FOUND                : return U_CE_NOT_FOUND_ERROR;
88     case I18N_ERROR_PRIMARY_TOO_LONG            : return U_PRIMARY_TOO_LONG_ERROR;
89     case I18N_ERROR_STATE_TOO_OLD               : return U_STATE_TOO_OLD_ERROR;
90     case I18N_ERROR_TOO_MANY_ALIASES            : return U_TOO_MANY_ALIASES_ERROR;
91     case I18N_ERROR_ENUM_OUT_OF_SYNC            : return U_ENUM_OUT_OF_SYNC_ERROR;
92     case I18N_ERROR_INVARIANT_CONVERSION        : return U_INVARIANT_CONVERSION_ERROR;
93     case I18N_ERROR_INVALID_STATE               : return U_INVALID_STATE_ERROR;
94     case I18N_ERROR_COLLATOR_VERSION_MISMATCH   : return U_COLLATOR_VERSION_MISMATCH;
95     case I18N_ERROR_USELESS_COLLATOR            : return U_USELESS_COLLATOR_ERROR;
96     case I18N_ERROR_NO_WRITE_PERMISSION         : return U_NO_WRITE_PERMISSION;
97     case I18N_ERROR_MALFORMED_SET               : return U_MALFORMED_SET;
98     case I18N_ERROR_STD3_ASCII_RULES            : return U_IDNA_STD3_ASCII_RULES_ERROR;
99     case I18N_WARNING_STRING_NOT_TERMINATED     : return U_STRING_NOT_TERMINATED_WARNING;
100     case I18N_ERROR_UNASSIGNED                  : return U_IDNA_UNASSIGNED_ERROR;
101     case I18N_WARNING_SORT_KEY_TOO_SHORT        : return U_SORT_KEY_TOO_SHORT_WARNING;
102     default : return U_STANDARD_ERROR_LIMIT;
103     }
104 }