1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/other-licenses/7zstub/src/Common/StringConvert.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,71 @@ 1.4 +// Common/StringConvert.h 1.5 + 1.6 +#ifndef __COMMON_STRINGCONVERT_H 1.7 +#define __COMMON_STRINGCONVERT_H 1.8 + 1.9 +#include "MyWindows.h" 1.10 +#include "Common/String.h" 1.11 +#include "Types.h" 1.12 + 1.13 +UString MultiByteToUnicodeString(const AString &srcString, UINT codePage = CP_ACP); 1.14 +AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage = CP_ACP); 1.15 + 1.16 +inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString) 1.17 + { return unicodeString; } 1.18 +inline const UString& GetUnicodeString(const UString &unicodeString) 1.19 + { return unicodeString; } 1.20 +inline UString GetUnicodeString(const AString &ansiString) 1.21 + { return MultiByteToUnicodeString(ansiString); } 1.22 +inline UString GetUnicodeString(const AString &multiByteString, UINT codePage) 1.23 + { return MultiByteToUnicodeString(multiByteString, codePage); } 1.24 +inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString, UINT) 1.25 + { return unicodeString; } 1.26 +inline const UString& GetUnicodeString(const UString &unicodeString, UINT) 1.27 + { return unicodeString; } 1.28 + 1.29 +inline const char* GetAnsiString(const char* ansiString) 1.30 + { return ansiString; } 1.31 +inline const AString& GetAnsiString(const AString &ansiString) 1.32 + { return ansiString; } 1.33 +inline AString GetAnsiString(const UString &unicodeString) 1.34 + { return UnicodeStringToMultiByte(unicodeString); } 1.35 + 1.36 +inline const char* GetOemString(const char* oemString) 1.37 + { return oemString; } 1.38 +inline const AString& GetOemString(const AString &oemString) 1.39 + { return oemString; } 1.40 +inline AString GetOemString(const UString &unicodeString) 1.41 + { return UnicodeStringToMultiByte(unicodeString, CP_OEMCP); } 1.42 + 1.43 + 1.44 +#ifdef _UNICODE 1.45 + inline const wchar_t* GetSystemString(const wchar_t* unicodeString) 1.46 + { return unicodeString;} 1.47 + inline const UString& GetSystemString(const UString &unicodeString) 1.48 + { return unicodeString;} 1.49 + inline const wchar_t* GetSystemString(const wchar_t* unicodeString, UINT codePage) 1.50 + { return unicodeString;} 1.51 + inline const UString& GetSystemString(const UString &unicodeString, UINT codePage) 1.52 + { return unicodeString;} 1.53 + inline UString GetSystemString(const AString &multiByteString, UINT codePage) 1.54 + { return MultiByteToUnicodeString(multiByteString, codePage);} 1.55 + inline UString GetSystemString(const AString &multiByteString) 1.56 + { return MultiByteToUnicodeString(multiByteString);} 1.57 +#else 1.58 + inline const char* GetSystemString(const char *ansiString) 1.59 + { return ansiString; } 1.60 + inline const AString& GetSystemString(const AString &multiByteString, UINT) 1.61 + { return multiByteString; } 1.62 + inline const char * GetSystemString(const char *multiByteString, UINT) 1.63 + { return multiByteString; } 1.64 + inline AString GetSystemString(const UString &unicodeString) 1.65 + { return UnicodeStringToMultiByte(unicodeString); } 1.66 + inline AString GetSystemString(const UString &unicodeString, UINT codePage) 1.67 + { return UnicodeStringToMultiByte(unicodeString, codePage); } 1.68 +#endif 1.69 + 1.70 +#ifndef _WIN32_WCE 1.71 +AString SystemStringToOemString(const CSysString &srcString); 1.72 +#endif 1.73 + 1.74 +#endif