X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/23324ae1c7938ba904770fc456d3c07764b9c5e9..de536319f16406adf967003637b2655c61f6cb09:/interface/msgqueue.h diff --git a/interface/msgqueue.h b/interface/msgqueue.h index 43d076c828..2b23de8b9a 100644 --- a/interface/msgqueue.h +++ b/interface/msgqueue.h @@ -1,75 +1,69 @@ ///////////////////////////////////////////////////////////////////////////// // Name: msgqueue.h -// Purpose: documentation for wxMessageQueue class +// Purpose: interface of wxMessageQueue // Author: wxWidgets team // RCS-ID: $Id$ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// /** - @class wxMessageQueueT @wxheader{msgqueue.h} - - 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. 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. - + + 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. 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. + @nolibrary @category{FIXME} - - @seealso - wxThread + + @see wxThread */ -class wxMessageQueue +class wxMessageQueue { public: /** - Returns @true if the object had been initialized successfully, @false + Returns @true if the object had been initialized successfully, @false if an error occurred. */ -#define bool IsOk() /* implementation is private */ + bool IsOk() const; /** - Add a message to this queue and signal the threads waiting for messages - (i.e. the threads which called wxMessageQueue::Receive or - wxMessageQueue::ReceiveTimeout). - + Add a message to this queue and signal the threads waiting for messages + (i.e. the threads which called wxMessageQueue::Receive or + wxMessageQueue::ReceiveTimeout). This method is safe to call from multiple threads in parallel. */ wxMessageQueueError Post(T const& msg); /** - Block until a message becomes available in the queue. Waits indefinitely long - or until an error occurs. - + Block until a message becomes available in the queue. Waits indefinitely long + or until an error occurs. The message is returned in @e msg. */ wxMessageQueueError Receive(T& msg); /** - Block until a message becomes available in the queue, but no more than - @e timeout milliseconds has elapsed. - - If no message is available after @e timeout milliseconds then returns - @b wxMSGQUEUE_TIMEOUT. - - If @e timeout is 0 then checks for any messages present in the queue - and returns immediately without waiting. - + Block until a message becomes available in the queue, but no more than + @a timeout milliseconds has elapsed. + If no message is available after @a timeout milliseconds then returns + @b wxMSGQUEUE_TIMEOUT. + If @a timeout is 0 then checks for any messages present in the queue + and returns immediately without waiting. The message is returned in @e msg. */ wxMessageQueueError ReceiveTimeout(long timeout, T& msg); /** - Default and only constructor. Use wxMessageQueue::IsOk to check + Default and only constructor. Use wxMessageQueue::IsOk to check if the object was successfully initialized. */ - wxMessageQueue(); + wxMessageQueue(); }; +