Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ACE_ENCODING_CONVERTER_H
00017 #define ACE_ENCODING_CONVERTER_H
00018
00019 #include "ace/pre.h"
00020
00021 #include "ace/Basic_Types.h"
00022
00023 #if defined (ACE_USES_WCHAR)
00024 #include "ace/ACE_export.h"
00025
00026 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00027
00028
00029
00030
00031
00032 class ACE_Export ACE_Encoding_Converter
00033 {
00034 public:
00035
00036
00037
00038 enum Result {CONVERSION_OK,
00039 SOURCE_EXHAUSTED,
00040 TARGET_EXHAUSTED,
00041 SOURCE_ILLEGAL
00042 };
00043
00044
00045
00046 virtual ~ACE_Encoding_Converter (void);
00047
00048
00049
00050 virtual Result to_utf8 (const void* source,
00051 size_t source_size,
00052 ACE_Byte* target,
00053 size_t target_size,
00054 bool strict = true) = 0;
00055
00056
00057
00058 virtual Result from_utf8 (const ACE_Byte* source,
00059 size_t source_size,
00060 void* target,
00061 size_t target_size,
00062 bool strict = true) = 0;
00063 };
00064
00065 ACE_END_VERSIONED_NAMESPACE_DECL
00066 #endif
00067
00068 #include "ace/post.h"
00069
00070 #endif