[opcuaclient] OpcUaClient — Type definition mirroring #360
Reference in New Issue
Block a user
Delete Branch "auto/opcuaclient/8"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Opt-in type-definition mirroring for OpcUaClient — projects upstream
Server.Typestree into the local address space.IAddressSpaceBuilder.RegisterTypeNode(MirroredTypeNodeInfo)— new method with default no-op so existing builders (Galaxy, Modbus, FOCAS, S7, TwinCAT, AbCip, NestedBuilder) compile unchanged.MirroredTypeKindenum (ObjectType/VariableType/DataType/ReferenceType) andMirroredTypeNodeInforecord (UpstreamNodeId,BrowseName,DisplayName,SuperTypeNodeId,IsAbstract).OpcUaClientDriverOptions.MirrorTypeDefinitionsdefaultfalse— opt-in flag preserves existing behavior.OpcUaClientDriver.DiscoverAsync— new pass-3 (MirrorTypeDefinitionsAsync):Session.FetchTypeTreeAsyncacross the four standard type roots (ObjectIds.{ObjectTypes, VariableTypes, DataTypes, ReferenceTypes}Folder)HasSubtypereferencesMaxBrowseDepth/MaxDiscoveredNodescapsIncludePaths/ExcludePathsapplyIsAbstractread per node; transient browse failures skip a branch rather than failing discoveryTest plan
dotnet build— Core.Abstractions, Driver.OpcUaClient, Core, Driver.OpcUaClient.Tests — all clean (0 / 0)dotnet test tests/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Tests— 153 / 153 passed (6 new inOpcUaClientTypeMirrorTests: option default, opt-in path, record shape, enum coverage, default no-op back-compat, override recording)🤖 Auto-generated by the Mode-B execution loop. Closes #280.
Closes #280