-/* $Id$ */
-
/***
This file is part of avahi.
#include <qobject.h>
#include <qtimer.h>
#endif
+#include <avahi-common/timeval.h>
#include "qt-watch.h"
class AvahiWatch : public QObject
{
m_timer.stop();
if (tv) {
- struct timeval now;
- gettimeofday(&now, 0);
+ AvahiUsec u = avahi_age(tv)/1000;
#ifdef QT4
- m_timer.start((tv->tv_sec-now.tv_sec)*1000+(tv->tv_usec-now.tv_usec)/1000);
+ m_timer.start( (u>0) ? 0 : -u);
#else
- m_timer.start((tv->tv_sec-now.tv_sec)*1000+(tv->tv_usec-now.tv_usec)/1000,true);
+ m_timer.start( (u>0) ? 0 : -u,true);
#endif
}
}
delete t;
}
-static AvahiPoll qt_poll;
-
const AvahiPoll* avahi_qt_poll_get(void)
{
- qt_poll.userdata=0;
- qt_poll.watch_new = q_watch_new;
- qt_poll.watch_free = q_watch_free;
- qt_poll.watch_update = q_watch_update;
- qt_poll.watch_get_events = q_watch_get_events;
-
- qt_poll.timeout_new = q_timeout_new;
- qt_poll.timeout_free = q_timeout_free;
- qt_poll.timeout_update = q_timeout_update;
+ static const AvahiPoll qt_poll = {
+ NULL,
+ q_watch_new,
+ q_watch_update,
+ q_watch_get_events,
+ q_watch_free,
+ q_timeout_new,
+ q_timeout_update,
+ q_timeout_free
+ };
+
return &qt_poll;
}