2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
8 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 * @file FTextGsmEncoding.cpp
19 * @brief This is the implementation file for GSM Encoding class.
22 #include <FTextGsmEncoding.h>
23 #include <FBaseSysLog.h>
24 #include "FText_EncodingImpl.h"
27 #define ENCODING_NAME L"GSM"
29 using namespace Tizen::Base;
31 namespace Tizen { namespace Text
34 GsmEncoding::GsmEncoding(void)
35 : __pGsmEncodingImpl(null)
37 _pEncodingImpl = new (std::nothrow) _EncodingImpl;
40 result r = _pEncodingImpl->Construct(ENCODING_NAME);
43 delete _pEncodingImpl;
44 _pEncodingImpl = null;
48 SysAssert(_pEncodingImpl);
52 GsmEncoding::~GsmEncoding(void)
54 delete _pEncodingImpl;
59 GsmEncoding::GetByteCount(const String& str, int& byteCount) const
61 return _pEncodingImpl->GetByteCount(str, byteCount);
66 GsmEncoding::GetByteCount(const WcharBuffer& chars, int& byteCount) const
68 return _pEncodingImpl->GetByteCount(chars, byteCount);
73 GsmEncoding::GetByteCount(const WcharBuffer& chars, int charIndex, int charCount, int& byteCount) const
75 return _pEncodingImpl->GetByteCount(chars, charIndex, charCount, byteCount);
80 GsmEncoding::GetBytesN(const WcharBuffer& chars) const
82 return _pEncodingImpl->GetBytesN(chars);
87 GsmEncoding::GetBytesN(const String& str) const
89 return _pEncodingImpl->GetBytesN(str);
94 GsmEncoding::GetBytes(const WcharBuffer& chars, int charIndex, int charCount, ByteBuffer& bytes, int byteIndex) const
96 return _pEncodingImpl->GetBytes(chars, charIndex, charCount, bytes, byteIndex);
101 GsmEncoding::GetBytes(const String& str, int charIndex, int charCount, ByteBuffer& bytes, int byteIndex) const
103 return _pEncodingImpl->GetBytes(str, charIndex, charCount, bytes, byteIndex);
108 GsmEncoding::GetCharCount(const ByteBuffer& bytes, int& charCount) const
110 return _pEncodingImpl->GetCharCount(bytes, charCount);
115 GsmEncoding::GetCharCount(const ByteBuffer& bytes, int byteIndex, int byteCount, int& charCount) const
117 return _pEncodingImpl->GetCharCount(bytes, byteIndex, byteCount, charCount);
122 GsmEncoding::GetCharsN(const ByteBuffer& bytes) const
124 return _pEncodingImpl->GetCharsN(bytes);
129 GsmEncoding::GetChars(const ByteBuffer& bytes, int byteIndex, int byteCount, WcharBuffer& chars, int charIndex) const
131 return _pEncodingImpl->GetChars(bytes, byteIndex, byteCount, chars, charIndex);
136 GsmEncoding::GetString(const ByteBuffer& bytes, String& str) const
138 return GetString(bytes, bytes.GetPosition(), bytes.GetRemaining(), str);
143 GsmEncoding::GetString(const ByteBuffer& bytes, int index, int count, String& str) const
145 return _pEncodingImpl->GetString(bytes, index, count, str);
150 GsmEncoding::GetMaxByteCount(int charCount) const
152 return charCount * 2;
157 GsmEncoding::GetMaxCharCount(int byteCount) const
164 GsmEncoding::GetEncoderN(void) const
171 GsmEncoding::GetDecoderN(void) const
178 GsmEncoding::GetEncodingType(void) const
180 return String(ENCODING_NAME);