1dcc4e193SKrzysztof Grobelny #include "report_types.hpp"
2dcc4e193SKrzysztof Grobelny 
3dcc4e193SKrzysztof Grobelny #include "utils/transform.hpp"
4dcc4e193SKrzysztof Grobelny 
5dcc4e193SKrzysztof Grobelny ReadingParameters
toReadingParameters(const std::vector<LabeledMetricParameters> & labeled)6dcc4e193SKrzysztof Grobelny     toReadingParameters(const std::vector<LabeledMetricParameters>& labeled)
7dcc4e193SKrzysztof Grobelny {
8dcc4e193SKrzysztof Grobelny     namespace ts = utils::tstring;
9dcc4e193SKrzysztof Grobelny 
103a1c297aSPatrick Williams     return utils::transform(labeled,
113a1c297aSPatrick Williams                             [](const LabeledMetricParameters& metricParams) {
12dcc4e193SKrzysztof Grobelny         return ReadingParameters::value_type(
13*c7935fa1SPatrick Williams             utils::transform(metricParams.at_label<ts::SensorPath>(),
1494f71c51SSzymon Dompke                              [](const LabeledSensorInfo& sensorParameters) {
153a1c297aSPatrick Williams             return std::tuple<sdbusplus::message::object_path, std::string>(
16b8cc78ddSKrzysztof Grobelny                 sensorParameters.at_label<ts::Path>(),
17b8cc78ddSKrzysztof Grobelny                 sensorParameters.at_label<ts::Metadata>());
18dcc4e193SKrzysztof Grobelny         }),
19dcc4e193SKrzysztof Grobelny             utils::enumToString(metricParams.at_label<ts::OperationType>()),
20dcc4e193SKrzysztof Grobelny             utils::enumToString(
21dcc4e193SKrzysztof Grobelny                 metricParams.at_label<ts::CollectionTimeScope>()),
22dcc4e193SKrzysztof Grobelny             metricParams.at_label<ts::CollectionDuration>().t.count());
23dcc4e193SKrzysztof Grobelny     });
24dcc4e193SKrzysztof Grobelny }
25