WSF
WsfUCI_Types.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
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 WSFUCI_TYPES_HPP
13#define WSFUCI_TYPES_HPP
14
15#include "wsf_oms_uci_export.h"
16
17#include "uci/base/accessorType.h"
18
19#include "WsfPlatform.hpp"
20#include "WsfSimulation.hpp"
21
23#include "WsfUCI_Interface.hpp"
24#include "WsfUCI_Utils.hpp"
25
26//types
27#include "ismownpro/type/CVEnumISMOwnerProducerValues.h"
28#include "uci/type/ActivityID_Type.h"
29#include "uci/type/AirTargetVolumeCommandType.h"
30#include "uci/type/AMTI_Activity.h"
31#include "uci/type/AMTI_ActivityCommandType.h"
32#include "uci/type/AMTI_ActivityType.h"
33#include "uci/type/AMTI_CapabilityCommandType.h"
34#include "uci/type/AMTI_CapabilityType.h"
35#include "uci/type/AMTI_CommandType.h"
36#include "uci/type/AMTI_SubCapabilityEnum.h"
37#include "uci/type/ApprovalEnum.h"
38#include "uci/type/CapabilityAvailabilityEnum.h"
39#include "uci/type/CapabilityCommandID_Type.h"
40#include "uci/type/CapabilityID_Type.h"
41#include "uci/type/CapabilityControlInterfacesEnum.h"
42#include "uci/type/CapabilityStatusType.h"
43#include "uci/type/CapabilityStateType.h"
44#include "uci/type/ControleeType.h"
45#include "uci/type/ControlRequestEnum.h"
46#include "uci/type/ControlStatusCapabilityControlType.h"
47#include "uci/type/ControlTypeEnum.h"
48#include "uci/type/DMPI_ID_Type.h"
49#include "uci/type/DMPI_StoreStatusType.h"
50#include "uci/type/ElevationScanStabilizationEnum.h"
51#include "uci/type/EntityID_Type.h"
52#include "uci/type/EntitySignalSummaryType.h"
53#include "uci/type/ESM_Activity.h"
54#include "uci/type/ESM_ActivityCommandType.h"
55#include "uci/type/ESM_ActivityType.h"
56#include "uci/type/ESM_CapabilityCommandType.h"
57#include "uci/type/ESM_CapabilityStatus.h"
58#include "uci/type/ESM_CommandType.h"
59#include "uci/type/ESM_SubCapabilityEnum.h"
60#include "uci/type/FrequencyRangeType.h"
61#include "uci/type/FixedPointingEnum.h"
62#include "uci/type/FrequencyRangeType.h"
63#include "uci/type/KinematicsType.h"
64#include "uci/type/LOS_VariableA_Type.h"
65#include "uci/type/LOS_VariableB_Type.h"
66#include "uci/type/LOS_ReferenceEnum.h"
67#include "uci/type/HeaderType.h"
68#include "uci/type/MessageType.h"
69#include "uci/type/PointingType.h"
70#include "uci/type/PointingTypeEnum.h"
71#include "uci/type/POST_ActivityCommandType.h"
72#include "uci/type/POST_AirVolumeSensorReferencedType.h"
73#include "uci/type/POST_AirTargetVolumeCommandType.h"
74#include "uci/type/POST_AirTargetVolumeType.h"
75#include "uci/type/POST_CapabilityCommandType.h"
76#include "uci/type/POST_CapabilityType.h"
77#include "uci/type/POST_CommandType.h"
78#include "uci/type/POST_SubCapabilityType.h"
79#include "uci/type/PrimaryControllerType.h"
80#include "uci/type/SAR_SubCapabilityType.h"
81#include "uci/type/SignalID_Type.h"
82#include "uci/type/SMTI_Activity.h"
83#include "uci/type/SMTI_ActivityCommandType.h"
84#include "uci/type/SMTI_ActivityType.h"
85#include "uci/type/SMTI_CapabilityCommandType.h"
86#include "uci/type/SMTI_CapabilityType.h"
87#include "uci/type/SMTI_CommandType.h"
88#include "uci/type/SMTI_SubCapabilityEnum.h"
89#include "uci/type/StandardIdentityConfidenceType.h"
90#include "uci/type/StoreCategoryEnum.h"
91#include "uci/type/StrikeActivityCommandType.h"
92#include "uci/type/StrikeActivityType.h"
93#include "uci/type/StrikeCapabilityCommandType.h"
94#include "uci/type/StrikeCapabilityType.h"
95#include "uci/type/StrikeCapabilityStatusType.h"
96#include "uci/type/StrikeCommandType.h"
97#include "uci/type/StrikeWeaponCommandType.h"
98#include "uci/type/SystemID_Type.h"
99#include "uci/type/SubsystemStatus.h"
100#include "uci/type/SubCapabilityDetailsType.h"
101#include "uci/type/SubCapabilitySelectionType.h"
102
103//factories
104#include "ismownpro/factory/CVEnumISMOwnerProducerValuesFactory.h"
105#include "uci/factory/ActivityID_TypeFactory.h"
106#include "uci/factory/AirTargetVolumeCommandTypeFactory.h"
107#include "uci/factory/AMTI_ActivityFactory.h"
108#include "uci/factory/AMTI_ActivityCommandTypeFactory.h"
109#include "uci/factory/AMTI_ActivityTypeFactory.h"
110#include "uci/factory/AMTI_CapabilityCommandTypeFactory.h"
111#include "uci/factory/AMTI_CapabilityTypeFactory.h"
112#include "uci/factory/AMTI_CommandTypeFactory.h"
113#include "uci/factory/AMTI_SubCapabilityEnumFactory.h"
114#include "uci/factory/ApprovalEnumFactory.h"
115#include "uci/factory/CapabilityAvailabilityEnumFactory.h"
116#include "uci/factory/CapabilityControlInterfacesEnumFactory.h"
117#include "uci/factory/CapabilityCommandID_TypeFactory.h"
118#include "uci/factory/CapabilityID_TypeFactory.h"
119#include "uci/factory/CapabilityManagerTypeFactory.h"
120#include "uci/factory/CapabilityStatusTypeFactory.h"
121#include "uci/factory/CapabilityStateTypeFactory.h"
122#include "uci/factory/ControleeTypeFactory.h"
123#include "uci/factory/ControlRequestEnumFactory.h"
124#include "uci/factory/ControlTypeEnumFactory.h"
125#include "uci/factory/ControlStatusCapabilityControlTypeFactory.h"
126#include "uci/factory/ControlStatusMissionControlTypeFactory.h"
127#include "uci/factory/DMPI_ID_TypeFactory.h"
128#include "uci/factory/DMPI_StoreStatusTypeFactory.h"
129#include "uci/factory/ElevationScanStabilizationEnumFactory.h"
130#include "uci/factory/EntityID_TypeFactory.h"
131#include "uci/factory/EntitySignalSummaryTypeFactory.h"
132#include "uci/factory/ESM_ActivityFactory.h"
133#include "uci/factory/ESM_ActivityCommandTypeFactory.h"
134#include "uci/factory/ESM_ActivityTypeFactory.h"
135#include "uci/factory/ESM_CapabilityCommandTypeFactory.h"
136#include "uci/factory/ESM_CapabilityTypeFactory.h"
137#include "uci/factory/ESM_CapabilityStatusFactory.h"
138#include "uci/factory/ESM_CommandTypeFactory.h"
139#include "uci/factory/ESM_SubCapabilityEnumFactory.h"
140#include "uci/factory/FrequencyRangeTypeFactory.h"
141#include "uci/factory/FixedPointingEnumFactory.h"
142#include "uci/factory/FrequencyRangeTypeFactory.h"
143#include "uci/factory/HeaderTypeFactory.h"
144#include "uci/factory/KinematicsTypeFactory.h"
145#include "uci/factory/LOS_VariableA_TypeFactory.h"
146#include "uci/factory/LOS_VariableB_TypeFactory.h"
147#include "uci/factory/LOS_ReferenceEnumFactory.h"
148#include "uci/factory/PointingTypeFactory.h"
149#include "uci/factory/PointingTypeEnumFactory.h"
150#include "uci/factory/POST_ActivityCommandTypeFactory.h"
151#include "uci/factory/POST_ActivityTypeFactory.h"
152#include "uci/factory/POST_AirVolumeSensorReferencedTypeFactory.h"
153#include "uci/factory/POST_AirTargetVolumeCommandTypeFactory.h"
154#include "uci/factory/POST_AirTargetVolumeTypeFactory.h"
155#include "uci/factory/POST_CapabilityCommandTypeFactory.h"
156#include "uci/factory/POST_CapabilityTypeFactory.h"
157#include "uci/factory/POST_CapabilityStatusTypeFactory.h"
158#include "uci/factory/POST_CapabilityTypeFactory.h"
159#include "uci/factory/POST_CommandTypeFactory.h"
160#include "uci/factory/POST_SubCapabilityTypeFactory.h"
161#include "uci/factory/PointingTypeEnumFactory.h"
162#include "uci/factory/PrimaryControllerTypeFactory.h"
163#include "uci/factory/SAR_SubCapabilityTypeFactory.h"
164#include "uci/factory/SignalID_TypeFactory.h"
165#include "uci/factory/ActivityID_TypeFactory.h"
166#include "uci/factory/SecondaryControllerTypeFactory.h"
167#include "uci/factory/SMTI_ActivityFactory.h"
168#include "uci/factory/SMTI_ActivityCommandTypeFactory.h"
169#include "uci/factory/SMTI_ActivityTypeFactory.h"
170#include "uci/factory/SMTI_CapabilityCommandTypeFactory.h"
171#include "uci/factory/SMTI_CapabilityTypeFactory.h"
172#include "uci/factory/SMTI_CommandTypeFactory.h"
173#include "uci/factory/SMTI_SubCapabilityEnumFactory.h"
174#include "uci/factory/StandardIdentityConfidenceTypeFactory.h"
175#include "uci/factory/SecondaryControllerTypeFactory.h"
176#include "uci/factory/StoreCategoryEnumFactory.h"
177#include "uci/factory/StrikeActivityCommandTypeFactory.h"
178#include "uci/factory/StrikeActivityTypeFactory.h"
179#include "uci/factory/StrikeCapabilityCommandTypeFactory.h"
180#include "uci/factory/StrikeCapabilityTypeFactory.h"
181#include "uci/factory/StrikeCapabilityStatusTypeFactory.h"
182#include "uci/factory/StrikeCommandTypeFactory.h"
183#include "uci/factory/StrikeWeaponCommandTypeFactory.h"
184#include "uci/factory/SystemID_TypeFactory.h"
185#include "uci/factory/SubCapabilityDetailsTypeFactory.h"
186#include "uci/factory/SubCapabilitySelectionTypeFactory.h"
187
188namespace wsf
189{
190
192template< typename Type,
193 typename Factory,
194 uci::base::accessorType::AccessorType TypeName >
195class WSF_OMS_UCI_EXPORT UCI_Type
196{
197 public:
198
199 explicit UCI_Type(WsfSimulation* aSimulationPtr);
200 explicit UCI_Type(WsfPlatform* aPlatformPtr);
201 explicit UCI_Type(UCI_Interface& aInterface);
202 UCI_Type(UCI_Interface& aInterface,
203 const Type& aType);
204 UCI_Type(const UCI_Type& aSrc);
205 ~UCI_Type();
206
207 static uci::base::accessorType::AccessorType GetUCI_TypeId() { return TypeName; }
208
210 Type& Get() const { return *mTypePtr; }
211
214
215 protected:
216
217 UCI_Type() = default;
218
220 Type* mTypePtr { nullptr };
221
222 private:
223
224 const UCI_FactoryService<Type, Factory>* mTypeFactoryPtr { nullptr };
225};
226
227template<typename Type, typename Factory, uci::base::accessorType::AccessorType TypeName>
229 : mInterfacePtr(UCI_Util::GetInterface(aSimulationPtr))
230{
231 // get factory from interface
232 // Construct uci message from factory
233 mInterfacePtr->GetTypeFactory(TypeName, mTypeFactoryPtr);
234 mTypePtr = &(mTypeFactoryPtr->GetFactory().create());
235}
236
237template<typename Type, typename Factory, uci::base::accessorType::AccessorType TypeName>
239 : mInterfacePtr(UCI_Util::GetInterface(aPlatformPtr))
240{
241 // get factory from interface
242 // Construct uci message from factory
243 mInterfacePtr->GetTypeFactory(TypeName, mTypeFactoryPtr);
244 mTypePtr = &(mTypeFactoryPtr->GetFactory().create());
245}
246
247template<typename Type, typename Factory, uci::base::accessorType::AccessorType TypeName>
249 : mInterfacePtr(&aInterface)
250{
251 // get factory from interface
252 // Construct uci message from factory
253 mInterfacePtr->GetTypeFactory(TypeName, mTypeFactoryPtr);
254 mTypePtr = &(mTypeFactoryPtr->GetFactory().create());
255}
256
257template<typename Type, typename Factory, uci::base::accessorType::AccessorType TypeName>
259 : mInterfacePtr(&aInterface)
260{
261 // get factory from interface
262 // Construct uci message from factory
263 mInterfacePtr->GetTypeFactory(TypeName, mTypeFactoryPtr);
264 mTypePtr = &(mTypeFactoryPtr->GetFactory().create(aType));
265}
266
267template<typename Type, typename Factory, uci::base::accessorType::AccessorType TypeName>
270 mTypeFactoryPtr(aSrc.mTypeFactoryPtr)
271{
272 mTypePtr = &(mTypeFactoryPtr->GetFactory().create(*aSrc.mTypePtr));
273}
274
275template<typename Type, typename Factory, uci::base::accessorType::AccessorType TypeName>
277{
278 mTypeFactoryPtr->GetFactory().destroy(*mTypePtr);
279}
280//=======================================================================================================
298#define DEFINE_UCI_TYPE(NAMESPACE, WSF_TYPE, UCI_TYPE, ACCESSOR_NAME) \
299using WSF_TYPE = UCI_Type<NAMESPACE::type::UCI_TYPE, \
300 NAMESPACE::factory::UCI_TYPE##Factory, \
301 NAMESPACE::type::accessorType::ACCESSOR_NAME>; \
302using WSF_TYPE##_StatusFactory = UCI_FactoryService<NAMESPACE::type::UCI_TYPE, \
303 NAMESPACE::factory::UCI_TYPE##Factory>; \
304
305//=======================================================================================================
306
307DEFINE_UCI_TYPE(ismownpro, ISM_OwnerProducerType, CVEnumISMOwnerProducerValues, cVEnumISMOwnerProducerValues)
308DEFINE_UCI_TYPE(uci, UCI_ActivityID_Type, ActivityID_Type, activityID_Type)
309DEFINE_UCI_TYPE(uci, UCI_AirTargetVolumeCommandType, AirTargetVolumeCommandType, airTargetVolumeCommandType)
310DEFINE_UCI_TYPE(uci, UCI_AMTI_ActivityCommandType, AMTI_ActivityCommandType, aMTI_ActivityCommandType)
311DEFINE_UCI_TYPE(uci, UCI_AMTI_ActivityType, AMTI_ActivityType, aMTI_ActivityType)
312DEFINE_UCI_TYPE(uci, UCI_AMTI_CapabilityCommandType, AMTI_CapabilityCommandType, aMTI_CapabilityCommandType)
313DEFINE_UCI_TYPE(uci, UCI_AMTI_CapabilityType, AMTI_CapabilityType, aMTI_CapabilityType)
314DEFINE_UCI_TYPE(uci, UCI_AMTI_CommandType, AMTI_CommandType, aMTI_CommandType)
315DEFINE_UCI_TYPE(uci, UCI_AMTI_SubCapabilityType, AMTI_SubCapabilityEnum, aMTI_SubCapabilityEnum)
316DEFINE_UCI_TYPE(uci, UCI_ApprovalType, ApprovalEnum, approvalEnum)
317DEFINE_UCI_TYPE(uci, UCI_AvailabilityType, CapabilityAvailabilityEnum, capabilityAvailabilityEnum)
318DEFINE_UCI_TYPE(uci, UCI_CapabilityCommandID_Type, CapabilityCommandID_Type, capabilityCommandID_Type)
319DEFINE_UCI_TYPE(uci, UCI_CapabilityID_Type, CapabilityID_Type, capabilityID_Type)
320DEFINE_UCI_TYPE(uci, UCI_CapabilityStateType, CapabilityStateType, capabilityStateType)
321DEFINE_UCI_TYPE(uci, UCI_CapabilityStatusType, CapabilityStatusType, capabilityStatusType)
322DEFINE_UCI_TYPE(uci, UCI_ControlRequestType, ControlRequestEnum, controlRequestEnum)
323DEFINE_UCI_TYPE(uci, UCI_ControlStatusMissionControlType, ControlStatusMissionControlType, controlStatusMissionControlType)
324DEFINE_UCI_TYPE(uci, UCI_CapabilityControlInterfaceEnumType, CapabilityControlInterfacesEnum, capabilityControlInterfacesEnum)
325DEFINE_UCI_TYPE(uci, UCI_CapabilityManagerType, CapabilityManagerType, capabilityManagerType)
326DEFINE_UCI_TYPE(uci, UCI_ControleeType, ControleeType, controleeType)
327DEFINE_UCI_TYPE(uci, UCI_ControlType, ControlTypeEnum, controlTypeEnum)
328DEFINE_UCI_TYPE(uci, UCI_ControlStatusCapabilityControlType, ControlStatusCapabilityControlType, controlStatusCapabilityControlType)
329DEFINE_UCI_TYPE(uci, UCI_DMPI_ID_Type, DMPI_ID_Type, dMPI_ID_Type)
330DEFINE_UCI_TYPE(uci, UCI_DMPI_StoreStatusType, DMPI_StoreStatusType, dMPI_StoreStatusType)
331DEFINE_UCI_TYPE(uci, UCI_ElevationScanStabilizationEnumType, ElevationScanStabilizationEnum, elevationScanStabilizationEnum)
332DEFINE_UCI_TYPE(uci, UCI_EntityID_Type, EntityID_Type, entityID_Type)
333DEFINE_UCI_TYPE(uci, UCI_EntitySignalSummaryType, EntitySignalSummaryType, entitySignalSummaryType)
334DEFINE_UCI_TYPE(uci, UCI_ESM_ActivityCommandType, ESM_ActivityCommandType, eSM_ActivityCommandType)
335DEFINE_UCI_TYPE(uci, UCI_ESM_ActivityType, ESM_ActivityType, eSM_ActivityType)
336DEFINE_UCI_TYPE(uci, UCI_ESM_CapabilityCommandType, ESM_CapabilityCommandType, eSM_CapabilityCommandType)
337DEFINE_UCI_TYPE(uci, UCI_ESM_CapabilityType, ESM_CapabilityType, eSM_CapabilityType)
338DEFINE_UCI_TYPE(uci, UCI_ESM_CommandType, ESM_CommandType, eSM_CommandType)
339DEFINE_UCI_TYPE(uci, UCI_FrequencyRangeType, FrequencyRangeType, frequencyRangeType)
340DEFINE_UCI_TYPE(uci, UCI_FixedPointingType, FixedPointingEnum, fixedPointingEnum)
341DEFINE_UCI_TYPE(uci, UCI_HeaderType, HeaderType, headerType)
342DEFINE_UCI_TYPE(uci, UCI_KinematicsType, KinematicsType, kinematicsType)
343DEFINE_UCI_TYPE(uci, UCI_LOS_Type, LOS_VariableB_Type, lOS_VariableB_Type)
344DEFINE_UCI_TYPE(uci, UCI_LOS_ReferenceEnumType, LOS_ReferenceEnum, lOS_ReferenceEnum)
345DEFINE_UCI_TYPE(uci, UCI_PointingCapabilityType, PointingTypeEnum, pointingTypeEnum)
346DEFINE_UCI_TYPE(uci, UCI_PointingType, PointingType, pointingType)
347DEFINE_UCI_TYPE(uci, UCI_POST_ActivityCommandType, POST_ActivityCommandType, pOST_ActivityCommandType)
348DEFINE_UCI_TYPE(uci, UCI_POST_ActivityType, POST_ActivityType, pOST_ActivityType)
349DEFINE_UCI_TYPE(uci, UCI_POST_AirTargetVolumeCommandType, POST_AirTargetVolumeCommandType, pOST_AirTargetVolumeCommandType)
350DEFINE_UCI_TYPE(uci, UCI_POST_AirTargetVolumeType, POST_AirTargetVolumeType, pOST_AirTargetVolumeType)
351DEFINE_UCI_TYPE(uci, UCI_POST_AirVolumeSensorReferencedType, POST_AirVolumeSensorReferencedType, pOST_AirVolumeSensorReferencedType)
352DEFINE_UCI_TYPE(uci, UCI_POST_CapabilityCommandType, POST_CapabilityCommandType, pOST_CapabilityCommandType)
353DEFINE_UCI_TYPE(uci, UCI_POST_CapabilityType, POST_CapabilityType, pOST_CapabilityType)
354DEFINE_UCI_TYPE(uci, UCI_POST_CapabilityStatusType, POST_CapabilityStatusType, pOST_CapabilityStatusType)
355DEFINE_UCI_TYPE(uci, UCI_POST_CommandType, POST_CommandType, pOST_CommandType)
356DEFINE_UCI_TYPE(uci, UCI_POST_SubCapabilityType, POST_SubCapabilityType, pOST_SubCapabilityType)
357DEFINE_UCI_TYPE(uci, UCI_PrimaryControllerType, PrimaryControllerType, primaryControllerType)
358DEFINE_UCI_TYPE(uci, UCI_SecondaryControllerType, SecondaryControllerType, secondaryControllerType)
359DEFINE_UCI_TYPE(uci, UCI_SMTI_ActivityCommandType, SMTI_ActivityCommandType, sMTI_ActivityCommandType)
360DEFINE_UCI_TYPE(uci, UCI_SMTI_ActivityType, SMTI_ActivityType, sMTI_ActivityType)
361DEFINE_UCI_TYPE(uci, UCI_SMTI_CapabilityCommandType, SMTI_CapabilityCommandType, sMTI_CapabilityCommandType)
362DEFINE_UCI_TYPE(uci, UCI_SMTI_CapabilityType, SMTI_CapabilityType, sMTI_CapabilityType)
363DEFINE_UCI_TYPE(uci, UCI_SMTI_CommandType, SMTI_CommandType, sMTI_CommandType)
364DEFINE_UCI_TYPE(uci, UCI_SignalID_Type, SignalID_Type, signalID_Type)
365DEFINE_UCI_TYPE(uci, UCI_StandardIdentityConfidenceType, StandardIdentityConfidenceType, standardIdentityConfidenceType)
366DEFINE_UCI_TYPE(uci, UCI_StoreCategoryEnumType, StoreCategoryEnum, storeCategoryEnum)
367DEFINE_UCI_TYPE(uci, UCI_StrikeActivityType, StrikeActivityType, strikeActivityType)
368DEFINE_UCI_TYPE(uci, UCI_StrikeActivityCommandType, StrikeActivityCommandType, strikeActivityCommandType)
369DEFINE_UCI_TYPE(uci, UCI_StrikeCapabilityCommandType, StrikeCapabilityCommandType, strikeCapabilityCommandType)
370DEFINE_UCI_TYPE(uci, UCI_StrikeCapabilityType, StrikeCapabilityType, strikeCapabilityType)
371DEFINE_UCI_TYPE(uci, UCI_StrikeCapabilityStatusType, StrikeCapabilityStatusType, strikeCapabilityStatusType)
372DEFINE_UCI_TYPE(uci, UCI_StrikeCommandType, StrikeCommandType, strikeCommandType)
373DEFINE_UCI_TYPE(uci, UCI_StrikeWeaponCommandType, StrikeWeaponCommandType, strikeWeaponCommandType)
374DEFINE_UCI_TYPE(uci, UCI_SubCapabilityDetailsType, SubCapabilityDetailsType, subCapabilityDetailsType)
375DEFINE_UCI_TYPE(uci, UCI_SubCapabilityEnumType, ESM_SubCapabilityEnum, eSM_SubCapabilityEnum)
376DEFINE_UCI_TYPE(uci, UCI_SubCapabilitySelectionType, SubCapabilitySelectionType, subCapabilitySelectionType)
377DEFINE_UCI_TYPE(uci, UCI_SystemID_Type, SystemID_Type, systemID_Type)
378
379} // namespace wsf
380#endif
#define DEFINE_UCI_TYPE(NAMESPACE, WSF_TYPE, UCI_TYPE, ACCESSOR_NAME)
Definition WsfUCI_Types.hpp:298
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Define a generic factory service that can be parameterized with any factory-enabled UCI type.
Definition WsfUCI_FactoryService.hpp:25
The OMS / UCI Interface Object to the UCI middleware.
Definition WsfUCI_Interface.hpp:118
static uci::base::accessorType::AccessorType GetUCI_TypeId()
Definition WsfUCI_Types.hpp:207
Type * mTypePtr
Definition WsfUCI_Types.hpp:220
UCI_Interface & GetInterface() const
Get the associated UCI interface.
Definition WsfUCI_Types.hpp:213
Type & Get() const
Get the underlying UCI type.
Definition WsfUCI_Types.hpp:210
UCI_Interface * mInterfacePtr
Definition WsfUCI_Types.hpp:219
UCI_Type(WsfSimulation *aSimulationPtr)
Definition WsfUCI_Types.hpp:228
~UCI_Type()
Definition WsfUCI_Types.hpp:276
UCI_Type()=default
Type
Definition P6DofVehicleData.hpp:182
Definition WsfUCI_Utils.cpp:29
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved