Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inheritance of NcDescriptor, NcPropertyConstraints, NcParameterConstraints should be illegal/discouraged #60

Open
jonathan-r-thorpe opened this issue Nov 19, 2024 · 0 comments

Comments

@jonathan-r-thorpe
Copy link
Contributor

Currently it is possible for vendors to define non-standard (vendor specific) datatypes inheriting from NcDescriptor, NcPropertyConstraints, NcParameterConstraints and their subtypes.

This should be either prohibited, or discouraged as the function of NcDescriptor, NcPropertyConstraints, and NcParameterConstraints types are well described in the specification, but there is no mechanism to "discover" the function of any new, vendor specified subtypes.

For instance, with the NcParameterConstraintsNumber we know the rules relating to the constraints:

  • the rule for minimum is that the value can't be less than
  • the rule for maximum is that the value can't be greater than
  • etc.

But those rules can't be discovered from the framework - they are defined in the specification.

So if I came up with a non-standard datatype SonyParameterConstraintsFoo which had fields foo and bar there is no mechanism for me to discover the rules associated with those constraints.

It would need to have a separate specification document to describe the rules which goes against the "self-describing" ethos of the Device Model, and therefore those datatypes would not be understood by generic MS-05 clients.

The same applies to the NcDescriptor subtypes where each have a specific function within the framework. A vendor specified NcDescriptor subtype would not be understood by clients.

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

No branches or pull requests

1 participant