summaryrefslogtreecommitdiff
path: root/shared/stringConv.h
diff options
context:
space:
mode:
Diffstat (limited to 'shared/stringConv.h')
-rw-r--r--shared/stringConv.h104
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
bgstack15