$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef ots_DataBufferConfiguration_h 00002 #define ots_DataBufferConfiguration_h 00003 00004 #include <map> 00005 #include <string> 00006 #include <vector> 00007 00008 #include "otsdaq-coreTableCore/TableBase.h" 00009 00010 namespace ots 00011 { 00012 class DataBufferConfiguration : public TableBase 00013 { 00014 public: 00015 DataBufferConfiguration(void); 00016 virtual ~DataBufferConfiguration(void); 00017 00018 // Methods 00019 void init(ConfigurationManager* configManager); 00020 00021 // Getter 00022 std::vector<std::string> getProcessorIDList(std::string dataBufferID) const; 00023 00024 std::vector<std::string> getProducerIDList(std::string dataBufferID) const; 00025 bool getProducerStatus(std::string dataBufferID, std::string producerID) const; 00026 std::string getProducerClass(std::string dataBufferID, std::string producerID) const; 00027 00028 std::vector<std::string> getConsumerIDList(std::string dataBufferID) const; 00029 bool getConsumerStatus(std::string dataBufferID, std::string consumerID) const; 00030 std::string getConsumerClass(std::string dataBufferID, std::string consumerID) const; 00031 00032 private: 00033 enum 00034 { 00035 UniqueID, 00036 DataBufferID, 00037 ProcessorID, 00038 ProcessorType, 00039 ProcessorClass, 00040 ProcessorStatus 00041 }; 00042 00043 struct Info 00044 { 00045 std::string class_; 00046 bool status_; 00047 }; 00048 00049 struct BufferProcessors 00050 { 00051 std::map<std::string, Info> producers_; 00052 std::map<std::string, Info> consumers_; 00053 std::map<std::string, Info> processors_; 00054 }; 00055 // DataBufferID, 00056 std::map<std::string, BufferProcessors> processorInfos_; 00057 }; 00058 } // namespace ots 00059 #endif