otsdaq  v2_04_01
ModuleToFEConfiguration_configuration.cc
1 #include <iostream>
2 #include "otsdaq-core/ConfigurationPluginDataFormats/ModuleToFETable.h"
3 #include "otsdaq-coreMacros/TablePluginMacros.h"
4 
5 using namespace ots;
6 
7 //==============================================================================
8 ModuleToFEConfiguration::ModuleToFEConfiguration(void)
9  : TableBase("ModuleToFEConfiguration")
10 {
12  // WARNING: the names and the order MUST match the ones in the enum //
14  // ModuleToFEConfigurationInfo.xml
15  //<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
16  //<ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
17  // xsi:noNamespaceSchemaLocation="TableInfo.xsd">
18  // <CONFIGURATION Name="ModuleToFEConfiguration">
19  // <VIEW Name="MODULE_TO_FE_CONFIGURATION" Type="File,Database,DatabaseTest">
20  // <COLUMN Name="ModuleName" StorageName="MODULE_NAME" DataType="VARCHAR2" />
21  // <COLUMN Name="ModuleType" StorageName="MODULE_TYPE" DataType="VARCHAR2" />
22  // <COLUMN Name="FEWName" StorageName="FEW_NAME" DataType="NUMBER" />
23  // <COLUMN Name="FEWType" StorageName="FEW_TYPE" DataType="VARCHAR2" />
24  // <COLUMN Name="FERName" StorageName="FER_NAME" DataType="NUMBER" />
25  // <COLUMN Name="FERType" StorageName="FER_TYPE" DataType="VARCHAR2" />
26  // </VIEW>
27  // </CONFIGURATION>
28  //</ROOT>
29 }
30 
31 //==============================================================================
32 ModuleToFEConfiguration::~ModuleToFEConfiguration(void) {}
33 
34 //==============================================================================
35 void ModuleToFEConfiguration::init(ConfigurationManager* configManager)
36 {
37  /*
38 std::string enumValue1;
39  unsigned int enumValue2;
40  for(unsigned int row=0; row<TableBase::activeTableView_->getNumberOfRows(); row++)
41  {
42  TableBase::activeTableView_->getValue(enumValue1,row,Enum1);
43  TableBase::activeTableView_->getValue(enumValue2,row,Enum2);
44  }
45  */
46 }
47 
48 //==============================================================================
49 std::list<std::string> ModuleToFEConfiguration::getFEWModulesList(
50  unsigned int FEWNumber) const
51 {
52  std::string moduleName;
53  unsigned int tmpFEW;
54  std::list<std::string> list;
55  for(unsigned int row = 0; row < TableBase::activeTableView_->getNumberOfRows(); row++)
56  {
57  TableBase::activeTableView_->getValue(tmpFEW, row, FEWName);
58  if(tmpFEW == FEWNumber)
59  {
60  TableBase::activeTableView_->getValue(moduleName, row, ModuleName);
61  list.push_back(moduleName);
62  }
63  }
64  return list;
65 }
66 
67 //==============================================================================
68 std::list<std::string> ModuleToFEConfiguration::getFERModulesList(
69  unsigned int FERNumber) const
70 {
71  std::string moduleName;
72  unsigned int tmpFER;
73  std::list<std::string> list;
74  for(unsigned int row = 0; row < TableBase::activeTableView_->getNumberOfRows(); row++)
75  {
76  TableBase::activeTableView_->getValue(tmpFER, row, FERName);
77  if(tmpFER == FERNumber)
78  {
79  TableBase::activeTableView_->getValue(moduleName, row, ModuleName);
80  list.push_back(moduleName);
81  }
82  }
83  return list;
84 }
85 
86 DEFINE_OTS_CONFIGURATION(ModuleToFEConfiguration)