TwiceAsNice
2019-02-18
|
#include <IoSwitchServiceWorker.h>
Classes | |
struct | AsynchronousIoDevice |
struct | DeviceAsyncImpl |
Public Member Functions | |
IoSwitchServiceWorker (const Nice::JointPtr &_config, const std::string &name, const std::vector< AnalogIODevicePtr > &devices) | |
virtual | ~IoSwitchServiceWorker () |
virtual void | init () |
virtual void | deinit () |
virtual void | activate () |
virtual void | deactivate () |
virtual void | work () |
virtual void | idleOffline () |
wait for a state change. More... | |
virtual void | idleOnline () |
wait for a state change. More... | |
virtual void | terminate () |
schedule EXIT as the next target state. More... | |
IoSwitchServiceWorker (const Nice::JointPtr &_config, const std::string &name, const std::vector< AnalogIODevicePtr > &devices) | |
virtual | ~IoSwitchServiceWorker () |
virtual void | init () |
virtual void | deinit () |
virtual void | activate () |
virtual void | deactivate () |
virtual void | work () |
virtual void | idleOffline () |
wait for a state change. More... | |
virtual void | idleOnline () |
wait for a state change. More... | |
virtual void | terminate () |
schedule EXIT as the next target state. More... | |
IoSwitchServiceWorker (const Nice::JointPtr &_config, const std::string &name, const std::vector< AnalogIODevicePtr > &devices) | |
virtual | ~IoSwitchServiceWorker () |
virtual void | init () |
virtual void | deinit () |
virtual void | activate () |
virtual void | deactivate () |
virtual void | work () |
virtual void | idleOffline () |
wait for a state change. More... | |
virtual void | idleOnline () |
wait for a state change. More... | |
virtual void | terminate () |
schedule EXIT as the next target state. More... | |
![]() | |
const Nice::JointPtr & | config () |
Nice::JointPtr | cfg () |
Nice::JointPtr | var () |
virtual const std::string & | name () |
virtual WorkerThreadPtr | worker () |
virtual Nice::Monitor & | monitor () |
virtual void | lock () |
virtual void | unlock () |
bool | stateIsSettled () |
bool | stateHasChanged () |
void | changeState (Basda::ServiceState _state) |
change state to a new state If the state is the current state, or a negative state, do nothing. Otherwise change the "next" state in the state machine and notify all threads. More... | |
bool | tryChangeState (Basda::ServiceState _state, const Nice::Time &_timeout=Nice::Time::seconds(0.0)) |
change state to a new state More... | |
void | waitForState (Basda::ServiceState _state) |
wait (indefinitely) until the worker has reached a spcifici state More... | |
bool | timedWaitForState (Basda::ServiceState _state, const Nice::Time &_timeout) |
wait (indefinitely) until the worker has reached a specific state More... | |
bool | changeStateOnlyFromTo (Basda::ServiceState _from, Basda::ServiceState _to) |
wait (indefinitely) until the worker has reached a spcifici state More... | |
Basda::ServiceState | state () |
Basda::ServiceState | stateNow () |
Basda::ServiceState | stateNext () |
Basda::ServiceState | stateLast () |
bool | isTransit () |
bool | isTerminated () |
const Nice::JointPtr & | config () |
Nice::JointPtr | cfg () |
Nice::JointPtr | var () |
virtual const std::string & | name () |
virtual WorkerThreadPtr | worker () |
virtual Nice::Monitor & | monitor () |
virtual void | lock () |
virtual void | unlock () |
bool | stateIsSettled () |
bool | stateHasChanged () |
void | changeState (Basda::ServiceState _state) |
bool | tryChangeState (Basda::ServiceState _state, const Nice::Time &_timeout=Nice::Time::seconds(0.0)) |
void | waitForState (Basda::ServiceState _state) |
bool | timedWaitForState (Basda::ServiceState _state, const Nice::Time &_timeout) |
bool | changeStateOnlyFromTo (Basda::ServiceState _from, Basda::ServiceState _to) |
Basda::ServiceState | state () |
Basda::ServiceState | stateNow () |
Basda::ServiceState | stateNext () |
Basda::ServiceState | stateLast () |
bool | isTransit () |
bool | isTerminated () |
Static Public Member Functions | |
static std::string | COMMAND_REREAD_PORT_STATES_PROPERTY_NAME () |
static std::string | WORK_INTERVAL_PROPERTY_NAME () |
static std::string | TO_ONLINE_INTERVAL_PROPERTY_NAME () |
static std::string | COMMAND_REREAD_PORT_STATES_PROPERTY_NAME () |
static std::string | WORK_INTERVAL_PROPERTY_NAME () |
static std::string | TO_ONLINE_INTERVAL_PROPERTY_NAME () |
static std::string | COMMAND_REREAD_PORT_STATES_PROPERTY_NAME () |
static std::string | WORK_INTERVAL_PROPERTY_NAME () |
static std::string | TO_ONLINE_INTERVAL_PROPERTY_NAME () |
Private Member Functions | |
void | rereadPortStates (const Nice::Completion &) |
void | installWorkIntervalProperty () |
void | rereadPortStates (const Nice::Completion &) |
void | installWorkIntervalProperty () |
void | rereadPortStates (const Nice::Completion &) |
void | installWorkIntervalProperty () |
Private Attributes | |
std::vector< AsynchronousIoDevice > | devices_ |
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 | idleStandby () |
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 | idleStandby () |
![]() | |
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... | |
Basda::IoSwitchServiceWorker::IoSwitchServiceWorker | ( | const Nice::JointPtr & | _config, |
const std::string & | name, | ||
const std::vector< AnalogIODevicePtr > & | devices | ||
) |
|
virtual |
Basda::IoSwitchServiceWorker::IoSwitchServiceWorker | ( | const Nice::JointPtr & | _config, |
const std::string & | name, | ||
const std::vector< AnalogIODevicePtr > & | devices | ||
) |
|
virtual |
Basda::IoSwitchServiceWorker::IoSwitchServiceWorker | ( | const Nice::JointPtr & | _config, |
const std::string & | name, | ||
const std::vector< AnalogIODevicePtr > & | devices | ||
) |
|
virtual |
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
virtual |
|
virtual |
|
virtual |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
virtual |
Implements Basda::ServiceWorker.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
private |