]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/msgqueue.h
Define INVALID_FILE_ATTRIBUTES in filename.cpp too.
[wxWidgets.git] / interface / wx / msgqueue.h
index 35af235e019aa572cae16d7a64424b84dd1372bf..3c3432f8a22959d0d75492deb83c98f4a45303d4 100644 (file)
@@ -7,26 +7,34 @@
 /////////////////////////////////////////////////////////////////////////////
 
 /**
-
     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.
+
+    @tparam T
+        For this class a message is an object of arbitrary type 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
+    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{threading}
 
     @see wxThread
 */
+template <typename T>
 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 +45,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.
-    */
-    wxMessageQueueError ReceiveTimeout(long timeout, T& msg);
 
-    /**
-        Default and only constructor. Use wxMessageQueue::IsOk to check
-        if the object was successfully initialized.
+        The message is returned in @a msg.
     */
-    wxMessageQueue();
+    wxMessageQueueError ReceiveTimeout(long timeout, T& msg);
 };