MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrDisPacketPrinter.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 DtDIS
11 
12 #ifndef lgrDisPacketPrinter_H_
13 #define lgrDisPacketPrinter_H_
14 
15 #include "lgrDump.h"
16 
18 #include <lgrCore/messageBuffer.h>
19 
20 #include <vlutil/vlTime.h>
21 
22 class DtDisPduFactory;
23 
24 namespace MAKLogger
25 {
26  class DtPacket;
27  class DtLgrFileFormatter;
28 
30  class DT_DLL_LGRDUMP DtLgrDisPacketPrinter : public DtLgrPacketPrinter
31  {
32  public:
33 
34  DT_VIRTUAL_CTR(DtLgrDisPacketPrinter,(bool raw))
35  DT_VIRTUAL_BASE_CTR(DtLgrPacketPrinter,(bool raw))
36 
37 
38  virtual ~DtLgrDisPacketPrinter();
39 
40  private:
42  DtLgrDisPacketPrinter(const DtLgrDisPacketPrinter&);
44  DtLgrDisPacketPrinter& operator=(const DtLgrDisPacketPrinter&);
45 
46  public:
47 
49  virtual void beginPrinting(const DtMessageIOInfo* info,
50  const DtMessageInput* msgInput, const DtString& destination);
51 
53  virtual void printPacket( const DtPacket& packet );
54 
56  virtual void endPrinting();
57 
58  protected:
59 
61  std::ofstream& outputStream();
62 
64  virtual void printPacketHeader(const DtPacket& packet);
65 
67  virtual void printPacketTail(const DtPacket& packet);
68 
70  void printOtherPacket(const DtPacket& packet);
71 
73  void printConfigPacket(const DtPacket& packet);
74 
76  void printDateTimePacket(const DtPacket& packet);
77 
79  void printState(const char* stateBuffer, size_t bufferSize, bool includeUpdateHeaders);
80 
82  void printInitialStatePacket(const DtPacket& packet);
83 
85  void printCheckpointPacket(const DtPacket& packet);
86 
88  void printIndexTablePacket(const DtPacket& packet);
89 
91  void printRecordingDataPacket(const DtPacket& packet);
92 
94  void printStartEndTimePacket(const DtPacket& packet);
95 
97  void printDescriptionPacket(const DtPacket& packet);
98 
100  void printEntityTablePacket(const DtPacket& packet);
101 
103  void printPausePacket(const DtPacket& packet);
104 
106  void printUnpausePacket(const DtPacket& packet);
107 
109  void printPduPacket(const DtPacket& packet);
110 
111  protected:
112 
113  typedef void (DtLgrDisPacketPrinter::*PacketPrintFunction)(const DtPacket&);
114  typedef std::map<DtPacket::DtPacketType,PacketPrintFunction> PrintFunctionMap;
115 
116  DtDisPduFactory* myPduFactory;
117 
118  int myPduCount;
119  int myPacketCount;
120  int myCheckpointCount;
121 
123  const DtLgrFileFormatter* myFormatter;
124 
125  bool myPrintRawData;
126  PrintFunctionMap myPrintFunctionMap;
127  std::ofstream* myOutputFile;
128 
130  DtTime myFileDateTime;
131 
133  DtMessageBuffer myEndMetadata;
134 
136  DtTime myUnpauseTime;
137 
138  };
139 }
140 
141 #endif
142 #endif
#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
Contains MAKLogger::DtMessageBuffer class.
Contains the IMPORT/EXPORT macros.
#define DT_DLL_LGRDUMP
Definition: lgrDump.h:18
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)