WSF
WsfEM_Manager Class Reference

#include <WsfEM_Manager.hpp>

Public Member Functions

void ActivateRcvr (WsfEM_Rcvr *aRcvrPtr)
void ActivateXmtr (WsfEM_Xmtr *aXmtrPtr)
void DeactivateRcvr (WsfEM_Rcvr *aRcvrPtr)
void DeactivateXmtr (WsfEM_Xmtr *aXmtrPtr)
void UpdateRcvr (WsfEM_Rcvr *aRcvrPtr)
void UpdateXmtr (WsfEM_Xmtr *aXmtrPtr)
unsigned int GetRcvrCount ()
unsigned int GetXmtrCount ()
WsfEM_RcvrGetRcvrEntry (unsigned int aEntry)
WsfEM_XmtrGetXmtrEntry (unsigned int aEntry)

Detailed Description

A manager for interactions between electromagnetic devices.

This class is responsible for maintaining the data structures necessary to support the efficient handling of interactions between receivers and transmitters. In particular, it does two things:

  • Within each active receiver, it maintains a list of transmitters with which the receiver could potential interact (has a compatible frequency).
  • Maintains a list of all active transmitters and receivers.

The methods within this class are called from within the WsfEM_Rcvr and WsfEM_Xmtr classes to maintain the interaction structures. Sensor and communications systems that use the WsfEM_Rcvr and WsfEM_Xmtr classes must follow the proper protocol to ensure that interactions between systems can occur:

  • When a system is turned on, the system must invoke the 'Activate()' method for each transmitter and receiver associated with the system.
  • When a system is turned off, the system must invoke the 'Deactivate()' method for each transmitter and receiver associated with the system.

Member Function Documentation

◆ ActivateRcvr()

void WsfEM_Manager::ActivateRcvr ( WsfEM_Rcvr * aRcvrPtr)

Activate a receiver.

Parameters
aRcvrPtrThe receiver being activated.
Note
This method does nothing if the receiver is already listed as active.

References WsfEM_XmtrRcvr::GetAntenna(), WsfEM_Antenna::GetArticulatedPart(), WsfPlatformPart::GetPlatform(), and UpdateRcvr().

◆ ActivateXmtr()

void WsfEM_Manager::ActivateXmtr ( WsfEM_Xmtr * aXmtrPtr)

Activate a transmitter.

Parameters
aXmtrPtrThe transmitter being activated.
Note
This method does nothing if the transmitter is already listed as active.

References WsfEM_XmtrRcvr::GetAntenna(), WsfEM_Antenna::GetArticulatedPart(), WsfPlatformPart::GetPlatform(), and UpdateXmtr().

◆ DeactivateRcvr()

void WsfEM_Manager::DeactivateRcvr ( WsfEM_Rcvr * aRcvrPtr)

Indicate a receiver is no longer active.

Parameters
aRcvrPtrThe receiver being deactivated.
Note
This does not delete the receiver. It only marks it as inactive.
This method does nothing if the receiver is not listed as active.

◆ DeactivateXmtr()

void WsfEM_Manager::DeactivateXmtr ( WsfEM_Xmtr * aXmtrPtr)

Indicate a transmitter is no longer active.

Parameters
aXmtrPtrThe transmitter being deactivated.
Note
This does not delete the transmitter. It only marks it as inactive.
This method does nothing if the transmitter is not listed as active.

◆ GetRcvrCount()

unsigned int WsfEM_Manager::GetRcvrCount ( )
inline

Return the number of active receivers

Returns
The number of active receivers.

◆ GetRcvrEntry()

WsfEM_Rcvr * WsfEM_Manager::GetRcvrEntry ( unsigned int aEntry)
inline

Get an entry from the list of active receivers.

Parameters
aEntryThe index of the entry desired.
Returns
The pointer to requested entry.
Note
aEntry must be within range: 0 <= aEntry < GetRcvrCount().

◆ GetXmtrCount()

unsigned int WsfEM_Manager::GetXmtrCount ( )
inline

Return the number of active transmitters

Returns
The number of active transmitters.

◆ GetXmtrEntry()

WsfEM_Xmtr * WsfEM_Manager::GetXmtrEntry ( unsigned int aEntry)
inline

Get an entry from the list of active transmitters.

Parameters
aEntryThe index of the entry desired.
Returns
The pointer to requested entry.
Note
aEntry must be within range: 0 <= aEntry < GetXmtrCount().

◆ UpdateRcvr()

void WsfEM_Manager::UpdateRcvr ( WsfEM_Rcvr * aRcvrPtr)

Notify the manager that the indicated receiver has been updated.

Parameters
aRcvrPtrThe receiver that was updated.

References WsfEM_Rcvr::UpdateInteractions().

Referenced by ActivateRcvr().

◆ UpdateXmtr()

void WsfEM_Manager::UpdateXmtr ( WsfEM_Xmtr * aXmtrPtr)

Notify the manager that the indicated transmitter has been updated.

Parameters
aXmtrPtrThe transmitter that was updated.

Referenced by ActivateXmtr().


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