MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrHlaInteractionTableFactory.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 #ifndef lgrHlaInteractionTableFactory_H_
10 #define lgrHlaInteractionTableFactory_H_
11 
12 #if DtHLA
13 
16 
17 class DtDatabaseTable;
18 class DtDatabaseColumn;
19 class DtInteractionClassFedNode;
20 class DtOMTTree;
21 class DtStringTree;
22 class DtDatatypeManager;
23 
24 #include <omtReader/parameterFedNode.h>
25 #include <vlutil/vlString.h>
26 #include <lgrSim/lgrHlaAttribute.h>
27 #include <map>
28 
29 namespace MAKLogger
30 {
31  class DtBaseInterClassDesc;
32  class DtConstLgrHlaMessage;
33 
37  {
38  public:
39 
41  DtLgrHlaInteractionTableFactory(DtOMTTree* omtTree,DtDatatypeManager* datatypeManager);
42 
45 
46  private:
51 
52  public:
53 
58  virtual const DtString& getTableName(const DtBaseInterClassDesc& interClass);
59 
61  std::vector<DtDatabaseTableSP> createTables(
62  const DtBaseInterClassDesc& classDesc,
63  const DtInteractionClassFedNode& fedNode,
64  const DtConstLgrHlaMessage& hlaMessage );
65 
67  DtDatabaseTableSP createSubTable(const DtDatabaseTable& primaryTable,
68  const DtString& subName, std::vector<DtDatabaseTableSP>& tables);
69 
71  virtual DtDatabaseTableSP createVariantSubTable(const DtDatabaseTable& primaryTable,
72  const DtString& variantName, const DtString& alternativeName, std::vector<DtDatabaseTableSP>& tables);
73 
75  void updateTables( std::vector<DtDatabaseTableSP>& tables,
76  const DtBaseInterClassDesc& classDesc,
77  const DtInteractionClassFedNode& fedNode,
78  const DtConstLgrHlaMessage& hlaMessage);
79 
80  protected:
81 
82  typedef std::map<DtLgrHlaHandle,const DtParameterFedNode*> \
83  ParameterHandleNodeMap;
84 
85  typedef std::map<DtLgrHlaHandle,ParameterHandleNodeMap> \
86  InterClassParamHandleNodeMap;
87 
89  virtual void addDefaultColumns(DtDatabaseTable& table,
90  const DtConstLgrHlaMessage& hlaMessage);
91 
93  virtual void updateDefaultColumns(DtDatabaseTable& table,
94  const DtConstLgrHlaMessage& hlaMessage);
95 
97  const DtParameterFedNode* getParamNode(
98  const DtBaseInterClassDesc& classDesc,
99  DtLgrHlaHandle paramHandle,
100  const DtInteractionClassFedNode& fedNode );
101 
103  void updateSubTableDefaultColumns( const DtDatabaseTable& primaryTable,
104  DtDatabaseTable& currentTable, const DtConstLgrHlaMessage& hlaMessage);
105 
106  protected:
107 
110  };
111 
112 }
113 
114 #endif
115 
116 #endif
DtU32 DtLgrHlaHandle
Logger Psuedo Handle type.
Definition: hlaTimeStampedAttr.h:22
Class responsible for creating tables and encoding an interaction into that table.
Definition: lgrHlaInteractionTableFactory.h:36
Definition: databaseColumn.h:26
#define DT_DLL_SQLEXPORTER
Definition: lgrSqlExporter.h:19
std::map< DtLgrHlaHandle, ParameterHandleNodeMap > InterClassParamHandleNodeMap
Definition: lgrHlaInteractionTableFactory.h:86
Definition: hlaPacket.h:75
InterClassParamHandleNodeMap myInterClassParamNodeMap
Definition: lgrHlaInteractionTableFactory.h:109
Contains MAKLogger::DtLgrHlaHandle typedef and MAKLogger::DtLgrValueReference and MAKLogger::DtLgrVal...
A table is simply a table name and a list of column entries (DtDatabaseColumn).
Definition: databaseTable.h:23
DtString myTableBuffer
Definition: lgrHlaInteractionTableFactory.h:108
Base HLA table factory.
Definition: lgrHlaTableFactory.h:39
Represents a HLA 1516 Fom Interaction class descriptions.
Definition: baseIntDesc1516.h:33
Contains DtLgrHlaTableFactory class.
std::shared_ptr< DtDatabaseTable > DtDatabaseTableSP
Definition: databaseTable.h:112
Contains MAKLogger.

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)