MAK Data Logger API Documentation for DIS
 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 
37  class DT_DLL_SQLEXPORTER DtLgrHlaObjectTableFactory : public DtLgrHlaTableFactory
38  {
39  public:
40 
42  DtLgrHlaObjectTableFactory(DtOMTTree* omtTree,DtDatatypeManager* datatypeManager);
43 
45  virtual ~DtLgrHlaObjectTableFactory();
46 
47  private:
49  DtLgrHlaObjectTableFactory(const DtLgrHlaObjectTableFactory&);
50  DtLgrHlaObjectTableFactory& operator=(const DtLgrHlaObjectTableFactory&);
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:
120  DtString myTableBuffer;
121 
122  DtDatabaseTableSP myObjectInstanceTable;
123  DtDatabaseColumn* myObjectNameColumn;
124  DtDatabaseColumn* myObjectHandleColumn;
125  DtDatabaseColumn* myObjectClassNameColumn;
126  DtDatabaseColumn* myObjectClassHandleColumn;
127  DtDatabaseColumn* myObjectDiscoveryTimeColumn;
128  DtDatabaseColumn* myObjectRemovalTimeColumn;
129 
130  ObjClassAttrHandleNodeMap myObjClassAttrNodeMap;
131  std::vector<DtString> myRemovalColumns;
132  DtString myRemovalCondition;
133 
134  };
135 
136 }
137 
138 #endif
139 #endif
Represents an attribute inside a object class.
Definition: attributeFedNode.h:25
Definition: databaseColumn.h:26
#define DT_DLL_SQLEXPORTER
Definition: lgrSqlExporter.h:19
This class handles the conversion between a byte stream and an English readable view of the data in a...
Definition: datatypeManager.h:41
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
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
Contains DtLgrHlaTableFactory class.
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
Contains MAKLogger.

Document ID: Generated on Thu Jul 14 15:45:33 EDT 2022 from SVN revision 244827
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)