MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrDisDatabasePrinter.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef lgrDisDatabasePrinter_H_
10 #define lgrDisDatabasePrinter_H_
11 
12 #if DtDIS
13 
16 #include <vlutil/vlString.h>
17 
18 #include <map>
19 #include <vlpi/disEnums.h>
20 
22 class DtOutputStream;
23 class DtPduFactory;
24 
25 namespace MAKLogger
26 {
27 
29  class DtLgrCheckpointTableFactory;
30  class DtLgrDisObjectTableFactory;
31  class DtPacket;
32  class DtConstLgrDisMessage;
33 
34  class DT_DLL_SQLEXPORTER DtLgrDisDatabasePrinter : public DtLgrDatabasePrinter
35  {
36  public:
37 
38 
40  DtLgrDisDatabasePrinter(DtOutputStream& log,
41  DtDatabaseInterface& databaseInterface);
42 
44  virtual ~DtLgrDisDatabasePrinter();
45 
46  private:
48  DtLgrDisDatabasePrinter(const DtLgrDisDatabasePrinter&);
49  DtLgrDisDatabasePrinter& operator=(const DtLgrDisDatabasePrinter&);
51 
52  public:
53 
55  virtual void setGenerateInstanceTable( bool generate);
56 
58  virtual void setGenerateCheckpointTable( bool generate);
59 
61  virtual void createDefaultTables();
62 
64  virtual void printCheckpoint(const MAKLogger::DtPacket& packet);
65 
67  virtual void printPDU(const MAKLogger::DtPacket& packet);
68 
69  protected:
70 
72  virtual void printInstance( MAKLogger::DtConstLgrDisMessage &disMsg,
73  const MAKLogger::DtPacket &packet );
74 
75  struct PduCacheEntry
76  {
78  const DtLgrPduDatabaseEncoder* encoder;
79  };
80 
81  struct InstanceData
82  {
83  DtString id;
84  DtString type;
85  double lastTime;
86  bool finalPduSet;
87  };
88 
89  typedef std::map<DtU64,InstanceData> InstanceMap;
90 
91  typedef std::map<DtPduKind,PduCacheEntry> PduCache;
92 
93  bool myGenerateInstanceTable;
94  bool myGenerateCheckpointTable;
95  PduCache myPduCache;
96  DtPduFactory* myPduFactory;
97  DtLgrDisObjectTableFactory* myObjectTableFac;
98  DtLgrCheckpointTableFactory* myCheckpointTableFac;
99  InstanceMap myObjectInstances;
100  };
101 
102 }
103 
104 #endif
105 
106 #endif
#define DT_DLL_SQLEXPORTER
Definition: lgrSqlExporter.h:19
std::vector< DtDatabaseTableSP > TableList
Definition: lgrDatabasePrinter.h:42
A generic packed of typed binary data.
Definition: packet.h:41
Contains DtLgrDatabasePrinter class.
DtDatabaseInterface is an interface object accessing and modifying a database.
Definition: databaseInterface.h:29
Contains MAKLogger.

Document ID: Generated on Thu Sep 2 15:35:22 EDT 2021 from SVN revision 233992
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)