michael@0: // Common/StringConvert.h michael@0: michael@0: #ifndef __COMMON_STRINGCONVERT_H michael@0: #define __COMMON_STRINGCONVERT_H michael@0: michael@0: #include "MyWindows.h" michael@0: #include "Common/String.h" michael@0: #include "Types.h" michael@0: michael@0: UString MultiByteToUnicodeString(const AString &srcString, UINT codePage = CP_ACP); michael@0: AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage = CP_ACP); michael@0: michael@0: inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString) michael@0: { return unicodeString; } michael@0: inline const UString& GetUnicodeString(const UString &unicodeString) michael@0: { return unicodeString; } michael@0: inline UString GetUnicodeString(const AString &ansiString) michael@0: { return MultiByteToUnicodeString(ansiString); } michael@0: inline UString GetUnicodeString(const AString &multiByteString, UINT codePage) michael@0: { return MultiByteToUnicodeString(multiByteString, codePage); } michael@0: inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString, UINT) michael@0: { return unicodeString; } michael@0: inline const UString& GetUnicodeString(const UString &unicodeString, UINT) michael@0: { return unicodeString; } michael@0: michael@0: inline const char* GetAnsiString(const char* ansiString) michael@0: { return ansiString; } michael@0: inline const AString& GetAnsiString(const AString &ansiString) michael@0: { return ansiString; } michael@0: inline AString GetAnsiString(const UString &unicodeString) michael@0: { return UnicodeStringToMultiByte(unicodeString); } michael@0: michael@0: inline const char* GetOemString(const char* oemString) michael@0: { return oemString; } michael@0: inline const AString& GetOemString(const AString &oemString) michael@0: { return oemString; } michael@0: inline AString GetOemString(const UString &unicodeString) michael@0: { return UnicodeStringToMultiByte(unicodeString, CP_OEMCP); } michael@0: michael@0: michael@0: #ifdef _UNICODE michael@0: inline const wchar_t* GetSystemString(const wchar_t* unicodeString) michael@0: { return unicodeString;} michael@0: inline const UString& GetSystemString(const UString &unicodeString) michael@0: { return unicodeString;} michael@0: inline const wchar_t* GetSystemString(const wchar_t* unicodeString, UINT codePage) michael@0: { return unicodeString;} michael@0: inline const UString& GetSystemString(const UString &unicodeString, UINT codePage) michael@0: { return unicodeString;} michael@0: inline UString GetSystemString(const AString &multiByteString, UINT codePage) michael@0: { return MultiByteToUnicodeString(multiByteString, codePage);} michael@0: inline UString GetSystemString(const AString &multiByteString) michael@0: { return MultiByteToUnicodeString(multiByteString);} michael@0: #else michael@0: inline const char* GetSystemString(const char *ansiString) michael@0: { return ansiString; } michael@0: inline const AString& GetSystemString(const AString &multiByteString, UINT) michael@0: { return multiByteString; } michael@0: inline const char * GetSystemString(const char *multiByteString, UINT) michael@0: { return multiByteString; } michael@0: inline AString GetSystemString(const UString &unicodeString) michael@0: { return UnicodeStringToMultiByte(unicodeString); } michael@0: inline AString GetSystemString(const UString &unicodeString, UINT codePage) michael@0: { return UnicodeStringToMultiByte(unicodeString, codePage); } michael@0: #endif michael@0: michael@0: #ifndef _WIN32_WCE michael@0: AString SystemStringToOemString(const CSysString &srcString); michael@0: #endif michael@0: michael@0: #endif