42 #include "../Attribute.hpp" 43 #include "../FactoryExceptions.hpp" 44 #include "../TaskContext.hpp" 45 #include "../OperationCaller.hpp" 51 using namespace detail;
76 "Step this StateMachine. When paused, step a single instruction or transition evaluation. \n" 77 "When in reactive mode, evaluate transitions and go to a next state, or if none, run handle.");
80 addOperationDS(
"reactive", &
StateMachine::reactive,ptr).doc(
"Enter reactive mode (see requestState() and step() ).\n OperationCaller is done if ready for requestState() or step() method.");
81 addOperationDS(
"requestState", &
StateMachine::requestState,ptr).doc(
"Request to go to a particular state. Will succeed if there exists a valid transition from this state to the requested state.").arg(
"State",
"The state to make the transition to.");
101 replacements[
_this.
get() ] = tmp->_this.get();
106 for ( ConfigurationInterface::map_t::iterator it =
values.begin(); it !=
values.end(); ) {
107 if (dynamic_cast<SendHandleAlias*>(*it)) {
const std::string & getName() const
boost::shared_ptr< StateMachineService > StateMachineServicePtr
boost::shared_ptr< ParsedStateMachine > ParsedStateMachinePtr
void createOperationFactory()
bool inState(const std::string &state) const
ParsedStateMachinePtr statemachine
StateMachineServicePtr copy(ParsedStateMachinePtr newsc, std::map< const base::DataSourceBase *, base::DataSourceBase * > &replacements, bool instantiate)
bool inInitialState() const
StateMachineService(ParsedStateMachinePtr statemachine, TaskContext *tc)
const std::string & getCurrentStateName() const
AttributeObjects const & getValues() const
internal::ValueDataSource< StateMachinePtr >::shared_ptr _this
bool requestState(const std::string &statename)
boost::shared_ptr< StateMachine > StateMachinePtr
A class for keeping track of Attribute, Constant and Property objects of a TaskContext. It allows plugins and remote components to browse the attributes and properties of a TaskContext.
bool inFinalState() const
DataSource< T >::result_t get() const
Operation< typename internal::GetSignatureDS< Func >::Signature > & addOperationDS(const std::string &name, Func func, internal::DataSource< boost::shared_ptr< ObjT > > *sp, ExecutionThread et=ClientThread)
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
ConfigurationInterface * copy(std::map< const base::DataSourceBase *, base::DataSourceBase * > &repl, bool instantiate) const
void setOwner(TaskContext *new_owner)
bool inTransition() const