NMOS Control Feature Sets: Device configuration
Includes models for control classes and datatypes used for device configuration (see NMOS IS-14).
Datatypes
NcPropertyValueHolder
// Property value holder descriptor
interface NcPropertyValueHolder {
attribute NcPropertyId id; // Property id
attribute NcString name; // Property name
attribute NcName? typeName; // Property type name. If null it means the type is any
attribute NcBoolean? isReadOnly; // Is the property ReadOnly?
attribute any? value; // Property value
};
NcObjectPropertiesHolder
interface NcObjectPropertiesHolder {
attribute NcRolePath rolePath; // Object role path
attribute sequence<NcPropertyValueHolder> values; // Object properties values
};
NcBulkValuesHolder
interface NcBulkValuesHolder {
attribute NcString? validationFingerprint; // Optional vendor specific fingerprinting mechanism used for validation purposes
attribute sequence<NcObjectPropertiesHolder> values; // Values by rolePath
};
NcObjectPropertiesSetValidation
interface NcObjectPropertiesSetValidation {
attribute NcRolePath rolePath; // Object role path
attribute NcMethodStatus status; // Validation status
attribute NcString? statusMessage; // Validation status message
};
NcMethodResultBulkValuesHolder
interface NcMethodResultBulkValuesHolder: NcMethodResult {
attribute NcBulkValuesHolder value; // Bulk values holder value
};
NcMethodResultObjectPropertiesSetValidation
interface NcMethodResultObjectPropertiesSetValidation: NcMethodResult {
attribute sequence<NcObjectPropertiesSetValidation> value; // Object properties set path validations
};
Control classes
NcBulkPropertiesManager
The BulkPropertiesManager
offers a central model for getting and setting properties of multiple role paths.
It also allows pre-validation of a data set before attempting to use in setting multiple properties of multiple role paths.
// NcBulkPropertiesManager class descriptor
[control-class("1.3.3", "BulkPropertiesManager")] interface NcBulkPropertiesManager: NcManager {
// Get bulk object properties by given path
[element("3m1")] NcMethodResultBulkValuesHolder GetPropertiesByPath(
NcRolePath rolePath, // The target role path
NcBoolean recurse // If true will return properties on specified path and all the nested paths
);
// Validate bulk properties for setting by given paths
[element("3m2")] NcMethodResultObjectPropertiesSetValidation ValidateSetPropertiesByPath(
NcBulkValuesHolder dataSet, // The values offered (this may include read-only values and also paths which are not the target role path)
NcRolePath rolePath, // The target role path
NcBoolean recurse // If true will validate properties on target path and all the nested paths
);
// Set bulk properties by given paths
[element("3m3")] NcMethodResultObjectPropertiesSetValidation SetPropertiesByPath(
NcBulkValuesHolder dataSet, // The values offered (this may include read-only values and also paths which are not the target role path)
NcRolePath rolePath, // The target role path
NcBoolean recurse // If true will set properties on target path and all the nested paths
NcBoolean allowPartial // If true will allow the device to restore partially only the role paths which pass validation
);
};