ListManager
- URI: urn:jaus:jss:mobility:ListManager
- Version: 1.0
- Inherits From: urn:jaus:jss:core:Management v1.1
Description
The List Manager Service permits operations on a single ordered sequence of connected elements. It supports operations to add, replace or delete elements from the list, as well as querying the entire list or individual elements. Elements within the list are uniquely identified by the Element UID. The Element UID is used as an identifier only, and the value of the UID does not imply a sequence or order. When a new element is added to the list, the previous (parent) and next (child) elements are specified to denote sequencing, similar to a doubly linked list. Circular lists can be created when the last element in the list specifies the first element as a child. A list is considered valid when the following conditions are met: 1) A list must contain exactly one head element which is defined as having a previous (parent) identifier of zero (0). 2) For non-circular lists, the list must contain exactly one tail element which is defined as having a next (child) identifier of zero (0). 3) Each element must reference existing previous (parent) and next (child) elements, or zero. 4) Elements cannot be orphaned. An orphan is defined as an element that is not connected in any way to the other elements in the list. 5) The previous (parent) and next(child) reference for each element cannot point to itself. The list manager service is designed to be inherited, and is trivial on its own. Derived services should redefine isElementSupported condition as shown by example in the Global Waypoint List Driver.
Messages
The ListManager service uses the following messages.
Input
Output
Internal Events
- None