2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @file FTextEncoding.h
20 * @brief This is the header file for the %Encoding class.
22 * This header file contains the declarations of the %Encoding class. @n
23 * This class is the base class for all character encoding classes.
25 #ifndef _FTEXT_ENCODING_H_
26 #define _FTEXT_ENCODING_H_
29 #include <FBaseObject.h>
30 #include <FBaseTypes.h>
31 #include <FBaseBuffer.h>
32 #include <FBaseColIList.h>
33 #include <FBaseString.h>
34 #include <FTextEncoder.h>
35 #include <FTextDecoder.h>
38 namespace Tizen { namespace Text
43 * @brief This class implements character encoding.
47 * The %Encoding class is the base class for all classes that implement character encoding.
49 * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/text/converting_all_text_data.htm">Converting All Text Data at Once</a>.
51 * For more information on the supported encoding types, see <a href="../org.tizen.native.appprogramming/html/guide/text/text.htm">Encoding standards in %Tizen</a>.
53 * The following example demonstrates how to use the %Encoding class.
59 * using namespace Tizen::Base;
60 * using namespace Tizen::Text;
63 * MyClass::EncodingSample(void)
65 * Encoding* pEnc = Encoding::GetEncodingN(L"ISO-8859-2");
67 * String str(L"Encoding Test \u0104\u02D8");
70 * pEnc->GetByteCount(str, byteCount);
73 * ByteBuffer* pBuffer = pEnc->GetBytesN(str);
76 * pEnc->GetCharCount(*pBuffer, charCount);
80 * pEnc->GetString(*pBuffer, decodedStr);
82 * if (str.Equals(decodedStr))
100 class _OSP_EXPORT_ Encoding
101 : public Tizen::Base::Object
105 * This is the destructor for this class. @n
106 * This destructor overrides Tizen::Base::Object::~Object().
110 virtual ~Encoding(void);
113 * Gets the total number of bytes that are required to encode the specified string.
117 * @return An error code
118 * @param[in] str The string to encode
119 * @param[out] byteCount The total number of bytes that are required to encode the specified string
120 * @exception E_SUCCESS The method is successful.
121 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c str is an empty string.
122 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
123 * @remarks This method determines the total number of bytes
124 * that are generated when the specified string is encoded.
125 * @see GetMaxByteCount()
127 virtual result GetByteCount(const Tizen::Base::String& str, int& byteCount) const;
130 * Gets the total number of bytes that are required to encode the specified characters.
134 * @return An error code
135 * @param[in] chars An instance of Tizen::Base::WcharBuffer to encode
136 * @param[out] byteCount The total number of bytes required to encode the specified range of characters
137 * @exception E_SUCCESS The method is successful.
138 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c chars is empty.
139 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
140 * @remarks This method determines the total number of bytes
141 * that are generated when the specified array of characters are encoded.
142 * @see GetMaxByteCount()
143 * @see GetByteCount()
145 virtual result GetByteCount(const Tizen::Base::WcharBuffer& chars, int& byteCount) const;
148 * Gets the total number of bytes that are required to encode a range of characters in the specified Tizen::Base::WcharBuffer instance.
152 * @return An error code
153 * @param[in] chars An instance of Tizen::Base::WcharBuffer to encode
154 * @param[in] charIndex The index from where encoding begins in the Tizen::Base::WcharBuffer instance
155 * @param[in] charCount The total number of characters to encode
156 * @param[out] byteCount The total number of bytes that are required to encode the specified range of characters
157 * @exception E_SUCCESS The method is successful.
158 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c chars is empty.
159 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the length of the specified @c charIndex or @c charCount is greater than the length of the specified @c chars.
160 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c charIndex and @c charCount is greater than the length of the specified @c chars.
161 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
162 * @remarks This method determines the total number of bytes
163 * that are generated when the specified array of characters are encoded.
164 * @see GetMaxByteCount()
165 * @see GetByteCount()
167 virtual result GetByteCount(const Tizen::Base::WcharBuffer& chars, int charIndex, int charCount,
168 int& byteCount) const;
171 * Encodes an instance of specified Tizen::Base::WcharBuffer into an instance of Tizen::Base::ByteBuffer.
175 * @return A pointer to the Tizen::Base::ByteBuffer instance where the resultant encoded string is stored, @n
176 * else @c null if an exception occurs @n
177 * The buffer limit is the position of the last encoded byte plus one and the starting position is zero.
178 * @param[in] chars An instance of Tizen::Base::WcharBuffer to encode
179 * @exception E_SUCCESS The method is successful.
180 * @exception E_OUT_OF_MEMORY The memory is insufficient.
181 * @exception E_INVALID_ARG The specified @c chars is invalid or empty.
182 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
183 * @remarks The specific error code can be accessed using the GetLastResult() method.
187 virtual Tizen::Base::ByteBuffer* GetBytesN(const Tizen::Base::WcharBuffer& chars) const = 0;
190 * Encodes the specified string of type Tizen::Base::String to Tizen::Base::ByteBuffer.
194 * @return A pointer to the Tizen::Base::ByteBuffer instance where the resultant encoded string is stored, @n
195 * else @c null if an exception occurs @n
196 * The buffer limit is the position of the last encoded byte plus one and the position is zero.
197 * @param[in] str The string to encode
198 * @exception E_SUCCESS The method is successful.
199 * @exception E_OUT_OF_MEMORY The memory is insufficient.
200 * @exception E_INVALID_ARG The specified @c str is invalid or is an empty string.
201 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
202 * @remarks The specific error code can be accessed using the GetLastResult() method.
205 virtual Tizen::Base::ByteBuffer* GetBytesN(const Tizen::Base::String& str) const = 0;
208 * Encodes an instance of the specified Tizen::Base::WcharBuffer into an instance of Tizen::Base::ByteBuffer as per the specified range. @n
209 * The position and limit of the %Tizen::Base::ByteBuffer instance is not changed.
213 * @return An error code
214 * @param[in] chars The buffer containing the character array to encode
215 * @param[in] charIndex The index from where encoding begins in the Tizen::Base::WcharBuffer instance
216 * @param[in] charCount The total number of characters to encode
217 * @param[out] bytes The Tizen::Base::ByteBuffer instance where the resultant encoded string is stored
218 * @param[in] byteIndex The starting index of the resultant encoding in the Tizen::Base::ByteBuffer instance
219 * @exception E_SUCCESS The method is successful.
220 * @exception E_OUT_OF_MEMORY The memory is insufficient.
221 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c chars or @c bytes is empty.
222 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the length of the specified @c charIndex or @c charCount is greater than the length of the specified @c chars.
223 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c charIndex and @c charCount is greater than the length of the specified @c chars.
224 * @exception E_OVERFLOW This operation has caused the memory to overflow, or the specified @c bytes does not contain sufficient space to store the encoded characters.
225 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
226 * @remarks This method encodes a range of characters in Tizen::Base::WcharBuffer into a range of bytes in Tizen::Base::ByteBuffer.
229 virtual result GetBytes(const Tizen::Base::WcharBuffer& chars, int charIndex, int charCount,
230 Tizen::Base::ByteBuffer& bytes, int byteIndex) const = 0;
233 * Encodes an instance of Tizen::Base::String into an instance of Tizen::Base::ByteBuffer as per the specified range. @n
234 * The position and limit of the %Tizen::Base::ByteBuffer instance is not changed.
238 * @return An error code
239 * @param[in] str The string to encode
240 * @param[in] charIndex The index from where encoding begins in the Tizen::Base::WcharBuffer instance
241 * @param[in] charCount The total number of characters to encode
242 * @param[out] bytes The Tizen::Base::ByteBuffer instance where the resultant encoded string is stored
243 * @param[in] byteIndex The starting index of the resultant encoding in the Tizen::Base::ByteBuffer instance
244 * @exception E_SUCCESS The method is successful.
245 * @exception E_OUT_OF_MEMORY The memory is insufficient.
246 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c str or @c bytes is empty.
247 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the length of the specified @c charIndex or @c charCount is greater than the length of the specified @c str.
248 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c charIndex and @c charCount is greater than the length of the specified @c str.
249 * @exception E_OVERFLOW This operation has caused the memory to overflow, or the specified @c bytes does not contain sufficient space to store the encoded characters.
250 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
253 virtual result GetBytes(const Tizen::Base::String& str, int charIndex, int charCount,
254 Tizen::Base::ByteBuffer& bytes, int byteIndex) const = 0;
257 * Gets the total number of characters that are generated by decoding an instance of Tizen::Base::ByteBuffer.
261 * @return An error code
262 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
263 * @param[out] charCount The total number of characters that are generated by decoding a range of bytes in the specified Tizen::Base::ByteBuffer instance
264 * @exception E_SUCCESS The method is successful.
265 * @exception E_OUT_OF_MEMORY The memory is insufficient.
266 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c bytes is empty.
267 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
268 * @remarks This method determines the total number of characters
269 * that are generated when the specified range of bytes are encoded.
270 * @see GetMaxCharCount()
271 * @see GetCharCount()
273 virtual result GetCharCount(const Tizen::Base::ByteBuffer& bytes, int& charCount) const;
276 * Gets the total number of characters that are generated by decoding a range of elements specified in the Tizen::Base::ByteBuffer instance.
280 * @return An error code
281 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
282 * @param[in] byteIndex The index from where decoding begins
283 * @param[in] byteCount The total number of bytes to decode
284 * @param[out] charCount The total number of characters that are generated by decoding a range of bytes in the specified Tizen::Base::ByteBuffer instance
285 * @exception E_SUCCESS The method is successful.
286 * @exception E_OUT_OF_MEMORY The memory is insufficient.
287 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c bytes is empty.
288 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the length of the specified @c byteIndex or @c byteCount is greater than the length of the specified @c bytes.
289 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c byteIndex and @c byteCount is greater than the length of the specified @c bytes.
290 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
291 * @remarks This method determines the total number of characters
292 * that are generated when the specified range of bytes are encoded.
293 * @see GetMaxCharCount()
294 * @see GetCharCount()
296 virtual result GetCharCount(const Tizen::Base::ByteBuffer& bytes, int byteIndex, int byteCount, int& charCount) const;
299 * Decodes an instance of Tizen::Base::ByteBuffer into an instance of Tizen::Base::WcharBuffer.
303 * @return A pointer to the Tizen::Base::WcharBuffer instance where the resultant decoded data is stored, @n
304 * else @c null if an exception occurs @n
305 * The buffer limit is the position of the last decoded byte plus one and the starting position is zero.
306 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
307 * @exception E_SUCCESS The method is successful.
308 * @exception E_OUT_OF_MEMORY The memory is insufficient.
309 * @exception E_INVALID_ARG The specified @c bytes is invalid or empty.
310 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
311 * @remarks The specific error code can be accessed using the GetLastResult() method.
314 virtual Tizen::Base::WcharBuffer* GetCharsN(const Tizen::Base::ByteBuffer& bytes) const = 0;
317 * Decodes an instance of Tizen::Base::ByteBuffer into an instance of Tizen::Base::WcharBuffer as per the specified range. @n
318 * The position and limit of the %Tizen::Base::WcharBuffer instance is not changed.
322 * @return An error code
323 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
324 * @param[in] byteIndex The index from where decoding begins
325 * @param[in] byteCount The total number of bytes to decode
326 * @param[out] chars The Tizen::Base::WcharBuffer instance where the resultant decoded data is stored
327 * @param[in] charIndex The index from where encoding begins in the Tizen::Base::WcharBuffer instance
328 * @exception E_SUCCESS The method is successful.
329 * @exception E_OUT_OF_MEMORY The memory is insufficient.
330 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c bytes is empty.
331 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the length of the specified @c byteIndex or @c byteCount is greater than the length of the specified @c bytes.
332 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c byteIndex and @c byteCount is greater than the length of the specified @c bytes.
333 * @exception E_OVERFLOW This operation has caused the memory to overflow, or the specified @c chars does not contain sufficient space to store the decoded bytes.
334 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
337 virtual result GetChars(const Tizen::Base::ByteBuffer& bytes, int byteIndex, int byteCount,
338 Tizen::Base::WcharBuffer& chars, int charIndex) const = 0;
341 * Gets a string that contains the decoded representation of a range of bytes in the specified Tizen::Base::ByteBuffer instance.
345 * @return An error code
346 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
347 * @param[out] str A Tizen::Base::String instance @n
348 * It contains the decoded representation of the specified Tizen::Base::ByteBuffer instance.
349 * @exception E_SUCCESS The method is successful.
350 * @exception E_OUT_OF_MEMORY The memory is insufficient.
351 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c bytes is empty.
352 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
357 virtual result GetString(const Tizen::Base::ByteBuffer& bytes, Tizen::Base::String& str) const = 0;
360 * Gets a string that contains the decoded representation of a range of bytes in the specified Tizen::Base::ByteBuffer instance.
364 * @return An error code
365 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
366 * @param[in] index The index from where decoding begins
367 * @param[in] count The total number of bytes to decode
368 * @param[out] str A Tizen::Base::String instance @n
369 * It contains the decoded representation of the specified Tizen::Base::ByteBuffer instance.
370 * @exception E_SUCCESS The method is successful.
371 * @exception E_OUT_OF_MEMORY The memory is insufficient.
372 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c bytes is empty.
373 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the sum of the length of the specified @c index and @c count is greater than the length of the specified @c bytes.
374 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c index and @c count is greater than the length of the specified @c bytes.
375 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
379 virtual result GetString(const Tizen::Base::ByteBuffer& bytes, int index, int count, Tizen::Base::String& str) const = 0;
382 * Gets the maximum number of bytes that are required to encode the specified number of characters.
386 * @return The maximum number of bytes that are required to encode the specified number of characters
387 * @param[in] charCount The total number of characters to encode
388 * @remarks This method determines an appropriate buffer size for the byte arrays passed to GetBytes() for encoding.
389 * @see GetByteCount()
392 virtual int GetMaxByteCount(int charCount) const = 0;
395 * Gets the maximum number of characters that are generated by decoding the specified number of bytes.
399 * @return The maximum number of characters that are generated by decoding the specified number of bytes
400 * @param[in] byteCount The total number of bytes to encode
401 * @remarks This method determines an appropriate buffer size for character arrays passed to
402 * GetChars() or a decoder for encoding.
403 * @see GetCharCount()
406 virtual int GetMaxCharCount(int byteCount) const = 0;
409 * Gets the encoder for the current encoding.
413 * @return A pointer to the Encoder instance for the current encoding
414 * @remarks Contrary to GetBytes(), an encoder can convert partial sequences of characters into
415 * partial sequences of bytes by maintaining an appropriate state between the conversions.
416 * Currently, only UTF-8 encoding supports this method. The other classes return a value of @c null.
419 virtual Encoder* GetEncoderN(void) const = 0;
422 * Gets the decoder for the current encoding.
426 * @return A pointer to the Decoder instance for the current encoding
427 * @remarks Contrary to GetChars(), a decoder can convert partial sequences of bytes
428 * into partial sequences of characters by maintaining an appropriate state between the conversions.
429 * Currently, only UTF-8 encoding supports this method. The other classes return a value of @c null.
432 virtual Decoder* GetDecoderN(void) const = 0;
435 * Gets the encoding type of the current instance.
439 * @return An encoding type
441 virtual Tizen::Base::String GetEncodingType(void) const = 0;
444 * Gets an encoding for the UTF-8 format.
448 * @return An encoding for the UTF-8 format
450 * @see Tizen::Text::Utf8Encoding
452 static Utf8Encoding& GetUtf8Encoding(void);
455 * Gets an encoding for the UCS-2 format.
459 * @return An encoding for the UCS-2 format
461 * @see Tizen::Text::Ucs2Encoding
463 static Ucs2Encoding& GetUcs2Encoding(void);
466 * Gets an encoding for the GSM format.
470 * @return An encoding for the GSM format
472 * @see Tizen::Text::GsmEncoding
474 static GsmEncoding& GetGsmEncoding(void);
477 * Gets an encoding for the Latin1 format.
481 * @return An encoding for the Latin1 format
483 * @see Tizen::Text::Latin1Encoding
485 static Latin1Encoding& GetLatin1Encoding(void);
488 * Gets an encoding for the ASCII format.
492 * @return An encoding for the ASCII format
494 * @see Tizen::Text::AsciiEncoding
496 static AsciiEncoding& GetAsciiEncoding(void);
499 * Gets an %Encoding instance from the specified encoding type.
503 * @return An instance of %Encoding, @n
504 * else @c null if the method fails
505 * @param[in] encodingType An encoding type
506 * @exception E_SUCCESS The method is successful.
507 * @exception E_UNSUPPORTED_TYPE The specified encoding type is not supported.
508 * @remarks The specific error code can be accessed using the GetLastResult() method. @n
509 * The supported encoding types are ASCII, GSM, UCS-2, UCS-2LE, UCS-2BE, UCS-4, UCS-4LE, UCS-4BE, UTF-8, UTF-16, UTF-16LE, UTF-16BE, @n
510 * UTF-32, UTF-32LE, UTF-32BE, ISO-8859-1~16 (except ISO-8859-12), Windows-874, Windows-1250 ~ Windows-1258, @n
511 * KSC5601, BIG5, GB2312, Shift-JIS and ISO-2022-jp. @n
512 * For more information on the supported encoding types, see <a href="../org.tizen.native.appprogramming/html/guide/text/text.htm">Encoding standards in %Tizen</a>.
513 * @see Tizen::Text::Encoding::GetAvailableEncodingsN()
515 static Encoding* GetEncodingN(const Tizen::Base::String& encodingType);
518 * Gets the encoding type of the specified %Encoding instance.
522 * @return An encoding type
523 * @param[in] encoding An instance of %Encoding
525 static Tizen::Base::String GetEncodingType(const Encoding& encoding);
528 * Gets a list of all the available encodings.
532 * @return A list of Tizen::Base::String instances (ASCII, UTF-8, ISO-8859-1, ISO-8859-2, Windows-1254, and so on), @n
533 * else @c null if the method fails
534 * @exception E_SUCCESS The method is successful.
535 * @exception E_SYSTEM A system error has occurred.
536 * @remarks The specific error code can be accessed using the GetLastResult() method.
538 static Tizen::Base::Collection::IList* GetAvailableEncodingsN(void);
541 * Converts an instance of Tizen::Base::ByteBuffer from one encoding format to another.
545 * @return A new buffer for storing the result of the conversion, @n
546 * else @c null if an exception occurs @n
547 * The buffer limit is the position of the last converted byte plus one and the starting position is zero.
548 * @param[in] src The source of the encoding
549 * @param[in] dst The destination of the encoding
550 * @param[in] srcBytes The Tizen::Base::ByteBuffer instance where the resultant encoded string is stored
551 * @exception E_SUCCESS The method is successful.
552 * @exception E_OUT_OF_MEMORY The memory is insufficient.
553 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c srcBytes is empty.
554 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
555 * @remarks The specific error code can be accessed using the GetLastResult() method.
559 static Tizen::Base::ByteBuffer* ConvertN(const Encoding& src, const Encoding& dst,
560 const Tizen::Base::ByteBuffer& srcBytes);
563 * Converts a range of bytes in the Tizen::Base::ByteBuffer instance from one encoding format to another.
567 * @return A new buffer for storing result of the conversion, @n
568 * else @c null if an exception occurs @n
569 * The buffer limit is the position of the last converted byte plus one and the starting position is zero.
570 * @param[in] src The source of the encoding
571 * @param[in] dst The destination of the encoding
572 * @param[in] srcBytes The Tizen::Base::ByteBuffer instance where the resultant encoded string is stored
573 * @param[in] index The starting index of the resultant encoding in the Tizen::Base::ByteBuffer instance
574 * @param[in] count The total number of bytes to convert
575 * @exception E_SUCCESS The method is successful.
576 * @exception E_OUT_OF_MEMORY The memory is insufficient.
577 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c srcBytes is empty.
578 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the specified @c index or @c count is greater than the length of the specified @c srcBytes.
579 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c index and @c count is greater than the length of the specified @c srcBytes.
580 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
581 * @remarks The specific error code can be accessed using the GetLastResult() method.
585 static Tizen::Base::ByteBuffer* ConvertN(const Encoding& src, const Encoding& dst, const Tizen::Base::ByteBuffer& srcBytes,
586 int index, int count);
592 // This method is for internal use only. Using this method can cause behavioral, security-related,
593 // and consistency-related issues in the application.
595 // This method is reserved and may change its name at any time without prior notice.
599 virtual void Encoding_Reserved1(void) { }
602 // This method is for internal use only. Using this method can cause behavioral, security-related,
603 // and consistency-related issues in the application.
605 // This method is reserved and may change its name at any time without prior notice.
609 virtual void Encoding_Reserved2(void) { }
612 // This method is for internal use only. Using this method can cause behavioral, security-related,
613 // and consistency-related issues in the application.
615 // This method is reserved and may change its name at any time without prior notice.
619 virtual void Encoding_Reserved3(void) { }
622 // This method is for internal use only. Using this method can cause behavioral, security-related,
623 // and consistency-related issues in the application.
625 // This method is reserved and may change its name at any time without prior notice.
629 virtual void Encoding_Reserved4(void) { }
632 // This method is for internal use only. Using this method can cause behavioral, security-related,
633 // and consistency-related issues in the application.
635 // This method is reserved and may change its name at any time without prior notice.
639 virtual void Encoding_Reserved5(void) { }
641 friend class _EncodingImpl;
642 class _EncodingImpl* _pEncodingImpl;
646 * The implementation of this copy constructor is intentionally blank and declared as private to
647 * prohibit copying of objects.
649 Encoding(const Encoding& encoding);
652 * The implementation of this copy assignment operator is intentionally blank and declared as private
653 * to prohibit copying of objects.
655 Encoding& operator =(const Encoding& encoding);
661 #endif //_FTEXT_ENCODING_H_