virtual bool OnDisconnect() { delete this; return true; }
+ // return true if this is one of the formats used for textual data
+ // transmission
+ static bool IsTextFormat(wxIPCFormat format)
+ {
+ return format == wxIPC_TEXT ||
+ format == wxIPC_UTF8TEXT ||
+ format == wxIPC_UTF16TEXT ||
+ format == wxIPC_UTF32TEXT;
+ }
+
// converts from the data and format into a wxString automatically
//
// this function accepts data in all of wxIPC_TEXT, wxIPC_UNICODETEXT, and
- // wxIPC_UTF8TEXT formats but asserts if the format is anything else
+ // wxIPC_UTF8TEXT formats but asserts if the format is anything else (i.e.
+ // such that IsTextFormat(format) doesn't return true)
//
// notice that the size parameter here contains the total size of the data,
// including the terminating '\0' or L'\0'
otherwise.
*/
bool StopAdvise(const wxString& item);
+
+
+ /**
+ Returns true if the format is one of the text formats.
+
+ The text formats are wxIPC_TEXT, wxIPC_UNICODETEXT and wxIPC_UTF8TEXT.
+ */
+ static bool IsTextFormat(wxIPCFormat format);
+
+ /**
+ Returns the data in any of the text formats as string.
+
+ @param data
+ The raw data pointer as used with any of the other methods of this
+ class.
+ @param size
+ The size of the data buffer pointed to by @a data.
+ @param format
+ The format of the data. It must be a text one, i.e. such that
+ IsTextFormat() returns @true for it.
+ @return
+ The string representation of the data. If the format is not text,
+ an assertion failure is triggered and empty string is returned.
+ */
+ static wxString
+ GetTextFromData(const void *data, size_t size, wxIPCFormat format);
};