38 stateName =
"remoteStateWrapper_of_" +
realState->stateName;
43 ARMARX_IMPORTANT <<
"Calling callerStatePrx->getParentStateLayout() in " << stateName;
44 StateIceBasePtr remoteParentStateLayout;
49 catch (Ice::ConnectFailedException
const& e)
51 ARMARX_WARNING <<
"Ice connect failed, trying again in a little bit";
56 if (remoteParentStateLayout)
58 this->subStateList = remoteParentStateLayout->subStateList;
59 this->transitions = remoteParentStateLayout->transitions;
60 this->initState = remoteParentStateLayout->initState;
67 StateIceBasePtr
const& remoteParentStateLayout) :
70 stateName =
"remoteStateWrapper_of_" +
realState->stateName;
73 if (remoteParentStateLayout)
75 this->subStateList = remoteParentStateLayout->subStateList;
76 this->transitions = remoteParentStateLayout->transitions;
77 this->initState = remoteParentStateLayout->initState;
92 realState = StatePtr::dynamicCast(source.realState->clone());
97 "Could not cast from StateBasePtr to StatePtr");
132 ARMARX_INFO <<
"No remote state proxy was set - will not report back to remote state. "
133 "In case this is a toplevel state this is not an issue (Event: "
134 << ev->eventName <<
")";
Base Class for all Logging classes.
This class is the implementation of the Slice Definition of a state.
The StateController class processes events and controls the statechart flow.
This class provides utility functions for statechart-implementing-users to communicate with other dis...
friend class RemoteStateWrapper
#define ARMARX_INFO
The normal logging level.
#define ARMARX_IMPORTANT
The logging level for always important information, but expected behaviour (in contrast to ARMARX_WAR...
#define ARMARX_DEBUG
The logging level for output that is only interesting while debugging.
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
StringVariantContainerBaseMap getSetValues(const StateParameterMap ¶mMap)
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceInternal::Handle< State > StatePtr
const LogSender::manipulator flush
IceInternal::Handle< Event > EventPtr
Typedef of EventPtr as IceInternal::Handle<Event> for convenience.
IceInternal::Handle< StateBase > StateBasePtr
RemoteStateWrapper(StatePtr const &realState, RemoteStateIceBasePrx const &callerStatePrx)
void __enqueueEvent(const EventPtr event) override
StateBasePtr clone() const override
Pure virtual function to clone of the derived class type.
unsigned int __getUnbreakableBufferSize() const override
bool __getUnbreakableBufferStati() const override
Before:Function to get the unbreakable-buffer status of all parent state - recursively.
StateBasePtr createEmptyCopy() const override
RemoteStateIceBasePrx callerStatePrx
void __processEvent(const EventPtr event, bool buffered=false) override
Main function to control the statemachine/state.
~RemoteStateWrapper() override
void __processBufferedEvents() override
Processes buffered events, that could not be processed immediately due to unbreakable substates.
void __finalize(const EventPtr event) override
Function that gets called, when a state enters a FinalSubstate. Virtual function, so that RemoteState...