|
WSF
|
#include <WsfXIO_PlatformInfoService.hpp>


Classes | |
| struct | PlatformInfo |
| struct | DR_Destination |
| Destination for DR updates for a single platform. More... | |
| class | EvaluateDeadReckoningEvent |
Public Types | |
| using | BaseClassType = WsfXIO_ServiceT<WsfXIO_RequestPlatformInfoPkt, WsfXIO_SimService> |
| Public Types inherited from WsfXIO_ServiceT< WsfXIO_RequestPlatformInfoPkt, WsfXIO_SimService > | |
| using | RequestType |
Public Member Functions | |
| WsfXIO_PlatformInfoService (WsfXIO_Simulation &aXIO_Simulation) | |
| ~WsfXIO_PlatformInfoService () override=default | |
| void | PartDebugChange (WsfPlatformPart *aPartPtr) |
| void | SendPartState (const WsfPlatformPart &aPart, int aInfoMask) |
| Public Member Functions inherited from WsfXIO_ServiceT< WsfXIO_RequestPlatformInfoPkt, WsfXIO_SimService > | |
| WsfXIO_ServiceT (WsfXIO_Interface *aInterfacePtr) | |
| WsfXIO_Subscription * | CreateSubscription (RequestType &aRequest) |
| Create a subscription from a request. | |
| Public Member Functions inherited from WsfXIO_SimService | |
| WsfXIO_SimService (WsfXIO_Interface *aInterfacePtr) | |
| void | Initialize (WsfSimulation &aSimulation) |
| void | AddRequiredPlatform (WsfPlatform &aPlatform, WsfXIO_Subscription *aSubscriptionPtr) |
| Adds a platform dependency on a subscription. If the platform is destroyed, the subscription is canceled. | |
| Public Member Functions inherited from WsfXIO_Service | |
| WsfXIO_Service (WsfXIO_Interface *aInterfacePtr) | |
| virtual | ~WsfXIO_Service () |
| WsfXIO_Subscription * | FindSubscription (WsfXIO_Connection *aConnectionPtr, int aSubscriptionId) |
| WsfXIO_Interface * | GetInterface () const |
Protected Types | |
| using | PlatformInfoMap = std::multimap<size_t, PlatformInfo> |
| using | iterator = PlatformInfoMap::iterator |
| using | ValuePair = PlatformInfoMap::value_type |
| Protected Types inherited from WsfXIO_ServiceT< WsfXIO_RequestPlatformInfoPkt, WsfXIO_SimService > | |
| using | RequestMapT |
| Protected Types inherited from WsfXIO_Service | |
| using | SubscriptionMap = std::map<WsfXIO_SubscriptionId, WsfXIO_Subscription*> |
Protected Attributes | |
| WsfXIO_Simulation & | mXIO_Simulation |
| WsfSimulation & | mSimulation |
| const WsfScenario & | mScenario |
| WsfExtInterface * | mExtInterfacePtr {nullptr} |
| PlatformInfoMap | mPlatformInfo |
| std::vector< DR_Destination * > | mDR_Destinations |
| Array of destinations receiving DR data for each platform index. | |
| std::unique_ptr< UtCallback > | mDR_MoverUpdatedCallbackPtr |
| Callback for WsfExtEntityDeadReckon::DeadReckonChanged. | |
| UtCallbackHolder | mActiveCallbacks |
| List of callbacks only required while we have subscriptions. | |
| Protected Attributes inherited from WsfXIO_Service | |
| UtCallbackHolder | mCallbacks |
| WsfXIO_Interface * | mInterfacePtr |
Friends | |
| class | EvaluateDeadReckoningEvent |
Provides information about a specific platform and the platform parts attached to that platform Processes: Responds with: WsfXIO_TypeQueryPkt WsfXIO_TypeQueryResolutionPkt WsfXIO_RequestPlatformInfoPkt WsfXIO_PlatformPartInfoPkt WsfXIO_PlatformCommandChainPkt WsfXIO_EntityStatePkt WsfXIO_PartStateChangePkt WsfXIO_TypeListQueryPkt WsfXIO_TypeListQueryResolutionPkt
| using WsfXIO_PlatformInfoService::BaseClassType = WsfXIO_ServiceT<WsfXIO_RequestPlatformInfoPkt, WsfXIO_SimService> |
|
protected |
|
protected |
|
protected |
| WsfXIO_PlatformInfoService::WsfXIO_PlatformInfoService | ( | WsfXIO_Simulation & | aXIO_Simulation | ) |
References WsfExtInterface::Find(), WsfXIO_Service::GetInterface(), HandleRequest(), HandleTypeListQuery(), HandleTypeQuery(), WsfXIO_Service::mCallbacks, mDR_MoverUpdatedCallbackPtr, mExtInterfacePtr, WsfXIO_Service::mInterfacePtr, mScenario, mSimulation, and mXIO_Simulation.
Referenced by WsfXIO_PlatformInfoService::EvaluateDeadReckoningEvent::EvaluateDeadReckoningEvent(), and WsfXIO_PlatformInfoService::EvaluateDeadReckoningEvent::EvaluateDeadReckoningEvent().
|
overridedefault |
References CommStateChange(), DR_Change(), FillPartState(), FindObjectType(), HandleRequest(), HandleTypeListQuery(), HandleTypeQuery(), MoverChanged(), PartDebugChange(), ProcessorStateChange(), RouteChanged(), SendCommandChain(), SendPartState(), SendTrackManagerState(), SensorModeChange(), SensorStateChange(), TrackManagerStateChange(), and UpdateCallbacks().
|
protected |
References WsfXIO_RequestPlatformInfoPkt::cCOMM_INFO, and SendPartState().
Referenced by UpdateCallbacks(), and ~WsfXIO_PlatformInfoService().
|
protected |
References WsfPlatform::GetIndex(), WsfXIO_EntityStateData::mAcceleration, WsfExtEntityDeadReckon::DR_State::mAccelerationWCS, WsfXIO_PlatformInfoService::DR_Destination::mDestination, mDR_Destinations, WsfXIO_EntityStateData::mLocation, WsfExtEntityDeadReckon::DR_State::mLocationWCS, WsfXIO_EntityStateData::mOrientation, WsfExtEntityDeadReckon::DR_State::mOrientationWCS, WsfXIO_EntityStateData::mPlatformIndex, WsfExtEntityDeadReckon::PlatformDR::mPlatformPtr, WsfExtEntityDeadReckon::PlatformDR::mSentState, WsfXIO_EntityStateData::mSimTime, WsfXIO_EntityStateData::mVelocity, WsfExtEntityDeadReckon::DR_State::mVelocityWCS, and WsfXIO_Destination::Send().
Referenced by UpdateCallbacks(), and ~WsfXIO_PlatformInfoService().
|
protected |
References WsfComponentListT< COMPONENT_TYPE >::Begin(), WsfPlatformPart::DebugEnabled(), WsfComponentListT< COMPONENT_TYPE >::End(), WsfSensor::GetCurrentModeName(), WsfSensor::GetModeCount(), WsfSensor::GetModeEntry(), WsfNamed::GetNameId(), WsfObject::GetNameId(), WsfPlatformPart::GetPartType(), WsfMode::IsSelected(), WsfPlatformPart::IsTurnedOn(), WsfXIO_PartStateChangePkt::mCurrentModeName, WsfXIO_PartStateChangePkt::mDebugOn, WsfXIO_PartStateChangePkt::mIsTurnedOn, WsfXIO_PartStateChangePkt::mPartName, WsfXIO_PartStateChangePkt::mPartType, WsfXIO_PartStateChangePkt::mQuantityRemaining, WsfXIO_PartStateChangePkt::mSelectedModes, and mXIO_Simulation.
Referenced by SendPartState(), and ~WsfXIO_PlatformInfoService().
|
protected |
References WsfComponentListT< COMPONENT_TYPE >::Begin(), WsfXIO_TypeQueryPkt::cPART_TYPE, WsfXIO_TypeQueryPkt::cPLATFORM, WsfXIO_TypeQueryPkt::cPLATFORM_MEMBER, WsfXIO_TypeQueryPkt::cPLATFORM_TYPE, WsfXIO_TypeQueryPkt::cPLATFORM_TYPE_MEMBER, WsfComponentListT< COMPONENT_TYPE >::End(), WsfObjectTypeList< T >::Find(), wsf::comm::Types::Get(), WsfFuelTypes::Get(), WsfMoverTypes::Get(), WsfProcessorTypes::Get(), WsfSensorTypes::Get(), WsfXIO_TypeQueryPkt::mPartType, WsfXIO_TypeQueryPkt::mPlatformName, WsfXIO_TypeQueryPkt::mRequestedTypeName, mScenario, mSimulation, WsfXIO_TypeQueryPkt::mTypeLocation, mXIO_Simulation, and platformPtr.
Referenced by HandleTypeQuery(), and ~WsfXIO_PlatformInfoService().
|
protected |
References mPlatformInfo.
Referenced by SendTrackManagerState().
|
protected |
|
protected |
References WsfXIO_Destination::Add(), WsfXIO_SimService::AddRequiredPlatform(), WsfXIO_RequestPlatformInfoPkt::cCOMMAND_CHAIN_INFO, WsfXIO_RequestPlatformInfoPkt::cENTITY_STATE_INFO, WsfXIO_PlatformInfoService::EvaluateDeadReckoningEvent::CopyState(), WsfXIO_RequestPlatformInfoPkt::cPLATFORM_INFO, WsfXIO_ServiceT< WsfXIO_RequestPlatformInfoPkt, WsfXIO_SimService >::CreateSubscription(), WsfXIO_RequestPlatformInfoPkt::cROUTE_INFO, WsfXIO_Service::DenyRequest(), WsfXIO_Subscription::GetDataConnection(), WsfXIO_Subscription::GetId(), WsfXIO_Subscription::GetRequestId(), WsfXIO_ObjectInfoLoad::Load_Platform(), WsfXIO_RequestPlatformInfoPkt::mDeadReckonInterval, WsfXIO_PlatformInfoService::DR_Destination::mDestination, mDR_Destinations, WsfXIO_PlatformInfoService::PlatformInfo::mInfoTypes, WsfXIO_RequestPlatformInfoPkt::mInfoTypes, WsfXIO_RequestPlatformInfoPkt::mMaxDeadReckonError, WsfXIO_RequestPlatformInfoPkt::mMaxDeadReckonOrientationError, moverPtr, WsfXIO_PlatformInfoService::EvaluateDeadReckoningEvent::mPlatformIndex, WsfXIO_PlatformInfoService::PlatformInfo::mPlatformIndex, WsfXIO_RequestPlatformInfoPkt::mPlatformIndex, mPlatformInfo, WsfXIO_PlatformPartInfoPkt::mPlatformInfoPtr, WsfXIO_ResponsePkt::mRequestId, WsfXIO_PlatformInfo::mRoutePtr, mSimulation, WsfXIO_PlatformInfoService::PlatformInfo::mSubscriptionPtr, WsfXIO_PlatformInfo::mTargetWaypointIndex, WsfXIO_RequestPlatformInfoPkt::mUseDeadReckonDefaults, mXIO_Simulation, platformPtr, SendCommandChain(), WsfXIO_Subscription::SendResponse(), WsfXIO_PlatformInfoService::EvaluateDeadReckoningEvent::SendState(), WsfEvent::SetTime(), and UpdateCallbacks().
Referenced by WsfXIO_PlatformInfoService(), and ~WsfXIO_PlatformInfoService().
|
protected |
References wsf::xio::cQUERY_TRUE, WsfXIO_TypeListQueryPkt::cSENSOR_TYPES, WsfSensorTypes::Get(), WsfObjectTypeListBase::GetTypeIds(), WsfXIO_TypeListQueryResolutionPkt::mListType, WsfXIO_QueryResolutionPkt::mQueryId, WsfXIO_TypeListQueryPkt::mQueryId, WsfXIO_TypeListQueryPkt::mRequestTypes, WsfXIO_QueryResolutionPkt::mResult, mScenario, and WsfXIO_TypeListQueryResolutionPkt::mTypes.
Referenced by WsfXIO_PlatformInfoService(), and ~WsfXIO_PlatformInfoService().
|
protected |
References WsfXIO_ObjectInfo::cNO_OBJECT, WsfXIO_TypeQueryPkt::cPART_TYPE, WsfXIO_TypeQueryPkt::cPLATFORM, WsfXIO_TypeQueryPkt::cPLATFORM_MEMBER, WsfXIO_TypeQueryPkt::cPLATFORM_TYPE, WsfXIO_TypeQueryPkt::cPLATFORM_TYPE_MEMBER, wsf::xio::cQUERY_FALSE, wsf::xio::cQUERY_TRUE, WsfXIO_ObjectInfoLoad::CreatePlatformPart(), FindObjectType(), WsfXIO_ObjectInfo::GetObjectType(), WsfXIO_ObjectInfoLoad::Load_Platform(), WsfXIO_TypeQueryResolutionPkt::mObjectInfo, WsfXIO_TypeQueryResolutionPkt::mObjectType, WsfXIO_QueryResolutionPkt::mQueryId, WsfXIO_TypeQueryPkt::mQueryId, WsfXIO_TypeQueryResolutionPkt::mRequestedType, WsfXIO_TypeQueryPkt::mRequestedTypeName, WsfXIO_QueryResolutionPkt::mResult, WsfXIO_TypeQueryPkt::mTypeLocation, and mXIO_Simulation.
Referenced by WsfXIO_PlatformInfoService(), and ~WsfXIO_PlatformInfoService().
|
protected |
References WsfXIO_RequestPlatformInfoPkt::cROUTE_INFO, WsfPlatform::GetIndex(), WsfPlatform::GetMover(), moverPtr, WsfXIO_RouteUpdatePkt::mPlatformIndex, mPlatformInfo, WsfXIO_RouteUpdatePkt::mRoutePtr, and WsfXIO_RouteUpdatePkt::mTargetWaypointIndex.
Referenced by RouteChanged(), UpdateCallbacks(), and ~WsfXIO_PlatformInfoService().
| void WsfXIO_PlatformInfoService::PartDebugChange | ( | WsfPlatformPart * | aPartPtr | ) |
References WsfXIO_RequestPlatformInfoPkt::cPART_INFO, and SendPartState().
Referenced by ~WsfXIO_PlatformInfoService().
|
protected |
References WsfXIO_RequestPlatformInfoPkt::cPROCESSOR_INFO, and SendPartState().
Referenced by UpdateCallbacks(), and ~WsfXIO_PlatformInfoService().
|
protected |
References WsfPlatformPart::GetPlatform(), and MoverChanged().
Referenced by UpdateCallbacks(), and ~WsfXIO_PlatformInfoService().
|
protected |
References WsfComponentList::RoleIterator< T >::AtEnd(), WsfCommandChain::GetCommander(), WsfNamed::GetNameId(), WsfObject::GetNameId(), WsfCommandChain::GetSubordinates(), WsfXIO_CommandChain::mChainName, WsfXIO_PlatformCommandChainPkt::mCommandChains, WsfXIO_CommandChain::mCommander, WsfXIO_CommandChain::mSubordinates, and WsfXIO_Subscription::SendResponse().
Referenced by HandleRequest(), and ~WsfXIO_PlatformInfoService().
| void WsfXIO_PlatformInfoService::SendPartState | ( | const WsfPlatformPart & | aPart, |
| int | aInfoMask ) |
References end(), FillPartState(), WsfPlatformPart::GetPlatform(), WsfXIO_Subscription::GetRequestId(), WsfXIO_PartStateChangePkt::mPlatformIndex, mPlatformInfo, WsfXIO_ResponsePkt::mRequestId, and WsfXIO_PlatformInfoService::PlatformInfo::mSubscriptionPtr.
Referenced by CommStateChange(), PartDebugChange(), ProcessorStateChange(), SensorModeChange(), SensorStateChange(), and ~WsfXIO_PlatformInfoService().
|
protected |
References FindPlatformInfo(), WsfXIO_Subscription::GetConnection(), WsfTrackManager::GetCorrelationStrategy(), WsfTrackManager::GetFusionStrategy(), WsfPlatform::GetIndex(), WsfXIO_Subscription::GetRequestId(), WsfPlatform::GetTrackManager(), WsfObject::GetType(), WsfXIO_TrackManagerStateChangePkt::mCorrelationStrategy, WsfXIO_TrackManagerStateChangePkt::mFusionStrategy, WsfXIO_TrackManagerStateChangePkt::mPlatformIndex, WsfXIO_ResponsePkt::mRequestId, WsfXIO_PlatformInfoService::PlatformInfo::mSubscriptionPtr, and WsfXIO_Connection::Send().
Referenced by TrackManagerStateChange(), and ~WsfXIO_PlatformInfoService().
|
protected |
References WsfXIO_RequestPlatformInfoPkt::cSENSOR_INFO, and SendPartState().
Referenced by UpdateCallbacks(), and ~WsfXIO_PlatformInfoService().
|
protected |
References WsfXIO_RequestPlatformInfoPkt::cSENSOR_INFO, and SendPartState().
Referenced by UpdateCallbacks(), and ~WsfXIO_PlatformInfoService().
|
overrideprotectedvirtual |
Called when a subscription has been canceled May be called due to lost connection, destroyed simulation entity, or cancellation request
Reimplemented from WsfXIO_ServiceT< WsfXIO_RequestPlatformInfoPkt, WsfXIO_SimService >.
References WsfXIO_RequestPlatformInfoPkt::cENTITY_STATE_INFO, end(), WsfXIO_Subscription::GetDataConnection(), WsfXIO_Destination::IsEmpty(), WsfXIO_PlatformInfoService::DR_Destination::mDestination, mDR_Destinations, WsfXIO_RequestPlatformInfoPkt::mPlatformIndex, mPlatformInfo, WsfXIO_Destination::Remove(), WsfXIO_ServiceT< WsfXIO_RequestPlatformInfoPkt, WsfXIO_SimService >::SubscriptionCancelledT(), and UpdateCallbacks().
|
protected |
References SendTrackManagerState().
Referenced by UpdateCallbacks(), and ~WsfXIO_PlatformInfoService().
|
protected |
References CommStateChange(), WsfObserver::CommTurnedOff(), WsfObserver::CommTurnedOn(), WsfObserver::CorrelationStrategyChanged(), DR_Change(), WsfObserver::FusionStrategyChanged(), mActiveCallbacks, mDR_Destinations, mDR_MoverUpdatedCallbackPtr, mExtInterfacePtr, WsfObserver::MoverChanged(), MoverChanged(), mPlatformInfo, mSimulation, mXIO_Simulation, ProcessorStateChange(), WsfObserver::ProcessorTurnedOff(), WsfObserver::ProcessorTurnedOn(), WsfObserver::RouteChanged(), RouteChanged(), WsfObserver::SensorModeActivated(), SensorModeChange(), WsfObserver::SensorModeDeactivated(), SensorStateChange(), WsfObserver::SensorTurnedOff(), WsfObserver::SensorTurnedOn(), and TrackManagerStateChange().
Referenced by HandleRequest(), SubscriptionCancelledT(), and ~WsfXIO_PlatformInfoService().
|
friend |
|
protected |
List of callbacks only required while we have subscriptions.
Referenced by UpdateCallbacks().
|
protected |
Array of destinations receiving DR data for each platform index.
Referenced by DR_Change(), HandleRequest(), SubscriptionCancelledT(), and UpdateCallbacks().
|
protected |
Callback for WsfExtEntityDeadReckon::DeadReckonChanged.
Referenced by UpdateCallbacks(), and WsfXIO_PlatformInfoService().
|
protected |
Referenced by UpdateCallbacks(), and WsfXIO_PlatformInfoService().
|
protected |
Referenced by FindPlatformInfo(), HandleRequest(), MoverChanged(), SendPartState(), SubscriptionCancelledT(), and UpdateCallbacks().
|
protected |
Referenced by FindObjectType(), HandleTypeListQuery(), and WsfXIO_PlatformInfoService().
|
protected |
Referenced by FindObjectType(), HandleRequest(), UpdateCallbacks(), and WsfXIO_PlatformInfoService().
|
protected |
Referenced by FillPartState(), FindObjectType(), HandleRequest(), HandleTypeQuery(), UpdateCallbacks(), and WsfXIO_PlatformInfoService().