MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrPduDatabaseEncoder.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 lgrPduDatabaseEncoder_H_
10 #define lgrPduDatabaseEncoder_H_
11 
12 #if DtDIS
13 
15 
17 #include <vector>
18 #include <vlutil/vlString.h>
19 #include <vlpi/disEnums.h>
20 
21 class DtDatabaseColumn;
22 class DtPdu;
23 
24 namespace MAKLogger
25 {
26  class DtAbsoluteTime;
27 
30  {
31  public:
34 
36  virtual ~DtLgrPduDatabaseEncoder();
37 
39  static void bin2HexString(DtString& output,const void* memory,size_t length);
40 
41  //@name Override per pdu.
43 
45  virtual const DtString& pduName() const = 0;
46 
47  protected:
50  virtual void encodePdu(const DtPdu& pdu,std::vector<DtDatabaseTableSP>& tables) const = 0;
51 
52  public:
55  virtual std::vector<DtDatabaseTableSP> getTableDefinitions() const;
56 
58 
60  void encodeMessage(const MAKLogger::DtAbsoluteTime& arrivalTime,
61  const DtPdu& pdu, std::vector<DtDatabaseTableSP>& tables) const ;
62 
63  protected:
65  virtual DtDatabaseTable* createDefaultPrimaryTable(const DtString& tableName) const;
66 
68  virtual DtDatabaseTable* createSubTable(const DtString& tableName) const ;
69 
71  virtual void updateDefaultPrimaryTable(
72  const MAKLogger::DtAbsoluteTime& arrivalTime, const DtPdu& pdu,
73  DtDatabaseTableSP table) const;
74 
76  virtual void updateDefaultSubTable(
77  const MAKLogger::DtAbsoluteTime& arrivalTime, const DtPdu& pdu,
78  const DtDatabaseTableSP primaryTable, DtDatabaseTableSP table) const;
79 
80  DtDatabaseColumn* myPrimaryTableIdColumn;
81  DtDatabaseColumn* myPrimaryTableSizeColumn;
82  DtDatabaseColumn* myArrivalTimeColumn;
83  DtDatabaseColumn* myTimeStampColumn;
84  DtDatabaseColumn* myTimeStampTypeColumn;
85  DtDatabaseColumn* myExerciseIdColumn;
86  DtDatabaseColumn* mySubTableArrivalPrimaryIdColumn;
87 
88  DtString myAbsoluteTimeStampEnumStr;
89  DtString myRelativeTimeStampEnumStr;
90 
91  };
92 }
93 
94 #endif
95 #endif

Document ID: Generated on Wed Jun 5 18:45:18 EDT 2019 from SVN revision 198968
Copyright © 2019 VT MAK. All Rights Reserved (www.mak.com)