Skip to content

Comments

Add ObjectType and VariableType tree building support#1626

Merged
kevinherron merged 3 commits into1.0from
object-variable-type-trees
Oct 18, 2025
Merged

Add ObjectType and VariableType tree building support#1626
kevinherron merged 3 commits into1.0from
object-variable-type-trees

Conversation

@kevinherron
Copy link
Contributor

Summary

  • Add ObjectType and VariableType interfaces in sdk-core to represent OPC UA type metadata including browse name, NodeId, and type-specific attributes
  • Add ObjectTypeTree and VariableTypeTree wrapper classes providing tree-based type hierarchy navigation
  • Implement ClientObjectType and ClientVariableType as data carriers for client-side type information
  • Add ObjectTypeTreeBuilder and VariableTypeTreeBuilder for client
  • Add ObjectTypeTreeBuilder and VariableTypeTreeBuilder for server
  • Extend OpcUaServer with getter methods for accessing built type trees

Introduces type tree building infrastructure for client and server modules:

- Add ObjectType and VariableType interfaces in sdk-core to represent OPC UA type metadata including browse name, NodeId, and type-specific attributes
- Add ObjectTypeTree and VariableTypeTree wrapper classes providing tree-based type hierarchy navigation
- Implement ClientObjectType and ClientVariableType as data carriers for client-side type information
- Add ObjectTypeTreeBuilder and VariableTypeTreeBuilder for client
- Add ObjectTypeTreeBuilder and VariableTypeTreeBuilder for server
- Extend OpcUaServer with getter methods for accessing built type trees
- Abstract tests provide base test cases for type tree navigation and querying
- Client tests verify type tree building from OPC UA server
- Server tests verify type tree building from address space
- Builder tests verify synchronous and asynchronous tree construction
Added getObjectTypeTree(), readObjectTypeTree(), and readObjectTypeTreeAsync()
methods along with corresponding VariableType methods. These mirror the existing
DataTypeTree API and use lazy initialization with caching. Updated client tests
to use the new client instance methods.
@kevinherron kevinherron merged commit e9afb79 into 1.0 Oct 18, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant