library: libCore
#include "TTimer.h"

TTimer


class description - source file - inheritance tree (.pdf)

class TTimer : public TSysEvtHandler

Inheritance Chart:
TObject
TQObject
<-
TSysEvtHandler
<-
TTimer
<-
TProcessEventTimer

    public:
TTimer(Long_t milliSec = 0, Bool_t mode = kTRUE) TTimer(TObject* obj, Long_t milliSec, Bool_t mode = kTRUE) TTimer(const char* command, Long_t milliSec, Bool_t mode = kTRUE) TTimer(const TTimer&) virtual ~TTimer() virtual void Add() Bool_t CheckTimer(const TTime& now) static TClass* Class() TTime GetAbsTime() const const char* GetCommand() const TObject* GetObject() TTime GetTime() const UInt_t GetTimerID() Bool_t HasTimedOut() const virtual TClass* IsA() const Bool_t IsAsync() const Bool_t IsInterruptingSyscalls() const Bool_t IsSync() const virtual Bool_t Notify() TTimer& operator=(const TTimer&) virtual void Remove() void Reset() void SetCommand(const char* command) void SetInterruptSyscalls(Bool_t set = kTRUE) void SetObject(TObject* object) void SetTime(Long_t milliSec) void SetTimerID(UInt_t id = 0) virtual void ShowMembers(TMemberInspector& insp, char* parent) static void SingleShot(Int_t milliSec, const char* receiver_class, void* receiver, const char* method) virtual void Start(Int_t milliSec = -1, Bool_t singleShot = kFALSE) virtual void Stop() virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual void Timeout() virtual void TurnOff() virtual void TurnOn()

Data Members


    protected:
TTime fTime time out time in ms TTime fAbsTime absolute time out time in ms Bool_t fTimeout true if timer has timed out Bool_t fSync true if synchrounous timer Bool_t fIntSyscalls true is a-synchronous timer is to interrupt system calls UInt_t fTimeID the system ID of this timer (for WIN32) TObject* fObject object to be notified (if any) TString fCommand interpreter command to be executed

Class Description

                                                                      
 TTimer                                                               
                                                                      
 Handles synchronous and a-synchronous timer events. You can use      
 this class in one of the following ways:                             
    - Sub-class TTimer and override the Notify() method.              
    - Re-implement the TObject::HandleTimer() method in your class    
      and pass a pointer to this object to timer, see the SetObject() 
      method.                                                         
    - Pass an interpreter command to timer, see SetCommand() method.  
    - Create a TTimer, connect its Timeout() signal to the            
      appropriate methods. Then when the time is up it will emit a    
      Timeout() signal and call connected slots.                      
                                                                      
  Minimum timeout interval is defined in TSystem::ESysConstants as    
  kItimerResolution (currently 10 ms).                                
                                                                      
  Signal/slots example:                                               
       TTimer *timer = new TTimer();                                  
       timer->Connect("Timeout()", "myObjectClassName",               
                      myObject, "TimerDone()");                       
       timer->Start(2000, kTRUE);   // 2 seconds single-shot          
                                                                      
    // Timeout signal is emitted repeadetly with minimum timeout      
    // timer->Start(0, kFALSE);                                       
                                                                      


TTimer(Long_t ms, Bool_t mode) : fTime(ms)
 Create timer that times out in ms milliseconds. If milliSec is 0
 then the timeout will be the minimum timeout (see TSystem::ESysConstants,
 i.e. 10 ms). If mode == kTRUE then the timer is synchronous else
 a-synchronous. The default is synchronous. Add a timer to the system
 eventloop by calling TurnOn(). Set command to be executed from Notify()
 or set the object whose HandleTimer() method will be called via Notify(),
 derive from TTimer and override Notify() or connect slots to the
 signals Timeout(), TurnOn() and TurnOff().

TTimer(TObject *obj, Long_t ms, Bool_t mode) : fTime(ms)
 Create timer that times out in ms milliseconds. If mode == kTRUE then
 the timer is synchronous else a-synchronous. The default is synchronous.
 Add a timer to the system eventloop by calling TurnOn().
 The object's HandleTimer() will be called by Notify().

TTimer(const char *command, Long_t ms, Bool_t mode) : fTime(ms)
 Create timer that times out in ms milliseconds. If mode == kTRUE then
 the timer is synchronous else a-synchronous. The default is synchronous.
 Add a timer to the system eventloop by calling TurnOn().
 The interpreter will execute command from Notify().

Bool_t CheckTimer(const TTime &now)
 Check if timer timed out.

Bool_t Notify()
 Notify when timer times out. The timer is always reset. To stop
 the timer call TurnOff().

void Reset()
 Reset the timer.

void SetCommand(const char *command)
 Set the interpreter command to be executed at time out. Removes the
 object to be notified (if it was set).

void SetObject(TObject *object)
 Set the object to be notified  at time out. Removes the command to
 be executed (if it was set).

void SetInterruptSyscalls(Bool_t set)
 When the argument is true the a-synchronous timer (SIGALRM) signal
 handler is set so that interrupted syscalls will not be restarted
 by the kernel. This is typically used in case one wants to put a
 timeout on an I/O operation. By default interrupted syscalls will
 be restarted.

void Start(Int_t milliSec, Bool_t singleShot)
 Starts the timer with a milliSec timeout. If milliSec is 0
 then the timeout will be the minimum timeout (see TSystem::ESysConstants,
 i.e. 10 ms), if milliSec is -1 then the time interval as previously
 specified (in ctor or SetTime()) will be used.
 If singleShot is kTRUE, the timer will be activated only once,
 otherwise it will continue until it is stopped.
 See also TurnOn(), Stop(), TurnOff().

void TurnOff()
 Remove timer from system timer list. This requires that a timer
 has been placed in the system timer list (using TurnOn()).
 If a TTimer subclass is placed on another list, override TurnOff() to
 remove the timer from the correct list.

void TurnOn()
 Add the timer to the system timer list. If a TTimer subclass has to be
 placed on another list, override TurnOn() to add the timer to the correct
 list.

void SingleShot(Int_t milliSec, const char *receiver_class, void *receiver, const char *method)
 This static function calls a slot after a given time interval.
 Created internal timer will be deleted after that.



Inline Functions


               void ~TTimer()
        const char* GetCommand() const
           TObject* GetObject()
              TTime GetTime() const
             UInt_t GetTimerID()
              TTime GetAbsTime() const
             Bool_t HasTimedOut() const
             Bool_t IsSync() const
             Bool_t IsAsync() const
             Bool_t IsInterruptingSyscalls() const
               void Add()
               void Remove()
               void SetTime(Long_t milliSec)
               void SetTimerID(UInt_t id = 0)
               void Stop()
               void Timeout()
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
             TTimer TTimer(const TTimer&)
            TTimer& operator=(const TTimer&)


Author: Fons Rademakers 28/11/96
Last update: root/base:$Name: $:$Id: TTimer.cxx,v 1.11 2004/05/26 10:38:55 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.