From 86445bac8e7f7ef37156caad6fe13d10e741bbac Mon Sep 17 00:00:00 2001
From: Rainer Kartmann <rainer.kartmann@kit.edu>
Date: Tue, 22 Mar 2022 14:11:24 +0100
Subject: [PATCH] Use armarx::{DateTime, Duration} as armem::{Time, Duration}

---
 source/RobotAPI/libraries/armem/core/Time.cpp          | 10 +++++-----
 source/RobotAPI/libraries/armem/core/Time.h            |  7 ++++---
 .../libraries/armem/core/forward_declarations.h        |  7 +++----
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/source/RobotAPI/libraries/armem/core/Time.cpp b/source/RobotAPI/libraries/armem/core/Time.cpp
index 25bd9a8dc..a8c816dca 100644
--- a/source/RobotAPI/libraries/armem/core/Time.cpp
+++ b/source/RobotAPI/libraries/armem/core/Time.cpp
@@ -11,12 +11,12 @@ namespace armarx
     std::string armem::toStringMilliSeconds(const Time& time, int decimals)
     {
         std::stringstream ss;
-        ss << time.toMilliSeconds();
+        ss << time.toMicroSecondsSinceEpoch();
         if (decimals > 0)
         {
             int div = int(std::pow(10, 3 - decimals));
             ss << "." << std::setfill('0') << std::setw(decimals)
-               << (time.toMicroSeconds() % 1000) / div;
+               << (time.toMicroSecondsSinceEpoch() % 1000) / div;
         }
         ss << " ms";
         return ss.str();
@@ -27,7 +27,7 @@ namespace armarx
     {
         static const char* mu = "\u03BC";
         std::stringstream ss;
-        ss << time.toMicroSeconds() << " " << mu << "s";
+        ss << time.toMicroSecondsSinceEpoch() << " " << mu << "s";
         return ss.str();
     }
 
@@ -40,7 +40,7 @@ namespace armarx
         {
             int div = int(std::pow(10, 6 - decimals));
             ss << "." << std::setfill('0') << std::setw(decimals)
-               << (time.toMicroSeconds() % int(1e6)) / div;
+               << (time.toMicroSecondsSinceEpoch() % int(1e6)) / div;
         }
 
         return ss.str();
@@ -49,7 +49,7 @@ namespace armarx
 
     armem::Time armem::timeFromStringMicroSeconds(const std::string& microSeconds)
     {
-        return Time::microSeconds(std::stol(microSeconds));
+        return Time(Duration::MicroSeconds(std::stol(microSeconds)), ClockType::Virtual);
     }
 
 }
diff --git a/source/RobotAPI/libraries/armem/core/Time.h b/source/RobotAPI/libraries/armem/core/Time.h
index f76f7657d..b4e100e91 100644
--- a/source/RobotAPI/libraries/armem/core/Time.h
+++ b/source/RobotAPI/libraries/armem/core/Time.h
@@ -2,13 +2,14 @@
 
 #include <string>
 
-#include <IceUtil/Time.h>
+#include <ArmarXCore/core/time/DateTime.h>
+#include <ArmarXCore/core/time/Duration.h>
+
+#include "forward_declarations.h"
 
 
 namespace armarx::armem
 {
-    using Time = IceUtil::Time;
-    using Duration = IceUtil::Time;
 
     /**
      * @brief Returns `time` as e.g. "123456789.012 ms".
diff --git a/source/RobotAPI/libraries/armem/core/forward_declarations.h b/source/RobotAPI/libraries/armem/core/forward_declarations.h
index 04cfbfae2..9a2bbf881 100644
--- a/source/RobotAPI/libraries/armem/core/forward_declarations.h
+++ b/source/RobotAPI/libraries/armem/core/forward_declarations.h
@@ -1,15 +1,14 @@
 #pragma once
 
+#include <ArmarXCore/core/time/forward_declarations.h>
 
-namespace IceUtil
 {
-    class Time;
 }
 
 namespace armarx::armem
 {
-    using Time = IceUtil::Time;
-    using Duration = IceUtil::Time;
+    using Time = armarx::core::time::DateTime;
+    using Duration = armarx::core::time::Duration;
 
     class MemoryID;
     class Commit;
-- 
GitLab