Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
flexbe_core.core.lockable_state_machine.LockableStateMachine Class Reference
Inheritance diagram for flexbe_core.core.lockable_state_machine.LockableStateMachine:
Inheritance graph
[legend]

Public Member Functions

def __init__ (self, args, kwargs)
 
def get_locked_state (self)
 
def is_locked (self)
 
def is_locked_inside (self)
 
def lock (self, path)
 
def transition_allowed (self, state, outcome)
 
def unlock (self, path)
 

Public Attributes

 name
 
 transitions
 

Static Public Attributes

 path_for_switch = None
 

Private Member Functions

def _get_deep_state (self)
 
def _get_path (self)
 
def _is_internal_transition (self, transition_target)
 
def _update_once (self)
 

Private Attributes

 _is_controlled
 
 _locked
 
 _parent
 

Detailed Description

A state machine that can be locked.
When locked, no transition can be done regardless of the resulting outcome.
However, if any outcome would be triggered, the outcome will be stored
and the state won't be executed anymore until it is unlocked and the stored outcome is set.

Definition at line 6 of file lockable_state_machine.py.

Constructor & Destructor Documentation

def flexbe_core.core.lockable_state_machine.LockableStateMachine.__init__ (   self,
  args,
  kwargs 
)

Definition at line 15 of file lockable_state_machine.py.

Member Function Documentation

def flexbe_core.core.lockable_state_machine.LockableStateMachine._get_deep_state (   self)
private
Looks for the current state (traversing all state machines down to the real state).

@return: The current state (not state machine)

Definition at line 26 of file lockable_state_machine.py.

def flexbe_core.core.lockable_state_machine.LockableStateMachine._get_path (   self)
private

Definition at line 60 of file lockable_state_machine.py.

def flexbe_core.core.lockable_state_machine.LockableStateMachine._is_internal_transition (   self,
  transition_target 
)
private

Definition at line 49 of file lockable_state_machine.py.

def flexbe_core.core.lockable_state_machine.LockableStateMachine._update_once (   self)
private

Definition at line 38 of file lockable_state_machine.py.

def flexbe_core.core.lockable_state_machine.LockableStateMachine.get_locked_state (   self)

Definition at line 104 of file lockable_state_machine.py.

def flexbe_core.core.lockable_state_machine.LockableStateMachine.is_locked (   self)

Definition at line 84 of file lockable_state_machine.py.

def flexbe_core.core.lockable_state_machine.LockableStateMachine.is_locked_inside (   self)

Definition at line 88 of file lockable_state_machine.py.

def flexbe_core.core.lockable_state_machine.LockableStateMachine.lock (   self,
  path 
)

Definition at line 64 of file lockable_state_machine.py.

def flexbe_core.core.lockable_state_machine.LockableStateMachine.transition_allowed (   self,
  state,
  outcome 
)

Definition at line 53 of file lockable_state_machine.py.

def flexbe_core.core.lockable_state_machine.LockableStateMachine.unlock (   self,
  path 
)

Definition at line 74 of file lockable_state_machine.py.

Member Data Documentation

flexbe_core.core.lockable_state_machine.LockableStateMachine._is_controlled
private

Definition at line 23 of file lockable_state_machine.py.

flexbe_core.core.lockable_state_machine.LockableStateMachine._locked
private

Definition at line 18 of file lockable_state_machine.py.

flexbe_core.core.lockable_state_machine.LockableStateMachine._parent
private

Definition at line 19 of file lockable_state_machine.py.

flexbe_core.core.lockable_state_machine.LockableStateMachine.name

Definition at line 22 of file lockable_state_machine.py.

flexbe_core.core.lockable_state_machine.LockableStateMachine.path_for_switch = None
static

Definition at line 13 of file lockable_state_machine.py.

flexbe_core.core.lockable_state_machine.LockableStateMachine.transitions

Definition at line 20 of file lockable_state_machine.py.


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


flexbe_core
Author(s): Philipp Schillinger
autogenerated on Wed Jun 5 2019 21:51:59