WSF
wsf::ExternalLinks::ExternalLink Class Reference

#include <WsfExternalLinks.hpp>

Collaboration diagram for wsf::ExternalLinks::ExternalLink:

Classes

struct  CommPairHash
struct  CommandHash

Public Types

using AddressSet = std::unordered_set<Address>
using WsfStringSet = std::unordered_set<WsfStringId>
using CommandSet = std::unordered_set<CommandChainTarget, CommandHash>
using CommSet = std::unordered_set<CommPair, CommPairHash>

Public Member Functions

 ExternalLink ()=default
virtual ~ExternalLink ()=default

Add/Remove methods

WsfStringId mXmtrName {}
AddressSet mAddressRecipients {}
WsfStringSet mGroups {}
CommandSet mCommandRecipients {}
CommSet mCommRecipients {}
ExternalLinksmParentPtr {nullptr}
bool AddAddressRecipient (const Address &aAddress)
bool AddGroupRecipient (WsfStringId aGroupName)
bool AddCommandRecipient (const CommandChainTarget &aCommandChainTarget)
bool AddCommRecipient (const CommPair &aCommPair)
bool RemoveAddressRecipient (const Address &aAddress)
bool RemoveGroupRecipient (WsfStringId aGroupName)
bool RemoveCommandRecipient (const CommandChainTarget &aCommandChainTarget)
bool RemoveCommRecipient (const CommPair &aCommPair)
void DeleteAllRecipients ()
AddressVec GetRecipients (bool aNotify=false) const
comm::CommGetXmtr () const
size_t GetRecipientCount () const
WsfStringId GetXmtrName () const
void SetXmtrName (WsfStringId aXmtrName)
void SetParent (ExternalLinks *aParentPtr)

Member Typedef Documentation

◆ AddressSet

◆ CommandSet

◆ CommSet

◆ WsfStringSet

Constructor & Destructor Documentation

◆ ExternalLink()

wsf::ExternalLinks::ExternalLink::ExternalLink ( )
default

◆ ~ExternalLink()

Member Function Documentation

◆ AddAddressRecipient()

bool wsf::ExternalLinks::ExternalLink::AddAddressRecipient ( const Address & aAddress)

◆ AddCommandRecipient()

bool wsf::ExternalLinks::ExternalLink::AddCommandRecipient ( const CommandChainTarget & aCommandChainTarget)

◆ AddCommRecipient()

bool wsf::ExternalLinks::ExternalLink::AddCommRecipient ( const CommPair & aCommPair)

◆ AddGroupRecipient()

bool wsf::ExternalLinks::ExternalLink::AddGroupRecipient ( WsfStringId aGroupName)

◆ DeleteAllRecipients()

void wsf::ExternalLinks::ExternalLink::DeleteAllRecipients ( )

◆ GetRecipientCount()

◆ GetRecipients()

ExternalLinks::AddressVec wsf::ExternalLinks::ExternalLink::GetRecipients ( bool aNotify = false) const
Note
Do not use these calls prior to simulation pending start. They require full initialization of the comm framework to resolve addressing.

Add recipients identified by an address.

Validate addresses with network manager. Exclude any addresses that are not resolved. Allow any address that is an interface, broadcast, or multicast.

Add recipients identified by a group.

We only allow platform parts, specifically comms.

Add recipients identified by command chains

Add recipients identified by platform-name comm-name pair

References wsf::ExternalLinks::cCOMMANDER, wsf::ExternalLinks::cPEERS, wsf::ExternalLinks::cSUBORDINATES, groupPtr, mAddressRecipients, mCommandRecipients, mCommRecipients, mGroups, mParentPtr, and platformPtr.

Referenced by getLinkedAndReachablePlatformParts(), and ~ExternalLink().

◆ GetXmtr()

comm::Comm * wsf::ExternalLinks::ExternalLink::GetXmtr ( ) const

◆ GetXmtrName()

WsfStringId wsf::ExternalLinks::ExternalLink::GetXmtrName ( ) const
inline

References mXmtrName.

Referenced by wsf::ExternalLinks::FindLink(), and GetXmtr().

◆ RemoveAddressRecipient()

bool wsf::ExternalLinks::ExternalLink::RemoveAddressRecipient ( const Address & aAddress)

References mAddressRecipients.

Referenced by ~ExternalLink().

◆ RemoveCommandRecipient()

bool wsf::ExternalLinks::ExternalLink::RemoveCommandRecipient ( const CommandChainTarget & aCommandChainTarget)

References mCommandRecipients.

Referenced by ~ExternalLink().

◆ RemoveCommRecipient()

bool wsf::ExternalLinks::ExternalLink::RemoveCommRecipient ( const CommPair & aCommPair)

References mCommRecipients.

Referenced by ~ExternalLink().

◆ RemoveGroupRecipient()

bool wsf::ExternalLinks::ExternalLink::RemoveGroupRecipient ( WsfStringId aGroupName)

References mGroups.

Referenced by ~ExternalLink().

◆ SetParent()

void wsf::ExternalLinks::ExternalLink::SetParent ( ExternalLinks * aParentPtr)
inline

◆ SetXmtrName()

void wsf::ExternalLinks::ExternalLink::SetXmtrName ( WsfStringId aXmtrName)
inline

Member Data Documentation

◆ mAddressRecipients

AddressSet wsf::ExternalLinks::ExternalLink::mAddressRecipients {}
protected

◆ mCommandRecipients

CommandSet wsf::ExternalLinks::ExternalLink::mCommandRecipients {}
protected

◆ mCommRecipients

CommSet wsf::ExternalLinks::ExternalLink::mCommRecipients {}
protected

◆ mGroups

WsfStringSet wsf::ExternalLinks::ExternalLink::mGroups {}
protected

◆ mParentPtr

ExternalLinks* wsf::ExternalLinks::ExternalLink::mParentPtr {nullptr}
protected

◆ mXmtrName

WsfStringId wsf::ExternalLinks::ExternalLink::mXmtrName {}
protected

Referenced by GetXmtrName(), and SetXmtrName().


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