$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #include <iostream> 00002 #include "otsdaq-core/ConfigurationPluginDataFormats/DataDecoderConsumerTable.h" 00003 #include "otsdaq-coreMacros/TablePluginMacros.h" 00004 00005 using namespace ots; 00006 00007 //============================================================================== 00008 DataDecoderConsumerConfiguration::DataDecoderConsumerConfiguration(void) 00009 : TableBase("DataDecoderConsumerConfiguration") 00010 { 00012 // WARNING: the names and the order MUST match the ones in the enum // 00014 // <?xml version="1.0" encoding="UTF-8" standalone="no" ?> 00015 // <ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 00016 // xsi:noNamespaceSchemaLocation="TableInfo.xsd"> <CONFIGURATION 00017 // Name="DataDecoderConsumerConfiguration"> <VIEW 00018 // Name="DATA_DECODER_CONSUMER_CONFIGURATION" Type="File,Database,DatabaseTest"> 00019 // <COLUMN Name="ProcessorID" StorageName="PROCESSOR_ID" 00020 // DataType="VARCHAR2"/> 00021 // </VIEW> 00022 // </CONFIGURATION> 00023 // </ROOT> 00024 } 00025 00026 //============================================================================== 00027 DataDecoderConsumerConfiguration::~DataDecoderConsumerConfiguration(void) {} 00028 00029 //============================================================================== 00030 void DataDecoderConsumerConfiguration::init(ConfigurationManager* configManager) 00031 { 00032 std::string processorUID; 00033 for(unsigned int row = 0; row < TableBase::activeTableView_->getNumberOfRows(); row++) 00034 { 00035 TableBase::activeTableView_->getValue(processorUID, row, ProcessorID); 00036 processorIDToRowMap_[processorUID] = row; 00037 } 00038 } 00039 00040 //============================================================================== 00041 std::vector<std::string> DataDecoderConsumerConfiguration::getProcessorIDList(void) const 00042 { 00043 std::vector<std::string> list; 00044 for(auto& it : processorIDToRowMap_) 00045 list.push_back(it.first); 00046 return list; 00047 } 00048 00049 //============================================================================== 00050 void DataDecoderConsumerConfiguration::check(std::string processorUID) const 00051 { 00052 if(processorIDToRowMap_.find(processorUID) == processorIDToRowMap_.end()) 00053 { 00054 __MOUT_ERROR__ << "Couldn't find processor " << processorUID 00055 << " in the UDPDataStreamerConsumerConfiguration!" << std::endl; 00056 assert(0); 00057 } 00058 } 00059 00060 DEFINE_OTS_CONFIGURATION(DataDecoderConsumerConfiguration)