00001 #include "otsdaq-core/DataManager/DataConsumer.h"
00002
00003 #include "otsdaq-core/DataManager/DataManagerSingleton.h"
00004 #include "otsdaq-core/DataManager/DataManager.h"
00005 #include "otsdaq-core/ConfigurationInterface/ConfigurationManager.h"
00006
00007 using namespace ots;
00008
00009
00010 DataConsumer::DataConsumer(std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, ConsumerPriority priority)
00011 : WorkLoop (processorUID)
00012 , DataProcessor (supervisorApplicationUID, bufferUID, processorUID)
00013 , priority_ (priority)
00014
00015 {
00016 registerToBuffer();
00017 }
00018
00019
00020 DataConsumer::~DataConsumer(void)
00021 {
00022 }
00023
00024
00025 DataConsumer::ConsumerPriority DataConsumer::getPriority(void)
00026 {
00027 return priority_;
00028 }
00029
00030
00031 void DataConsumer::registerToBuffer(void)
00032 {
00033 std::cout << __COUT_HDR_FL__ << __PRETTY_FUNCTION__ << "\tConsumerID: " << processorUID_ << " is registering to DataManager pointer: " << DataManagerSingleton::getInstance(supervisorApplicationUID_) << std::endl;
00034 (DataManagerSingleton::getInstance(supervisorApplicationUID_))->registerConsumer(bufferUID_,this);
00035 }
00036
00037
00038 void DataConsumer::startProcessingData(std::string runNumber)
00039 {
00040 WorkLoop::startWorkLoop();
00041 }
00042
00043
00044 void DataConsumer::stopProcessingData(void)
00045 {
00046 WorkLoop::stopWorkLoop();
00047 }
00048
00049