MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
loggerFileWriter.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <lgrCore/lgrCore.h>
13 #include <lgrCore/lgrFileOutput.h>
15 #include <lgrUtil/filePosition.h>
16 #include <lgrUtil/memoryBuffer.h>
17 #include <lgrUtil/smartBuffer.h>
18 
19 #include <vlutil/vlNetTypes.h>
20 
21 namespace MAKLogger
22 {
23  class DtCheckpointPolicy;
24  class DtMessageIOInfo;
25  class DtLoggerRecordFile;
26 
30  {
31 
32  public:
34 
35  virtual ~DtLoggerFileWriter();
36 
37  private:
41  DtLoggerFileWriter& operator=(const DtLoggerFileWriter&);
42  public:
43 
46  virtual void setDuration(const DtRelativeTime& duration);
47 
49  virtual void setStartEndTimes( const double start, const double end );
50 
52  virtual void setDescription(const DtString& description);
53 
55  virtual const DtRelativeTime& duration() const;
56 
58  virtual const double startTime() const;
59 
61  virtual const double endTime() const;
62 
64  virtual void setWriteBufferSize(size_t);
65 
67  virtual size_t getWriteBufferSize() const;
68 
71  virtual void activate(const DtMessageInput* fileInput);
72 
74  virtual bool isActivated() const;
75 
77  virtual void deactivate();
78 
80  virtual const DtMessageIOInfo* info() const;
81 
83  virtual const DtString& filename() const;
84 
88  virtual DtFilePosition fileSize() const;
89 
93  virtual DtFilePosition currentPosition() const;
94 
96  virtual void flush();
97 
99  virtual void setOutputScaling(double scaling, bool enableStatic, bool isPaused=false);
100 
102  static const DtU32 PostDataMagic = 0xCFB91181;
103 
105  const DtLoggerRecordFile* loggerRecordFile() const;
106 
107  protected:
108 
110  virtual bool writePacket(const DtPacket& packet);
111 
116  DtString multiFileDescription(bool final);
117 
118  protected:
119 
122  size_t myBufferSize;
127  };
128 
129 }
130 
DtInt64 DtFilePosition
The position in a file, stored as a 64bit unsigned integer.
Definition: filePosition.h:18
Contains MAKLogger::DtSmartBuffer class.
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
Contains MAKLogger::DtFilePosition typedef.
Relative Time, an elapsed duration of time, no implied measurement, could be seconds/cycles or ticks ...
Definition: absoluteTime.h:28
DtMemoryBufferSP myMemory
Definition: loggerFileWriter.h:123
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
DtSmartBuffer myCurrentMemory
Definition: loggerFileWriter.h:124
The message input is the interface for objects that provide messages into the pipeline.
Definition: messageInput.h:22
DtRelativeTime myDuration
Definition: loggerFileWriter.h:126
DtLoggerRecordFile * myRecordFile
Definition: loggerFileWriter.h:121
A message IO info object stores information about a specific message input or output stage...
Definition: messageIoInfo.h:21
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
A recording file which has the output file and the format of that file.
Definition: loggerRecordFile.h:26
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
DtMessageIOInfo * myMessageInfo
Definition: loggerFileWriter.h:120
Contains MAKLogger::DtMemoryBuffer class.
bool myActivatedFlag
Definition: loggerFileWriter.h:125
Logger file writer class.
Definition: loggerFileWriter.h:29
Contains MAKLogger::DtLgrFileOutput subclass of MAKLogger::DtMessageOutput.
Class responsible for message Output to a file.
Definition: lgrFileOutput.h:25
Contains lgrCore library definitions.
size_t myBufferSize
Definition: loggerFileWriter.h:122

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)