WSF
WsfXIO_AuxData.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 2021 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 WSFXIO_AUXDATA_HPP
13#define WSFXIO_AUXDATA_HPP
14
15#include "wsf_export.h"
16
17#include <mutex>
18#include <set>
19
20#include "UtCallbackHolder.hpp"
21
23class WsfPlatform;
27
28namespace wsf
29{
30namespace xio
31{
33{
34public:
35 explicit AuxData(WsfXIO_Simulation& aSimulation);
36
37private:
39 void HandleIncomingAuxData(WsfXIO_AuxDataPkt& aPkt);
40
42 void SendAllPlatformAuxData(double aSimTime);
43
45 void SendPlatformAuxData(double aSimTime, const WsfPlatform* aPlatform);
46
51 void AuxDataAccessed(const WsfAuxDataEnabled* aSource);
52
58 void AuxDataDestroyed(const WsfAuxDataEnabled* aDestroyed);
59
60 using AuxDataAccessedItems = std::set<const WsfAuxDataEnabled*>;
61
62 WsfXIO_Simulation& mSimulation;
63 WsfXIO_Interface* mInterface;
64 UtCallbackHolder mCallbacks;
65
66 std::mutex mAuxDataAccessedMutex;
67 AuxDataAccessedItems mAuxDataAccessed;
68};
69} // namespace xio
70} // namespace wsf
71
72#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfAuxDataEnabled.hpp:29
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Definition WsfXIO_SimPacketRegistry.hpp:118
Definition WsfXIO_Interface.hpp:54
Definition WsfXIO_Simulation.hpp:49
AuxData(WsfXIO_Simulation &aSimulation)
Definition WsfXIO_AuxData.cpp:24
Definition WsfXIO.hpp:22
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved