MAK Data Logger API Documentation for DIS
lgrHlaInteractionTableFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef lgrHlaInteractionTableFactory_H_
10 #define lgrHlaInteractionTableFactory_H_
11 
12 #if DtHLA
13 
14 #include "lgrSqlExporter.h"
15 #include "lgrHlaTableFactory.h"
16 
17 class DtDatabaseTable;
18 class DtDatabaseColumn;
20 class DtOMTTree;
21 class DtStringTree;
22 class DtDatatypeManager;
23 
25 #include <vlutil/vlString.h>
26 #include <lgrHlaAttribute.h>
27 #include <map>
28 
29 namespace MAKLogger
30 {
31  class DtBaseInterClassDesc;
32  class DtConstLgrHlaMessage;
33 
36  class DT_DLL_SQLEXPORTER DtLgrHlaInteractionTableFactory : public DtLgrHlaTableFactory
37  {
38  public:
39 
41  DtLgrHlaInteractionTableFactory(DtOMTTree* omtTree,DtDatatypeManager* datatypeManager);
42 
44  virtual ~DtLgrHlaInteractionTableFactory();
45 
46  private:
48  DtLgrHlaInteractionTableFactory(const DtLgrHlaInteractionTableFactory&);
49  DtLgrHlaInteractionTableFactory& operator=(const DtLgrHlaInteractionTableFactory&);
51  public:
52 
57  virtual const DtString& getTableName(const DtBaseInterClassDesc& interClass);
58 
60  std::vector<DtDatabaseTableSP> createTables(
61  const DtBaseInterClassDesc& classDesc,
62  const DtInteractionClassFedNode& fedNode,
63  const DtConstLgrHlaMessage& hlaMessage );
64 
66  void updateTables( std::vector<DtDatabaseTableSP>& tables,
67  const DtBaseInterClassDesc& classDesc,
68  const DtInteractionClassFedNode& fedNode,
69  const DtConstLgrHlaMessage& hlaMessage);
70 
71  protected:
72 
73  typedef std::map<DtLgrHlaHandle,const DtParameterFedNode*> \
74  ParameterHandleNodeMap;
75 
76  typedef std::map<DtLgrHlaHandle,ParameterHandleNodeMap> \
77  InterClassParamHandleNodeMap;
78 
80  virtual void addDefaultColumns(DtDatabaseTable& table,
81  const DtConstLgrHlaMessage& hlaMessage);
82 
84  virtual void updateDefaultColumns(DtDatabaseTable& table,
85  const DtConstLgrHlaMessage& hlaMessage);
86 
88  const DtParameterFedNode* getParamNode(
89  const DtBaseInterClassDesc& classDesc,
90  DtLgrHlaHandle paramHandle,
91  const DtInteractionClassFedNode& fedNode );
92 
93  DtDatabaseTableSP createSubTable( const DtDatabaseTable& primaryTable,
94  const DtString& subName, std::vector<DtDatabaseTableSP> &tables );
95 
96  void updateSubTableDefaultColumns( const DtDatabaseTable& primaryTable,
97  DtDatabaseTable& currentTable,
98  const DtConstLgrHlaMessage& hlaMessage);
99 
100  DtDatabaseColumn* myUniqueIdentifierColumn;
101  DtDatabaseColumn* myTimestampColumn;
102  DtDatabaseColumn* myParentEntryIdColumn;
103 
104  DtDatabaseColumn* myTagColumn;
105  DtString myTableBuffer;
106  InterClassParamHandleNodeMap myInterClassParamNodeMap;
107  };
108 
109 }
110 
111 #endif
112 
113 #endif

Document ID: Generated on Thu Apr 11 12:13:00 EDT 2013 from SVN revision 126011
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)