metric.hpp (8069771c0db62887b72aa2b8c51cd64eb5f99b2d) metric.hpp (7e098e93ef0974739459d296f99ddfab54722c23)
1#pragma once
2
3#include "interfaces/clock.hpp"
4#include "interfaces/metric.hpp"
5#include "interfaces/sensor.hpp"
6#include "interfaces/sensor_listener.hpp"
7
8class Metric :
9 public interfaces::Metric,
10 public interfaces::SensorListener,
11 public std::enable_shared_from_this<Metric>
12{
13 public:
14 Metric(Sensors sensors, OperationType operationType, std::string id,
15 std::string metadata, CollectionTimeScope, CollectionDuration,
16 std::unique_ptr<interfaces::Clock>);
17 ~Metric();
18
19 void initialize() override;
1#pragma once
2
3#include "interfaces/clock.hpp"
4#include "interfaces/metric.hpp"
5#include "interfaces/sensor.hpp"
6#include "interfaces/sensor_listener.hpp"
7
8class Metric :
9 public interfaces::Metric,
10 public interfaces::SensorListener,
11 public std::enable_shared_from_this<Metric>
12{
13 public:
14 Metric(Sensors sensors, OperationType operationType, std::string id,
15 std::string metadata, CollectionTimeScope, CollectionDuration,
16 std::unique_ptr<interfaces::Clock>);
17 ~Metric();
18
19 void initialize() override;
20 void deinitialize() override;
20 std::vector<MetricValue> getReadings() const override;
21 void sensorUpdated(interfaces::Sensor&, uint64_t) override;
22 void sensorUpdated(interfaces::Sensor&, uint64_t, double value) override;
23 LabeledMetricParameters dumpConfiguration() const override;
24
25 private:
26 class CollectionData;
27 class DataPoint;

--- 20 unchanged lines hidden ---
21 std::vector<MetricValue> getReadings() const override;
22 void sensorUpdated(interfaces::Sensor&, uint64_t) override;
23 void sensorUpdated(interfaces::Sensor&, uint64_t, double value) override;
24 LabeledMetricParameters dumpConfiguration() const override;
25
26 private:
27 class CollectionData;
28 class DataPoint;

--- 20 unchanged lines hidden ---