// Purpose: interface of wxMessageQueue<T>
// 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 <typename T>
class wxMessageQueue<T>
{
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.