Fri, 16 Jan 2015 18:13:44 +0100
Integrate suggestion from review to improve consistency with existing code.
michael@0 | 1 | // Common/StringConvert.h |
michael@0 | 2 | |
michael@0 | 3 | #ifndef __COMMON_STRINGCONVERT_H |
michael@0 | 4 | #define __COMMON_STRINGCONVERT_H |
michael@0 | 5 | |
michael@0 | 6 | #include "MyWindows.h" |
michael@0 | 7 | #include "Common/String.h" |
michael@0 | 8 | #include "Types.h" |
michael@0 | 9 | |
michael@0 | 10 | UString MultiByteToUnicodeString(const AString &srcString, UINT codePage = CP_ACP); |
michael@0 | 11 | AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage = CP_ACP); |
michael@0 | 12 | |
michael@0 | 13 | inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString) |
michael@0 | 14 | { return unicodeString; } |
michael@0 | 15 | inline const UString& GetUnicodeString(const UString &unicodeString) |
michael@0 | 16 | { return unicodeString; } |
michael@0 | 17 | inline UString GetUnicodeString(const AString &ansiString) |
michael@0 | 18 | { return MultiByteToUnicodeString(ansiString); } |
michael@0 | 19 | inline UString GetUnicodeString(const AString &multiByteString, UINT codePage) |
michael@0 | 20 | { return MultiByteToUnicodeString(multiByteString, codePage); } |
michael@0 | 21 | inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString, UINT) |
michael@0 | 22 | { return unicodeString; } |
michael@0 | 23 | inline const UString& GetUnicodeString(const UString &unicodeString, UINT) |
michael@0 | 24 | { return unicodeString; } |
michael@0 | 25 | |
michael@0 | 26 | inline const char* GetAnsiString(const char* ansiString) |
michael@0 | 27 | { return ansiString; } |
michael@0 | 28 | inline const AString& GetAnsiString(const AString &ansiString) |
michael@0 | 29 | { return ansiString; } |
michael@0 | 30 | inline AString GetAnsiString(const UString &unicodeString) |
michael@0 | 31 | { return UnicodeStringToMultiByte(unicodeString); } |
michael@0 | 32 | |
michael@0 | 33 | inline const char* GetOemString(const char* oemString) |
michael@0 | 34 | { return oemString; } |
michael@0 | 35 | inline const AString& GetOemString(const AString &oemString) |
michael@0 | 36 | { return oemString; } |
michael@0 | 37 | inline AString GetOemString(const UString &unicodeString) |
michael@0 | 38 | { return UnicodeStringToMultiByte(unicodeString, CP_OEMCP); } |
michael@0 | 39 | |
michael@0 | 40 | |
michael@0 | 41 | #ifdef _UNICODE |
michael@0 | 42 | inline const wchar_t* GetSystemString(const wchar_t* unicodeString) |
michael@0 | 43 | { return unicodeString;} |
michael@0 | 44 | inline const UString& GetSystemString(const UString &unicodeString) |
michael@0 | 45 | { return unicodeString;} |
michael@0 | 46 | inline const wchar_t* GetSystemString(const wchar_t* unicodeString, UINT codePage) |
michael@0 | 47 | { return unicodeString;} |
michael@0 | 48 | inline const UString& GetSystemString(const UString &unicodeString, UINT codePage) |
michael@0 | 49 | { return unicodeString;} |
michael@0 | 50 | inline UString GetSystemString(const AString &multiByteString, UINT codePage) |
michael@0 | 51 | { return MultiByteToUnicodeString(multiByteString, codePage);} |
michael@0 | 52 | inline UString GetSystemString(const AString &multiByteString) |
michael@0 | 53 | { return MultiByteToUnicodeString(multiByteString);} |
michael@0 | 54 | #else |
michael@0 | 55 | inline const char* GetSystemString(const char *ansiString) |
michael@0 | 56 | { return ansiString; } |
michael@0 | 57 | inline const AString& GetSystemString(const AString &multiByteString, UINT) |
michael@0 | 58 | { return multiByteString; } |
michael@0 | 59 | inline const char * GetSystemString(const char *multiByteString, UINT) |
michael@0 | 60 | { return multiByteString; } |
michael@0 | 61 | inline AString GetSystemString(const UString &unicodeString) |
michael@0 | 62 | { return UnicodeStringToMultiByte(unicodeString); } |
michael@0 | 63 | inline AString GetSystemString(const UString &unicodeString, UINT codePage) |
michael@0 | 64 | { return UnicodeStringToMultiByte(unicodeString, codePage); } |
michael@0 | 65 | #endif |
michael@0 | 66 | |
michael@0 | 67 | #ifndef _WIN32_WCE |
michael@0 | 68 | AString SystemStringToOemString(const CSysString &srcString); |
michael@0 | 69 | #endif |
michael@0 | 70 | |
michael@0 | 71 | #endif |