MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrHlaPacketPrinter.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 #if DtHLA
11 
12 #ifndef lgrHlaPacketPrinter_H_
13 #define lgrHlaPacketPrinter_H_
14 
15 #include "lgrDump.h"
16 
19 #include <lgrCore/messageBuffer.h>
20 
21 class DtInteractionFactory;
22 namespace MAKLogger
23 {
24  class DtBaseFomDesc;
25  class DtPacket;
26  class DtLogger;
27  class DtLgrFileFormatter;
28 
31  {
32  public:
33 
36 
37 
39 
40 
41  virtual ~DtLgrHlaPacketPrinter();
42 
43  private:
47  DtLgrHlaPacketPrinter& operator=(const DtLgrHlaPacketPrinter&);
48 
49  public:
50 
52  virtual void beginPrinting(const DtMessageIOInfo* info,
53  const DtMessageInput* msgInput, const DtString& destination);
54 
56  virtual void printPacket( const DtPacket& packet );
57 
59  virtual void endPrinting();
60 
61  protected:
62 
64  std::ofstream& outputStream();
65 
67  virtual void printPacketHeader(const DtPacket& packet);
68 
70  virtual void printPacketTail(const DtPacket& packet);
71 
73  void printOtherPacket(const DtPacket& packet);
74 
76  void printFomPacket(const DtPacket& packet);
77 
79  void printConfigPacket(const DtPacket& packet);
80 
82  void printDateTimePacket(const DtPacket& packet);
83 
85  void printState(const char* stateBuffer, size_t bufferSize, int numberCheckpoints);
86 
88  void printInitialStatePacket(const DtPacket& packet);
89 
91  void printCheckpointPacket(const DtPacket& packet);
92 
94  void printIndexTablePacket(const DtPacket& packet);
95 
97  void printRecordingDataPacket(const DtPacket& packet);
98 
100  void printStartEndTimePacket(const DtPacket& packet);
101 
103  void printDescriptionPacket(const DtPacket& packet);
104 
106  void printEntityTablePacket(const DtPacket& packet);
107 
109  void printRegionDescriptorSet(const DtRegionDescSet& regionSet);
110 
112  void printInteractionPacket(const DtPacket& packet);
113 
115  void printInteractionPacketData( const DtPacket& packet, bool printTag );
116 
118  void printUpdatePacket(const DtPacket& packet);
119 
121  void printUpdatePacketData( const DtPacket& packet, bool printTag );
122 
124  void printRemovalPacket( const DtPacket& packet );
125 
127  void printPausePacket(const DtPacket& packet);
128 
130  void printUnpausePacket(const DtPacket& packet);
131 
133  typedef void (DtLgrHlaPacketPrinter::*PacketPrintFunction)(const DtPacket&);
135  typedef std::map<DtPacket::DtPacketType,PacketPrintFunction> PrintFunctionMap;
136 
137  protected:
138 
141 
144 
147 
150 
153 
156 
159 
161  std::ofstream* myOutputFile;
162 
165 
168 
171 
174 
177 
180 
181  };
182 }
183 
184 #endif
185 #endif
int myPacketCount
My count of packets.
Definition: lgrHlaPacketPrinter.h:140
bool myPrintRawData
My flag for printing raw (binary) data.
Definition: lgrHlaPacketPrinter.h:155
std::ofstream * myOutputFile
My output file.
Definition: lgrHlaPacketPrinter.h:161
int myInteractionCount
My count of interaction messages.
Definition: lgrHlaPacketPrinter.h:146
#define DT_VIRTUAL_BASE_CTR(BASE_NAME, ARG_TYPES_LIST)
Declare a Virtual Base Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where BASE_...
Definition: virtualConstructor.h:118
#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
DtBaseFomDesc * myOutputFom
The fom of the packets.
Definition: lgrHlaPacketPrinter.h:167
int myUpdateCount
My count of update messages.
Definition: lgrHlaPacketPrinter.h:149
PrintFunctionMap myPrintFunctionMap
My print function map.
Definition: lgrHlaPacketPrinter.h:158
DtMessageBuffer myEndMetadata
The end metadata from the input file.
Definition: lgrHlaPacketPrinter.h:179
A DIS packet printer.
Definition: lgrHlaPacketPrinter.h:30
DtTime myFileDateTime
Date and time of file (seconds since epoch)
Definition: lgrHlaPacketPrinter.h:173
DtLogger * myLogger
My logger object.
Definition: lgrHlaPacketPrinter.h:164
The message input is the interface for objects that provide messages into the pipeline.
Definition: messageInput.h:22
Message buffer class responsible for storing a list of messages and iterating through that list...
Definition: messageBuffer.h:23
DtTime myUnpauseTime
File time when unpaused.
Definition: lgrHlaPacketPrinter.h:176
Contains MAKLogger::DtLgrHlaMessageFactory class.
int myCheckpointCount
My count of checkpoint messages.
Definition: lgrHlaPacketPrinter.h:143
An abstract logger file formatter.
Definition: lgrFileFormatter.h:33
Contains MAKLogger::DtMessageBuffer class.
const DtLgrFileFormatter * myFormatter
The playback file formatter.
Definition: lgrHlaPacketPrinter.h:170
Abstract interface for a packet printer class.
Definition: lgrPacketPrinter.h:25
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
std::map< DtPacket::DtPacketType, PacketPrintFunction > PrintFunctionMap
Mapping of packet type to print function.
Definition: lgrHlaPacketPrinter.h:135
Contains the IMPORT/EXPORT macros.
DtLogger provides the core system structure and controls the execution model for the underlying objec...
Definition: logger.h:35
int myRemovalCount
My count of removal messages.
Definition: lgrHlaPacketPrinter.h:152
std::set< DtRegionDesc > DtRegionDescSet
Definition: hlaMessageFactory.h:43
#define DT_DLL_LGRDUMP
Definition: lgrDump.h:18
class DtBaseFomDesc:
Definition: baseFomDesc1516.h:88
Contains MAKLogger::DtLgrPacketPrinter class.

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)