MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrFileFormatter.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef lgrFileFormatter_H_
10 #define lgrFileFormatter_H_
11 
12 #include <lgrCore/lgrCore.h>
14 #include "loggerFileMetaData.h"
15 #include <lgrUtil/filePosition.h>
16 #include <vector>
17 
18 namespace MAKLogger
19 {
20 
21  class DtLoggerFile;
22  class DtSmartBuffer;
23  class DtMessageBuffer;
24  class DtLgrEntityTracker;
25 
34  {
35  protected:
36 
43 
44  public:
45 
47  virtual ~DtLgrFileFormatter();
48 
49  private:
53  DtLgrFileFormatter& operator=(const DtLgrFileFormatter&);
54 
55  public:
56 
58  virtual DtLoggerFile* loggerFile();
60  virtual const DtLoggerFile* loggerFile() const;
62 
66  virtual void setSerialMode(bool enable);
67 
69  virtual bool serialMode() const;
70 
72  DtLoggerFileMetaData* metaData();
74  const DtLoggerFileMetaData* metaData() const;
76 
78  virtual void copyMetaData(const DtLgrFileFormatter* formatter);
79 
81  virtual DtLgrEntityTracker* entityTracker() const;
82 
85  virtual void setTimeLimit(double limit);
86 
88 
89 
99  virtual void initializeSerialMode(DtFilePosition firstPacket = 0,
100  DtFilePosition lastPacket = 0, bool skipCheckpointRead=false) = 0;
101 
103  virtual bool isEofValid() const = 0;
104 
106  virtual bool hasLastPacket() const = 0;
107 
110  virtual bool recoverLastPacket() = 0;
111 
113  virtual double firstPacketTime() const = 0;
114 
116  virtual size_t firstPacketSize() const = 0;
117 
119  virtual double lastPacketTime() const = 0;
120 
122  virtual size_t lastPacketSize() const = 0;
123 
132  virtual bool atEndOfFile() = 0;
133 
138  virtual bool seekToFirstPacket() = 0;
139 
144  virtual bool seekToFirstPacket(int type) = 0;
145 
150  virtual bool seekToLastPacket() = 0;
151 
156  virtual bool seekToLastPacket(int type) = 0;
157 
162  virtual bool seekToFirstPacketBeforeTime(double time) = 0;
163 
167  virtual bool seekToFirstPacketBeforeTime(int type,double time) = 0;
168 
173  virtual bool seekToFirstPacketAfterTime(double time) = 0;
174 
179  virtual bool seekToFirstPacketAfterTime(int type,double time) = 0;
180 
184  virtual bool seekToNextSerialPacket() = 0;
185 
189  virtual bool seekToNextPacket() = 0;
190 
195  virtual bool seekToNextPacket(int type) = 0;
196 
200  virtual bool seekToPreviousPacket() = 0;
201 
206  virtual bool seekToPreviousPacketOfType(int type) = 0;
207 
210  virtual void seekToPosition(DtFilePosition) = 0;
211 
214  virtual double currentPacketTime() = 0;
215 
218  virtual int currentPacketType() = 0;
219 
222  virtual size_t currentPacketSize() = 0;
223 
225  virtual DtFilePosition currentPosition() = 0;
226 
228  virtual bool hasCheckpoints() const = 0;
229 
234  virtual void readMetaData() = 0;
235 
237  virtual void readMetaData(DtLoggerFileMetaData::DataPosition position) = 0;
238 
240  virtual void writeMetaData(DtLoggerFileMetaData::DataPosition position) = 0;
241 
245  virtual void readPacketsUptoCount(DtMessageBuffer&,DtMemoryBufferSP,int packetCount) = 0;
246 
249  virtual void readPacketsUptoSize(DtMessageBuffer&,DtMemoryBufferSP) = 0;
250 
257  virtual double readPacketsUpToTime(DtMessageBuffer&,DtMemoryBufferSP,double time,
258  bool inclusive = true) = 0;
259 
262  virtual void writePackets(const DtMessageBuffer&) = 0;
263 
266  virtual void writePacket(const DtPacket& packet) = 0;
267 
277  virtual size_t writePacket(const DtPacket&,void* memory, size_t memorySize,
278  int fileWriteBufferOffset = -1 ) = 0;
279 
281  virtual void setDuration(double duration) = 0;
282 
284  virtual void setStartEndTimes(double start, double end) = 0;
285 
287  virtual double duration() const = 0;
288 
290  virtual void setDescription(DtString description) = 0;
291 
293  virtual DtString description() const = 0;
294 
296  virtual size_t headerSize() const = 0;
297 
299  virtual size_t tailSize() const = 0;
300 
302 
303  protected:
304 
309  };
310 }
311 
312 #endif
double myReadTimeLimit
Definition: lgrFileFormatter.h:308
DtInt64 DtFilePosition
The position in a file, stored as a 64bit unsigned integer.
Definition: filePosition.h:18
Contains MAKLogger::DtFilePosition typedef.
DataPosition
Definition: loggerFileMetaData.h:27
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
std::shared_ptr< DtMemoryBuffer > DtMemoryBufferSP
Definition: memoryBuffer.h:19
Message buffer class responsible for storing a list of messages and iterating through that list...
Definition: messageBuffer.h:23
Contains MAKLogger::DtLoggerFileMetaData class.
DtLoggerFile * myLoggerFile
Definition: lgrFileFormatter.h:305
An abstract logger file formatter.
Definition: lgrFileFormatter.h:33
DtLoggerFileMetaData * myLoggerMetaData
Definition: lgrFileFormatter.h:306
A generic packed of typed binary data.
Definition: packet.h:41
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
Indexes packets in a file.
Definition: lgrEntityTracker.h:32
Contains.
Definition: loggerFileMetaData.h:23
bool mySerialMode
Definition: lgrFileFormatter.h:307
Base logger class which represents the basic Logger file.
Definition: loggerFile.h:25
Contains lgrCore library definitions.

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)