MAK Data Logger API Documentation for HLA
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  protected:
29  public:
30  virtual ~DtLgrEntityTrackingFormat();
31 
32  private:
37  public:
38 
40  virtual void copyMetaData(const DtLgrFileFormatter* formatter);
41 
44  virtual void writePacket(const DtPacket& packet);
45 
52  virtual size_t writePacket(const DtPacket& packet,void* memory,size_t memorySize,
53  int fileWriteBufferOffset = -1);
54 
56  virtual DtLgrEntityTracker* entityTracker() const = 0;
57 
59  virtual size_t headerSize() const;
60 
61  protected:
62 
64  virtual DtLgrEntityTracker* entityTracker() = 0;
65 
67  {
68  DtNetU32 entityId;
69  DtNetU32 numBytes;
70  DtNetU32 flags;
71  DtNetFloat64 arrivalTime;
72  };
73 
74  protected:
75 
81  virtual bool validPacket(double previousPacketTime = -1.0,
82  double* currentTime=0);
83 
85  virtual bool validateStartMetaDataType(int type);
86 
88  virtual bool validateEndMetaDataType(int type);
89 
92  virtual void validateStartMetaDataMap() = 0;
93 
96  virtual void validateEndMetaDataMap() = 0;
97 
100  virtual double currentPacketTime();
101 
104  virtual int currentPacketType();
105 
108  virtual size_t currentPacketSize();
109 
112  virtual size_t currentPacketDataSize();
113 
115  virtual void fillHeader(void* header, const DtPacket& packet);
116 
118  virtual void writeHeader(int fd, const DtPacket& packet);
119 
121  virtual DtNetU32 headerEntityId(void* header);
122 
124  virtual DtNetU32 headerNumBytes(void* header);
125 
127  virtual DtNetU32 headerFlags(void* header);
128 
130  virtual DtNetFloat64 headerArrivalTime(void* header);
131 
133  virtual char* readPacketIntoBuffer(char* cur, char* end,
134  DtMessageBuffer& messages, DtMemoryBufferSP& buffer);
135 
137  virtual void readStartMetaData();
138 
140  virtual void readEndMetaData();
141 
143  virtual void readConfigMetaData();
144 
146  virtual void writeConfigMetaData();
147 
149  virtual void writeDescriptionMetaData();
150 
152  virtual void readDateTimeMetaData();
153 
155  virtual void writeDateTimeMetaData();
156 
158  virtual void readEntityTableMetaData();
159 
161  virtual void writeEntityTableMetaData();
162 
164  virtual DtPacket* encodePacket(DtPacket::DtPacketType type);
165 
167  virtual void decodePacket(DtPacket* packet);
168 
169  protected:
170 
174  };
175 }
176 
177 #endif
178 
179 
180 
181 

Document ID: Generated on Thu Apr 10 18:53:01 EDT 2014 from SVN revision 138105
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)