otsdaq  v1_01_02
 All Classes Namespaces Functions
UDPDataListenerProducerConfiguration_configuration.cc
1 #include "otsdaq-core/ConfigurationPluginDataFormats/UDPDataListenerProducerConfiguration.h"
2 #include "otsdaq-core/Macros/ConfigurationPluginMacros.h"
3 
4 #include <iostream>
5 
6 using namespace ots;
7 
8 //==============================================================================
9 UDPDataListenerProducerConfiguration::UDPDataListenerProducerConfiguration(void)
10 : ConfigurationBase("UDPDataListenerProducerConfiguration")
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="UDPDataListenerProducerConfiguration">
18  // <VIEW Name="UDP_DATA_LISTENER_PRODUCER_CONFIGURATION" Type="File,Database,DatabaseTest">
19  // <COLUMN Name="ProcessorID" StorageName="PROCESSOR_ID" DataType="VARCHAR2"/>
20  // <COLUMN Name="BufferSize" StorageName="BUFFER_SIZE" DataType="NUMBER" />
21  // <COLUMN Name="IPAddress" StorageName="IP_ADDRESS" DataType="VARCHAR2"/>
22  // <COLUMN Name="Port" StorageName="PORT" DataType="NUMBER" />
23  // </VIEW>
24  // </CONFIGURATION>
25  // </ROOT>
26 
27 
28 }
29 
30 //==============================================================================
31 UDPDataListenerProducerConfiguration::~UDPDataListenerProducerConfiguration(void)
32 {}
33 
34 //==============================================================================
35 void UDPDataListenerProducerConfiguration::init(ConfigurationManager *configManager)
36 {
37  std::string processorUID;
38  for(unsigned int row = 0; row < ConfigurationBase::activeConfigurationView_->getNumberOfRows(); row++)
39  {
40  ConfigurationBase::activeConfigurationView_->getValue(processorUID, row, ProcessorID);
41  processorIDToRowMap_[processorUID] = row;
42  }
43 }
44 
45 //==============================================================================
46 unsigned int UDPDataListenerProducerConfiguration::getBufferSize(std::string processorUID) const
47 {
48  check(processorUID);
49  unsigned int val;
50  ConfigurationBase::activeConfigurationView_->getValue(val, processorIDToRowMap_.find(processorUID)->second, BufferSize);
51  return val;
52 }
53 
54 //==============================================================================
55 std::string UDPDataListenerProducerConfiguration::getIPAddress(std::string processorUID) const
56 {
57  check(processorUID);
58  std::string val;
59  ConfigurationBase::activeConfigurationView_->getValue(val, processorIDToRowMap_.find(processorUID)->second, IPAddress);
60  return val;
61 }
62 
63 //==============================================================================
64 unsigned int UDPDataListenerProducerConfiguration::getPort(std::string processorUID) const
65 {
66  check(processorUID);
67  unsigned int val;
68  ConfigurationBase::activeConfigurationView_->getValue(val, processorIDToRowMap_.find(processorUID)->second, Port);
69  return val;
70 }
71 
72 //==============================================================================
73 void UDPDataListenerProducerConfiguration::check(std::string processorUID) const
74 {
75  if(processorIDToRowMap_.find(processorUID) == processorIDToRowMap_.end())
76  {
77  std::cout << __COUT_HDR_FL__ << "Couldn't find processor " << processorUID << " in the UDPDataStreamerConsumerConfiguration!" << std::endl;
78  assert(0);
79  }
80 }
81 
82 DEFINE_OTS_CONFIGURATION(UDPDataListenerProducerConfiguration)