Phase 0 — mechanical rename ZB.MOM.WW.LmxOpcUa.* → ZB.MOM.WW.OtOpcUa.*

Renames all 11 projects (5 src + 6 tests), the .slnx solution file, all source-file namespaces, all axaml namespace references, and all v1 documentation references in CLAUDE.md and docs/*.md (excluding docs/v2/ which is already in OtOpcUa form). Also updates the TopShelf service registration name from "LmxOpcUa" to "OtOpcUa" per Phase 0 Task 0.6.

Preserves runtime identifiers per Phase 0 Out-of-Scope rules to avoid breaking v1/v2 client trust during coexistence: OPC UA `ApplicationUri` defaults (`urn:{GalaxyName}:LmxOpcUa`), server `EndpointPath` (`/LmxOpcUa`), `ServerName` default (feeds cert subject CN), `MxAccessConfiguration.ClientName` default (defensive — stays "LmxOpcUa" for MxAccess audit-trail consistency), client OPC UA identifiers (`ApplicationName = "LmxOpcUaClient"`, `ApplicationUri = "urn:localhost:LmxOpcUaClient"`, cert directory `%LocalAppData%\LmxOpcUaClient\pki\`), and the `LmxOpcUaServer` class name (class rename out of Phase 0 scope per Task 0.5 sed pattern; happens in Phase 1 alongside `LmxNodeManager → GenericDriverNodeManager` Core extraction). 23 LmxOpcUa references retained, all enumerated and justified in `docs/v2/implementation/exit-gate-phase-0.md`.

Build clean: 0 errors, 30 warnings (lower than baseline 167). Tests at strict improvement over baseline: 821 passing / 1 failing vs baseline 820 / 2 (one flaky pre-existing failure passed this run; the other still fails — both pre-existing and unrelated to the rename). `Client.UI.Tests`, `Historian.Aveva.Tests`, `Client.Shared.Tests`, `IntegrationTests` all match baseline exactly. Exit gate compliance results recorded in `docs/v2/implementation/exit-gate-phase-0.md` with all 7 checks PASS or DEFERRED-to-PR-review (#7 service install verification needs Windows service permissions on the reviewer's box).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Joseph Doherty
2026-04-17 13:57:47 -04:00
parent 5b8d708c58
commit 3b2defd94f
293 changed files with 841 additions and 722 deletions

View File

@@ -2,11 +2,11 @@ using CliFx;
using CliFx.Attributes;
using CliFx.Infrastructure;
using Serilog;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Helpers;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Helpers;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.LmxOpcUa.Client.CLI;
namespace ZB.MOM.WW.OtOpcUa.Client.CLI;
/// <summary>
/// Abstract base class for all CLI commands providing common connection options and helpers.

View File

@@ -1,9 +1,9 @@
using CliFx.Attributes;
using CliFx.Infrastructure;
using ZB.MOM.WW.LmxOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
namespace ZB.MOM.WW.OtOpcUa.Client.CLI.Commands;
[Command("alarms", Description = "Subscribe to alarm events")]
public class AlarmsCommand : CommandBase

View File

@@ -1,10 +1,10 @@
using CliFx.Attributes;
using CliFx.Infrastructure;
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
namespace ZB.MOM.WW.OtOpcUa.Client.CLI.Commands;
[Command("browse", Description = "Browse the OPC UA address space")]
public class BrowseCommand : CommandBase

View File

@@ -1,8 +1,8 @@
using CliFx.Attributes;
using CliFx.Infrastructure;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
namespace ZB.MOM.WW.OtOpcUa.Client.CLI.Commands;
[Command("connect", Description = "Test connection to an OPC UA server")]
public class ConnectCommand : CommandBase

View File

@@ -1,11 +1,11 @@
using CliFx.Attributes;
using CliFx.Infrastructure;
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using ZB.MOM.WW.OtOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
namespace ZB.MOM.WW.OtOpcUa.Client.CLI.Commands;
[Command("historyread", Description = "Read historical data from a node")]
public class HistoryReadCommand : CommandBase

View File

@@ -1,9 +1,9 @@
using CliFx.Attributes;
using CliFx.Infrastructure;
using ZB.MOM.WW.LmxOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
namespace ZB.MOM.WW.OtOpcUa.Client.CLI.Commands;
[Command("read", Description = "Read a value from a node")]
public class ReadCommand : CommandBase

View File

@@ -1,8 +1,8 @@
using CliFx.Attributes;
using CliFx.Infrastructure;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
namespace ZB.MOM.WW.OtOpcUa.Client.CLI.Commands;
[Command("redundancy", Description = "Read redundancy state from an OPC UA server")]
public class RedundancyCommand : CommandBase

View File

@@ -2,10 +2,10 @@ using System.Collections.Concurrent;
using CliFx.Attributes;
using CliFx.Infrastructure;
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
namespace ZB.MOM.WW.OtOpcUa.Client.CLI.Commands;
[Command("subscribe", Description = "Monitor a node for value changes")]
public class SubscribeCommand : CommandBase

View File

@@ -1,11 +1,11 @@
using CliFx.Attributes;
using CliFx.Infrastructure;
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Helpers;
using ZB.MOM.WW.OtOpcUa.Client.CLI.Helpers;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Helpers;
namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Commands;
namespace ZB.MOM.WW.OtOpcUa.Client.CLI.Commands;
[Command("write", Description = "Write a value to a node")]
public class WriteCommand : CommandBase

View File

@@ -1,6 +1,6 @@
using Opc.Ua;
namespace ZB.MOM.WW.LmxOpcUa.Client.CLI.Helpers;
namespace ZB.MOM.WW.OtOpcUa.Client.CLI.Helpers;
/// <summary>
/// Parses node ID strings into OPC UA <see cref="NodeId" /> objects.

View File

@@ -1,5 +1,5 @@
using CliFx;
using ZB.MOM.WW.LmxOpcUa.Client.CLI;
using ZB.MOM.WW.OtOpcUa.Client.CLI;
return await new CliApplicationBuilder()
.AddCommandsFromThisAssembly()

View File

@@ -5,7 +5,7 @@
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>ZB.MOM.WW.LmxOpcUa.Client.CLI</RootNamespace>
<RootNamespace>ZB.MOM.WW.OtOpcUa.Client.CLI</RootNamespace>
</PropertyGroup>
<ItemGroup>
@@ -15,7 +15,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ZB.MOM.WW.LmxOpcUa.Client.Shared\ZB.MOM.WW.LmxOpcUa.Client.Shared.csproj"/>
<ProjectReference Include="..\ZB.MOM.WW.OtOpcUa.Client.Shared\ZB.MOM.WW.OtOpcUa.Client.Shared.csproj"/>
</ItemGroup>
</Project>

View File

@@ -1,9 +1,9 @@
using Opc.Ua;
using Opc.Ua.Configuration;
using Serilog;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
/// <summary>
/// Production implementation that builds a real OPC UA ApplicationConfiguration.

View File

@@ -2,7 +2,7 @@ using Opc.Ua;
using Opc.Ua.Client;
using Serilog;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
/// <summary>
/// Production endpoint discovery that queries the real server.

View File

@@ -2,7 +2,7 @@ using Opc.Ua;
using Opc.Ua.Client;
using Serilog;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
/// <summary>
/// Production session adapter wrapping a real OPC UA Session.

View File

@@ -2,7 +2,7 @@ using Opc.Ua;
using Opc.Ua.Client;
using Serilog;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
/// <summary>
/// Production session factory that creates real OPC UA sessions.

View File

@@ -2,7 +2,7 @@ using Opc.Ua;
using Opc.Ua.Client;
using Serilog;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
/// <summary>
/// Production subscription adapter wrapping a real OPC UA Subscription.

View File

@@ -1,7 +1,7 @@
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
/// <summary>
/// Creates and configures an OPC UA ApplicationConfiguration.

View File

@@ -1,6 +1,6 @@
using Opc.Ua;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
/// <summary>
/// Abstracts OPC UA endpoint discovery for testability.

View File

@@ -1,6 +1,6 @@
using Opc.Ua;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
/// <summary>
/// Abstracts the OPC UA session for read, write, browse, history, and subscription operations.

View File

@@ -1,6 +1,6 @@
using Opc.Ua;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
/// <summary>
/// Creates OPC UA sessions from a configured endpoint.

View File

@@ -1,6 +1,6 @@
using Opc.Ua;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
/// <summary>
/// Abstracts OPC UA subscription and monitored item management.

View File

@@ -1,7 +1,7 @@
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Helpers;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Helpers;
/// <summary>
/// Maps the library's AggregateType enum to OPC UA aggregate function NodeIds.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Helpers;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Helpers;
/// <summary>
/// Parses and normalizes failover URL sets for redundant OPC UA connections.

View File

@@ -1,7 +1,7 @@
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Helpers;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Helpers;
/// <summary>
/// Maps between the library's SecurityMode enum and OPC UA SDK MessageSecurityMode.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Helpers;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Helpers;
/// <summary>
/// Converts raw string values into typed values based on the current value's runtime type.

View File

@@ -1,8 +1,8 @@
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using BrowseResult = ZB.MOM.WW.LmxOpcUa.Client.Shared.Models.BrowseResult;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
using BrowseResult = ZB.MOM.WW.OtOpcUa.Client.Shared.Models.BrowseResult;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared;
/// <summary>
/// Shared OPC UA client service contract for CLI and UI consumers.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared;
/// <summary>
/// Factory for creating <see cref="IOpcUaClientService" /> instances.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
/// <summary>
/// Aggregate functions for processed history reads.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
/// <summary>
/// Event data for an alarm or condition notification from the OPC UA server.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
/// <summary>
/// Represents a single node in the browse result set.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
/// <summary>
/// Information about the current OPC UA session.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
/// <summary>
/// Settings for establishing an OPC UA client connection.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
/// <summary>
/// Represents the current state of the OPC UA client connection.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
/// <summary>
/// Event data raised when the client connection state changes.

View File

@@ -1,6 +1,6 @@
using Opc.Ua;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
/// <summary>
/// Event data for a monitored data value change.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
/// <summary>
/// Redundancy information read from the server.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
/// <summary>
/// Transport security mode for the OPC UA connection.

View File

@@ -1,12 +1,12 @@
using System.Text;
using Opc.Ua;
using Serilog;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Adapters;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Helpers;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using BrowseResult = ZB.MOM.WW.LmxOpcUa.Client.Shared.Models.BrowseResult;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Helpers;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
using BrowseResult = ZB.MOM.WW.OtOpcUa.Client.Shared.Models.BrowseResult;
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared;
/// <summary>
/// Full implementation of <see cref="IOpcUaClientService" /> using adapter abstractions for testability.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared;
namespace ZB.MOM.WW.OtOpcUa.Client.Shared;
/// <summary>
/// Default factory that creates <see cref="OpcUaClientService" /> instances with production adapters.

View File

@@ -4,7 +4,7 @@
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>ZB.MOM.WW.LmxOpcUa.Client.Shared</RootNamespace>
<RootNamespace>ZB.MOM.WW.OtOpcUa.Client.Shared</RootNamespace>
</PropertyGroup>
<ItemGroup>
@@ -13,7 +13,7 @@
</ItemGroup>
<ItemGroup>
<InternalsVisibleTo Include="ZB.MOM.WW.LmxOpcUa.Client.Shared.Tests"/>
<InternalsVisibleTo Include="ZB.MOM.WW.OtOpcUa.Client.Shared.Tests"/>
</ItemGroup>
</Project>

View File

@@ -1,6 +1,6 @@
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ZB.MOM.WW.LmxOpcUa.Client.UI.App"
x:Class="ZB.MOM.WW.OtOpcUa.Client.UI.App"
RequestedThemeVariant="Light">
<Application.Styles>
<FluentTheme />

View File

@@ -1,12 +1,12 @@
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
using ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
using ZB.MOM.WW.LmxOpcUa.Client.UI.Views;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.UI.Services;
using ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
using ZB.MOM.WW.OtOpcUa.Client.UI.Views;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI;
namespace ZB.MOM.WW.OtOpcUa.Client.UI;
public class App : Application
{

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -1,6 +1,6 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ZB.MOM.WW.LmxOpcUa.Client.UI.Controls.DateTimeRangePicker">
x:Class="ZB.MOM.WW.OtOpcUa.Client.UI.Controls.DateTimeRangePicker">
<StackPanel Orientation="Horizontal" Spacing="8">
<StackPanel Spacing="2">
<TextBlock Text="Start (UTC)" FontSize="11" Foreground="Gray" />

View File

@@ -5,7 +5,7 @@ using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Media;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Controls;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Controls;
/// <summary>
/// A date/time range picker using formatted text boxes and preset duration buttons.

View File

@@ -1,6 +1,6 @@
using Opc.Ua;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Helpers;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Helpers;
/// <summary>
/// Formats OPC UA status codes as "0xHEX (description)".

View File

@@ -1,6 +1,6 @@
using System.Collections;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Helpers;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Helpers;
/// <summary>
/// Formats OPC UA values for display, with array support.

View File

@@ -1,6 +1,6 @@
using Avalonia;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI;
namespace ZB.MOM.WW.OtOpcUa.Client.UI;
public class Program
{

View File

@@ -1,6 +1,6 @@
using Avalonia.Threading;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Services;
/// <summary>
/// Dispatches actions to the Avalonia UI thread.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Services;
/// <summary>
/// Loads and saves user settings.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Services;
/// <summary>
/// Abstraction for dispatching actions to the UI thread.

View File

@@ -1,6 +1,6 @@
using System.Text.Json;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Services;
/// <summary>
/// Persists user settings to a JSON file under LocalApplicationData.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Services;
/// <summary>
/// Dispatcher that executes actions synchronously on the calling thread.

View File

@@ -1,6 +1,6 @@
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Services;
/// <summary>
/// Persisted user connection settings.

View File

@@ -1,6 +1,6 @@
using CommunityToolkit.Mvvm.ComponentModel;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
/// <summary>
/// Represents a single alarm event row.

View File

@@ -2,11 +2,11 @@ using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
using ZB.MOM.WW.OtOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
/// <summary>
/// ViewModel for the alarms panel.

View File

@@ -1,9 +1,9 @@
using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
/// <summary>
/// ViewModel for the OPC UA browse tree panel.

View File

@@ -1,6 +1,6 @@
using CommunityToolkit.Mvvm.ComponentModel;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
/// <summary>
/// Represents a single historical value row.

View File

@@ -2,11 +2,11 @@ using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
using ZB.MOM.WW.OtOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
/// <summary>
/// ViewModel for the history panel.

View File

@@ -1,11 +1,11 @@
using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
using ZB.MOM.WW.OtOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
/// <summary>
/// Main window ViewModel coordinating all panels.

View File

@@ -1,10 +1,10 @@
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
/// <summary>
/// ViewModel for the read/write panel.

View File

@@ -1,6 +1,6 @@
using CommunityToolkit.Mvvm.ComponentModel;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
/// <summary>
/// Represents a single active subscription row.

View File

@@ -2,11 +2,11 @@ using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Opc.Ua;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.LmxOpcUa.Client.Shared.Models;
using ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.Shared.Models;
using ZB.MOM.WW.OtOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
/// <summary>
/// ViewModel for the subscriptions panel.

View File

@@ -1,9 +1,9 @@
using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using ZB.MOM.WW.LmxOpcUa.Client.Shared;
using ZB.MOM.WW.LmxOpcUa.Client.UI.Services;
using ZB.MOM.WW.OtOpcUa.Client.Shared;
using ZB.MOM.WW.OtOpcUa.Client.UI.Services;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
/// <summary>
/// Represents a single node in the OPC UA browse tree with lazy-load support.

View File

@@ -1,6 +1,6 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ZB.MOM.WW.LmxOpcUa.Client.UI.Views.AckAlarmWindow"
x:Class="ZB.MOM.WW.OtOpcUa.Client.UI.Views.AckAlarmWindow"
Title="Acknowledge Alarm"
Width="420"
SizeToContent="Height"

View File

@@ -1,9 +1,9 @@
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Media;
using ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
using ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Views;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Views;
public partial class AckAlarmWindow : Window
{

View File

@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels"
x:Class="ZB.MOM.WW.LmxOpcUa.Client.UI.Views.AlarmsView"
xmlns:vm="using:ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels"
x:Class="ZB.MOM.WW.OtOpcUa.Client.UI.Views.AlarmsView"
x:DataType="vm:AlarmsViewModel">
<DockPanel Margin="8">
<!-- Controls -->

View File

@@ -3,9 +3,9 @@ using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Media;
using Avalonia.VisualTree;
using ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
using ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Views;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Views;
public partial class AlarmsView : UserControl
{

View File

@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels"
x:Class="ZB.MOM.WW.LmxOpcUa.Client.UI.Views.BrowseTreeView"
xmlns:vm="using:ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels"
x:Class="ZB.MOM.WW.OtOpcUa.Client.UI.Views.BrowseTreeView"
x:DataType="vm:BrowseTreeViewModel">
<TreeView ItemsSource="{Binding RootNodes}"
Name="BrowseTree"

View File

@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Views;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Views;
public partial class BrowseTreeView : UserControl
{

View File

@@ -1,8 +1,8 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels"
xmlns:controls="using:ZB.MOM.WW.LmxOpcUa.Client.UI.Controls"
x:Class="ZB.MOM.WW.LmxOpcUa.Client.UI.Views.HistoryView"
xmlns:vm="using:ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels"
xmlns:controls="using:ZB.MOM.WW.OtOpcUa.Client.UI.Controls"
x:Class="ZB.MOM.WW.OtOpcUa.Client.UI.Views.HistoryView"
x:DataType="vm:HistoryViewModel">
<DockPanel Margin="8">
<!-- Controls -->

View File

@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Views;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Views;
public partial class HistoryView : UserControl
{

View File

@@ -1,8 +1,8 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels"
xmlns:views="using:ZB.MOM.WW.LmxOpcUa.Client.UI.Views"
x:Class="ZB.MOM.WW.LmxOpcUa.Client.UI.Views.MainWindow"
xmlns:vm="using:ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels"
xmlns:views="using:ZB.MOM.WW.OtOpcUa.Client.UI.Views"
x:Class="ZB.MOM.WW.OtOpcUa.Client.UI.Views.MainWindow"
x:DataType="vm:MainWindowViewModel"
Title="OPC UA Client"
Width="1200"

View File

@@ -4,9 +4,9 @@ using Avalonia.Controls;
using Avalonia.Interactivity;
using SkiaSharp;
using Svg.Skia;
using ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
using ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Views;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Views;
public partial class MainWindow : Window
{
@@ -21,7 +21,7 @@ public partial class MainWindow : Window
try
{
var assembly = Assembly.GetExecutingAssembly();
using var stream = assembly.GetManifestResourceStream("ZB.MOM.WW.LmxOpcUa.Client.UI.Assets.app-icon.svg");
using var stream = assembly.GetManifestResourceStream("ZB.MOM.WW.OtOpcUa.Client.UI.Assets.app-icon.svg");
if (stream == null) return;
using var svg = new SKSvg();

View File

@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels"
x:Class="ZB.MOM.WW.LmxOpcUa.Client.UI.Views.ReadWriteView"
xmlns:vm="using:ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels"
x:Class="ZB.MOM.WW.OtOpcUa.Client.UI.Views.ReadWriteView"
x:DataType="vm:ReadWriteViewModel">
<StackPanel Spacing="8" Margin="8">
<!-- Selected Node -->

View File

@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Views;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Views;
public partial class ReadWriteView : UserControl
{

View File

@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels"
x:Class="ZB.MOM.WW.LmxOpcUa.Client.UI.Views.SubscriptionsView"
xmlns:vm="using:ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels"
x:Class="ZB.MOM.WW.OtOpcUa.Client.UI.Views.SubscriptionsView"
x:DataType="vm:SubscriptionsViewModel">
<DockPanel Margin="8">
<!-- Add/Remove Controls -->

View File

@@ -2,9 +2,9 @@ using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.VisualTree;
using ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
using ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Views;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Views;
public partial class SubscriptionsView : UserControl
{

View File

@@ -1,6 +1,6 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ZB.MOM.WW.LmxOpcUa.Client.UI.Views.WriteValueWindow"
x:Class="ZB.MOM.WW.OtOpcUa.Client.UI.Views.WriteValueWindow"
Title="Write Value"
Width="420"
SizeToContent="Height"

View File

@@ -1,9 +1,9 @@
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Media;
using ZB.MOM.WW.LmxOpcUa.Client.UI.ViewModels;
using ZB.MOM.WW.OtOpcUa.Client.UI.ViewModels;
namespace ZB.MOM.WW.LmxOpcUa.Client.UI.Views;
namespace ZB.MOM.WW.OtOpcUa.Client.UI.Views;
public partial class WriteValueWindow : Window
{

View File

@@ -5,7 +5,7 @@
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>ZB.MOM.WW.LmxOpcUa.Client.UI</RootNamespace>
<RootNamespace>ZB.MOM.WW.OtOpcUa.Client.UI</RootNamespace>
</PropertyGroup>
<ItemGroup>
@@ -22,11 +22,11 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ZB.MOM.WW.LmxOpcUa.Client.Shared\ZB.MOM.WW.LmxOpcUa.Client.Shared.csproj"/>
<ProjectReference Include="..\ZB.MOM.WW.OtOpcUa.Client.Shared\ZB.MOM.WW.OtOpcUa.Client.Shared.csproj"/>
</ItemGroup>
<ItemGroup>
<InternalsVisibleTo Include="ZB.MOM.WW.LmxOpcUa.Client.UI.Tests"/>
<InternalsVisibleTo Include="ZB.MOM.WW.OtOpcUa.Client.UI.Tests"/>
</ItemGroup>
<ItemGroup>

View File

@@ -1,7 +1,7 @@
using ZB.MOM.WW.LmxOpcUa.Host.Configuration;
using ZB.MOM.WW.LmxOpcUa.Host.Historian;
using ZB.MOM.WW.OtOpcUa.Host.Configuration;
using ZB.MOM.WW.OtOpcUa.Host.Historian;
namespace ZB.MOM.WW.LmxOpcUa.Historian.Aveva
namespace ZB.MOM.WW.OtOpcUa.Historian.Aveva
{
/// <summary>
/// Reflection entry point invoked by <c>HistorianPluginLoader</c> in the Host. Kept

View File

@@ -1,10 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
using ZB.MOM.WW.LmxOpcUa.Host.Configuration;
using ZB.MOM.WW.LmxOpcUa.Host.Historian;
using ZB.MOM.WW.OtOpcUa.Host.Configuration;
using ZB.MOM.WW.OtOpcUa.Host.Historian;
namespace ZB.MOM.WW.LmxOpcUa.Historian.Aveva
namespace ZB.MOM.WW.OtOpcUa.Historian.Aveva
{
/// <summary>
/// Thread-safe, pure-logic endpoint picker for the Wonderware Historian cluster. Tracks which

View File

@@ -6,11 +6,11 @@ using System.Threading.Tasks;
using ArchestrA;
using Opc.Ua;
using Serilog;
using ZB.MOM.WW.LmxOpcUa.Host.Configuration;
using ZB.MOM.WW.LmxOpcUa.Host.Domain;
using ZB.MOM.WW.LmxOpcUa.Host.Historian;
using ZB.MOM.WW.OtOpcUa.Host.Configuration;
using ZB.MOM.WW.OtOpcUa.Host.Domain;
using ZB.MOM.WW.OtOpcUa.Host.Historian;
namespace ZB.MOM.WW.LmxOpcUa.Historian.Aveva
namespace ZB.MOM.WW.OtOpcUa.Historian.Aveva
{
/// <summary>
/// Reads historical data from the Wonderware Historian via the aahClientManaged SDK.

View File

@@ -1,9 +1,9 @@
using System;
using System.Threading;
using ArchestrA;
using ZB.MOM.WW.LmxOpcUa.Host.Configuration;
using ZB.MOM.WW.OtOpcUa.Host.Configuration;
namespace ZB.MOM.WW.LmxOpcUa.Historian.Aveva
namespace ZB.MOM.WW.OtOpcUa.Historian.Aveva
{
/// <summary>
/// Creates and opens Historian SDK connections. Extracted so tests can inject

View File

@@ -5,16 +5,16 @@
<PlatformTarget>x86</PlatformTarget>
<LangVersion>9.0</LangVersion>
<Nullable>enable</Nullable>
<RootNamespace>ZB.MOM.WW.LmxOpcUa.Historian.Aveva</RootNamespace>
<AssemblyName>ZB.MOM.WW.LmxOpcUa.Historian.Aveva</AssemblyName>
<RootNamespace>ZB.MOM.WW.OtOpcUa.Historian.Aveva</RootNamespace>
<AssemblyName>ZB.MOM.WW.OtOpcUa.Historian.Aveva</AssemblyName>
<!-- Plugin is loaded at runtime via Assembly.LoadFrom; never copy it as a CopyLocal dep. -->
<CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
<!-- Deploy next to Host.exe under bin/<cfg>/Historian/ so F5 works without a manual copy. -->
<HistorianPluginOutputDir>$(MSBuildThisFileDirectory)..\ZB.MOM.WW.LmxOpcUa.Host\bin\$(Configuration)\net48\Historian\</HistorianPluginOutputDir>
<HistorianPluginOutputDir>$(MSBuildThisFileDirectory)..\ZB.MOM.WW.OtOpcUa.Host\bin\$(Configuration)\net48\Historian\</HistorianPluginOutputDir>
</PropertyGroup>
<ItemGroup>
<InternalsVisibleTo Include="ZB.MOM.WW.LmxOpcUa.Historian.Aveva.Tests"/>
<InternalsVisibleTo Include="ZB.MOM.WW.OtOpcUa.Historian.Aveva.Tests"/>
</ItemGroup>
<ItemGroup>
@@ -28,7 +28,7 @@
<ItemGroup>
<!-- Private=false: the plugin binds to Host types at compile time but Host.exe must not be
copied into the plugin's output folder (it is already in the process). -->
<ProjectReference Include="..\ZB.MOM.WW.LmxOpcUa.Host\ZB.MOM.WW.LmxOpcUa.Host.csproj">
<ProjectReference Include="..\ZB.MOM.WW.OtOpcUa.Host\ZB.MOM.WW.OtOpcUa.Host.csproj">
<Private>false</Private>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
</ProjectReference>

View File

@@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// Configures the template-based alarm object filter under <c>OpcUa.AlarmFilter</c>.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// Top-level configuration holder binding all sections from appsettings.json. (SVC-003)

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// Authentication and role-based access control settings for the OPC UA server.

View File

@@ -4,9 +4,9 @@ using System.Data.SqlClient;
using System.Linq;
using Opc.Ua;
using Serilog;
using ZB.MOM.WW.LmxOpcUa.Host.OpcUa;
using ZB.MOM.WW.OtOpcUa.Host.OpcUa;
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// Validates and logs effective configuration at startup. (SVC-003, SVC-005)

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// Status dashboard configuration. (SVC-003, DASH-001)

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// Galaxy repository database configuration. (SVC-003, GR-005)

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// Controls how much of the Galaxy object hierarchy is loaded into the OPC UA address space.

View File

@@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// Wonderware Historian SDK configuration for OPC UA historical data access.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// LDAP authentication and group-to-role mapping settings.

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// MXAccess client configuration. (SVC-003, MXA-008, MXA-009)

View File

@@ -1,4 +1,4 @@
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// OPC UA server configuration. (SVC-003, OPC-001, OPC-012, OPC-013)

View File

@@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// Non-transparent redundancy settings that control how the server advertises itself

View File

@@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace ZB.MOM.WW.LmxOpcUa.Host.Configuration
namespace ZB.MOM.WW.OtOpcUa.Host.Configuration
{
/// <summary>
/// Transport security settings that control which OPC UA security profiles the server exposes and how client

Some files were not shown because too many files have changed in this diff Show More