]> Dogcows Code - chaz/openbox/blobdiff - otk/timerqueuemanager.cc
dont need 2 of these comments
[chaz/openbox] / otk / timerqueuemanager.cc
index 846648d32d88876dc19118a564e51a55277a2d0c..1d6b50ce8ece5e9d86b8ea5943fe0adc256b70c0 100644 (file)
@@ -1,4 +1,4 @@
-// -*- mode: C++; indent-tabs-mode: nil; -*-
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
 
 #ifdef    HAVE_CONFIG_H
 #  include "../config.h"
@@ -9,27 +9,29 @@
 
 namespace otk {
 
-void OBTimerQueueManager::fire()
+void TimerQueueManager::fire(bool wait)
 {
   fd_set rfds;
   timeval now, tm, *timeout = (timeval *) 0;
 
-  const int xfd = ConnectionNumber(otk::OBDisplay::display);
+  const int xfd = ConnectionNumber(Display::display);
   
   FD_ZERO(&rfds);
   FD_SET(xfd, &rfds); // break on any x events
 
-  if (! timerList.empty()) {
-    const OBTimer* const timer = timerList.top();
-
-    gettimeofday(&now, 0);
-    tm = timer->remainingTime(now);
-
-    timeout = &tm;
+  if (wait) {
+    if (! timerList.empty()) {
+      const Timer* const timer = timerList.top();
+      
+      gettimeofday(&now, 0);
+      tm = timer->remainingTime(now);
+      
+      timeout = &tm;
+    }
+
+    select(xfd + 1, &rfds, 0, 0, timeout);
   }
 
-  select(xfd + 1, &rfds, 0, 0, timeout);
-
   // check for timer timeout
   gettimeofday(&now, 0);
 
@@ -38,7 +40,7 @@ void OBTimerQueueManager::fire()
   // timer->start() and timer->shouldFire() is within the timer's period
   // then the timer will keep firing.  This should be VERY near impossible.
   while (! timerList.empty()) {
-    OBTimer *timer = timerList.top();
+    Timer *timer = timerList.top();
     if (! timer->shouldFire(now))
       break;
 
@@ -51,13 +53,13 @@ void OBTimerQueueManager::fire()
 }
 
 
-void OBTimerQueueManager::addTimer(OBTimer *timer)
+void TimerQueueManager::addTimer(Timer *timer)
 {
   assert(timer);
   timerList.push(timer);
 }
 
-void OBTimerQueueManager::removeTimer(OBTimer* timer)
+void TimerQueueManager::removeTimer(Timer* timer)
 {
   assert(timer);
   timerList.release(timer);
This page took 0.021474 seconds and 4 git commands to generate.