30{
32 if (datatypes.size() != 1) {
34 "Multiple output data types specified! Expected only a single type!"));
35 }
36 std::string raw_dt{ *datatypes.begin() };
37 TLOG() <<
"Choosing specializations for SourceModel for output connection "
38 << " [uid:" << conn_uid << " , data_type:" << raw_dt << ']';
39
40 if (raw_dt.find("CRTBernFrame") != std::string::npos) {
41 auto source_model = std::make_shared<SourceModel<fdreadoutlibs::types::CRTBernTypeAdapter>>();
42 source_model->set_sink_name(conn_uid);
43 source_model->set_sink(conn_uid, callback_mode);
44 return source_model;
45 } else if (raw_dt.find("CRTGrenobleFrame") != std::string::npos) {
46 auto source_model = std::make_shared<SourceModel<fdreadoutlibs::types::CRTGrenobleTypeAdapter>>();
47 source_model->set_sink_name(conn_uid);
48 source_model->set_sink(conn_uid, callback_mode);
49 return source_model;
50 }
51
52 return nullptr;
53}
static std::shared_ptr< IOManager > get()
void error(const Issue &issue)