WSF
WsfCommNetworkRing.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 WSFCOMMNETWORKRING_HPP
13#define WSFCOMMNETWORKRING_HPP
14
15#include "WsfCommNetwork.hpp"
16
17namespace wsf
18{
19namespace comm
20{
21
27{
28public:
29 NetworkRing() = default;
30 NetworkRing(const std::string& aNetworkName, const Address& aAddress);
31 ~NetworkRing() override = default;
32 NetworkRing& operator=(const NetworkRing& aRhs) = default;
33
34 bool ProcessInput(UtInput& aInput) override;
35 NetworkRing* Clone() const override;
36 const char* GetScriptClassName() const override { return "WsfNetworkRing"; }
37
38protected:
44 bool InitializeLinkageP(WsfSimulation& aSimulation) override;
45
46 bool AddMemberP(const Address& aAddress, WsfSimulation& aSimulation, const Address& aOptionalAddress = Address()) override;
47 bool RemoveMemberP(const Address& aAddress, WsfSimulation& aSimulation, const Address& aOptionalAddress = Address()) override;
48};
49
53{
54public:
56 NetworkDirectedRing(const std::string& aNetworkName, const Address& aAddress);
57 ~NetworkDirectedRing() override = default;
59
60 NetworkDirectedRing* Clone() const override;
61 const char* GetScriptClassName() const override { return "WsfNetworkDirectedRing"; }
62
63protected:
64 bool InitializeLinkageP(WsfSimulation& aSimulation) override;
65 bool AddMemberP(const Address& aAddress, WsfSimulation& aSimulation, const Address& aOptionalAddress = Address()) override;
66 bool RemoveMemberP(const Address& aAddress, WsfSimulation& aSimulation, const Address& aOptionalAddress = Address()) override;
67};
68
70{
71public:
74 ScriptNetworkRingClass(const std::string& aClassName, UtScriptTypes* aTypesPtr);
75
76 ~ScriptNetworkRingClass() override = default;
77
78 void* Create(const UtScriptContext& aInstance) override;
79 void Destroy(void* aNetworkPtr) override;
80};
81
83{
84public:
85 ScriptNetworkDirectedRingClass(const std::string& aClassName, UtScriptTypes* aTypesPtr);
86
87 void* Create(const UtScriptContext& aInstance) override;
88 void Destroy(void* aNetworkPtr) override;
89};
90
91} // namespace comm
92} // namespace wsf
93
94#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
~NetworkDirectedRing() override=default
const char * GetScriptClassName() const override
Definition WsfCommNetworkRing.hpp:61
NetworkDirectedRing * Clone() const override
Definition WsfCommNetworkRing.cpp:276
NetworkDirectedRing & operator=(const NetworkDirectedRing &aRhs)=default
~NetworkRing() override=default
NetworkRing * Clone() const override
Definition WsfCommNetworkRing.cpp:233
NetworkRing & operator=(const NetworkRing &aRhs)=default
bool ProcessInput(UtInput &aInput) override
Definition WsfCommNetworkRing.cpp:30
const char * GetScriptClassName() const override
Definition WsfCommNetworkRing.hpp:36
ScriptNetworkClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfCommNetwork.cpp:391
void * Create(const UtScriptContext &aInstance) override
Definition WsfCommNetworkRing.cpp:435
ScriptNetworkDirectedRingClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfCommNetworkRing.cpp:428
void Destroy(void *aNetworkPtr) override
Definition WsfCommNetworkRing.cpp:441
void * Create(const UtScriptContext &aInstance) override
Definition WsfCommNetworkRing.cpp:416
void Destroy(void *aNetworkPtr) override
Definition WsfCommNetworkRing.cpp:422
~ScriptNetworkRingClass() override=default
ScriptNetworkRingClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfCommNetworkRing.cpp:408
Definition WsfComm.cpp:34
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved