9cad9ed0fc
v2-ci / build (push) Failing after 41s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped
Adds <summary>/<param>/<returns>/<inheritdoc> where missing and removes project bookkeeping IDs (task/tracking refs) from shipped code comments, so the docs read cleanly and CommentChecker is quiet except for known false positives (PLC/protocol terms, event/IEqualityComparer inheritdoc). Doc/comment-only; no logic changed; solution builds clean.
33 lines
1.5 KiB
C#
33 lines
1.5 KiB
C#
namespace ZB.MOM.WW.OtOpcUa.Driver.AbCip;
|
|
|
|
/// <summary>
|
|
/// Reads the raw Template Object (class 0x6C) blob for a given UDT template instance id
|
|
/// off a Logix controller. The default production implementation (see
|
|
/// <see cref="LibplctagTemplateReader"/>) uses libplctag's <c>@udt/{id}</c> pseudo-tag.
|
|
/// Tests swap in a fake via <see cref="IAbCipTemplateReaderFactory"/>.
|
|
/// </summary>
|
|
public interface IAbCipTemplateReader : IDisposable
|
|
{
|
|
/// <summary>
|
|
/// Read the raw template bytes for <paramref name="templateInstanceId"/>. Returns the
|
|
/// full blob the Read Template service produced — the managed <see cref="CipTemplateObjectDecoder"/>
|
|
/// parses it into an <see cref="AbCipUdtShape"/>.
|
|
/// </summary>
|
|
/// <param name="deviceParams">The device connection parameters.</param>
|
|
/// <param name="templateInstanceId">The template instance ID to read.</param>
|
|
/// <param name="cancellationToken">Token to cancel the operation.</param>
|
|
/// <returns>The raw Template Object blob bytes.</returns>
|
|
Task<byte[]> ReadAsync(
|
|
AbCipTagCreateParams deviceParams,
|
|
uint templateInstanceId,
|
|
CancellationToken cancellationToken);
|
|
}
|
|
|
|
/// <summary>Factory for <see cref="IAbCipTemplateReader"/>.</summary>
|
|
public interface IAbCipTemplateReaderFactory
|
|
{
|
|
/// <summary>Creates a new template reader instance.</summary>
|
|
/// <returns>A new <see cref="IAbCipTemplateReader"/> instance.</returns>
|
|
IAbCipTemplateReader Create();
|
|
}
|