otsdaq  v2_03_00
UDPDataStreamerConsumerConfiguration_configuration.cc
1 #include <iostream>
2 #include "otsdaq-core/ConfigurationPluginDataFormats/UDPDataStreamerConsumerTable.h"
3 #include "otsdaq-coreMacros/TablePluginMacros.h"
4 
5 using namespace ots;
6 
7 //==============================================================================
8 UDPDataStreamerConsumerConfiguration::UDPDataStreamerConsumerConfiguration(void)
9  : TableBase("UDPDataStreamerConsumerConfiguration")
10 {
12  // WARNING: the names and the order MUST match the ones in the enum //
14  // <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
15  // <ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
16  // xsi:noNamespaceSchemaLocation="TableInfo.xsd"> <CONFIGURATION
17  // Name="UDPDataStreamerConsumerConfiguration"> <VIEW
18  // Name="UDP_DATA_LISTENER_PRODUCER_CONFIGURATION" Type="File,Database,DatabaseTest">
19  // <COLUMN Name="ProcessorID" StorageName="PROCESSOR_ID"
20  // DataType="VARCHAR2"/> <COLUMN Name="IPAddress"
21  // StorageName="IP_ADDRESS" DataType="VARCHAR2"/> <COLUMN
22  // Name="Port" StorageName="PORT" DataType="NUMBER" /> <COLUMN
23  // Name="StreamToIPAddress" StorageName="STREAM_TO_IP_ADDRESS" DataType="VARCHAR2"/>
24  // <COLUMN Name="StreamToPort" StorageName="STREAM_TO_PORT"
25  // DataType="NUMBER" />
26  // </VIEW>
27  // </CONFIGURATION>
28  // </ROOT>
29 }
30 
31 //==============================================================================
32 UDPDataStreamerConsumerConfiguration::~UDPDataStreamerConsumerConfiguration(void) {}
33 
34 //==============================================================================
35 void UDPDataStreamerConsumerConfiguration::init(ConfigurationManager* configManager)
36 {
37  std::string processorUID;
38  for(unsigned int row = 0; row < TableBase::activeTableView_->getNumberOfRows(); row++)
39  {
40  TableBase::activeTableView_->getValue(processorUID, row, ProcessorID);
41  processorIDToRowMap_[processorUID] = row;
42  }
43 }
44 
45 //==============================================================================
46 std::string UDPDataStreamerConsumerConfiguration::getIPAddress(
47  std::string processorUID) const
48 {
49  check(processorUID);
50  std::string val;
51  TableBase::activeTableView_->getValue(
52  val, processorIDToRowMap_.find(processorUID)->second, IPAddress);
53  return val;
54 }
55 
56 //==============================================================================
57 unsigned int UDPDataStreamerConsumerConfiguration::getPort(std::string processorUID) const
58 {
59  check(processorUID);
60  unsigned int val;
61  TableBase::activeTableView_->getValue(
62  val, processorIDToRowMap_.find(processorUID)->second, Port);
63  return val;
64 }
65 
66 //==============================================================================
67 std::string UDPDataStreamerConsumerConfiguration::getStreamToIPAddress(
68  std::string processorUID) const
69 {
70  check(processorUID);
71  std::string val;
72  TableBase::activeTableView_->getValue(
73  val, processorIDToRowMap_.find(processorUID)->second, StreamToIPAddress);
74  return val;
75 }
76 
77 //==============================================================================
78 unsigned int UDPDataStreamerConsumerConfiguration::getStreamToPort(
79  std::string processorUID) const
80 {
81  check(processorUID);
82  unsigned int val;
83  TableBase::activeTableView_->getValue(
84  val, processorIDToRowMap_.find(processorUID)->second, StreamToPort);
85  return val;
86 }
87 
88 //==============================================================================
89 void UDPDataStreamerConsumerConfiguration::check(std::string processorUID) const
90 {
91  if(processorIDToRowMap_.find(processorUID) == processorIDToRowMap_.end())
92  {
93  std::cout << __COUT_HDR_FL__ << "Couldn't find processor " << processorUID
94  << " in the UDPDataStreamerConsumerConfiguration!" << std::endl;
95  assert(0);
96  }
97 }
98 
99 DEFINE_OTS_CONFIGURATION(UDPDataStreamerConsumerConfiguration)