Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion docs/migrations/v8_to_v10.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,9 @@

## Replaced result of visual instructions with dedicated result object

In *Moryx.Factory* **6.3** and **8.1** we introduced the new result object and optional extended APIs. The result object solved issues caused by localization of the different results. With **Moryx 10** we remove all old APIs based on strings.
In *Moryx.Factory* **6.3** and **8.1** we introduced the new result object and optional extended APIs. The result object solved issues caused by localization of the different results. With **Moryx 10** we remove all old APIs based on strings.

## Merged `IProcessControlReporting` into `IProcessControl`

The `IProcessControlReporting` interface has been merged into `IProcessControl`. All reporting-related methods and the `ReportAction` enum are now part of `IProcessControl`. Remove usages of `IProcessControlReporting` and update your code to use the unified `IProcessControl` interface.

14 changes: 14 additions & 0 deletions src/Moryx.ControlSystem/Processes/IProcessControl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ public interface IProcessControl
/// </summary>
IReadOnlyList<IProcess> RunningProcesses { get; }

/// <summary>
/// Get the running process with the given <paramref name="processId"/>
/// </summary>
/// <param name="processId">Id of the running process</param>
/// <returns><see cref="IProcess"/></returns>
IProcess GetProcess(long processId);

/// <summary>
/// Retrieve all processes for a product instance
/// </summary>
Expand All @@ -35,6 +42,13 @@ public interface IProcessControl
/// </summary>
IReadOnlyList<ICell> Targets(IActivity activity);

/// <summary>
/// Report a specific <see cref="ReportAction"/> to have been executed on the <paramref name="process"/>
/// </summary>
/// <param name="process">The process to report</param>
/// <param name="action">The action to perform</param>
void Report(IProcess process, ReportAction action);

/// <summary>
/// A process has changed
/// </summary>
Expand Down
20 changes: 20 additions & 0 deletions src/Moryx.ControlSystem/Processes/ReportAction.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Copyright (c) 2025, Phoenix Contact GmbH & Co. KG
// Licensed under the Apache License, Version 2.0

namespace Moryx.ControlSystem.Processes
{
/// <summary>
/// Actions to report a running process
/// </summary>
public enum ReportAction
{
/// <summary>
/// The process is broken or damaged
/// </summary>
Broken,
/// <summary>
/// The process was physically removed
/// </summary>
Removed
}
}
Loading