12#ifndef WSFUCI_ESM_COMPONENT_HPP
13#define WSFUCI_ESM_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"
87 virtual void SetOwnerProducer(
const ISM_OwnerProducerType& aOwnerType)
override;
93 bool HandleCommandMessage(
const UCI_ESM_CommandMessage& aMessage);
95 bool HandleCapabilityCommand(
double aSimTime,
96 const uci::type::ESM_CapabilityCommandType& aCapabilityCommand);
98 bool HandleActivityCommand(
double aSimTime,
99 const uci::type::ESM_ActivityCommandType& aActivityCommand);
101 void SendActivityMessage(
double aSimTime,
102 const uci::type::MessageStateEnum::EnumerationItem& aMessageState)
override;
104 void SendCapabilityMessage(
double aSimTime,
105 const uci::type::MessageStateEnum::EnumerationItem& aMessageState)
override;
107 void SendCapabilityStatusMessage(
double aSimTime,
108 const uci::type::MessageStateEnum::EnumerationItem& aMessageState)
override;
112 void SetAllCapabilitiesAvailability(
const uci::type::CapabilityAvailabilityEnum::EnumerationItem& aAvailability)
override;
114 bool HandleSettingsCommand(
double aSimTime,
115 const UCI_ESM_SettingsCommandMessage& aMessage);
117 std::unique_ptr<UCI_ESM_ActivityMessage> mActivityMessagePtr;
118 std::unique_ptr<UCI_ESM_CapabilityMessage> mCapabilityMessagePtr;
119 std::unique_ptr<UCI_ESM_CapabilityStatusMessage> mCapabilityStatusMessagePtr;
#define WSF_DECLARE_COMPONENT_ROLE_TYPE(TYPE, ROLE)
Definition WsfComponentRoles.hpp:44
@ cWSF_COMPONENT_UCI_ESM
Definition WsfUCI_ESM_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_ESM_Component.hpp:39
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_ESM_Component.cpp:171
bool ReceiveMessage(double aSimTime, const WsfMessage &aMessage) override
Definition WsfUCI_ESM_Component.cpp:452
bool InjectConditionally(double aSimTime, WsfPlatform &aPlatform) override
Definition WsfUCI_ESM_Component.cpp:126
virtual void SetOwnerProducer(const ISM_OwnerProducerType &aOwnerType) override
Definition WsfUCI_ESM_Component.cpp:478
WsfObject * Clone() const
Definition WsfUCI_ESM_Component.hpp:60
const int * GetComponentRoles() const override
Definition WsfUCI_ESM_Component.cpp:160
WsfComponent * CloneComponent() const override
Definition WsfUCI_ESM_Component.cpp:561
UCI_ESM_Component(WsfScenario &aScenario)
Definition WsfUCI_ESM_Component.cpp:34
virtual ~UCI_ESM_Component()
Definition WsfUCI_ESM_Component.cpp:47
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_ESM_Component.cpp:181
void * QueryInterface(int aRole) override
Definition WsfUCI_ESM_Component.cpp:567
uci::type::ESM_SubCapabilityEnum::EnumerationItem GetSubCapabilityEnum() const
Definition WsfUCI_ESM_Component.cpp:155
void OnSlewComplete(double aSimTime) override
Definition WsfUCI_ESM_Component.cpp:554
bool Initialize2(double aSimTime) override
Definition WsfUCI_ESM_Component.cpp:52
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