The implements
definition
Work in progress.
Purpose
Notify the framework that one or more general interfaces are implemented.
Syntax
{
"cdlOptions": {
"<name>": {
...
"implements": [ "<path>",... ],
...
}
}
}
The value of the implements
property is an array of strings containing xCDL paths of interface objects that this object implements.
Default value
If missing it is assumed that the current object does not implement any interface.
Description
The xCDL interface concept provides an abstraction mechanism that can be useful in many different circumstances. Essentially, an interface is a computed option whose value is the number of active and enabled objects that implement that interface. For example, the interface kernel/scheduler
has a value corresponding to the number of schedulers in the system, typically just one.
The implements
property defines an array of xCDL paths of the implemented interfaces (an object may implement multiple interfaces). These interfaces may be defined in the same package as the implementor or in another package. In the latter case, it may sometimes be appropriate for the implementor or the implementor's package to have a requires
property for the package containing the interface.
It is possible for an object to implement a given interface multiple times, but only distinct implementors are counted.
Example
{
"cdlOptions": {
"mlqueue": {
"display": "Multi-level queue scheduler",
"parent": "kernel",
"generatedDefinition": "OS_PACKEGE_KERNEL_SCHED_MLQUEUE",
"defaultEnable": true,
"implements": [ "kernel/scheduler" ]
}
}
}
See also
cdlInterfaces
object