@@ -49,35 +49,25 @@ printVectorVariant(const FieldDescriptor& field, const VectorValueGetter& varian
4949
5050void TextOutputPlugin::processRecord (FlowRecordUniquePtr& flowRecord)
5151{
52- auto outputFields = m_fieldManager.getBiflowFields ();
53- auto fn = [&](ProcessPlugin* processPlugin) {
54- // const void* pluginExportData = processPlugin->getExportData();
55- const void * pluginExportData = flowRecord->getPluginContext (0 );
56-
57- for (const auto & outputField : outputFields) {
58- if (!outputField.isInRecord (*flowRecord.get ())) {
59- continue ;
60- }
61-
62- const auto & getter = outputField.getValueGetter ();
63-
64- std::visit (
65- [&](const auto & variant) {
66- using GetterT = std::decay_t <decltype (variant)>;
67- if constexpr (std::is_same_v<GetterT, ScalarValueGetter>) {
68- printScalarVariant (outputField, variant, pluginExportData);
69- } else if constexpr (std::is_same_v<GetterT, VectorValueGetter>) {
70- printVectorVariant (outputField, variant, pluginExportData);
71- }
72- },
73- getter);
52+ std::ranges::for_each (m_fieldManager.getBiflowFields (), [&](const FieldDescriptor& fieldDescriptor) {
53+ if (!fieldDescriptor.isInRecord (*flowRecord.get ())) {
54+ return ;
7455 }
75- };
7656
77- for (const auto & pluginEntry : m_plugins) {
78- std::cout << " Processing " << pluginEntry.name << " \n " ;
79- fn (reinterpret_cast <ProcessPlugin*>(pluginEntry.plugin .get ()));
80- }
57+ const void * pluginExportData = flowRecord->getPluginContext (fieldDescriptor.getBitIndex ());
58+
59+ const auto & getter = fieldDescriptor.getValueGetter ();
60+ std::visit (
61+ [&](const auto & variant) {
62+ using GetterT = std::decay_t <decltype (variant)>;
63+ if constexpr (std::is_same_v<GetterT, ScalarValueGetter>) {
64+ printScalarVariant (fieldDescriptor, variant, pluginExportData);
65+ } else if constexpr (std::is_same_v<GetterT, VectorValueGetter>) {
66+ printVectorVariant (fieldDescriptor, variant, pluginExportData);
67+ }
68+ },
69+ getter);
70+ });
8171}
8272
8373} // namespace ipxp
0 commit comments