1 #include "mfextensions/Binaries/ReceiverManager.hh"
3 #include "mfextensions/Receivers/makeMVReceiver.hh"
4 #include "fhiclcpp/ParameterSet.h"
7 mfviewer::ReceiverManager::ReceiverManager(fhicl::ParameterSet pset)
9 qRegisterMetaType<mf::MessageFacilityMsg>(
"mf::MessageFacilityMsg");
10 std::vector<std::string> names = pset.get_pset_names();
11 for (
auto name : names)
13 std::string pluginType =
"unknown";
16 fhicl::ParameterSet plugin_pset = pset.get<fhicl::ParameterSet>(name);
17 pluginType = plugin_pset.get<std::string>(
"receiverType",
"unknown");
18 std::unique_ptr<mfviewer::MVReceiver> rcvr = makeMVReceiver(pluginType, plugin_pset);
19 connect(rcvr.get(), SIGNAL(NewMessage(mf::MessageFacilityMsg
const &)),
20 this, SLOT(onNewMessage(mf::MessageFacilityMsg
const &)));
21 receivers_.push_back(std::move(rcvr));
25 std::cerr <<
"ReceiverManager: Unable to load receiver plugin with name " << name <<
" and plugin type " << pluginType << std::endl;
30 mfviewer::ReceiverManager::~ReceiverManager()
33 for (
auto& i : receivers_)
37 void mfviewer::ReceiverManager::stop()
39 for (
auto& receiver : receivers_)
43 for (
auto& receiver : receivers_)
49 void mfviewer::ReceiverManager::start()
51 for (
auto& receiver : receivers_)
57 void mfviewer::ReceiverManager::onNewMessage(mf::MessageFacilityMsg
const& mfmsg)
59 emit newMessage(mfmsg);