source: Sophya/trunk/SophyaLib/SysTools/periodic.h@ 480

Last change on this file since 480 was 480, checked in by ansari, 26 years ago

MAJ / PEIDA 3.8 , Reza 20/10/99

File size: 896 bytes
RevLine 
[219]1// This may look like C code, but it is really -*- C++ -*-
2// Classe d'objets avec une methode (DoPeriodic()) appelee periodiquement
3#ifndef PERIODIC_H
4#define PERIODIC_H
5
[241]6#include "machdefs.h"
[219]7#include <list>
8
9class Periodic;
10typedef list<Periodic*> PeriodicList;
11
12typedef void (* UsPeriodicAction) (void *);
13
14class Periodic
15{
16public:
17 Periodic(int dt, UsPeriodicAction act=NULL, void * usp=NULL);
18 virtual ~Periodic();
19
20 void SetAction(UsPeriodicAction act, void * usp=NULL);
21
22 virtual void SetInterval(int dt);
23 virtual void SetIntervalms(int dtms);
24
25 inline int Interval() { return(mDt); }
26 inline int Intervalms() { return(mDtms); }
27
28 virtual void Start(int dt=-1);
29 virtual void Stop();
30
31 virtual void DoPeriodic();
32
33 static PeriodicList* actifs;
34 static void CallBack(int);
35
36protected:
37 int mDt, mDtms, it;
38 UsPeriodicAction mAct;
39 void * mUsp;
40 bool mFgact;
41};
42
43
44#endif
Note: See TracBrowser for help on using the repository browser.