MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrHlaObjectTableFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #if DtHLA
10 #ifndef lgrHlaObjectTableFactory_H_
11 #define lgrHlaObjectTableFactory_H_
12 
16 
17 #include <vlutil/vlString.h>
18 #include <vector>
19 #include <lgrSim/lgrHlaAttribute.h>
20 
21 class DtAttributeFedNode;
22 class DtDatatypeManager;
23 class DtDatabaseColumn;
24 class DtOMTTree;
26 class DtStringTree;
28 
29 namespace MAKLogger
30 {
31  class DtBaseObjClassDesc;
32  class DtBaseParamDesc;
33  class DtConstLgrHlaMessage;
34 
38  {
39  public:
40 
42  DtLgrHlaObjectTableFactory(DtOMTTree* omtTree,DtDatatypeManager* datatypeManager);
43 
45  virtual ~DtLgrHlaObjectTableFactory();
46 
47  private:
52  public:
53 
55  DtDatabaseTable& createObjectInstanceTable();
56 
61  virtual const DtString& getTableName(const MAKLogger::DtBaseObjClassDesc& objClass);
62 
64  std::vector<DtDatabaseTableSP> createTables(
65  const MAKLogger::DtBaseObjClassDesc& classDesc,
66  const DtObjectClassFedNode& fedNode,
67  const MAKLogger::DtConstLgrHlaMessage& hlaMessage);
68 
69 
71  DtDatabaseTableSP createSubTable( const DtDatabaseTable& primaryTable,
72  const DtString& attrNode, std::vector<DtDatabaseTableSP> &tables);
73 
75  void updateTables( std::vector<DtDatabaseTableSP>& tables,
76  const MAKLogger::DtBaseObjClassDesc& classDesc,
77  const DtObjectClassFedNode& fedNode,
78  const MAKLogger::DtConstLgrHlaMessage& hlaMessage);
79 
81  DtDatabaseTable& addObjectInstance(const MAKLogger::DtBaseObjClassDesc& classDesc,
82  const MAKLogger::DtConstLgrHlaMessage& message);
83 
85  DtDatabaseTable& removeObjectInstance(
86  const MAKLogger::DtConstLgrHlaMessage& message,
87  const std::vector<DtString>*& removalColumns,
89  const DtString*& removalCondition );
90 
91 
92  protected:
93 
94  typedef std::map<MAKLogger::DtLgrHlaHandle,const DtAttributeFedNode*> \
95  AttributeHandleNodeMap;
96 
97  typedef std::map<MAKLogger::DtLgrHlaHandle,AttributeHandleNodeMap> \
98  ObjClassAttrHandleNodeMap;
99 
101  virtual void addDefaultColumns(DtDatabaseTable& table,
102  const MAKLogger::DtConstLgrHlaMessage& hlaMessage);
103 
105  virtual void updateDefaultColumns(DtDatabaseTable& table,
106  const MAKLogger::DtConstLgrHlaMessage& hlaMessage);
107 
109  virtual void updateSubTableDefaultColumns(const DtDatabaseTable& primaryTable,
110  DtDatabaseTable& currentTable,
111  const MAKLogger::DtConstLgrHlaMessage& hlaMessage);
112 
114  virtual const DtAttributeFedNode* getAttrNode(
115  const MAKLogger::DtBaseObjClassDesc &classDesc,
116  MAKLogger::DtLgrHlaHandle paramHandle,
117  const DtObjectClassFedNode& fedNode );
118 
119  protected:
121 
129 
131  std::vector<DtString> myRemovalColumns;
133 
134  };
135 
136 }
137 
138 #endif
139 #endif
DtString myTableBuffer
Definition: lgrHlaObjectTableFactory.h:120
Represents an attribute inside a object class.
Definition: attributeFedNode.h:25
DtU32 DtLgrHlaHandle
Logger Psuedo Handle type.
Definition: hlaTimeStampedAttr.h:22
std::map< MAKLogger::DtLgrHlaHandle, AttributeHandleNodeMap > ObjClassAttrHandleNodeMap
Definition: lgrHlaObjectTableFactory.h:98
Definition: databaseColumn.h:26
DtString myRemovalCondition
Definition: lgrHlaObjectTableFactory.h:132
#define DT_DLL_SQLEXPORTER
Definition: lgrSqlExporter.h:19
An Fom Object Class descriptions.
Definition: baseObjDesc1516.h:33
This class handles the conversion between a byte stream and an English readable view of the data in a...
Definition: datatypeManager.h:41
Class responsible for creating tables and encoding an interaction into that table.
Definition: lgrHlaObjectTableFactory.h:37
Definition: hlaPacket.h:75
Contains MAKLogger::DtLgrHlaHandle typedef and MAKLogger::DtLgrValueReference and MAKLogger::DtLgrVal...
DtDatabaseColumn * myObjectDiscoveryTimeColumn
Definition: lgrHlaObjectTableFactory.h:127
DtDatabaseColumn * myObjectClassNameColumn
Definition: lgrHlaObjectTableFactory.h:125
DtDatabaseColumn * myObjectHandleColumn
Definition: lgrHlaObjectTableFactory.h:124
A table is simply a table name and a list of column entries (DtDatabaseColumn).
Definition: databaseTable.h:23
defines an object class inside our Fed Tree
Definition: objectClassFedNode.h:30
Basically a struct with a destructor, a string tree is a collection of indexed strings used to hold m...
Definition: stringTree.h:16
ObjClassAttrHandleNodeMap myObjClassAttrNodeMap
Definition: lgrHlaObjectTableFactory.h:130
DtDatabaseColumn * myObjectNameColumn
Definition: lgrHlaObjectTableFactory.h:123
Base HLA table factory.
Definition: lgrHlaTableFactory.h:39
Contains DtLgrHlaTableFactory class.
DtDatabaseColumn * myObjectRemovalTimeColumn
Definition: lgrHlaObjectTableFactory.h:128
A tree using the an OMT File information.
Definition: omtTree.h:58
DtBoost::shared_ptr< DtDatabaseTable > DtDatabaseTableSP
Definition: databaseTable.h:112
Contains DtDatabaseTable.
DtDatabaseInterface is an interface object accessing and modifying a database.
Definition: databaseInterface.h:29
std::vector< DtString > myRemovalColumns
Definition: lgrHlaObjectTableFactory.h:131
DtDatabaseColumn * myObjectClassHandleColumn
Definition: lgrHlaObjectTableFactory.h:126
Contains MAKLogger.
DtDatabaseTableSP myObjectInstanceTable
Definition: lgrHlaObjectTableFactory.h:122

Document ID: Generated on Mon Mar 22 15:30:17 EDT 2021 from SVN revision 226440
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)