Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Public Attributes
nsITimer Interface Reference

nsITimer instances must be initialized by calling one of the "init" methods documented below. More...

import "nsITimer.idl";

Inheritance diagram for nsITimer:
Inheritance graph
[legend]
Collaboration diagram for nsITimer:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void init (in nsIObserver aObserver, in unsigned long aDelay, in unsigned long aType)
 Initialize a timer that will fire after the said delay.
void initWithFuncCallback (in nsTimerCallbackFunc aCallback, in voidPtr aClosure, in unsigned long aDelay, in unsigned long aType)
 Initialize a timer to fire after the given millisecond interval.
void initWithCallback (in nsITimerCallback aCallback, in unsigned long aDelay, in unsigned long aType)
 Initialize a timer to fire after the given millisecond interval.
void cancel ()
 Cancel the timer.

Public Attributes

const short TYPE_ONE_SHOT = 0
 Type of a timer that fires once only.
const short TYPE_REPEATING_SLACK = 1
 After firing, a TYPE_REPEATING_SLACK timer is stopped and not restarted until its callback completes.
const short TYPE_REPEATING_PRECISE = 2
 An TYPE_REPEATING_PRECISE repeating timer aims to have constant period between firings.
attribute unsigned long delay
 The millisecond delay of the timeout.
attribute unsigned long type
 The timer type : one shot or repeating.
readonly attribute voidPtr closure
 The opaque pointer pass to initWithFuncCallback.
readonly attribute nsITimerCallback callback
 The nsITimerCallback object passed to initWithCallback.

Detailed Description

nsITimer instances must be initialized by calling one of the "init" methods documented below.

You may also re-initialize an existing instance with new delay to avoid the overhead of destroying and creating a timer. It is not necessary to cancel the timer in that case.

Definition at line 86 of file nsITimer.idl.


Member Function Documentation

Cancel the timer.

This method works on all types, not just on repeating timers -- you might want to cancel a TYPE_ONE_SHOT timer, and even reuse it by re-initializing it (to avoid object destruction and creation costs by conserving one timer instance).

void nsITimer::init ( in nsIObserver  aObserver,
in unsigned long  aDelay,
in unsigned long  aType 
)

Initialize a timer that will fire after the said delay.

A user must keep a reference to this timer till it is is no longer needed or has been cancelled.

Parameters:
aObserverthe callback object that observes the ``timer-callback'' topic with the subject being the timer itself when the timer fires:

observe(nsISupports aSubject, => nsITimer string aTopic, => ``timer-callback'' wstring data => null

Parameters:
aDelaydelay in milliseconds for timer to fire
aTypetimer type per TYPE* consts defined above
void nsITimer::initWithCallback ( in nsITimerCallback  aCallback,
in unsigned long  aDelay,
in unsigned long  aType 
)

Initialize a timer to fire after the given millisecond interval.

This version takes a function to call and a closure to pass to that function.

Parameters:
aFuncnsITimerCallback interface to call when timer expires
aDelayThe millisecond interval
aTypeTimer type per TYPE* consts defined above
void nsITimer::initWithFuncCallback ( in nsTimerCallbackFunc  aCallback,
in voidPtr  aClosure,
in unsigned long  aDelay,
in unsigned long  aType 
)

Initialize a timer to fire after the given millisecond interval.

This version takes a function to call and a closure to pass to that function.

Parameters:
aFuncThe function to invoke
aClosureAn opaque pointer to pass to that function
aDelayThe millisecond interval
aTypeTimer type per TYPE* consts defined above

Member Data Documentation

The nsITimerCallback object passed to initWithCallback.

Definition at line 189 of file nsITimer.idl.

readonly attribute voidPtr nsITimer::closure

The opaque pointer pass to initWithFuncCallback.

Definition at line 184 of file nsITimer.idl.

The millisecond delay of the timeout.

Definition at line 174 of file nsITimer.idl.

The timer type : one shot or repeating.

Definition at line 179 of file nsITimer.idl.

Type of a timer that fires once only.

Definition at line 93 of file nsITimer.idl.

An TYPE_REPEATING_PRECISE repeating timer aims to have constant period between firings.

The processing time for each timer callback should not influence the timer period. However, if the processing for the last timer firing could not be completed until just before the next firing occurs, then you could have two timer notification routines being executed in quick succession.

Definition at line 113 of file nsITimer.idl.

After firing, a TYPE_REPEATING_SLACK timer is stopped and not restarted until its callback completes.

Specified timer period will be at least the time between when processing for last firing the callback completes and when the next firing occurs.

This is the preferable repeating type for most situations.

Definition at line 103 of file nsITimer.idl.


The documentation for this interface was generated from the following file: