MAK Data Logger API Documentation for DIS
 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 
28  class DtLgrPduDatabaseEncoder;
29  class DtLgrCheckpointTableFactory;
30  class DtLgrDisObjectTableFactory;
31  class DtPacket;
32  class DtConstLgrDisMessage;
33 
35  {
36  public:
37 
38 
40  DtLgrDisDatabasePrinter(DtOutputStream& log,
41  DtDatabaseInterface& databaseInterface);
42 
44  virtual ~DtLgrDisDatabasePrinter();
45 
46  private:
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 
76  {
79  };
80 
81  struct InstanceData
82  {
83  DtString id;
84  DtString type;
85  double lastTime;
87  };
88 
89  typedef std::map<DtU64,InstanceData> InstanceMap;
90 
91  typedef std::map<DtPduKind,PduCacheEntry> PduCache;
92 
96  DtPduFactory* myPduFactory;
100  };
101 
102 }
103 
104 #endif
105 
106 #endif
bool myGenerateInstanceTable
Definition: lgrDisDatabasePrinter.h:93
Abstract encoder interface.
Definition: lgrPduDatabaseEncoder.h:29
Class responsible for creating tables and encoding an interaction into that table.
Definition: lgrCheckpointTableFactory.h:24
std::map< DtPduKind, PduCacheEntry > PduCache
Definition: lgrDisDatabasePrinter.h:91
Class responsible for creating tables and encoding an interaction into that table.
Definition: lgrDisObjectTableFactory.h:30
std::map< DtU64, InstanceData > InstanceMap
Definition: lgrDisDatabasePrinter.h:89
Definition: lgrDisDatabasePrinter.h:81
PduCache myPduCache
Definition: lgrDisDatabasePrinter.h:95
DtLgrDisObjectTableFactory * myObjectTableFac
Definition: lgrDisDatabasePrinter.h:97
#define DT_DLL_SQLEXPORTER
Definition: lgrSqlExporter.h:19
Definition: lgrDisDatabasePrinter.h:34
Definition: lgrDisDatabasePrinter.h:75
const DtLgrPduDatabaseEncoder * encoder
Definition: lgrDisDatabasePrinter.h:78
DtLgrCheckpointTableFactory * myCheckpointTableFac
Definition: lgrDisDatabasePrinter.h:98
bool myGenerateCheckpointTable
Definition: lgrDisDatabasePrinter.h:94
bool finalPduSet
Definition: lgrDisDatabasePrinter.h:86
DtString type
Definition: lgrDisDatabasePrinter.h:84
std::vector< DtDatabaseTableSP > TableList
Definition: lgrDatabasePrinter.h:42
A generic packed of typed binary data.
Definition: packet.h:41
DtPduFactory * myPduFactory
Definition: lgrDisDatabasePrinter.h:96
Definition: lgrDatabasePrinter.h:23
InstanceMap myObjectInstances
Definition: lgrDisDatabasePrinter.h:99
Contains DtLgrDatabasePrinter class.
DtString id
Definition: lgrDisDatabasePrinter.h:83
DtDatabaseInterface is an interface object accessing and modifying a database.
Definition: databaseInterface.h:29
Contains MAKLogger.
DtLgrDatabasePrinter::TableList tables
Definition: lgrDisDatabasePrinter.h:77
double lastTime
Definition: lgrDisDatabasePrinter.h:85
DIS message.
Definition: disPacket.h:27

Document ID: Generated on Thu Jul 14 15:45:33 EDT 2022 from SVN revision 244827
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)