revised m*h headers

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2008-10-11 13:10:48 +00:00
parent bd412bc6b6
commit ba1d7a6cec
13 changed files with 727 additions and 448 deletions

View File

@@ -11,22 +11,28 @@
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.
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
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}
@category{misc}
@see wxThread
*/
class wxMessageQueue<T>
{
public:
/**
Default and only constructor.
Use wxMessageQueue::IsOk to check if the object was successfully initialized.
*/
wxMessageQueue();
/**
Returns @true if the object had been initialized successfully, @false
if an error occurred.
@@ -37,32 +43,31 @@ public:
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.
The message is returned in @e msg.
Block until a message becomes available in the queue.
Waits indefinitely long or until an error occurs.
The message is returned in @a msg.
*/
wxMessageQueueError Receive(T& msg);
/**
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.
The message is returned in @a msg.
*/
wxMessageQueueError ReceiveTimeout(long timeout, T& msg);
/**
Default and only constructor. Use wxMessageQueue::IsOk to check
if the object was successfully initialized.
*/
wxMessageQueue();
};