00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef IARCHSTRING_H
00016 #define IARCHSTRING_H
00017
00018 #include "IInterface.h"
00019 #include "BasicTypes.h"
00020 #include <stdarg.h>
00021
00023
00027 class IArchString : public IInterface {
00028 public:
00030
00033 enum EWideCharEncoding {
00034 kUCS2,
00035 kUCS4,
00036 kUTF16,
00037 kUTF32
00038 };
00039
00041
00042
00044
00050 virtual int vsnprintf(char* str,
00051 int size, const char* fmt, va_list ap) = 0;
00052
00054 virtual int convStringMBToWC(wchar_t*,
00055 const char*, UInt32 n, bool* errors) = 0;
00056
00058 virtual int convStringWCToMB(char*,
00059 const wchar_t*, UInt32 n, bool* errors) = 0;
00060
00062 virtual EWideCharEncoding
00063 getWideCharEncoding() = 0;
00064
00066 };
00067
00068 #endif