/** * This is the function that will check for default transitions if * no other transitions were satisfied. */ bool StillImageService::defaultTransitions(InternalEvent* ie) { bool done = false; // Since this function can be called from multiple threads, // we use a mutex to ensure only one state transition is // active at a time. mutex.lock(); // Invoke the FSM transition for this event. try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == SetStillImageSensorConfiguration::ID) { SetStillImageSensorConfiguration msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->SetStillImageSensorConfigurationTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryStillImageData::ID) { QueryStillImageData msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->QueryStillImageDataTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryStillImageSensorConfiguration::ID) { QueryStillImageSensorConfiguration msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->QueryStillImageSensorConfigurationTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryStillImageSensorCapabilities::ID) { QueryStillImageSensorCapabilities msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->QueryStillImageSensorCapabilitiesTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QuerySensorGeometricProperties::ID) { QuerySensorGeometricProperties msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->QuerySensorGeometricPropertiesTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryVisualSensorConfiguration::ID) { QueryVisualSensorConfiguration msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->QueryVisualSensorConfigurationTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryVisualSensorCapabilities::ID) { QueryVisualSensorCapabilities msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->QueryVisualSensorCapabilitiesTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == SetVisualSensorConfiguration::ID) { SetVisualSensorConfiguration msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->SetVisualSensorConfigurationTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == RequestControl::ID) { RequestControl msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->RequestControlTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == ReleaseControl::ID) { ReleaseControl msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->ReleaseControlTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryControl::ID) { QueryControl msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->QueryControlTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryAuthority::ID) { QueryAuthority msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->QueryAuthorityTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == SetAuthority::ID) { SetAuthority msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->SetAuthorityTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryTimeout::ID) { QueryTimeout msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->QueryTimeoutTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == CreateEvent::ID) { CreateEvent msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->CreateEventTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == UpdateEvent::ID) { UpdateEvent msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->UpdateEventTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == CancelEvent::ID) { CancelEvent msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->CancelEventTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryEvents::ID) { QueryEvents msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_ReceiveFSM->context->QueryEventsTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Timeout") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Timeout* casted_ie = (Timeout*) ie; pStillImage_ReceiveFSM->context->TimeoutTransition(); done = true; } } catch (...) {} try { if (ie->getName().compare("EventOccurred") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { EventOccurred* casted_ie = (EventOccurred*) ie; pStillImage_ReceiveFSM->context->EventOccurredTransition(); done = true; } } catch (...) {} try { if (ie->getName().compare("EventError") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { EventError* casted_ie = (EventError*) ie; pStillImage_ReceiveFSM->context->EventErrorTransition(); done = true; } } catch (...) {} try { if (ie->getName().compare("Send") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { Send* casted_ie = (Send*) ie; pStillImage_ReceiveFSM->context->SendTransition(); done = true; } } catch (...) {} try { if (ie->getName().compare("BroadcastLocal") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { BroadcastLocal* casted_ie = (BroadcastLocal*) ie; pStillImage_ReceiveFSM->context->BroadcastLocalTransition(); done = true; } } catch (...) {} try { if (ie->getName().compare("BroadcastGlobal") == 0 && (ie->getSource().compare("StillImage_ReceiveFSM") != 0) && (done == false)) { BroadcastGlobal* casted_ie = (BroadcastGlobal*) ie; pStillImage_ReceiveFSM->context->BroadcastGlobalTransition(); done = true; } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == SetStillImageSensorConfiguration::ID) { SetStillImageSensorConfiguration msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->SetStillImageSensorConfigurationTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryStillImageData::ID) { QueryStillImageData msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->QueryStillImageDataTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryStillImageSensorConfiguration::ID) { QueryStillImageSensorConfiguration msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->QueryStillImageSensorConfigurationTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryStillImageSensorCapabilities::ID) { QueryStillImageSensorCapabilities msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->QueryStillImageSensorCapabilitiesTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QuerySensorGeometricProperties::ID) { QuerySensorGeometricProperties msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->QuerySensorGeometricPropertiesTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryVisualSensorConfiguration::ID) { QueryVisualSensorConfiguration msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->QueryVisualSensorConfigurationTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryVisualSensorCapabilities::ID) { QueryVisualSensorCapabilities msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->QueryVisualSensorCapabilitiesTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == SetVisualSensorConfiguration::ID) { SetVisualSensorConfiguration msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->SetVisualSensorConfigurationTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == RequestControl::ID) { RequestControl msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->RequestControlTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == ReleaseControl::ID) { ReleaseControl msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->ReleaseControlTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryControl::ID) { QueryControl msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->QueryControlTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryAuthority::ID) { QueryAuthority msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->QueryAuthorityTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == SetAuthority::ID) { SetAuthority msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->SetAuthorityTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryTimeout::ID) { QueryTimeout msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->QueryTimeoutTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == CreateEvent::ID) { CreateEvent msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->CreateEventTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == UpdateEvent::ID) { UpdateEvent msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->UpdateEventTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == CancelEvent::ID) { CancelEvent msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->CancelEventTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Receive") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryEvents::ID) { QueryEvents msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); pStillImage_SendFSM->context->QueryEventsTransition(); done = true; } } } catch (...) {} try { if (ie->getName().compare("Timeout") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Timeout* casted_ie = (Timeout*) ie; pStillImage_SendFSM->context->TimeoutTransition(); done = true; } } catch (...) {} try { if (ie->getName().compare("EventOccurred") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { EventOccurred* casted_ie = (EventOccurred*) ie; pStillImage_SendFSM->context->EventOccurredTransition(); done = true; } } catch (...) {} try { if (ie->getName().compare("EventError") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { EventError* casted_ie = (EventError*) ie; pStillImage_SendFSM->context->EventErrorTransition(); done = true; } } catch (...) {} try { if (ie->getName().compare("Send") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { Send* casted_ie = (Send*) ie; pStillImage_SendFSM->context->SendTransition(); done = true; } } catch (...) {} try { if (ie->getName().compare("BroadcastLocal") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { BroadcastLocal* casted_ie = (BroadcastLocal*) ie; pStillImage_SendFSM->context->BroadcastLocalTransition(); done = true; } } catch (...) {} try { if (ie->getName().compare("BroadcastGlobal") == 0 && (ie->getSource().compare("StillImage_SendFSM") != 0) && (done == false)) { BroadcastGlobal* casted_ie = (BroadcastGlobal*) ie; pStillImage_SendFSM->context->BroadcastGlobalTransition(); done = true; } } catch (...) {} mutex.unlock(); return done; }
/** * This is the function that will process an event either generated * by the service, sent to it by another service on the same component, * or as a message sent by a different component. */ bool VisualSensorService::processTransitions(InternalEvent* ie) { bool done = false; // Since this function can be called from multiple threads, // we use a mutex to ensure only one state transition is // active at a time. mutex.lock(); // Invoke the FSM transition for this event. try { if ((done == false) && ie->getName().compare("InternalStateChange_To_VisualSensor_ReceiveFSM_Receiving_Ready_Controlled") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { pVisualSensor_ReceiveFSM->context->InternalStateChange_To_VisualSensor_ReceiveFSM_Receiving_Ready_ControlledTransition(ie); done = true; } } catch (...) {} try { if ((done == false) && ie->getName().compare("InternalStateChange_To_VisualSensor_ReceiveFSM_Receiving_Ready_Controlled") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { pVisualSensor_ReceiveFSM->context->InternalStateChange_To_VisualSensor_ReceiveFSM_Receiving_Ready_ControlledTransition(ie); done = true; } } catch (...) {} try { if ((done == false) && ie->getName().compare("InternalStateChange_To_VisualSensor_ReceiveFSM_Receiving_Ready_Controlled") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { pVisualSensor_ReceiveFSM->context->InternalStateChange_To_VisualSensor_ReceiveFSM_Receiving_Ready_ControlledTransition(ie); done = true; } } catch (...) {} try { if ((done == false) && ie->getName().compare("Receive") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryVisualSensorCapabilities::ID) { QueryVisualSensorCapabilities msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); Receive::Body::ReceiveRec transportData = *(casted_ie->getBody()->getReceiveRec()); pVisualSensor_ReceiveFSM->context->ReceiveTransition(msg, transportData); done = true; } } } catch (...) {} try { if ((done == false) && ie->getName().compare("Receive") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryVisualSensorConfiguration::ID) { QueryVisualSensorConfiguration msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); Receive::Body::ReceiveRec transportData = *(casted_ie->getBody()->getReceiveRec()); pVisualSensor_ReceiveFSM->context->ReceiveTransition(msg, transportData); done = true; } } } catch (...) {} try { if ((done == false) && ie->getName().compare("Receive") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QuerySensorGeometricProperties::ID) { QuerySensorGeometricProperties msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); Receive::Body::ReceiveRec transportData = *(casted_ie->getBody()->getReceiveRec()); pVisualSensor_ReceiveFSM->context->ReceiveTransition(msg, transportData); done = true; } } } catch (...) {} try { if ((done == false) && ie->getName().compare("InternalStateChange_To_VisualSensor_ReceiveFSM_Receiving_Ready_NotControlled") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { pVisualSensor_ReceiveFSM->context->InternalStateChange_To_VisualSensor_ReceiveFSM_Receiving_Ready_NotControlledTransition(ie); done = true; } } catch (...) {} try { if ((done == false) && ie->getName().compare("InternalStateChange_To_VisualSensor_ReceiveFSM_Receiving_Ready") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { pVisualSensor_ReceiveFSM->context->InternalStateChange_To_VisualSensor_ReceiveFSM_Receiving_ReadyTransition(ie); done = true; } } catch (...) {} try { if ((done == false) && ie->getName().compare("InternalStateChange_To_VisualSensor_ReceiveFSM_Receiving") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { pVisualSensor_ReceiveFSM->context->InternalStateChange_To_VisualSensor_ReceiveFSM_ReceivingTransition(ie); done = true; } } catch (...) {} try { if ((done == false) && ie->getName().compare("Receive") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == SetVisualSensorConfiguration::ID) { SetVisualSensorConfiguration msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); Receive::Body::ReceiveRec transportData = *(casted_ie->getBody()->getReceiveRec()); pVisualSensor_ReceiveFSM->context->ReceiveTransition(msg, transportData); done = true; } } } catch (...) {} try { if ((done == false) && ie->getName().compare("Receive") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryVisualSensorCapabilities::ID) { QueryVisualSensorCapabilities msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); Receive::Body::ReceiveRec transportData = *(casted_ie->getBody()->getReceiveRec()); pVisualSensor_ReceiveFSM->context->ReceiveTransition(msg, transportData); done = true; } } } catch (...) {} try { if ((done == false) && ie->getName().compare("Receive") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QueryVisualSensorConfiguration::ID) { QueryVisualSensorConfiguration msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); Receive::Body::ReceiveRec transportData = *(casted_ie->getBody()->getReceiveRec()); pVisualSensor_ReceiveFSM->context->ReceiveTransition(msg, transportData); done = true; } } } catch (...) {} try { if ((done == false) && ie->getName().compare("Receive") == 0 && (ie->getSource().compare("VisualSensor_ReceiveFSM") != 0)) { Receive* casted_ie = (Receive*) ie; unsigned short id = *((unsigned short*) casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); if ( id == QuerySensorGeometricProperties::ID) { QuerySensorGeometricProperties msg; msg.decode(casted_ie->getBody()->getReceiveRec()->getMessagePayload()->getData()); Receive::Body::ReceiveRec transportData = *(casted_ie->getBody()->getReceiveRec()); pVisualSensor_ReceiveFSM->context->ReceiveTransition(msg, transportData); done = true; } } } catch (...) {} mutex.unlock(); return done; }