void setSharedTimerFireTime(double fireTime)
{
    double interval = fireTime - currentTime();

    stopSharedTimer();
    g_sharedTimer = ecore_timer_add(interval, timerEvent, 0);
}
Beispiel #2
0
void updateSharedTimer()
{
    if (timersReadyToFire || deferringTimers || !timerHeap || timerHeap->isEmpty())
        stopSharedTimer();
    else
        setSharedTimerFireTime(timerHeap->first()->m_nextFireTime);
}
void setSharedTimerFireInterval(double interval)
{
    ASSERT(sharedTimerFiredFunction);

    guint intervalInMS = static_cast<guint>(interval * 1000);

    stopSharedTimer();
    sharedTimer = g_timeout_add_full(GDK_PRIORITY_REDRAW, intervalInMS, timeout_cb, 0, 0);
}
Beispiel #4
0
void setSharedTimerFireInterval(double interval)
{
    ASSERT(sharedTimerFiredFunction);

    guint intervalInMS = static_cast<guint>(interval * 1000);

    stopSharedTimer();
    sharedTimer = g_timeout_add_full(GDK_PRIORITY_REDRAW, intervalInMS, sharedTimerTimeoutCallback, 0, 0);
    g_source_set_name_by_id(sharedTimer, "[WebKit] sharedTimerTimeoutCallback");
}
// The fire time is relative to the classic POSIX epoch of January 1, 1970,
// as the result of currentTime() is.
void setSharedTimerFireTime(double fireTime) 
{
    assert(sharedTimerFiredFunction);

    double interval = fireTime - currentTime();
    uint32 intervalInUS = 0;
    if (interval > 0) {
        interval = interval * 1000 * 1000;
        intervalInUS = static_cast<uint32>(interval);
    }

    if (intervalInUS < 1)
        intervalInUS = 1;

    stopSharedTimer();

    timereq->Time.Seconds = intervalInUS / (1000 * 1000);
    timereq->Time.Microseconds = intervalInUS % (1000 * 1000);
    IExec->SendIO((struct IORequest *)timereq);
}