Fixed issue with wrong timestamp

Telemetry service used steady_clock for generating timestamps, but it
produced incorrect time. This change makes telemetry service use
steady_clock for intervals and system_clock for timestamps.

Changed readings timestamp to display current timestamp instead of a
time when reading was received.

Tested:
- correct timestamp is visible on dbus
- other telemetry service features are still working

Change-Id: Ic49f45640532cfffaeff5e0bd5591e6d99e5def5
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
diff --git a/src/interfaces/clock.hpp b/src/interfaces/clock.hpp
index 0c355b7..b37ff3a 100644
--- a/src/interfaces/clock.hpp
+++ b/src/interfaces/clock.hpp
@@ -1,5 +1,7 @@
 #pragma once
 
+#include "types/duration_types.hpp"
+
 #include <chrono>
 
 namespace interfaces
@@ -8,15 +10,10 @@
 class Clock
 {
   public:
-    using duration = std::chrono::steady_clock::time_point::duration;
-    using rep = std::chrono::steady_clock::time_point::rep;
-    using period = std::chrono::steady_clock::time_point::period;
-    using time_point = std::chrono::steady_clock::time_point;
-
     virtual ~Clock() = default;
 
-    virtual time_point now() const noexcept = 0;
-    virtual uint64_t timestamp() const noexcept = 0;
+    virtual Milliseconds steadyTimestamp() const noexcept = 0;
+    virtual Milliseconds systemTimestamp() const noexcept = 0;
 };
 
 } // namespace interfaces
diff --git a/src/interfaces/sensor_listener.hpp b/src/interfaces/sensor_listener.hpp
index 9406da6..a47c8d4 100644
--- a/src/interfaces/sensor_listener.hpp
+++ b/src/interfaces/sensor_listener.hpp
@@ -1,5 +1,7 @@
 #pragma once
 
+#include "types/duration_types.hpp"
+
 #include <cstdint>
 #include <optional>
 
@@ -13,8 +15,8 @@
   public:
     virtual ~SensorListener() = default;
 
-    virtual void sensorUpdated(interfaces::Sensor&, uint64_t) = 0;
-    virtual void sensorUpdated(interfaces::Sensor&, uint64_t, double) = 0;
+    virtual void sensorUpdated(interfaces::Sensor&, Milliseconds) = 0;
+    virtual void sensorUpdated(interfaces::Sensor&, Milliseconds, double) = 0;
 };
 
 } // namespace interfaces
diff --git a/src/interfaces/trigger_action.hpp b/src/interfaces/trigger_action.hpp
index d21f238..437a79f 100644
--- a/src/interfaces/trigger_action.hpp
+++ b/src/interfaces/trigger_action.hpp
@@ -1,5 +1,7 @@
 #pragma once
 
+#include "types/duration_types.hpp"
+
 #include <cstdint>
 #include <string>
 
@@ -11,7 +13,7 @@
   public:
     virtual ~TriggerAction() = default;
 
-    virtual void commit(const std::string& id, uint64_t timestamp,
+    virtual void commit(const std::string& id, Milliseconds timestamp,
                         double value) = 0;
 };
 } // namespace interfaces