OpenJAUS SAE SDK  6.0.0
Public Member Functions | Private Attributes | Friends | List of all members
openjaus::model::State Class Reference

#include <State.h>

Public Member Functions

 State ()
 
virtual ~State ()
 
std::string getName () const
 
bool setName (std::string name)
 
std::string getServiceName () const
 
bool setServiceName (std::string serviceName)
 
StateMachinegetParentStateMachine () const
 
bool setParentStateMachine (StateMachine *parentStateMachine)
 
StateMachinegetChildStateMachine () const
 
virtual TransitionprocessTrigger (Trigger *trigger)
 
void addStateMachine (StateMachine &stateMachine)
 
void addTransition (Transition &transition)
 
int removeTransition (Transition &transition)
 
MessagegetResponse (Trigger *trigger)
 
void enter (bool executeEntryActions, bool initializeChildStateMachines)
 
void exit (bool executeExitActions)
 
void executeEntryActions ()
 
void executeExitActions ()
 
std::string getQualifiedName ()
 
virtual std::string toString () const
 
template<class C >
void addEntryAction (void(C::*fp)(), C *object)
 
template<class C >
void addExitAction (void(C::*fp)(), C *object)
 

Private Attributes

std::string name
 
bool startingState
 
std::string serviceName
 
StateMachinechildStateMachine
 
std::vector< Transition * > transitions
 
std::vector< Action * > entryActions
 
std::vector< Action * > exitActions
 
StateMachineparentStateMachine
 
TransitionchildLoop
 
system::Mutex mutex
 

Friends

OPENJAUS_EXPORT friend std::ostream & operator<< (std::ostream &output, const State &object)
 
OPENJAUS_EXPORT friend std::ostream & operator<< (std::ostream &output, const State *object)
 

Constructor & Destructor Documentation

◆ State()

openjaus::model::State::State ( )

◆ ~State()

openjaus::model::State::~State ( )
virtual

Member Function Documentation

◆ addEntryAction()

template<class C >
void openjaus::model::State::addEntryAction ( void(C::*)()  fp,
C *  object 
)
inline

◆ addExitAction()

template<class C >
void openjaus::model::State::addExitAction ( void(C::*)()  fp,
C *  object 
)
inline

◆ addStateMachine()

void openjaus::model::State::addStateMachine ( StateMachine stateMachine)

◆ addTransition()

void openjaus::model::State::addTransition ( Transition transition)

◆ enter()

void openjaus::model::State::enter ( bool  executeEntryActions,
bool  initializeChildStateMachines 
)

◆ executeEntryActions()

void openjaus::model::State::executeEntryActions ( )

◆ executeExitActions()

void openjaus::model::State::executeExitActions ( )

◆ exit()

void openjaus::model::State::exit ( bool  executeExitActions)

◆ getChildStateMachine()

StateMachine * openjaus::model::State::getChildStateMachine ( ) const

◆ getName()

std::string openjaus::model::State::getName ( ) const

◆ getParentStateMachine()

StateMachine * openjaus::model::State::getParentStateMachine ( ) const

◆ getQualifiedName()

std::string openjaus::model::State::getQualifiedName ( )

◆ getResponse()

Message * openjaus::model::State::getResponse ( Trigger trigger)

◆ getServiceName()

std::string openjaus::model::State::getServiceName ( ) const

◆ processTrigger()

Transition * openjaus::model::State::processTrigger ( Trigger trigger)
virtual

◆ removeTransition()

int openjaus::model::State::removeTransition ( Transition transition)

◆ setName()

bool openjaus::model::State::setName ( std::string  name)

◆ setParentStateMachine()

bool openjaus::model::State::setParentStateMachine ( StateMachine parentStateMachine)

◆ setServiceName()

bool openjaus::model::State::setServiceName ( std::string  serviceName)

◆ toString()

std::string openjaus::model::State::toString ( ) const
virtual

Friends And Related Function Documentation

◆ operator<< [1/2]

OPENJAUS_EXPORT friend std::ostream& operator<< ( std::ostream &  output,
const State object 
)
friend

◆ operator<< [2/2]

OPENJAUS_EXPORT friend std::ostream& operator<< ( std::ostream &  output,
const State object 
)
friend

Member Data Documentation

◆ childLoop

Transition* openjaus::model::State::childLoop
private

◆ childStateMachine

StateMachine* openjaus::model::State::childStateMachine
private

◆ entryActions

std::vector<Action*> openjaus::model::State::entryActions
private

◆ exitActions

std::vector<Action*> openjaus::model::State::exitActions
private

◆ mutex

system::Mutex openjaus::model::State::mutex
private

◆ name

std::string openjaus::model::State::name
private

◆ parentStateMachine

StateMachine* openjaus::model::State::parentStateMachine
private

◆ serviceName

std::string openjaus::model::State::serviceName
private

◆ startingState

bool openjaus::model::State::startingState
private

◆ transitions

std::vector<Transition*> openjaus::model::State::transitions
private

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