12#ifndef WSFUCI_IRST_COMPONENT_HPP
13#define WSFUCI_IRST_COMPONENT_HPP
15#include "wsf_oms_uci_export.h"
20#include "uci/base/AbstractServiceBusConnection.h"
21#include "uci/type/POST_CapabilityType.h"
23#include "UtMemory.hpp"
85 virtual void SetOwnerProducer(
const ISM_OwnerProducerType& aOwnerType)
override;
91 bool HandleCommandMessage(
double aSimTime,
92 const UCI_POST_CommandMessage& aMessage);
94 bool HandleCapabilityCommand(
double aSimTime,
95 const uci::type::POST_CapabilityCommandType& aCapabilityCommand);
97 bool HandleActivityCommand(
double aSimTime,
98 const uci::type::POST_ActivityCommandType& aActivityCommand);
100 void SendActivityMessage(
double aSimTime,
101 const uci::type::MessageStateEnum::EnumerationItem& aMessageState)
override;
103 void SendCapabilityMessage(
double aSimTime,
104 const uci::type::MessageStateEnum::EnumerationItem& aMessageState)
override;
106 void SendCapabilityStatusMessage(
double aSimTime,
107 const uci::type::MessageStateEnum::EnumerationItem& aMessageState)
override;
111 void SetAllCapabilitiesAvailability(
const uci::type::CapabilityAvailabilityEnum::EnumerationItem& aAvailability)
override;
113 bool HandleSettingsCommand(
double aSimTime,
114 const UCI_POST_SettingsCommandMessage& aMessage);
116 std::unique_ptr<UCI_POST_ActivityMessage> mActivityMessagePtr;
117 std::unique_ptr<UCI_POST_CapabilityMessage> mCapabilityMessagePtr;
118 std::unique_ptr<UCI_POST_CapabilityStatusMessage> mCapabilityStatusMessagePtr;
#define WSF_DECLARE_COMPONENT_ROLE_TYPE(TYPE, ROLE)
Definition WsfComponentRoles.hpp:44
@ cWSF_COMPONENT_UCI_IRST
Definition WsfUCI_IRST_Component.hpp:126
Definition WsfComponent.hpp:39
A base class for messages sent among simulation communication objects, processors and sensors.
Definition WsfMessage.hpp:33
Definition WsfObject.hpp:40
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfSensor.hpp:92
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfUCI_IRST_Component.hpp:39
virtual void SetOwnerProducer(const ISM_OwnerProducerType &aOwnerType) override
Definition WsfUCI_IRST_Component.cpp:232
WsfObject * Clone() const
Definition WsfUCI_IRST_Component.hpp:58
virtual ~UCI_IRST_Component()
Definition WsfUCI_IRST_Component.cpp:61
virtual void OnSensorTrackUpdated(double aSimTime, WsfSensor *aSensorPtr, const WsfTrack &aTrack) override
Called after each subsequent update of sensor track by a sensor (similar to Observer::SensorTrackUpda...
Definition WsfUCI_IRST_Component.cpp:217
bool InjectConditionally(double aSimTime, WsfPlatform &aPlatform) override
Definition WsfUCI_IRST_Component.cpp:167
const int * GetComponentRoles() const override
Definition WsfUCI_IRST_Component.cpp:195
void * QueryInterface(int aRole) override
Definition WsfUCI_IRST_Component.cpp:649
UCI_IRST_Component(WsfScenario &aScenario)
Definition WsfUCI_IRST_Component.cpp:48
bool ProcessMessage(double aSimTime, const WsfMessage &aMessage) override
Definition WsfUCI_IRST_Component.cpp:480
void OnSlewComplete(double aSimTime) override
Definition WsfUCI_IRST_Component.cpp:227
bool Initialize2(double aSimTime) override
Definition WsfUCI_IRST_Component.cpp:66
virtual void OnSensorTrackInitiated(double aSimTime, WsfSensor *aSensorPtr, const WsfTrack &aTrack) override
Called after initial sensor track formation by a sensor (similar to Observer::SensorTrackInitiated).
Definition WsfUCI_IRST_Component.cpp:206
WsfComponent * CloneComponent() const override
Definition WsfUCI_IRST_Component.cpp:643
virtual void ClearActivities()=0
virtual void UpdateAllMessages() override
Definition WsfUCI_SensorComponent.cpp:235
UCI_SensorComponent()=delete
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32