NMOS Control Feature Sets: Device configuration
Includes models for control classes and datatypes used for device configuration (see NMOS IS-14).
Datatypes
NcRestoreMode
// Restore mode enumeration
enum NcRestoreMode {
"Modify", // 0 Restore mode is Modify
"Rebuild" // 1 Restore mode is Rebuild
};
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 path; // Object role path
attribute sequence<NcPropertyValueHolder> values; // Object properties values
attribute NcBoolean isRebuildable; // Describes if the object is rebuildable
};
NcBulkValuesHolder
interface NcBulkValuesHolder {
attribute NcString? validationFingerprint; // Optional vendor specific fingerprinting mechanism used for validation purposes
attribute sequence<NcObjectPropertiesHolder> values; // Values by rolePath
};
NcRestoreValidationStatus
// Restore validation status enumeration
enum NcRestoreValidationStatus {
"Ok", // 200 Restore was successful
"Failed", // 400 Restore failed
"NotFound", // 404 Restore failed because the role path is not found in the device model or the device cannot create the role path from the data set
"DeviceError", // 500 Restore failed due to an internal device error preventing the restore from happening
};
NcPropertyRestoreNoticeType
// Property restore notice type enumeration
enum NcPropertyRestoreNoticeType {
"Warning", // 300 Warning property restore notice
"Error", // 400 Error property restore notice
};
NcPropertyRestoreNotice
interface NcPropertyRestoreNotice {
attribute NcPropertyId id; // Property id
attribute NcName name; // Property name
attribute NcPropertyRestoreNoticeType noticeType; // Property restore notice type
attribute NcString noticeMessage; // Property restore notice message
};
NcObjectPropertiesSetValidation
interface NcObjectPropertiesSetValidation {
attribute NcRolePath path; // Object role path
attribute NcRestoreValidationStatus status; // Validation status
attribute sequence<NcPropertyRestoreNotice> notices; // Validation property notices
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 path, // 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 path, // The target role path
NcBoolean recurse, // If true will validate properties on target path and all the nested paths,
NcRestoreMode restoreMode // Defines the restore mode to be applied
);
// 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 path, // The target role path
NcBoolean recurse, // If true will set properties on target path and all the nested paths
NcRestoreMode restoreMode // Defines the restore mode to be applied
);
};