VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
federateDecoder.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #ifndef federateDecoder_H_
7 #define federateDecoder_H_
8 
9 #if DtHLA
10 
14 
15 #include <vlutil/vlString.h>
16 #include <vlutil/vlTime.h>
17 #include "hlaStateDecoder.h"
18 
20 
23 #define DtDECLARE_FEDERATE_ATTR_DECODER(attrName) \
24  DtDECLARE_ATTR_DECODER(DtFederateStateRepository, attrName)
25 
32 {
33 public:
36  DtExerciseConn* exConn,
37  DtObjClassDesc* classDesc);
38 
40  virtual ~DtFederateDecoder();
41 
44 
47 
48 public:
50  static DtHlaStateDecoder* create(
51  DtExerciseConn* exConn,
52  DtObjClassDesc* classDesc);
53 
54 
55 protected:
56  DtDECLARE_FEDERATE_ATTR_DECODER(FederateHandle);
57  DtDECLARE_FEDERATE_ATTR_DECODER(FederateType);
58 #if DtHLA_1516
59  DtDECLARE_FEDERATE_ATTR_DECODER(ConveyRegionDesignatorSets);
60 #endif
61 #if DtHLA_1516_EVOLVED
62  DtDECLARE_FEDERATE_ATTR_DECODER(FederateName);
63  DtDECLARE_FEDERATE_ATTR_DECODER(FomModuleDesignatorList);
64  DtDECLARE_FEDERATE_ATTR_DECODER(ConveyProducingFederate);
65 #else
67 #endif
68  DtDECLARE_FEDERATE_ATTR_DECODER(FederateHost);
70  DtDECLARE_FEDERATE_ATTR_DECODER(TimeConstrained);
71  DtDECLARE_FEDERATE_ATTR_DECODER(TimeRegulating);
72  DtDECLARE_FEDERATE_ATTR_DECODER(AsynchronousDelivery);
73  DtDECLARE_FEDERATE_ATTR_DECODER(FederateState);
74  DtDECLARE_FEDERATE_ATTR_DECODER(TimeManagerState);
75  DtDECLARE_FEDERATE_ATTR_DECODER(FederateTime);
78  DtDECLARE_FEDERATE_ATTR_DECODER(MinNextEventTime);
81  DtDECLARE_FEDERATE_ATTR_DECODER(ReflectionsReceived);
83  DtDECLARE_FEDERATE_ATTR_DECODER(InteractionsReceived);
84  DtDECLARE_FEDERATE_ATTR_DECODER(InteractionsSent);
85  DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsOwned);
86  DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsUpdated);
87  DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsReflected);
88 #if DtHLA_1516
89  DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsDeleted);
90  DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsRemoved);
91  DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsRegistered);
92  DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsDiscovered);
93  DtDECLARE_FEDERATE_ATTR_DECODER(TimeGrantedTime);
94  DtDECLARE_FEDERATE_ATTR_DECODER(TimeAdvancingTime);
95 #endif
96 
97  static DtString stringFromBuffer(char* buffer);
98  static std::vector<DtString> momStringListFromBuffer(char* buffer, int len);
99 
100  static bool boolFromBuffer(char* buffer);
101  static int intFromBuffer(char* buffer);
102  static DtString stringFromTime(char* buffer);
103  static DtString stringFromTimeInterval(char* buffer);
104 };
105 
106 
107 #endif
108 #endif
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Contains the DtString class declaration.
class DtFederateDecoder
Definition: federateDecoder.h:31
This file contains the declaration of DtClock and DtTime.
Instances of DtFederateStateRepsository are used to hold data from the RTI&#39;s Management Object Model ...
Definition: federateStateRepository.h:30
An instance of DtObjClassDesc is a &quot;class descriptor&quot; for an HLA Object class.
Definition: objClassDesc1516.h:41
#define DtDECLARE_FEDERATE_ATTR_DECODER(attrName)
This is used to declare attribute decoding functions which are members of the class.
Definition: federateDecoder.h:23
DtHlaStateDecoder is used to provide decoding of a state message into a state repository in an HLA (a...
Definition: hlaStateDecoder.h:34
DtHlaStateDecoder & operator=(const DtHlaStateDecoder &orig)
assignment operator
Instances of DtString are used to represent strings.
Definition: vlString.h:36
This file contains the declaration of DtHlaStateDecoder.

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)