other-licenses/7zstub/src/Common/StringConvert.h

Fri, 16 Jan 2015 18:13:44 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 18:13:44 +0100
branch
TOR_BUG_9701
changeset 14
925c144e1f1f
permissions
-rw-r--r--

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

mercurial