Skip to content

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

@jonathan-r-thorpe

Description

@jonathan-r-thorpe

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions