Multiple publishers
PPS supports multiple publishers that publish to the same PPS object. This capability is required because different publishers may have access to data that applies to different attributes for the same object.
For example, in a multimedia system with a PlayCurrent object,
io-media may be the source of a
time::value attribute, while the HMI may be
the source of a duration::value attribute. A
publisher that changes only the time attribute will update only that
attribute when it writes to the object. It will leave the other attributes
unchanged.
In the example above, suppose the PlayCurrent object has the following
attribute values:
@PlayCurrent
author::Beatles
album::Abbey Road
title::Come Together
duration::3.45
time::1.24
If io-media updated the time attribute of the
PlayCurrent object as follows:
// Update the "time" attribute
sprintf( ppsobj, "time::2.32\n" );
write( ppsobj-fd, ppsobj, strlen( ppsobj ) );
and then the HMI updated the duration attribute as follows:
// Update the "duration" attribute
sprintf( ppsobj, "duration::4.02\n" );
write( ppsobj-fd, ppsobj, strlen( ppsobj ) );
The result would be:
@PlayCurrent
author::Beatles
album::Abbey Road
title::Come Together
duration::4.02
time::2.32
For another example, see
Publishers
in the Examples appendix.
