00001 #include "otsdaq-core/ConfigurationPluginDataFormats/DataDecoderConsumerConfiguration.h"
00002 #include "otsdaq-core/Macros/ConfigurationPluginMacros.h"
00003
00004 #include <iostream>
00005
00006 using namespace ots;
00007
00008
00009 DataDecoderConsumerConfiguration::DataDecoderConsumerConfiguration(void)
00010 : ConfigurationBase("DataDecoderConsumerConfiguration")
00011 {
00013
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 }
00026
00027
00028 DataDecoderConsumerConfiguration::~DataDecoderConsumerConfiguration(void)
00029 {}
00030
00031
00032 void DataDecoderConsumerConfiguration::init(ConfigurationManager *configManager)
00033 {
00034 std::string processorUID;
00035 for(unsigned int row = 0; row < ConfigurationBase::activeConfigurationView_->getNumberOfRows(); row++)
00036 {
00037 ConfigurationBase::activeConfigurationView_->getValue(processorUID, row, ProcessorID);
00038 processorIDToRowMap_[processorUID] = row;
00039 }
00040 }
00041
00042
00043 std::vector<std::string> DataDecoderConsumerConfiguration::getProcessorIDList(void) const
00044 {
00045 std::vector<std::string> list;
00046 for(auto& it: processorIDToRowMap_)
00047 list.push_back(it.first);
00048 return list;
00049 }
00050
00051
00052
00053 void DataDecoderConsumerConfiguration::check(std::string processorUID) const
00054 {
00055 if(processorIDToRowMap_.find(processorUID) == processorIDToRowMap_.end())
00056 {
00057 mf::LogError(__FILE__) << "Couldn't find processor " << processorUID << " in the UDPDataStreamerConsumerConfiguration!" << std::endl;
00058 assert(0);
00059 }
00060 }
00061
00062 DEFINE_OTS_CONFIGURATION(DataDecoderConsumerConfiguration)