X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/50c549b98d8e61e19f59c61989af293bb58319f8..a69476643b44e06bab1090a92a29ce4faeb5402d:/include/wx/ipcbase.h diff --git a/include/wx/ipcbase.h b/include/wx/ipcbase.h index 48f4d5c33a..56de3c8d35 100644 --- a/include/wx/ipcbase.h +++ b/include/wx/ipcbase.h @@ -127,12 +127,19 @@ public: // Callbacks to SERVER - override at will - virtual bool OnExecute(const wxString& WXUNUSED(topic), - const void *WXUNUSED(data), - size_t WXUNUSED(size), - wxIPCFormat WXUNUSED(format)) + virtual bool OnExec(const wxString& WXUNUSED(topic), + const wxString& WXUNUSED(data)) { return false; } + // deprecated function kept for backwards compatibility: usually you will + // want to override OnExec() above instead which receives its data in a more + // convenient format + virtual bool OnExecute(const wxString& topic, + const void *data, + size_t size, + wxIPCFormat format) + { return OnExec(topic, GetTextFromData(data, size, format)); } + virtual const void *OnRequest(const wxString& WXUNUSED(topic), const wxString& WXUNUSED(item), size_t *size, @@ -166,6 +173,17 @@ public: virtual bool OnDisconnect() { delete this; return true; } + // 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 + // + // notice that the size parameter here contains the total size of the data, + // including the terminating '\0' or L'\0' + static + wxString GetTextFromData(const void *data, size_t size, wxIPCFormat format); + + // return a buffer at least this size, reallocating buffer if needed // returns NULL if using an inadequate user buffer which can't be resized void *GetBufferAtLeast(size_t bytes); @@ -186,7 +204,7 @@ private: protected: bool m_connected; - DECLARE_NO_ASSIGN_CLASS(wxConnectionBase); + DECLARE_NO_ASSIGN_CLASS(wxConnectionBase) DECLARE_CLASS(wxConnectionBase) };