]> Dogcows Code - chaz/openbox/blobdiff - otk/timer.hh
offsets in planar surfaces
[chaz/openbox] / otk / timer.hh
index 1d93f9145c5178f50655ba680d013b147e94e709..dc2917f17d13365db06b41fb6931de8208118721 100644 (file)
@@ -7,21 +7,7 @@
 */
 
 extern "C" {
-#ifdef    TIME_WITH_SYS_TIME
-#  include <sys/time.h>
-#  include <time.h>
-#else // !TIME_WITH_SYS_TIME
-#  ifdef    HAVE_SYS_TIME_H
-#    include <sys/time.h>
-#  else // !HAVE_SYS_TIME_H
-#    include <time.h>
-#  endif // HAVE_SYS_TIME_H
-#endif // TIME_WITH_SYS_TIME
-
-#ifdef    HAVE_UNISTD_H
-#  include <sys/types.h>
-#  include <unistd.h>
-#endif // HAVE_UNISTD_H
+#include <ctime>
 }
 
 #include <queue>
@@ -44,9 +30,12 @@ private:
   struct TimerCompare {
      //! Compares two timeval structs
      inline bool operator()(const Timer *a, const Timer *b) const {
-       return timercmp(&a->_timeout, &b->_timeout, >);
+       return ((&a->_timeout)->tv_sec == (&b->_timeout)->tv_sec) ?
+         ((&a->_timeout)->tv_usec > (&b->_timeout)->tv_usec) :
+         ((&a->_timeout)->tv_sec > (&b->_timeout)->tv_sec);
      }
   };
+  friend struct TimerCompare; // give access to _timeout for shitty compilers
 
   typedef
   std::priority_queue<Timer*, std::vector<Timer*>, TimerCompare> TimerQ;
@@ -114,10 +103,10 @@ public:
   static bool nearestTimeout(struct timeval &tm);
 
   //! Initializes internal data before use
-  static void initialize(void);
+  static void initialize();
 
   //! Deletes all waiting timers
-  static void destroy(void);
+  static void destroy();
 };
 
 }
This page took 0.020966 seconds and 4 git commands to generate.