public:
wxConvBrokenFileNames(const wxChar *charset);
wxConvBrokenFileNames(const wxConvBrokenFileNames& conv)
- : m_conv(conv.m_conv ? conv.m_conv->Clone() : NULL)
+ : wxMBConv(),
+ m_conv(conv.m_conv ? conv.m_conv->Clone() : NULL)
{
}
virtual ~wxConvBrokenFileNames() { delete m_conv; }
wxCSConv& operator=(const wxCSConv& conv);
+ virtual size_t ToWChar(wchar_t *dst, size_t dstLen,
+ const char *src, size_t srcLen = wxNO_LEN) const;
+ virtual size_t FromWChar(char *dst, size_t dstLen,
+ const wchar_t *src, size_t srcLen = wxNO_LEN) const;
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;
virtual size_t GetMBNulLen() const;
+
virtual wxMBConv *Clone() const { return new wxCSConv(*this); }
void Clear();
+#if wxABI_VERSION >= 20802
+ // return true if the conversion could be initilized successfully
+ bool IsOk() const;
+#endif // wx 2.8.2+
+
private:
// common part of all ctors
void Init();
// default in a couple of places inside wx (initially same as wxConvLibc)
extern WXDLLIMPEXP_DATA_BASE(wxMBConv *) wxConvCurrent;
-// ???
+// the conversion corresponding to the current locale
extern WXDLLIMPEXP_DATA_BASE(wxCSConv&) wxConvLocal;
+// the conversion corresponding to the encoding of the standard UI elements
+//
+// by default this is the same as wxConvLocal but may be changed if the program
+// needs to use a fixed encoding
+extern WXDLLIMPEXP_DATA_BASE(wxMBConv *) wxConvUI;
// ----------------------------------------------------------------------------
// endianness-dependent conversions
// filename conversion macros
// ----------------------------------------------------------------------------
-// filenames are multibyte on Unix and probably widechar on Windows?
-#if defined(__UNIX__) || defined(__BORLANDC__) || defined(__WXMAC__ )
+// filenames are multibyte on Unix and widechar on Windows
+#if defined(__UNIX__) || defined(__WXMAC__)
#define wxMBFILES 1
#else
#define wxMBFILES 0