X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ba1d7a6cec8d9569ce2e380d4a39ddcd4450c9b5..ede7b01760e920b31520b15c919445db882a8012:/interface/wx/msgqueue.h diff --git a/interface/wx/msgqueue.h b/interface/wx/msgqueue.h index 5a6347f794..3e3cc120dd 100644 --- a/interface/wx/msgqueue.h +++ b/interface/wx/msgqueue.h @@ -3,27 +3,31 @@ // Purpose: interface of wxMessageQueue // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** - wxMessageQueue allows passing messages between threads. This class should be typically used to communicate between the main and worker threads. The main thread calls wxMessageQueue::Post and the worker thread calls wxMessageQueue::Receive. - For this class a message is an object of arbitrary type T. + @tparam T + For this class a message is an object of arbitrary type T. + Notice that often there is a some special message indicating that the thread should terminate as there is no other way to gracefully shutdown a thread waiting on the message queue. + @since 2.9.0 + @nolibrary - @category{misc} + @category{threading} @see wxThread */ +template class wxMessageQueue { public: @@ -33,6 +37,17 @@ public: */ wxMessageQueue(); + /** + Remove all messages from the queue. + + This method is meant to be called from the same thread(s) that call + Post() to discard any still pending requests if they became + unnecessary. + + @since 2.9.1 + */ + wxMessageQueueError Clear(); + /** Returns @true if the object had been initialized successfully, @false if an error occurred.