WSF
WsfCommNetworkStar.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2018 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFCOMMNETWORKSTAR_HPP
13#define WSFCOMMNETWORKSTAR_HPP
14
15#include "WsfCommNetwork.hpp"
16
17namespace wsf
18{
19namespace comm
20{
21
25{
26public:
27 NetworkStar() = default;
28 NetworkStar(const std::string& aNetworkName, const Address& aAddress);
29 ~NetworkStar() override = default;
30 NetworkStar& operator=(const NetworkStar& aRhs) = default;
31
32 bool ProcessInput(UtInput& aInput) override;
33 NetworkStar* Clone() const override;
34 const char* GetScriptClassName() const override { return "WsfNetworkStar"; }
35
45
46 virtual bool AddHub(const Address& aAddress, WsfSimulation& aSimulation);
47 virtual bool RemoveHub(const Address& aAddress, WsfSimulation& aSimulation);
49
50protected:
51 bool InitializeLinkageP(WsfSimulation& aSimulation) override;
52 bool AddMemberP(const Address& aAddress, WsfSimulation& aSimulation, const Address& aOptionalAddress = Address()) override;
53 bool RemoveMemberP(const Address& aAddress, WsfSimulation& aSimulation, const Address& aOptionalAddress = Address()) override;
54
57};
58
60{
61public:
64 ScriptNetworkStarClass(const std::string& aClassName, UtScriptTypes* aTypesPtr);
65
66 ~ScriptNetworkStarClass() override = default;
67
68 void* Create(const UtScriptContext& aInstance) override;
69 void Destroy(void* aNetworkPtr) override;
70
75};
76
77} // namespace comm
78} // namespace wsf
79
80#endif
wsf::comm::Address Address
Definition WsfScriptCommRouterClass.cpp:29
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfCommAddress.hpp:57
bool ProcessInput(UtInput &aInput) override
Definition WsfCommNetworkStar.cpp:35
NetworkStar * Clone() const override
Definition WsfCommNetworkStar.cpp:175
~NetworkStar() override=default
const char * GetScriptClassName() const override
Definition WsfCommNetworkStar.hpp:34
NetworkStar & operator=(const NetworkStar &aRhs)=default
Address mHubAddress
Definition WsfCommNetworkStar.hpp:56
NamedComm mHubNamed
Definition WsfCommNetworkStar.hpp:55
ScriptNetworkClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfCommNetwork.cpp:391
void Destroy(void *aNetworkPtr) override
Definition WsfCommNetworkStar.cpp:201
void * Create(const UtScriptContext &aInstance) override
Definition WsfCommNetworkStar.cpp:195
~ScriptNetworkStarClass() override=default
ScriptNetworkStarClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfCommNetworkStar.cpp:181
Definition WsfComm.cpp:34
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Definition WsfCommNetwork.hpp:54
Copyrights Multiple, All Rights Reserved