MAK Data Logger API Documentation for DIS
 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 
87 
90 
91  };
92 }
93 
94 #endif
95 #endif

Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (www.mak.com)