00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef IARCHSTRING_H
00020 #define IARCHSTRING_H
00021
00022 #include "IInterface.h"
00023 #include "BasicTypes.h"
00024 #include <stdarg.h>
00025
00027
00031 class IArchString : public IInterface {
00032 public:
00033 virtual ~IArchString();
00034
00036
00039 enum EWideCharEncoding {
00040 kUCS2,
00041 kUCS4,
00042 kUTF16,
00043 kUTF32
00044 };
00045
00047
00048
00050
00056 virtual int vsnprintf(char* str,
00057 int size, const char* fmt, va_list ap);
00058
00060 virtual int convStringMBToWC(wchar_t*,
00061 const char*, UInt32 n, bool* errors);
00062
00064 virtual int convStringWCToMB(char*,
00065 const wchar_t*, UInt32 n, bool* errors);
00066
00068 virtual EWideCharEncoding
00069 getWideCharEncoding() = 0;
00070
00072 };
00073
00074 #endif