Merge "Update deprecated libprivilege-control API functions." into tizen
[platform/framework/native/appfw.git] / src / text / FTextUcs2Encoding.cpp
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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 /**
18  * @file                FTextUcs2Encoding.cpp
19  * @brief               This is the implementation file for UCS2 Encoding class.
20  */
21
22 #include <FTextUcs2Encoding.h>
23 #include <FBaseSysLog.h>
24 #include "FText_EncodingImpl.h"
25
26
27 #define ENCODING_NAME L"UCS-2"
28
29 using namespace Tizen::Base;
30
31 namespace Tizen { namespace Text
32 {
33
34
35 Ucs2Encoding::Ucs2Encoding(void)
36         : __pUcs2EncodingImpl(null)
37 {
38         _pEncodingImpl = new (std::nothrow) _EncodingImpl;
39         if (_pEncodingImpl)
40         {
41                 result r = _pEncodingImpl->Construct(ENCODING_NAME);
42                 if (IsFailed(r))
43                 {
44                         delete _pEncodingImpl;
45                         _pEncodingImpl = null;
46                 }
47         }
48
49         SysAssert(_pEncodingImpl);
50 }
51
52
53 Ucs2Encoding::~Ucs2Encoding(void)
54 {
55         delete _pEncodingImpl;
56 }
57
58
59 result
60 Ucs2Encoding::GetByteCount(const String& str, int& byteCount) const
61 {
62         return _pEncodingImpl->GetByteCount(str, byteCount);
63 }
64
65
66 result
67 Ucs2Encoding::GetByteCount(const WcharBuffer& chars, int& byteCount) const
68 {
69         return _pEncodingImpl->GetByteCount(chars, byteCount);
70 }
71
72
73 result
74 Ucs2Encoding::GetByteCount(const WcharBuffer& chars, int charIndex, int charCount, int& byteCount) const
75 {
76         return _pEncodingImpl->GetByteCount(chars, charIndex, charCount, byteCount);
77 }
78
79
80 ByteBuffer*
81 Ucs2Encoding::GetBytesN(const WcharBuffer& chars) const
82 {
83         return _pEncodingImpl->GetBytesN(chars);
84 }
85
86
87 ByteBuffer*
88 Ucs2Encoding::GetBytesN(const String& str) const
89 {
90         return _pEncodingImpl->GetBytesN(str);
91 }
92
93
94 result
95 Ucs2Encoding::GetBytes(const WcharBuffer& chars, int charIndex, int charCount, ByteBuffer& bytes, int byteIndex) const
96 {
97         return _pEncodingImpl->GetBytes(chars, charIndex, charCount, bytes, byteIndex);
98 }
99
100
101 result
102 Ucs2Encoding::GetBytes(const String& str, int charIndex, int charCount, ByteBuffer& bytes, int byteIndex) const
103 {
104         return _pEncodingImpl->GetBytes(str, charIndex, charCount, bytes, byteIndex);
105 }
106
107
108 result
109 Ucs2Encoding::GetCharCount(const ByteBuffer& bytes, int& charCount) const
110 {
111         return _pEncodingImpl->GetCharCount(bytes, charCount);
112 }
113
114
115 result
116 Ucs2Encoding::GetCharCount(const ByteBuffer& bytes, int byteIndex, int byteCount, int& charCount) const
117 {
118         return _pEncodingImpl->GetCharCount(bytes, byteIndex, byteCount, charCount);
119 }
120
121
122 WcharBuffer*
123 Ucs2Encoding::GetCharsN(const ByteBuffer& bytes) const
124 {
125         return _pEncodingImpl->GetCharsN(bytes);
126 }
127
128
129 result
130 Ucs2Encoding::GetChars(const ByteBuffer& bytes, int byteIndex, int byteCount, WcharBuffer& chars, int charIndex) const
131 {
132         return _pEncodingImpl->GetChars(bytes, byteIndex, byteCount, chars, charIndex);
133 }
134
135
136 result
137 Ucs2Encoding::GetString(const ByteBuffer& bytes, String& str) const
138 {
139         return _pEncodingImpl->GetString(bytes, str);
140 }
141
142
143 result
144 Ucs2Encoding::GetString(const ByteBuffer& bytes, int byteIndex, int byteCount, String& str) const
145 {
146         return _pEncodingImpl->GetString(bytes, byteIndex, byteCount, str);
147 }
148
149
150 int
151 Ucs2Encoding::GetMaxByteCount(int charCount) const
152 {
153         return (charCount + 1) * 2;
154 }
155
156
157 int
158 Ucs2Encoding::GetMaxCharCount(int byteCount) const
159 {
160         return byteCount;
161 }
162
163
164 Encoder*
165 Ucs2Encoding::GetEncoderN(void) const
166 {
167         return null;
168 }
169
170
171 Decoder*
172 Ucs2Encoding::GetDecoderN(void) const
173 {
174         return null;
175 }
176
177
178 String
179 Ucs2Encoding::GetEncodingType(void) const
180 {
181         return String(ENCODING_NAME);
182 }
183
184 } } // Tizen::Text