1 2#ifndef _IRDATIMEREVENTSOURCE 3#define _IRDATIMEREVENTSOURCE 4 5#include <IOKit/IOTimerEventSource.h> 6 7// subclass from standard IOTimerEventSource to 8// add a workaround for cancelTimer not being 9// reliable in the face of workloop gates. 10 11class IrDATimerEventSource : public IOTimerEventSource 12{ 13 OSDeclareDefaultStructors(IrDATimerEventSource) 14 15public: 16 typedef void (*Action)(OSObject *owner, IrDATimerEventSource *sender); 17 18 static IrDATimerEventSource *timerEventSource(OSObject *inOwner, Action inAction); 19 Boolean SafeCancelTimeout(); 20}; 21 22#endif /* !_IRDATIMEREVENTSOURCE */ 23