-bool WXDLLEXPORT wxOpenClipboard();
-bool WXDLLEXPORT wxClipboardOpen();
-bool WXDLLEXPORT wxCloseClipboard();
-bool WXDLLEXPORT wxEmptyClipboard();
-bool WXDLLEXPORT wxIsClipboardFormatAvailable(int dataFormat);
-bool WXDLLEXPORT wxSetClipboardData(int dataFormat, wxObject *obj, int width = 0, int height = 0);
-wxObject* WXDLLEXPORT wxGetClipboardData(int dataFormat, long *len = NULL);
-int WXDLLEXPORT wxEnumClipboardFormats(int dataFormat);
-int WXDLLEXPORT wxRegisterClipboardFormat(char *formatName);
-bool WXDLLEXPORT wxGetClipboardFormatName(int dataFormat, char *formatName, int maxCount);
-
-/* A clipboard client holds data belonging to the clipboard.
- For plain text, a client is not necessary. */
-class WXDLLEXPORT wxClipboardClient : public wxObject
+WX_DECLARE_LIST(wxDataObject, wxDataObjectList);
+WX_DECLARE_LIST(wxDataIdToDataObject, wxDataIdToDataObjectList);
+
+WXDLLEXPORT bool wxOpenClipboard();
+WXDLLEXPORT bool wxClipboardOpen();
+WXDLLEXPORT bool wxCloseClipboard();
+WXDLLEXPORT bool wxEmptyClipboard();
+WXDLLEXPORT bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat);
+WXDLLEXPORT bool wxSetClipboardData(wxDataFormat dataFormat, wxObject *obj, int width = 0, int height = 0);
+WXDLLEXPORT wxObject* wxGetClipboardData(wxDataFormat dataFormat, long *len = NULL);
+WXDLLEXPORT wxDataFormat wxEnumClipboardFormats(wxDataFormat dataFormat);
+WXDLLEXPORT wxDataFormat wxRegisterClipboardFormat(char *formatName);
+WXDLLEXPORT bool wxGetClipboardFormatName(wxDataFormat dataFormat, char *formatName, int maxCount);
+
+//-----------------------------------------------------------------------------
+// wxClipboard
+//-----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase