MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrEntityTrackingFormat.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef lgrEntityTrackingFormat_H_
10 #define lgrEntityTrackingFormat_H_
11 
13 #include <vlutil/vlNetTypes.h>
14 
15 namespace MAKLogger
16 {
17  class DtLgrEntityTracker;
18 
26  {
27  public:
28 
30  {
31  DtNetFloat64 startTime;
32  DtNetFloat64 endTime;
33  };
34 
35  protected:
37  public:
38  virtual ~DtLgrEntityTrackingFormat();
39 
40  private:
45  public:
46 
48  virtual void copyMetaData(const DtLgrFileFormatter* formatter);
49 
52  virtual void writePacket(const DtPacket& packet);
53 
60  virtual size_t writePacket(const DtPacket& packet,void* memory,size_t memorySize,
61  int fileWriteBufferOffset = -1);
62 
64  virtual DtLgrEntityTracker* entityTracker() const = 0;
65 
67  virtual size_t headerSize() const;
68 
70  virtual void setStartEndTimes(double start, double end);
71 
72  protected:
73 
75  virtual DtLgrEntityTracker* entityTracker() = 0;
76 
78  {
79  DtNetU32 entityId;
80  DtNetU32 numBytes;
81  DtNetU32 flags;
82  DtNetFloat64 arrivalTime;
83  };
84 
85  protected:
86 
88  virtual bool validateStartMetaDataType(int type);
89 
91  virtual bool validateEndMetaDataType(int type);
92 
95  virtual void validateStartMetaDataMap() = 0;
96 
99  virtual void validateEndMetaDataMap() = 0;
100 
102  virtual void fillHeader(void* header, const DtPacket& packet);
103 
105  virtual bool writeHeader(int fd, const DtPacket& packet);
106 
109  virtual bool readHeader();
110 
112  virtual DtU32 headerNumBytes() const;
113 
115  virtual DtU32 headerNumBytes(const void* header) const;
116 
118  virtual DtU32 headerFlags() const;
119 
121  virtual DtU32 headerFlags(const void* header) const;
122 
124  virtual DtFloat64 headerArrivalTime() const;
125 
127  virtual DtFloat64 headerArrivalTime(const void* header) const;
128 
130  virtual DtU32 headerEntityId() const;
131 
133  virtual DtU32 headerEntityId(const void* header) const;
134 
136  virtual void readStartMetaData();
137 
139  virtual void readEndMetaData();
140 
142  virtual void readConfigMetaData();
143 
145  virtual void writeConfigMetaData();
146 
149  virtual void writeStartEndTimeData();
150 
152  virtual void writeDescriptionMetaData();
153 
155  virtual void readDateTimeMetaData();
156 
158  virtual void writeDateTimeMetaData();
159 
161  virtual void readEntityTableMetaData();
162 
164  virtual void writeEntityTableMetaData();
165 
167  virtual DtPacket* createPacket(void* header, DtSmartBuffer& buffer);
168 
170  virtual void decodePacket(DtPacket* packet);
171 
172  protected:
173 
179  };
180 }
181 
182 #endif
183 
184 
185 
186 

Document ID: Generated on Wed Jun 5 18:45:18 EDT 2019 from SVN revision 198968
Copyright © 2019 VT MAK. All Rights Reserved (www.mak.com)