WSF
WsfXIO_SensorService.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFXIO_SENSORSERVICE_HPP
13#define WSFXIO_SENSORSERVICE_HPP
14
15#include "wsf_export.h"
16
17class WsfSensor;
18class WsfSensorMode;
19class WsfSimulation;
20class WsfTrack;
21#include "WsfStringId.hpp"
26
29class WSF_EXPORT WsfXIO_SensorService : public WsfXIO_ServiceT<WsfXIO_RequestSensorDataPkt, WsfXIO_SimService>
30{
31public:
33
35
36protected:
37 void RequireCallbacks(bool aRequired);
38 void SubscriptionCancelledT(WsfXIO_Subscription* aSubscriptionPtr, WsfXIO_RequestSensorDataPkt& aRequestPkt) override;
39
41
42 void RequestCanceled(double aSimTime, WsfSensor* aSensorPtr, const WsfTrack* aTrackPtr);
43 void RequestUpdated(double aSimTime, WsfSensor* aSensorPtr, WsfSensorMode* aModePtr, const WsfTrack* aTrackPtr);
44
45 void SensorTurnedOff(double aSimTime, WsfSensor* aSenosrPtr);
46
48 UtCallbackHolder mRequestCallbacks;
51
52 typedef std::multimap<WsfSensor*, WsfXIO_Subscription*> SensorToRequestMap;
54};
55#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfSensorMode.hpp:36
Definition WsfSensor.hpp:92
The main controller for a simulation.
Definition WsfSimulation.hpp:109
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfXIO_PacketRegistry.hpp:1404
void RequireCallbacks(bool aRequired)
Definition WsfXIO_SensorService.cpp:32
WsfSimulation & mSimulation
Definition WsfXIO_SensorService.hpp:47
UtCallbackHolder mRequestCallbacks
Definition WsfXIO_SensorService.hpp:48
WsfXIO_SensorService(WsfXIO_Simulation &aXIO_Simulation)
Definition WsfXIO_SensorService.cpp:23
int mRequestCount
The number of requests for sensor request data.
Definition WsfXIO_SensorService.hpp:50
std::multimap< WsfSensor *, WsfXIO_Subscription * > SensorToRequestMap
Definition WsfXIO_SensorService.hpp:52
void RequestUpdated(double aSimTime, WsfSensor *aSensorPtr, WsfSensorMode *aModePtr, const WsfTrack *aTrackPtr)
Definition WsfXIO_SensorService.cpp:99
WsfXIO_ServiceT< WsfXIO_RequestSensorDataPkt, WsfXIO_SimService > BaseClassType
Definition WsfXIO_SensorService.hpp:32
void HandleRequest(WsfXIO_RequestSensorDataPkt &aPkt)
Definition WsfXIO_SensorService.cpp:128
void SensorTurnedOff(double aSimTime, WsfSensor *aSenosrPtr)
Definition WsfXIO_SensorService.cpp:77
SensorToRequestMap mSensorToRequests
Definition WsfXIO_SensorService.hpp:53
void RequestCanceled(double aSimTime, WsfSensor *aSensorPtr, const WsfTrack *aTrackPtr)
Definition WsfXIO_SensorService.cpp:54
virtual void SubscriptionCancelledT(WsfXIO_Subscription *aSubscriptionPtr, RequestType &aRequest)
Definition WsfXIO_Service.hpp:99
WsfXIO_ServiceT(WsfXIO_Interface *aInterfacePtr)
Definition WsfXIO_Service.hpp:84
Definition WsfXIO_Simulation.hpp:49
A WsfXIO_Subscription wraps information about a remote request for information.
Definition WsfXIO_Subscription.hpp:30
Copyrights Multiple, All Rights Reserved