MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrDisObjectTableFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #if DtDIS
10 
11 #ifndef lgrDisObjectTableFactory_H_
12 #define lgrDisObjectTableFactory_H_
13 
16 
17 #include <vlutil/vlString.h>
18 #include <vector>
19 
20 class DtDatabaseColumn;
22 
23 namespace MAKLogger
24 {
25  class DtAbsoluteTime;
26  class DtConstLgrDisMessage;
27 
30  class DT_DLL_SQLEXPORTER DtLgrDisObjectTableFactory
31  {
32  public:
33 
35  DtLgrDisObjectTableFactory();
36 
38  virtual ~DtLgrDisObjectTableFactory();
39 
40  private:
42  DtLgrDisObjectTableFactory(const DtLgrDisObjectTableFactory&);
43  DtLgrDisObjectTableFactory& operator=(const DtLgrDisObjectTableFactory&);
45  public:
46 
48  DtDatabaseTable& createObjectInstanceTable();
49 
50 
52  DtDatabaseTable& addObjectInstance(const MAKLogger::DtAbsoluteTime& time,
53  const MAKLogger::DtConstLgrDisMessage& message);
54 
56  DtDatabaseTable& removeObjectInstance(
57  const DtString& id,
58  const DtString& type,
59  const MAKLogger::DtAbsoluteTime& time,
60  bool isFinalPduBitSet,
61  const std::vector<DtString>*& removalColumns,
63  const DtString*& removalCondition );
64 
65 
67  bool isInstance(const MAKLogger::DtConstLgrDisMessage& message) const;
68 
70  DtString instanceId(const MAKLogger::DtConstLgrDisMessage& message) const;
71 
73  DtString instanceType(const MAKLogger::DtConstLgrDisMessage& message) const;
74 
75  protected:
76 
78  DtDatabaseTable& addEntityStateInstance(const MAKLogger::DtAbsoluteTime& time,
79  const MAKLogger::DtConstLgrDisMessage& msg);
80 
81  DtString myTableBuffer;
82 
83  DtDatabaseTableSP myObjectInstanceTable;
84 
85  DtDatabaseColumn* myEntityIdColumn;
86  DtDatabaseColumn* myEntityIdSiteColumn;
87  DtDatabaseColumn* myEntityIdAppColumn;
88  DtDatabaseColumn* myEntityIdEntityColumn;
89 
90  DtDatabaseColumn* myEntityTypeColumn;
91  DtDatabaseColumn* myEntityTypeEntityKindColumn;
92  DtDatabaseColumn* myEntityTypeDomainColumn;
93  DtDatabaseColumn* myEntityTypeCountryColumn;
94  DtDatabaseColumn* myEntityTypeCategoryColumn;
95  DtDatabaseColumn* myEntityTypeSubcategoryColumn;
96  DtDatabaseColumn* myEntityTypeSpecificColumn;
97  DtDatabaseColumn* myEntityTypeExtraColumn;
98 
99  DtDatabaseColumn* myFirstPacketTimeColumn;
100  DtDatabaseColumn* myLastPacketTimeColumn;
101  DtDatabaseColumn* myFinalPduBitSetColumn;
102 
103  std::vector<DtString> myRemovalColumns;
104  DtString myRemovalCondition;
105 
106  };
107 
108 }
109 
110 #endif
111 #endif
Definition: databaseColumn.h:26
#define DT_DLL_SQLEXPORTER
Definition: lgrSqlExporter.h:19
A table is simply a table name and a list of column entries (DtDatabaseColumn).
Definition: databaseTable.h:23
class DT_DLL_LGRUTIL DtAbsoluteTime
Definition: absoluteTime.h:22
std::shared_ptr< DtDatabaseTable > DtDatabaseTableSP
Definition: databaseTable.h:112
Contains DtDatabaseTable.
DtDatabaseInterface is an interface object accessing and modifying a database.
Definition: databaseInterface.h:29
Contains MAKLogger.
Absolute Time, a particular measured instance in time, could be thought of as a set of relative times...
Definition: absoluteTime.h:82

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)