WSF
WsfAuxDataEnabled.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 2019 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 WSFAUXDATAENABLED_HPP
13#define WSFAUXDATAENABLED_HPP
14
15#include "wsf_export.h"
16
17#include <memory>
18
19#include "UtCallbackN.hpp"
21
29{
30public:
31 WsfAuxDataEnabled() = default;
32 WsfAuxDataEnabled(const WsfAuxDataEnabled& aSrc) = default;
33 WsfAuxDataEnabled& operator =(const WsfAuxDataEnabled& aRhs);
36 virtual ~WsfAuxDataEnabled() noexcept;
37
39
40
46 const WsfAttributeContainer& GetAuxData() const noexcept;
47
48 const WsfAttributeContainer& GetAuxDataConst() const noexcept;
50
51 void SetAuxData(const WsfAttributeContainer& aAuxData);
52
54 void DeleteAuxData();
56 void MergeAuxData(const WsfAuxDataEnabled& aSrc);
58 void UpdateAuxData(const WsfAuxDataEnabled& aSrc);
59
61 bool HasAuxData() const;
63
64 bool ProcessInput(UtInput& aInput);
65
67 template<typename T>
68 void Serialize(T& aBuff)
69 {
70 aBuff& mAuxData;
71 AuxDataAccessed(this); // this line should be changed to only trigger when aux data is written to
72 }
73
80 static UtCallbackListN<void(const WsfAuxDataEnabled*)> AuxDataAccessed;
81
85 static UtCallbackListN<void(const WsfAuxDataEnabled*)> AuxDataDestroyed;
86
87private:
89 WsfAttributeContainer mAuxData;
90};
91
92#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfAttributeContainer.hpp:24
void UpdateAuxData(const WsfAuxDataEnabled &aSrc)
Update the object's aux data with aux data from an existing object.
Definition WsfAuxDataEnabled.cpp:81
bool ProcessInput(UtInput &aInput)
Definition WsfAuxDataEnabled.cpp:95
void MergeAuxData(const WsfAuxDataEnabled &aSrc)
Merge the object's aux data with aux data from an existing object.
Definition WsfAuxDataEnabled.cpp:64
bool HasAuxData() const
Returns true if this object has aux data.
Definition WsfAuxDataEnabled.cpp:90
WsfAttributeContainer & GetAuxData()
Definition WsfAuxDataEnabled.cpp:36
void SetAuxData(const WsfAttributeContainer &aAuxData)
Definition WsfAuxDataEnabled.cpp:52
void DeleteAuxData()
Delete the aux data container from the object.
Definition WsfAuxDataEnabled.cpp:58
static UtCallbackListN< void(const WsfAuxDataEnabled *)> AuxDataAccessed
Definition WsfAuxDataEnabled.hpp:80
const WsfAttributeContainer & GetAuxDataConst() const noexcept
Definition WsfAuxDataEnabled.cpp:47
WsfAuxDataEnabled(WsfAuxDataEnabled &&)=default
void Serialize(T &aBuff)
(De)serialization for XIO
Definition WsfAuxDataEnabled.hpp:68
WsfAuxDataEnabled(const WsfAuxDataEnabled &aSrc)=default
WsfAuxDataEnabled & operator=(WsfAuxDataEnabled &&)=default
static UtCallbackListN< void(const WsfAuxDataEnabled *)> AuxDataDestroyed
Definition WsfAuxDataEnabled.hpp:85
WsfAuxDataEnabled()=default
Copyrights Multiple, All Rights Reserved