diff --git a/src/Moryx.AbstractionLayer/Activities/Activity.cs b/src/Moryx.AbstractionLayer/Activities/Activity.cs
index aaaec6ce6..875d3bd54 100644
--- a/src/Moryx.AbstractionLayer/Activities/Activity.cs
+++ b/src/Moryx.AbstractionLayer/Activities/Activity.cs
@@ -36,7 +36,7 @@ public abstract class Activity : IActivity
public IProcess Process { get; set; }
///
- public IActivityTracing Tracing { get; set; }
+ public Tracing Tracing { get; set; }
///
public ActivityResult Result { get; set; }
@@ -103,7 +103,7 @@ public override string ToString()
/// Type of the tracing object.
public abstract class Activity : Activity, IActivity
where TParam : IParameters
- where TTracing : IActivityTracing, new()
+ where TTracing : Tracing, new()
{
///
/// Creates a new instance of
diff --git a/src/Moryx.AbstractionLayer/Activities/IActivity.cs b/src/Moryx.AbstractionLayer/Activities/IActivity.cs
index 5ee957d3f..e8c749132 100644
--- a/src/Moryx.AbstractionLayer/Activities/IActivity.cs
+++ b/src/Moryx.AbstractionLayer/Activities/IActivity.cs
@@ -29,7 +29,7 @@ public interface IActivity : IDisposable
///
/// All activity trace information
///
- IActivityTracing Tracing { get; }
+ Tracing Tracing { get; }
///
/// Specifies the special process requirements of this type
diff --git a/src/Moryx.AbstractionLayer/Activities/IActivityProgress.cs b/src/Moryx.AbstractionLayer/Activities/IActivityProgress.cs
deleted file mode 100644
index 510c095ed..000000000
--- a/src/Moryx.AbstractionLayer/Activities/IActivityProgress.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) 2020, Phoenix Contact GmbH & Co. KG
-// Licensed under the Apache License, Version 2.0
-
-namespace Moryx.AbstractionLayer
-{
- ///
- /// Typed interface for the activity progress
- ///
- public interface IActivityProgress : IActivityTracing
- {
- ///
- /// Relative progress in per-cent as value between 0 and 100
- ///
- double Relative { get; }
- }
-}
diff --git a/src/Moryx.AbstractionLayer/Activities/IActivityTracing.cs b/src/Moryx.AbstractionLayer/Activities/IActivityTracing.cs
deleted file mode 100644
index f8e3fb54f..000000000
--- a/src/Moryx.AbstractionLayer/Activities/IActivityTracing.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (c) 2020, Phoenix Contact GmbH & Co. KG
-// Licensed under the Apache License, Version 2.0
-
-using System;
-
-namespace Moryx.AbstractionLayer
-{
- ///
- /// Interface for activity trace information
- ///
- public interface IActivityTracing
- {
- ///
- /// The time when this activity was started.
- ///
- DateTime? Started { get; set; }
-
- ///
- /// The time when this activity was finished.
- ///
- DateTime? Completed { get; set; }
-
- ///
- /// Contains the error code that is associated with the error that caused e.g. an activity failure
- ///
- int ErrorCode { get; set; }
-
- ///
- /// Optional tracing text for errors or information
- ///
- string Text { get; set; }
-
- ///
- /// Transform the current tracing type to the value of
- ///
- /// Type the is transformed to
- ///
- /// Transformed object
- ///
- T Transform() where T : class, IActivityTracing, new();
- }
-}
diff --git a/src/Moryx.AbstractionLayer/Activities/Tracing.cs b/src/Moryx.AbstractionLayer/Activities/Tracing.cs
index 3bca64657..ba9c3d8a6 100644
--- a/src/Moryx.AbstractionLayer/Activities/Tracing.cs
+++ b/src/Moryx.AbstractionLayer/Activities/Tracing.cs
@@ -11,18 +11,26 @@ namespace Moryx.AbstractionLayer
/// Activity trace information
///
[DataContract]
- public class Tracing : IActivityTracing
+ public class Tracing
{
- ///
+ ///
+ /// The time when this activity was started.
+ ///
public DateTime? Started { get; set; }
- ///
+ ///
+ /// The time when this activity was finished.
+ ///
public DateTime? Completed { get; set; }
- ///
+ ///
+ /// Optional tracing text for errors or information
+ ///
public string Text { get; set; }
- ///
+ ///
+ /// Contains the error code that is associated with the error that caused e.g. an activity failure
+ ///
public int ErrorCode { get; set; }
///
@@ -33,7 +41,7 @@ public class Tracing : IActivityTracing
///
// ReSharper disable once InconsistentNaming <-- too cool to rename :P
public Sparta Transform() where Sparta
- : class, IActivityTracing, new()
+ : Tracing, new()
{
if (this is Sparta)
return this as Sparta;
diff --git a/src/Moryx.AbstractionLayer/Activities/TracingExtension.cs b/src/Moryx.AbstractionLayer/Activities/TracingExtension.cs
index 776dc8636..a7ea40c37 100644
--- a/src/Moryx.AbstractionLayer/Activities/TracingExtension.cs
+++ b/src/Moryx.AbstractionLayer/Activities/TracingExtension.cs
@@ -10,7 +10,7 @@ public static class TracingExtension
///
/// Transform tracing type on activity
///
- public static T TransformTracing(this IActivity activity) where T : class, IActivityTracing, new()
+ public static T TransformTracing(this IActivity activity) where T : Tracing, new()
{
var baseType = (Activity) activity;
var tracing = baseType.Tracing.Transform();
@@ -23,7 +23,7 @@ public static class TracingExtension
///
/// Tracing to add information to
/// Setter delegate
- public static T Trace(this T activityTracing, Action setter) where T : class, IActivityTracing, new()
+ public static T Trace(this T activityTracing, Action setter) where T : Tracing, new()
{
setter(activityTracing);
return activityTracing;
diff --git a/src/Tests/Moryx.AbstractionLayer.Tests/TracingActivityTest.cs b/src/Tests/Moryx.AbstractionLayer.Tests/TracingActivityTest.cs
index dc4552088..f2f655cb7 100644
--- a/src/Tests/Moryx.AbstractionLayer.Tests/TracingActivityTest.cs
+++ b/src/Tests/Moryx.AbstractionLayer.Tests/TracingActivityTest.cs
@@ -133,14 +133,12 @@ private enum FooProgress
Done = 100
}
- private class FooTracing : Tracing, IActivityProgress
+ private class FooTracing : Tracing
{
public string FooName { get; set; }
public int FooNumber { get; set; }
-
- public double Relative => base.Progress;
-
+
public new FooProgress Progress
{
get { return (FooProgress) base.Progress; }