WSF
wsf::comm::ComponentHW_JTIDS Class Reference

The hardware component that can be attached to all comm systems. More...

#include <WsfCommComponentHW_JTIDS.hpp>

Inheritance diagram for wsf::comm::ComponentHW_JTIDS:
Collaboration diagram for wsf::comm::ComponentHW_JTIDS:

Public Member Functions

 ComponentHW_JTIDS ()
 ~ComponentHW_JTIDS () override=default
Public Member Functions inherited from wsf::comm::ComponentHW
 ComponentHW ()
 ~ComponentHW () override=default
bool IsAltFreqChangeScheduled () const
double GetAltFreqSelectDelay () const
virtual double GetLastAltFreqSelectTime () const
virtual void ScheduleAltFreqChange (double aSimTime, int aAltFreqId=-1)
void SelectAlternateFrequency (double aSimTime, int aAltFreqId=-1)
bool TransmitsContinuously () const
void TurnOn (double aSimTime) override
void TurnOff (double aSimTime) override
bool CanInteractWith (const Comm *aXmtrCommPtr) override
virtual bool CanSendTo (double aSimTime, Comm *aRcvrPtr, Result &aResult)
virtual unsigned int GetEM_RcvrCount () const
virtual WsfEM_RcvrGetEM_Rcvr (unsigned int aIndex)
virtual unsigned int GetEM_XmtrCount () const
virtual WsfEM_XmtrGetEM_Xmtr (unsigned int aIndex)
Public Member Functions inherited from wsf::comm::Component
 Component ()=default
 ~Component () override=default
CommGetComm () const
WsfPlatformGetPlatform () const
WsfSimulationGetSimulation () const
virtual void Setup ()
virtual void PendingStart ()
virtual bool Initialize2 (double aSimTime)
virtual bool PreInitialize (double aSimTime)
virtual void AttemptToTransmit (double aSimTime, Result &aResult)
virtual void AttemptToReceive (double aSimTime, Result &aResult)
virtual bool Receive (double aSimTime, Comm *aXmtrPtr, Message &aMessage)
virtual bool Send (double aSimTime, const WsfMessage &aMessage, const Address &aAddress)
Public Member Functions inherited from WsfComponentT< Comm >
 WsfComponentT ()
WsfComponentToperator= (const WsfComponentT &) noexcept
 ~WsfComponentT () override=default
virtual void ComponentParentChanged (ParentType *aParentPtr)
ParentTypeGetComponentParent () const
void SetComponentParent (ParentType *aParentPtr)
Public Member Functions inherited from WsfComponent
virtual ~WsfComponent ()=default
virtual int GetComponentInitializationOrder () const
template<typename T>
bool QueryInterfaceT (T *&aRolePtr)
bool ComponentHasRole (int aRole)
 Returns true if the component has the specified role.
virtual void PreInput ()

Static Public Member Functions

static ComponentHW_JTIDSFind (const Comm &aParent)
 Find the instance of this component attached to the specified processor.
static ComponentHW_JTIDSFindOrCreate (Comm &aParent)
Static Public Member Functions inherited from wsf::comm::ComponentHW
static ComponentHWFind (const Comm &aParent)
 Find the instance of this component attached to the specified processor.
static ComponentHWFindOrCreate (Comm &aParent)
static void AttemptToTransmit (Comm &aComm, double aSimTime, Result &aResult)
 Called by model implementations when attempting to send a message.
static void AttemptToReceive (Comm &aComm, double aSimTime, Result &aResult)
 Called by model implementations when attempting to receive a message.
static bool Receive (Comm &aComm, double aSimTime, Comm *aXmtrPtr, Message &aMessage)
static bool Send (Comm &aComm, double aSimTime, const WsfMessage &aMessage, const Address &aAddress)

Interface from WsfCommComponent.

bool Initialize (double aSimTime) override
bool ProcessInput (UtInput &aInput) override
bool CanReceiveFrom (double aSimTime, Comm *aXmtrPtr, Result &aResult) override
 ComponentHW_JTIDS (const ComponentHW_JTIDS &aSrc)=default
ComponentHW_JTIDSoperator= (const ComponentHW_JTIDS &aRhs)=delete

Required interface from WsfComponent.

WsfComponentCloneComponent () const override
WsfStringId GetComponentName () const override
const int * GetComponentRoles () const override
void * QueryInterface (int aRole) override

Additional Inherited Members

Public Types inherited from WsfComponentT< Comm >
typedef Comm ParentType
 This is needed to support the WsfComponentList template.
 ComponentHW (const ComponentHW &aSrc)
ComponentHWoperator= (const ComponentHW &aRhs)=delete
std::unique_ptr< WsfEM_AntennamAntennaPtr
std::unique_ptr< WsfEM_XmtrmXmtrPtr
std::unique_ptr< WsfEM_RcvrmRcvrPtr
bool mAltFreqChangeScheduled
double mAltFreqSelectDelay
double mLastAltFreqSelectTime
bool mTransmitsContinuously
 True if this interface transmits continuously.
WsfStringId mZoneAttenuationModifier
 If non-zero, the name of ID of the category to be used for zone-based attenuation.

Detailed Description

The hardware component that can be attached to all comm systems.

Constructor & Destructor Documentation

◆ ComponentHW_JTIDS() [1/2]

◆ ~ComponentHW_JTIDS()

wsf::comm::ComponentHW_JTIDS::~ComponentHW_JTIDS ( )
overridedefault

◆ ComponentHW_JTIDS() [2/2]

wsf::comm::ComponentHW_JTIDS::ComponentHW_JTIDS ( const ComponentHW_JTIDS & aSrc)
protecteddefault

References ComponentHW_JTIDS().

Member Function Documentation

◆ CanReceiveFrom()

◆ CloneComponent()

WsfComponent * wsf::comm::ComponentHW_JTIDS::CloneComponent ( ) const
overridevirtual

Clones a component. May return null if component does not support clone.

Reimplemented from wsf::comm::ComponentHW.

References ComponentHW_JTIDS().

Referenced by ~ComponentHW_JTIDS().

◆ Find()

ComponentHW_JTIDS * wsf::comm::ComponentHW_JTIDS::Find ( const Comm & aParent)
static

Find the instance of this component attached to the specified processor.

References ComponentHW_JTIDS(), WsfComponentList::FindByRole(), and wsf::comm::Comm::GetComponents().

Referenced by FindOrCreate().

◆ FindOrCreate()

ComponentHW_JTIDS * wsf::comm::ComponentHW_JTIDS::FindOrCreate ( Comm & aParent)
static

Find the instance of this component attached to the specified processor, and create it if it doesn't exist.

References WsfComponentListT< COMPONENT_TYPE >::AddComponent(), ComponentHW_JTIDS(), Find(), and wsf::comm::Comm::GetComponents().

Referenced by WsfJTIDS_Terminal::WsfJTIDS_Terminal().

◆ GetComponentName()

WsfStringId wsf::comm::ComponentHW_JTIDS::GetComponentName ( ) const
overridevirtual

Returns the component's name. Each component in a component list has a unique name. Names are usually defined by the user, but they may also be generated by code and prefixed with a '#' to guarantee no collisions with user-defined names.

Reimplemented from wsf::comm::ComponentHW.

Referenced by ~ComponentHW_JTIDS().

◆ GetComponentRoles()

const int * wsf::comm::ComponentHW_JTIDS::GetComponentRoles ( ) const
overridevirtual

Returns a zero-terminated array of component roles. Note that the array should be in decreasing order of specificity and should generally the inheritance hierarchy. The first entry should be the components 'primary' role. For example a sensor would do the following:

return roles;
@ cWSF_COMPONENT_SENSOR
A 'sensor' component (WsfSensor).
Definition WsfComponentRoles.hpp:105
@ cWSF_COMPONENT_PLATFORM_PART
The component derives from WsfPlatformPart.
Definition WsfComponentRoles.hpp:98
@ cWSF_COMPONENT_ARTICULATED_PART
The component derives from WsfArticulatedPart.
Definition WsfComponentRoles.hpp:99

Reimplemented from wsf::comm::ComponentHW.

References cWSF_COMPONENT_COMM, cWSF_COMPONENT_COMM_HW, cWSF_COMPONENT_COMM_HW_JTIDS, and cWSF_COMPONENT_NULL.

Referenced by ~ComponentHW_JTIDS().

◆ Initialize()

bool wsf::comm::ComponentHW_JTIDS::Initialize ( double aSimTime)
overridevirtual

Perform phase 1 initialization. This is called by WsfPlatform::Initialize() during phase 1 initialization of the platform. The component should complete validation of input data that could not be done by ProcessInput, as well as any other functions to prepare for simulation use (subject to the next paragraph).

The order in which components are initialized is defined by GetComponentInitializationOrder. In general a component implementation of this method should not be dependent on the state of another component, i.e.: it should not assume that the other components Initialize() method has been called. If such a dependency exists one should use Initialize2() if possible, or specify a value GetComponentInitializationOrder to force things to initialize in a particular order.

Parameters
aSimTimeThe current simulation time.
Returns
true if successful or false if unsuccessful (bad input data, etc.)
Note
This method should NOT add any other components to the platform. This MUST be done in PreInitialize().

Reimplemented from wsf::comm::ComponentHW.

References wsf::comm::ComponentHW::Initialize(), wsf::comm::ComponentHW::mAntennaPtr, and ok.

Referenced by ~ComponentHW_JTIDS().

◆ operator=()

ComponentHW_JTIDS & wsf::comm::ComponentHW_JTIDS::operator= ( const ComponentHW_JTIDS & aRhs)
protecteddelete

References ComponentHW_JTIDS().

◆ ProcessInput()

bool wsf::comm::ComponentHW_JTIDS::ProcessInput ( UtInput & aInput)
overridevirtual

Evaluate the current input command and determine if it is one processed by the component. The component should get the current command from the input stream and determine if it is one that it recognizes. If it does not recognize the command then it should leave the command in the input stream and return false. If it does recognize the command then it should process the command and return true. If invalid arguments are encountered then it should throw an exception.

Parameters
aInputThe input stream.
Returns
true if the current command was recognized (and processed), or false if the command was not recognized.
Exceptions
UtInput::ExceptionBaseif an invalid input was encountered.

Reimplemented from wsf::comm::ComponentHW.

References wsf::comm::ComponentHW::ProcessInput().

Referenced by ~ComponentHW_JTIDS().

◆ QueryInterface()

void * wsf::comm::ComponentHW_JTIDS::QueryInterface ( int aRole)
overridevirtual

Requests a component's role interface. A component can support one or more roles.

Parameters
aRoleThe role whose interface is to be returned.
Returns
A pointer to the object if it supports the indicated role, or 'null' if it does not. Usage: WsfProcessor* procPtrOrNull = (WsfProcessor*)componentPtr->QueryComponentInterface(cWSF_COMPONENT_PROCESSOR);

Reimplemented from wsf::comm::ComponentHW.

References wsf::comm::ComponentHW::ComponentHW(), cWSF_COMPONENT_COMM, cWSF_COMPONENT_COMM_HW, and cWSF_COMPONENT_COMM_HW_JTIDS.

Referenced by ~ComponentHW_JTIDS().


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