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-2010 VT MAK
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 printCheckpointPacket(const DtPacket& packet);
80 
82  void printIndexTablePacket(const DtPacket& packet);
83 
85  void printRecordingDataPacket(const DtPacket& packet);
86 
88  void printStartEndTimePacket(const DtPacket& packet);
89 
91  void printDescriptionPacket(const DtPacket& packet);
92 
94  void printEntityTablePacket(const DtPacket& packet);
95 
97  void printPausePacket(const DtPacket& packet);
98 
100  void printUnpausePacket(const DtPacket& packet);
101 
103  void printPduPacket(const DtPacket& packet);
104 
105  protected:
106 
107  typedef void (DtLgrDisPacketPrinter::*PacketPrintFunction)(const DtPacket&);
108  typedef std::map<DtPacket::DtPacketType,PacketPrintFunction> PrintFunctionMap;
109 
110  DtDisPduFactory* myPduFactory;
111 
112  int myPduCount;
113  int myPacketCount;
114  int myCheckpointCount;
115 
117  const DtLgrFileFormatter* myFormatter;
118 
119  bool myPrintRawData;
120  PrintFunctionMap myPrintFunctionMap;
121  std::ofstream* myOutputFile;
122 
124  DtTime myFileDateTime;
125 
127  DtMessageBuffer myEndMetadata;
128 
130  DtTime myUnpauseTime;
131 
132  };
133 }
134 
135 #endif
136 #endif

Document ID: Generated on Thu Apr 7 20:50:59 EDT 2016 from SVN revision 163818
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)