VR-Link API Documentation for DIS
federateDecoder.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
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 
19 class DtFederateStateRepository;
20 
23 #define DtDECLARE_FEDERATE_ATTR_DECODER(attrName) \
24  DtDECLARE_ATTR_DECODER(DtFederateStateRepository, attrName)
25 
31 class DT_DLL_VL DtFederateDecoder : public DtHlaStateDecoder
32 {
33 public:
35  DtFederateDecoder(
36  DtExerciseConn* exConn,
37  DtObjClassDesc* classDesc);
38 
40  virtual ~DtFederateDecoder();
41 
43  DtFederateDecoder(const DtFederateDecoder& orig);
44 
46  DtFederateDecoder& operator=(const DtFederateDecoder& orig);
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
66  DtDECLARE_FEDERATE_ATTR_DECODER(FedId);
67 #endif
68  DtDECLARE_FEDERATE_ATTR_DECODER(FederateHost);
69  DtDECLARE_FEDERATE_ATTR_DECODER(RtiVersion);
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);
76  DtDECLARE_FEDERATE_ATTR_DECODER(Lookahead);
77  DtDECLARE_FEDERATE_ATTR_DECODER(Lbts);
78  DtDECLARE_FEDERATE_ATTR_DECODER(MinNextEventTime);
79  DtDECLARE_FEDERATE_ATTR_DECODER(RoLength);
80  DtDECLARE_FEDERATE_ATTR_DECODER(TsoLength);
81  DtDECLARE_FEDERATE_ATTR_DECODER(ReflectionsReceived);
82  DtDECLARE_FEDERATE_ATTR_DECODER(UpdatesSent);
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

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)