Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
MCP23017::RefreshTimer Class Reference

This timer runs in the parent executor and upon every timeout it executes the update / polling of the IO expander. More...

Inheritance diagram for MCP23017::RefreshTimer:
Timer Executable Notifiable QMember Destructable

Public Member Functions

 RefreshTimer (MCP23017 *parent)
 
long long timeout () override
 Clients of timer should override this function.
 
- Public Member Functions inherited from Timer
 Timer (ActiveTimers *timers)
 Constructor.
 
 ~Timer ()
 Destructor.
 
void run () override
 Callback from the executor when this timer is scheduled.
 
long long schedule_time ()
 
void start (long long period=-1)
 Starts a timer.
 
void start_absolute (long long expiry_time_nsec)
 Starts the timer with an absolute deadline.
 
void restart ()
 Restart a timer with the existing period but from the current time.
 
void trigger ()
 This will wakeup the timer prematurely, immediately.
 
void ensure_triggered ()
 Triggers the timer if it is not expired yet.
 
void cancel ()
 Dangerous, do not call.
 
bool is_triggered ()
 
void set_triggered ()
 Sets the timer as if it was woken up by a trigger(), even if it was never started.
 
- Public Member Functions inherited from Executable
void test_deletion ()
 
void notify () override
 Crashes the program – everyone who is expecting notify calls must override this function.
 
virtual void alloc_result (QMember *item)
 Return the result of an alloc_async() from a memory Pool.
 
- Public Member Functions inherited from QMember
void init ()
 Initiailize a QMember, in place of a public placement construction.
 

Private Attributes

MCP23017parent_
 

Additional Inherited Members

- Public Types inherited from Timer
enum  { NONE = 0 , RESTART = 1 , DELETE = -1 }
 Special return values from the timeout function. More...
 
- Protected Member Functions inherited from Timer
void update_period (long long period)
 Updates the period, to be used after the next expiration of the timer in order to restart it.
 
- Protected Member Functions inherited from QMember
 QMember ()
 Constructor.
 
 ~QMember ()
 Destructor.
 
- Protected Attributes inherited from QMember
QMembernext
 pointer to the next member in the queue
 

Detailed Description

This timer runs in the parent executor and upon every timeout it executes the update / polling of the IO expander.

Definition at line 228 of file MCP23017Gpio.hxx.

Constructor & Destructor Documentation

◆ RefreshTimer()

MCP23017::RefreshTimer::RefreshTimer ( MCP23017 parent)
inline

Definition at line 231 of file MCP23017Gpio.hxx.

Member Function Documentation

◆ timeout()

long long MCP23017::RefreshTimer::timeout ( )
inlineoverridevirtual

Clients of timer should override this function.

It will be called on the executor of the timer.

Returns
the new timer period, or one of the above special values.

Implements Timer.

Definition at line 237 of file MCP23017Gpio.hxx.

Member Data Documentation

◆ parent_

MCP23017* MCP23017::RefreshTimer::parent_
private

Definition at line 245 of file MCP23017Gpio.hxx.


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