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 
DtFilePosition myDateTimeDataPosition
Definition: lgrEntityTrackingFormat.h:175
DtFilePosition myConfigDataPosition
Definition: lgrEntityTrackingFormat.h:174
DtFilePosition myEntityTablePosition
Definition: lgrEntityTrackingFormat.h:177
The format for checkpointed files which is based upon the uncheckpointed format.
Definition: lgrEntityTrackingFormat.h:25
DtInt64 DtFilePosition
The position in a file, stored as a 64bit unsigned integer.
Definition: filePosition.h:18
DtNetFloat64 startTime
Definition: lgrEntityTrackingFormat.h:31
DtNetFloat64 arrivalTime
Definition: lgrEntityTrackingFormat.h:82
DtNetFloat64 endTime
Definition: lgrEntityTrackingFormat.h:32
DtNetU32 entityId
Definition: lgrEntityTrackingFormat.h:79
DtNetU32 numBytes
Definition: lgrEntityTrackingFormat.h:80
An abstract logger file formatter.
Definition: lgrFileFormatter.h:33
Definition: lgrEntityTrackingFormat.h:29
NetPacketHeader myHeader
Definition: lgrEntityTrackingFormat.h:178
Contains MAKLogger::DtLgrLegacyCheckpointedFormat class.
A generic packed of typed binary data.
Definition: packet.h:41
A smart buffer has a shared pointer to the memory buffer and an offset and size of a &#39;smart&#39; sub buff...
Definition: smartBuffer.h:21
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
Indexes packets in a file.
Definition: lgrEntityTracker.h:32
Definition: lgrEntityTrackingFormat.h:77
The format for checkpointed files.
Definition: lgrLegacyCheckpointedFormat.h:24
DtNetU32 flags
Definition: lgrEntityTrackingFormat.h:81
DtFilePosition myStartEndTimePosition
Definition: lgrEntityTrackingFormat.h:176
Base logger class which represents the basic Logger file.
Definition: loggerFile.h:25

Document ID: Generated on Mon Mar 22 15:30:17 EDT 2021 from SVN revision 226440
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)