WSF
WsfCommNetworkMesh.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 WSFCOMMNETWORKMESH_HPP
13#define WSFCOMMNETWORKMESH_HPP
14
15#include "UtScriptBasicTypes.hpp"
16#include "WsfCommNetwork.hpp"
17
18namespace wsf
19{
20namespace comm
21{
22
26{
27public:
28 NetworkMesh() = default;
29 NetworkMesh(const std::string& aNetworkName, const Address& aAddress);
30 ~NetworkMesh() override = default;
31 NetworkMesh& operator=(const NetworkMesh& aRhs) = default;
32
33 bool ProcessInput(UtInput& aInput) override;
34 NetworkMesh* Clone() const override;
35 const char* GetScriptClassName() const override { return "WsfNetworkMesh"; }
36
37protected:
38 bool InitializeLinkageP(WsfSimulation& aSimulation) override;
39 bool AddMemberP(const Address& aAddress, WsfSimulation& aSimulation, const Address& aOptionalAddress = Address()) override;
40 bool RemoveMemberP(const Address& aAddress, WsfSimulation& aSimulation, const Address& aOptionalAddress = Address()) override;
41};
42
48{
49public:
50 NetworkMeshLegacy() = default;
51 NetworkMeshLegacy(const std::string& aNetworkName, const Address& aAddress);
52 ~NetworkMeshLegacy() override = default;
54
55 NetworkMeshLegacy* Clone() const override;
56 const char* GetScriptClassName() const override { return "WsfNetworkMeshLegacy"; }
57
58protected:
59 bool AddMemberP(const Address& aAddress, WsfSimulation& aSimulation, const Address& aOptionalAddress = Address()) override;
60};
61
63{
64public:
67 ScriptNetworkMeshClass(const std::string& aClassName, UtScriptTypes* aTypesPtr);
68
69 ~ScriptNetworkMeshClass() override = default;
70
71 void* Create(const UtScriptContext& aInstance) override;
72 void Destroy(void* aNetworkPtr) override;
73};
74
76{
77public:
78 ScriptNetworkMeshLegacyClass(const std::string& aClassName, UtScriptTypes* aTypesPtr);
79
80 void* Create(const UtScriptContext& aInstance) override;
81 void Destroy(void* aNetworkPtr) override;
82};
83
84} // namespace comm
85} // namespace wsf
86
87#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
NetworkMeshLegacy & operator=(const NetworkMeshLegacy &aRhs)=default
NetworkMeshLegacy * Clone() const override
Definition WsfCommNetworkMesh.cpp:129
~NetworkMeshLegacy() override=default
const char * GetScriptClassName() const override
Definition WsfCommNetworkMesh.hpp:56
NetworkMesh * Clone() const override
Definition WsfCommNetworkMesh.cpp:30
~NetworkMesh() override=default
NetworkMesh & operator=(const NetworkMesh &aRhs)=default
const char * GetScriptClassName() const override
Definition WsfCommNetworkMesh.hpp:35
bool ProcessInput(UtInput &aInput) override
Definition WsfCommNetworkMesh.cpp:36
ScriptNetworkClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfCommNetwork.cpp:391
void * Create(const UtScriptContext &aInstance) override
Definition WsfCommNetworkMesh.cpp:180
ScriptNetworkMeshClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfCommNetworkMesh.cpp:171
void Destroy(void *aNetworkPtr) override
Definition WsfCommNetworkMesh.cpp:186
~ScriptNetworkMeshClass() override=default
void * Create(const UtScriptContext &aInstance) override
Definition WsfCommNetworkMesh.cpp:199
void Destroy(void *aNetworkPtr) override
Definition WsfCommNetworkMesh.cpp:205
ScriptNetworkMeshLegacyClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfCommNetworkMesh.cpp:192
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