![]() |
VR-Link API Documentation for DIS
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 #ifndef link16Signal_H_ 00007 #define link16Signal_H_ 00008 00009 00010 #include "signalInter.h" 00011 00012 #include <vlutil/vlNetTypes.h> 00013 #include <vlpi/disEnums.h> 00014 00020 class DT_DLL_VL DtLink16Signal 00021 { 00022 public: 00025 struct DtNetLink16SignalFields 00026 { 00027 DtNetU16 DtNpgNumber; 00028 DtNetU8 DtNetworkNumber; 00029 DtNetU8 DtTsecCvll; 00030 DtNetU8 DtMsecCvll; 00031 DtNetU8 DtMessageTypeIdentifier; 00032 DtNetU16 DtPadding; 00033 DtNetU32 DtTimeSlotId; 00034 DtNetU32 DtPerceivedTransitTimeInteger; 00035 DtNetU32 DtPerceivedTransitTimeFraction; 00036 }; 00037 00038 public: 00040 DtLink16Signal(); 00041 00044 DtLink16Signal(const DtSignalInteraction* signal); 00045 00047 virtual ~DtLink16Signal(); 00048 00052 virtual void encode(DtSignalInteraction* inter, int numJWords, 00053 const void* data, int sizeOfData); 00054 00059 virtual void* decode(const DtSignalInteraction* inter); 00060 00062 00063 virtual void setNpgNumber(DtU16 npg); 00064 virtual DtU16 npgNumber() const; 00066 00068 00069 virtual void setNetNumber(DtU8 net); 00070 virtual DtU8 netNumber() const; 00072 00074 00075 virtual void setTsecCvll(DtU8 val); 00076 virtual DtU8 tsecCvll() const; 00078 00080 00081 virtual void setMsecCvll(DtU8 val); 00082 virtual DtU8 msecCvll() const; 00084 00086 00087 00088 virtual void setLink16MessageType(DtLink16MessageTypeEnum val); 00089 virtual DtLink16MessageTypeEnum link16MessageType() const; 00091 00093 00094 virtual void setTimeIdSlotNumber(DtU32 val); 00095 virtual DtU32 timeIdSlotNumber() const; 00097 00099 00100 virtual void setTimeIdEpochNumber(DtU8 val); 00101 virtual DtU8 timeIdEpochNumber() const; 00103 00105 00106 virtual void setPerceivedTransmitTimeInteger(DtU32 val); 00107 virtual DtU32 perceivedTransmitTimeInteger() const; 00109 00111 00112 virtual void setPerceivedTransmitTimeFraction(DtU32 val); 00113 virtual DtU32 perceivedTransmitTimeFraction() const; 00115 00116 #if DtHLA 00117 public: 00121 static char* link16SignalClassChooser( 00122 DtExerciseConn* exConn, 00123 const DtInteraction& inter); 00124 00126 static void setInteractionClasses(DtExerciseConn* exConn); 00127 00132 static void setUpRprFomMapper(DtExerciseConn* exConn); 00133 00134 #endif 00135 00136 00137 protected: 00138 DtU16 myNpgNumber; 00139 DtU8 myNetNumber; 00140 DtU8 myTsecCvll; 00141 DtU8 myMsecCvll; 00142 DtLink16MessageTypeEnum myMessagetype; 00143 DtU32 myTimeSlotId; 00144 DtU32 myTimeInteger; 00145 DtU32 myTimeFraction; 00146 #if DtHLA 00147 static const char* theInteractionClasses[8]; 00148 #endif 00149 }; 00150 00151 #endif