Move file utility function into pbd/file_utils.h and into PBD namespace
[ardour.git] / libs / pbd / pbd / event_loop.h
index 088b061826f413da2b29aada42971e2a1de3a8ef..450bf5752fcbc04cc0983baa6162d9a73abd17bd 100644 (file)
 namespace PBD
 {
 
+/** An EventLoop is as basic abstraction designed to be used with any "user
+ * interface" (not necessarily graphical) that needs to wait on
+ * events/requests and dispatch/process them as they arrive.
+ *
+ * This is a very basic class that doesn't by itself provide an actual
+ * event loop or thread. See BaseUI for the "real" object to be used
+ * when something like this is needed (it inherits from EventLoop).
+ */
+
 class EventLoop 
 {
   public:
@@ -40,12 +49,12 @@ class EventLoop
         struct BaseRequestObject;
     
         struct InvalidationRecord {
-            BaseRequestObject* request;
-            PBD::EventLoop* event_loop;
-            const char* file;
-            int line;
+           std::list<BaseRequestObject*> requests;
+           PBD::EventLoop* event_loop;
+           const char* file;
+           int line;
 
-            InvalidationRecord() : request (0), event_loop (0) {}
+           InvalidationRecord() : event_loop (0) {}
         };
 
         static void* invalidate_request (void* data);