TwiceAsNice
2019-02-18
|
#include <LfftsFastLoopServiceWorker.h>
Classes | |
struct | DeviceAsyncImpl |
Private Types | |
typedef Basda::VinoDevice< Nice::U16 > | VinoDeviceType |
typedef IceUtil::Handle< VinoDeviceType > | VinoDeviceTypePtr |
Private Attributes | |
Nice::Monitor | m_monitor |
DeviceAsyncImpl | m_deviceAsync |
VinoDeviceTypePtr | m_deviceCamera |
FastLoopDevicePtr | m_deviceLoop |
Additional Inherited Members | |
![]() | |
typedef void(ServiceWorker::* | ServiceWorkerMemFn) () |
typedef Branch | BranchTable[6][6] |
typedef IceUtil::Handle< WorkerThread > | WorkerThreadPtr |
typedef void(ServiceWorker::* | ServiceWorkerMemFn) () |
typedef Branch | BranchTable[6][6] |
typedef IceUtil::Handle< WorkerThread > | WorkerThreadPtr |
![]() | |
ServiceWorker (const Nice::JointPtr &_jointPtr) | |
ctor More... | |
virtual | ~ServiceWorker () |
dtor Does nothing (in this base class) More... | |
void | triggerState (const Basda::ServiceStateMachine &_state) |
change state to a new state More... | |
void | sendStateStatus (const std::string &_action, int _percent) |
void | setState (Basda::ServiceState _next) |
virtual void | waitForNewState () |
virtual bool | timedWaitForNewState (const Nice::Time &_timeout) |
virtual void | preinit () |
virtual void | abort () |
does nothing. More... | |
virtual void | stop () |
does nothing. More... | |
virtual void | packin () |
schedule ONLINE as the next target state. More... | |
virtual void | errorOffline () |
set the target state to OFFLINE. More... | |
virtual void | errorStandby () |
set the target state to OFFLINE. More... | |
virtual void | errorOnline () |
set the target state to OFFLINE. More... | |
virtual void | errorWorking () |
set the target state to OFFLINE. More... | |
virtual void | idleOffline () |
wait for a state change. More... | |
virtual void | idleStandby () |
wait for a state change. More... | |
virtual void | idleOnline () |
wait for a state change. More... | |
ServiceWorker (const Nice::JointPtr &_jointPtr) | |
virtual | ~ServiceWorker () |
void | triggerState (const Basda::ServiceStateMachine &_state) |
void | sendStateStatus (const std::string &_action, int _percent) |
void | setState (Basda::ServiceState _next) |
virtual void | waitForNewState () |
virtual bool | timedWaitForNewState (const Nice::Time &_timeout) |
virtual void | preinit () |
virtual void | abort () |
virtual void | stop () |
virtual void | packin () |
virtual void | errorOffline () |
virtual void | errorStandby () |
virtual void | errorOnline () |
virtual void | errorWorking () |
virtual void | idleOffline () |
virtual void | idleStandby () |
virtual void | idleOnline () |
![]() | |
Nice::JointPtr | m_config |
Nice::PropertyPtr | m_state |
std::string | m_name |
![]() | |
static BranchTable | s_stateTable |
A table which tells which state should go via which intermediate state to a target state. The 6 states are SHUTDOWN, OFFLINE, STANDBY, ONLINE, WORKING and ERROR. The principles are that. More... | |
|
private |
|
private |
Lffts::FastLoopServiceWorker::FastLoopServiceWorker | ( | const Nice::JointPtr & | _config | ) |
|
inlinevirtual |
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
virtual void idleOnline();
Only if you want to wakeup every "CFG.INTERVAL" void Lffts::FastLoopServiceWorker::idleOnline() { D_LOG ( m_name << " --online idle-> " << state() << "::" << m_config->leaf("STATE")); m_state->set<Basda::ServiceStateMachine>(m_state->get<Basda::ServiceStateMachine>().set("SLEEP", 0)); bool rc = m_stateMachine.timedWaitForNewState ( m_config->getAtNode<Nice::Time> ( "CFG.INTERVAL" ) ); if ( !rc ) m_stateMachine.setIfSettled ( Basda::WORKING ); };.
Reimplemented from Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
private |
|
private |
|
private |
|
private |