diff options
Diffstat (limited to 'shared/stringConv.h')
-rw-r--r-- | shared/stringConv.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/shared/stringConv.h b/shared/stringConv.h new file mode 100644 index 00000000..f4048aab --- /dev/null +++ b/shared/stringConv.h @@ -0,0 +1,104 @@ +#ifndef STRINGCONV_H_INCLUDED +#define STRINGCONV_H_INCLUDED + +#include <wx/string.h> +#include "zstring.h" + +namespace FreeFileSync +{ +//conversion from Zstring to wxString +wxString zToWx(const Zstring& str); +wxString zToWx(const DefaultChar* str); +wxString zToWx(DefaultChar ch); +//conversion from wxString to Zstring +Zstring wxToZ(const wxString& str); +Zstring wxToZ(const wxChar* str); +Zstring wxToZ(wxChar ch); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +//---------------Inline Implementation--------------------------------------------------- +inline +wxString zToWx(const Zstring& str) +{ +#ifdef ZSTRING_CHAR + return wxString::FromUTF8(str.c_str(), str.length()); +#elif defined ZSTRING_WIDE_CHAR + return wxString(str.c_str(), str.length()); +#endif +} + + +inline +wxString zToWx(const DefaultChar* str) +{ +#ifdef ZSTRING_CHAR + return wxString::FromUTF8(str); +#elif defined ZSTRING_WIDE_CHAR + return str; +#endif +} + + +inline +wxString zToWx(DefaultChar ch) +{ + return zToWx(Zstring() + ch); +} + +//----------------------------------------------------------------- +inline +Zstring wxToZ(const wxString& str) +{ +#ifdef ZSTRING_CHAR + return Zstring(str.ToUTF8()); +#elif defined ZSTRING_WIDE_CHAR + return Zstring(str.c_str(), str.length()); +#endif +} + + +inline +Zstring wxToZ(const wxChar* str) +{ +#ifdef ZSTRING_CHAR + return Zstring(wxString(str).ToUTF8()); +#elif defined ZSTRING_WIDE_CHAR + return str; +#endif +} + + +inline +Zstring wxToZ(wxChar ch) +{ + return wxToZ(wxString(ch)); +} +} + +#endif // STRINGCONV_H_INCLUDED |