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