This is Unofficial EPICS BASE Doxygen Site
epicsTimer.cpp File Reference
#include <string>
#include <stdexcept>
#include "epicsMath.h"
#include "epicsTimer.h"
#include "epicsGuard.h"
#include "timerPrivate.h"
+ Include dependency graph for epicsTimer.cpp:

Go to the source code of this file.

Functions

epicsTimerQueuePassiveId epicsStdCall epicsTimerQueuePassiveCreate (epicsTimerQueueNotifyReschedule pRescheduleCallbackIn, epicsTimerQueueNotifyQuantum pSleepQuantumCallbackIn, void *pPrivateIn)
 
void epicsStdCall epicsTimerQueuePassiveDestroy (epicsTimerQueuePassiveId pQueue)
 
double epicsStdCall epicsTimerQueuePassiveProcess (epicsTimerQueuePassiveId pQueue)
 
epicsTimerId epicsStdCall epicsTimerQueuePassiveCreateTimer (epicsTimerQueuePassiveId pQueue, epicsTimerCallback pCallback, void *pArg)
 
LIBCOM_API void epicsStdCall epicsTimerQueuePassiveDestroyTimer (epicsTimerQueuePassiveId, epicsTimerId pTmr)
 
void epicsStdCall epicsTimerQueuePassiveShow (epicsTimerQueuePassiveId pQueue, unsigned int level)
 
epicsTimerQueueId epicsStdCall epicsTimerQueueAllocate (int okToShare, unsigned int threadPriority)
 
void epicsStdCall epicsTimerQueueRelease (epicsTimerQueueId pQueue)
 
epicsTimerId epicsStdCall epicsTimerQueueCreateTimer (epicsTimerQueueId pQueue, epicsTimerCallback pCallback, void *pArg)
 
void epicsStdCall epicsTimerQueueShow (epicsTimerQueueId pQueue, unsigned int level)
 
void epicsStdCall epicsTimerQueueDestroyTimer (epicsTimerQueueId, epicsTimerId pTmr)
 
void epicsStdCall epicsTimerStartTime (epicsTimerId pTmr, const epicsTimeStamp *pTime)
 
void epicsStdCall epicsTimerStartDelay (epicsTimerId pTmr, double delaySeconds)
 
void epicsStdCall epicsTimerCancel (epicsTimerId pTmr)
 
double epicsStdCall epicsTimerGetExpireDelay (epicsTimerId pTmr)
 
void epicsStdCall epicsTimerShow (epicsTimerId pTmr, unsigned int level)
 

Function Documentation

void epicsStdCall epicsTimerCancel ( epicsTimerId  pTmr)

Definition at line 260 of file epicsTimer.cpp.

261 {
262  pTmr->cancel ();
263 }
void cancel()
Definition: timer.cpp:135
double epicsStdCall epicsTimerGetExpireDelay ( epicsTimerId  pTmr)

Definition at line 265 of file epicsTimer.cpp.

266 {
267  return pTmr->getExpireDelay ();
268 }
epicsTimerQueueId epicsStdCall epicsTimerQueueAllocate ( int  okToShare,
unsigned int  threadPriority 
)

Definition at line 206 of file epicsTimer.cpp.

207 {
208  try {
209  epicsSingleton < timerQueueActiveMgr > :: reference ref =
212  ref->allocate ( ref, okToShare ? true : false, threadPriority );
213  return &tmr;
214  }
215  catch ( ... ) {
216  return 0;
217  }
218 }
reference getReference()
epicsSingleton< timerQueueActiveMgr > timerQueueMgrEPICS
epicsTimerId epicsStdCall epicsTimerQueueCreateTimer ( epicsTimerQueueId  pQueue,
epicsTimerCallback  pCallback,
void *  pArg 
)

Definition at line 225 of file epicsTimer.cpp.

227 {
228  try {
229  return & pQueue->createTimerForC ( pCallback, pArg );
230  }
231  catch ( ... ) {
232  return 0;
233  }
234 }
epicsTimerForC & createTimerForC(epicsTimerCallback pCallback, void *pArg)
void epicsStdCall epicsTimerQueueDestroyTimer ( epicsTimerQueueId  ,
epicsTimerId  pTmr 
)

Definition at line 242 of file epicsTimer.cpp.

244 {
245  pTmr->destroy ();
246 }
epicsTimerQueuePassiveId epicsStdCall epicsTimerQueuePassiveCreate ( epicsTimerQueueNotifyReschedule  pRescheduleCallbackIn,
epicsTimerQueueNotifyQuantum  pSleepQuantumCallbackIn,
void *  pPrivateIn 
)

Definition at line 149 of file epicsTimer.cpp.

153 {
154  try {
155  return new epicsTimerQueuePassiveForC (
156  pRescheduleCallbackIn,
157  pSleepQuantumCallbackIn,
158  pPrivateIn );
159  }
160  catch ( ... ) {
161  return 0;
162  }
163 }
epicsTimerId epicsStdCall epicsTimerQueuePassiveCreateTimer ( epicsTimerQueuePassiveId  pQueue,
epicsTimerCallback  pCallback,
void *  pArg 
)

Definition at line 182 of file epicsTimer.cpp.

184 {
185  try {
186  return & pQueue->createTimerForC ( pCallback, pArg );
187  }
188  catch ( ... ) {
189  return 0;
190  }
191 }
epicsTimerForC & createTimerForC(epicsTimerCallback pCallback, void *pArg)
void epicsStdCall epicsTimerQueuePassiveDestroy ( epicsTimerQueuePassiveId  pQueue)

Definition at line 166 of file epicsTimer.cpp.

167 {
168  pQueue->destroy ();
169 }
LIBCOM_API void epicsStdCall epicsTimerQueuePassiveDestroyTimer ( epicsTimerQueuePassiveId  ,
epicsTimerId  pTmr 
)

Definition at line 193 of file epicsTimer.cpp.

195 {
196  pTmr->destroy ();
197 }
double epicsStdCall epicsTimerQueuePassiveProcess ( epicsTimerQueuePassiveId  pQueue)

Definition at line 172 of file epicsTimer.cpp.

173 {
174  try {
175  return pQueue->process ( epicsTime::getCurrent() );
176  }
177  catch ( ... ) {
178  return 1.0;
179  }
180 }
double process(const epicsTime &currentTime)
void epicsStdCall epicsTimerQueuePassiveShow ( epicsTimerQueuePassiveId  pQueue,
unsigned int  level 
)

Definition at line 199 of file epicsTimer.cpp.

201 {
202  pQueue->show ( level );
203 }
void show(unsigned int level) const
void epicsStdCall epicsTimerQueueRelease ( epicsTimerQueueId  pQueue)

Definition at line 220 of file epicsTimer.cpp.

221 {
222  pQueue->release ();
223 }
void epicsStdCall epicsTimerQueueShow ( epicsTimerQueueId  pQueue,
unsigned int  level 
)

Definition at line 236 of file epicsTimer.cpp.

238 {
239  pQueue->show ( level );
240 }
void show(unsigned int level) const
void epicsStdCall epicsTimerShow ( epicsTimerId  pTmr,
unsigned int  level 
)

Definition at line 270 of file epicsTimer.cpp.

272 {
273  pTmr->timer::show ( level );
274 }
void epicsStdCall epicsTimerStartDelay ( epicsTimerId  pTmr,
double  delaySeconds 
)

Definition at line 254 of file epicsTimer.cpp.

256 {
257  pTmr->start ( *pTmr, delaySeconds );
258 }
void start(class epicsTimerNotify &, const epicsTime &)
Definition: timer.cpp:59
void epicsStdCall epicsTimerStartTime ( epicsTimerId  pTmr,
const epicsTimeStamp pTime 
)

Definition at line 248 of file epicsTimer.cpp.

250 {
251  pTmr->start ( *pTmr, *pTime );
252 }
void start(class epicsTimerNotify &, const epicsTime &)
Definition: timer.cpp:59