MAK Data Logger API Documentation for HLA
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 
17 #include <lgrPacketPrinter.h>
18 #include <messageBuffer.h>
19 
20 #include <vlutil/vlTime.h>
21 
22 class DtDisPduFactory;
23 
24 namespace MAKLogger
25 {
26  class DtPacket;
27 
29  class DT_DLL_LGRDUMP DtLgrDisPacketPrinter : public DtLgrPacketPrinter
30  {
31  public:
32 
33  DT_VIRTUAL_CTR(DtLgrDisPacketPrinter,(bool raw))
34  DT_VIRTUAL_BASE_CTR(DtLgrPacketPrinter,(bool raw))
35 
36 
37  virtual ~DtLgrDisPacketPrinter();
38 
39  private:
41  DtLgrDisPacketPrinter(const DtLgrDisPacketPrinter&);
43  DtLgrDisPacketPrinter& operator=(const DtLgrDisPacketPrinter&);
44 
45  public:
46 
48  virtual void beginPrinting(const DtMessageIOInfo* info,
49  const DtMessageInput* msgInput, const DtString& destination);
50 
52  virtual void printPacket( const DtPacket& packet );
53 
55  virtual void endPrinting();
56 
57  protected:
58 
60  std::ofstream& outputStream();
61 
63  virtual void printPacketHeader(const DtPacket& packet);
64 
66  virtual void printPacketTail(const DtPacket& packet);
67 
69  void printOtherPacket(const DtPacket& packet);
70 
72  void printConfigPacket(const DtPacket& packet);
73 
75  void printDateTimePacket(const DtPacket& packet);
76 
78  void printCheckpointPacket(const DtPacket& packet);
79 
81  void printIndexTablePacket(const DtPacket& packet);
82 
84  void printRecordingDataPacket(const DtPacket& packet);
85 
87  void printEntityTablePacket(const DtPacket& packet);
88 
90  void printPausePacket(const DtPacket& packet);
91 
93  void printUnpausePacket(const DtPacket& packet);
94 
96  void printPduPacket(const DtPacket& packet);
97 
98  protected:
99 
100  typedef void (DtLgrDisPacketPrinter::*PacketPrintFunction)(const DtPacket&);
101  typedef std::map<DtPacket::DtPacketType,PacketPrintFunction> PrintFunctionMap;
102 
103  DtDisPduFactory* myPduFactory;
104 
105  int myPduCount;
106  int myPacketCount;
107  int myCheckpointCount;
108 
109  bool myPrintRawData;
110  PrintFunctionMap myPrintFunctionMap;
111  std::ofstream* myOutputFile;
112 
114  DtTime myFileDateTime;
115 
117  DtMessageBuffer myEndMetadata;
118 
120  DtTime myUnpauseTime;
121 
122  };
123 }
124 
125 #endif
126 #endif

Document ID: Generated on Sun Dec 15 18:04:30 EST 2013 from SVN revision 134418
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)