-// not very accurately named because it is not necessarily of type wxMBConvLibc
-// (but the name can't eb changed because of backwards compatibility) default
-// conversion
-extern WXDLLIMPEXP_DATA_BASE(wxMBConv&) wxConvLibc;
+#ifdef __UNIX__
+
+// ----------------------------------------------------------------------------
+// wxConvBrokenFileNames is made for Unix in Unicode mode when
+// files are accidentally written in an encoding which is not
+// the system encoding. Typically, the system encoding will be
+// UTF8 but there might be files stored in ISO8859-1 on disk.
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_BASE wxConvBrokenFileNames : public wxMBConv
+{
+public:
+ wxConvBrokenFileNames(const wxChar *charset);
+ virtual ~wxConvBrokenFileNames() { delete m_conv; }
+
+ virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const;
+ virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const;
+
+private:
+ // the conversion object we forward to
+ wxMBConv *m_conv;
+};
+
+#endif