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*> \
96 
97  typedef std::map<MAKLogger::DtLgrHlaHandle,AttributeHandleNodeMap> \
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

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)