WSF
WsfXIO_PlatformInfoService Class Reference

#include <WsfXIO_PlatformInfoService.hpp>

Inheritance diagram for WsfXIO_PlatformInfoService:
Collaboration diagram for WsfXIO_PlatformInfoService:

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_SubscriptionCreateSubscription (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_SubscriptionFindSubscription (WsfXIO_Connection *aConnectionPtr, int aSubscriptionId)
WsfXIO_InterfaceGetInterface () 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 Member Functions

void SubscriptionCancelledT (WsfXIO_Subscription *aSubscriptionPtr, WsfXIO_RequestPlatformInfoPkt &aRequestPkt) override
void UpdateCallbacks ()
void HandleRequest (WsfXIO_RequestPlatformInfoPkt &aPkt)
void ProcessorStateChange (double aSimTime, WsfProcessor *aProcessorPtr)
void SensorStateChange (double aSimTime, WsfSensor *aSensorPtr)
void SensorModeChange (double aSimTime, WsfSensor *aSensorPtr, WsfSensorMode *aModePtr)
void CommStateChange (double aSimTime, wsf::comm::Comm *aCommPtr)
void MoverChanged (WsfPlatform *aPlatformPtr)
void RouteChanged (WsfMover *aMoverPtr)
void TrackManagerStateChange (double aSimTime, WsfPlatform *aPlatformPtr)
void FillPartState (const WsfPlatformPart &aPart, WsfXIO_PartStateChangePkt &aPkt)
void SendCommandChain (WsfXIO_Subscription &aSubscription, WsfPlatform &aPlatform)
void SendTrackManagerState (WsfPlatform &aPlatform)
WsfObjectFindObjectType (WsfXIO_TypeQueryPkt &aPkt)
void HandleTypeQuery (WsfXIO_TypeQueryPkt &aPkt)
void HandleTypeListQuery (WsfXIO_TypeListQueryPkt &aPkt)
void DR_Change (double aSimTime, WsfExtEntityDeadReckon::PlatformDR &aDRData)
PlatformInfoFindPlatformInfo (size_t aPlatformIndex)
void GetInfoRange (size_t aIndex, PlatformInfoMap::iterator &aBegin, PlatformInfoMap::iterator &aEnd)
Protected Member Functions inherited from WsfXIO_ServiceT< WsfXIO_RequestPlatformInfoPkt, WsfXIO_SimService >
void SubscriptionCancelled (WsfXIO_Subscription *aSubscriptionPtr) override
const WsfXIO_RequestPlatformInfoPktFindRequest (WsfXIO_SubscriptionId aId) const
const RequestMapTGetRequests () const
Protected Member Functions inherited from WsfXIO_SimService
void RemovingSubscription (WsfXIO_Subscription *aSubscriptionPtr) override
Protected Member Functions inherited from WsfXIO_Service
void DenyRequest (WsfXIO_RequestDataPkt &aRequest)
void HandleDisconnect (WsfXIO_Connection *aConnection)
void AddSubscription (WsfXIO_Subscription *aSubscriptionPtr)
bool RemoveSubscription (WsfXIO_Subscription *aSubscriptionPtr)
WsfXIO_SubscriptionCreateSubscription (WsfXIO_RequestDataPkt &aRequest)
void HandleCancellation (WsfXIO_SubscriptionCancelPkt &aPkt)
const SubscriptionMap GetSubscriptions () const
WsfXIO_SubscriptionFindSubscription (const WsfXIO_SubscriptionId &aSubscriptionId)

Protected Attributes

WsfXIO_SimulationmXIO_Simulation
WsfSimulationmSimulation
const WsfScenariomScenario
WsfExtInterfacemExtInterfacePtr {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_InterfacemInterfacePtr

Friends

class EvaluateDeadReckoningEvent

Detailed Description

Member Typedef Documentation

◆ BaseClassType

◆ iterator

using WsfXIO_PlatformInfoService::iterator = PlatformInfoMap::iterator
protected

◆ PlatformInfoMap

using WsfXIO_PlatformInfoService::PlatformInfoMap = std::multimap<size_t, PlatformInfo>
protected

◆ ValuePair

using WsfXIO_PlatformInfoService::ValuePair = PlatformInfoMap::value_type
protected

Constructor & Destructor Documentation

◆ WsfXIO_PlatformInfoService()

◆ ~WsfXIO_PlatformInfoService()

Member Function Documentation

◆ CommStateChange()

void WsfXIO_PlatformInfoService::CommStateChange ( double aSimTime,
wsf::comm::Comm * aCommPtr )
protected

◆ DR_Change()

◆ FillPartState()

◆ FindObjectType()

◆ FindPlatformInfo()

WsfXIO_PlatformInfoService::PlatformInfo * WsfXIO_PlatformInfoService::FindPlatformInfo ( size_t aPlatformIndex)
protected

References mPlatformInfo.

Referenced by SendTrackManagerState().

◆ GetInfoRange()

void WsfXIO_PlatformInfoService::GetInfoRange ( size_t aIndex,
PlatformInfoMap::iterator & aBegin,
PlatformInfoMap::iterator & aEnd )
protected

◆ HandleRequest()

void WsfXIO_PlatformInfoService::HandleRequest ( WsfXIO_RequestPlatformInfoPkt & aPkt)
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().

◆ HandleTypeListQuery()

◆ HandleTypeQuery()

◆ MoverChanged()

◆ PartDebugChange()

void WsfXIO_PlatformInfoService::PartDebugChange ( WsfPlatformPart * aPartPtr)

◆ ProcessorStateChange()

void WsfXIO_PlatformInfoService::ProcessorStateChange ( double aSimTime,
WsfProcessor * aProcessorPtr )
protected

◆ RouteChanged()

void WsfXIO_PlatformInfoService::RouteChanged ( WsfMover * aMoverPtr)
protected

◆ SendCommandChain()

◆ SendPartState()

◆ SendTrackManagerState()

◆ SensorModeChange()

void WsfXIO_PlatformInfoService::SensorModeChange ( double aSimTime,
WsfSensor * aSensorPtr,
WsfSensorMode * aModePtr )
protected

◆ SensorStateChange()

void WsfXIO_PlatformInfoService::SensorStateChange ( double aSimTime,
WsfSensor * aSensorPtr )
protected

◆ SubscriptionCancelledT()

◆ TrackManagerStateChange()

void WsfXIO_PlatformInfoService::TrackManagerStateChange ( double aSimTime,
WsfPlatform * aPlatformPtr )
protected

◆ UpdateCallbacks()

◆ EvaluateDeadReckoningEvent

friend class EvaluateDeadReckoningEvent
friend

Member Data Documentation

◆ mActiveCallbacks

UtCallbackHolder WsfXIO_PlatformInfoService::mActiveCallbacks
protected

List of callbacks only required while we have subscriptions.

Referenced by UpdateCallbacks().

◆ mDR_Destinations

std::vector<DR_Destination*> WsfXIO_PlatformInfoService::mDR_Destinations
protected

Array of destinations receiving DR data for each platform index.

Referenced by DR_Change(), HandleRequest(), SubscriptionCancelledT(), and UpdateCallbacks().

◆ mDR_MoverUpdatedCallbackPtr

std::unique_ptr<UtCallback> WsfXIO_PlatformInfoService::mDR_MoverUpdatedCallbackPtr
protected

◆ mExtInterfacePtr

WsfExtInterface* WsfXIO_PlatformInfoService::mExtInterfacePtr {nullptr}
protected

◆ mPlatformInfo

PlatformInfoMap WsfXIO_PlatformInfoService::mPlatformInfo
protected

◆ mScenario

const WsfScenario& WsfXIO_PlatformInfoService::mScenario
protected

◆ mSimulation

WsfSimulation& WsfXIO_PlatformInfoService::mSimulation
protected

◆ mXIO_Simulation

WsfXIO_Simulation& WsfXIO_PlatformInfoService::mXIO_Simulation
protected

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved