OpenJAUS Software Development Kit  4.3.1
Public Member Functions | Static Public Member Functions | List of all members
openjaus::mobility::ListManagerInterface Class Referenceabstract

Provides an abstract interface for the ListManager service. More...

#include <ListManagerInterface.h>

Inherits openjaus::core::ManagementInterface.

Inherited by openjaus::manipulator::ManipulatorEndEffectorPoseListDriverInterface [virtual], openjaus::manipulator::ManipulatorJointPositionListDriverInterface [virtual], openjaus::mobility::GlobalPathSegmentDriverInterface [virtual], openjaus::mobility::GlobalWaypointListDriverInterface [virtual], openjaus::mobility::LocalPathSegmentDriverInterface [virtual], openjaus::mobility::LocalWaypointListDriverInterface [virtual], and openjaus::mobility::services::ListManager [virtual].

Public Member Functions

virtual ~ListManagerInterface ()
 
virtual ReportElement getReportElement (QueryElement *queryElement)=0
 Send a Report Element message with the requested element. More...
 
virtual ReportElementList getReportElementList (QueryElementList *queryElementList)=0
 Send action for ReportElementList with input message QueryElementList. More...
 
virtual ReportElementCount getReportElementCount (QueryElementCount *queryElementCount)=0
 Send action for ReportElementCount with input message QueryElementCount. More...
 
virtual ConfirmElementRequest getConfirmElementRequest (SetElement *setElement)=0
 Send action for ConfirmElementRequest with input message SetElement. More...
 
virtual ConfirmElementRequest getConfirmElementRequest (DeleteElement *deleteElement)=0
 Send action for ConfirmElementRequest with input message DeleteElement. More...
 
virtual RejectElementRequest getRejectElementRequest (SetElement *setElement)=0
 Send action for RejectElementRequest with input message SetElement. More...
 
virtual RejectElementRequest getRejectElementRequest (DeleteElement *deleteElement)=0
 Send action for RejectElementRequest with input message DeleteElement. More...
 
virtual bool setElement (SetElement *setElement)=0
 Store the element(s) in the list with sequence specified by the previous and next element IDs. More...
 
virtual bool deleteElement (DeleteElement *deleteElement)=0
 Remove the specified element(s) from the list. More...
 
virtual bool elementExists (QueryElement *queryElement)=0
 True if the UID(s) specified in the message that triggered the transition exists in the list. More...
 
virtual bool elementExists (DeleteElement *deleteElement)=0
 True if the UID(s) specified in the message that triggered the transition exists in the list. More...
 
virtual bool isValidElementRequest (SetElement *setElement)=0
 True if the resulting list will not be invalid as defined by the List Manager Service description and the receiving entity has sufficient memory to store the element(s). More...
 
virtual bool isElementSupported (SetElement *setElement)=0
 False. More...
 
- Public Member Functions inherited from openjaus::core::ManagementInterface
virtual ~ManagementInterface ()
 
virtual bool storeID (SetEmergency *setEmergency)=0
 StoreID action with input SetEmergency. More...
 
virtual bool deleteID (ClearEmergency *clearEmergency)=0
 DeleteID action with input ClearEmergency. More...
 
virtual ReportStatus getReportStatus (QueryStatus *queryStatus)=0
 Send action for ReportStatus with input message QueryStatus. More...
 
virtual bool isIDStored (ClearEmergency *clearEmergency)=0
 isIDStored condition. More...
 
- Public Member Functions inherited from openjaus::core::AccessControlInterface
virtual ~AccessControlInterface ()
 
virtual void init ()=0
 
virtual void rejectController ()=0
 
virtual ReportControl getReportControl (QueryControl *queryControl)=0
 Send a Report Control message with the specified control value Send a Report Control message with the specified control value. More...
 
virtual ReportAuthority getReportAuthority (QueryAuthority *queryAuthority)=0
 Send a Report Authority message to querying client reporting the current authority value of this service Send a Report Authority message to querying client reporting the current authority value of this service. More...
 
virtual ReportTimeout getReportTimeout (QueryTimeout *queryTimeout)=0
 Send a Report Timeout message specifying the timeout period of this service Send a Report Timeout message specifying the timeout period of this service. More...
 
virtual bool setAuthority (RequestControl *requestControl)=0
 Set the current authority value of this service to the specified authority Set the current authority value of this service to the specified authority. More...
 
virtual bool setAuthority (SetAuthority *setAuthority)=0
 Set the current authority value of this service to the specified authority Set the current authority value of this service to the specified authority. More...
 
virtual bool resetTimer (RequestControl *requestControl)=0
 Reset the timer Reset the timer. More...
 
virtual bool sendConfirmControlNotAvailable (RequestControl *requestControl)=0
 Send a confirm control message with the specified response code to requesting client Send a confirm control message with the specified response code to requesting client. More...
 
virtual bool sendConfirmControlInsufficientAuthority (RequestControl *requestControl)=0
 Send a confirm control message with the specified response code to requesting client Send a confirm control message with the specified response code to requesting client. More...
 
virtual bool sendConfirmControlAccepted (RequestControl *requestControl)=0
 Send a confirm control message with the specified response code to requesting client Send a confirm control message with the specified response code to requesting client. More...
 
virtual bool sendRejectControlToController (RequestControl *requestControl)=0
 SendRejectControlToController action with input RequestControl. More...
 
virtual bool sendRejectControlNotAvailable (ReleaseControl *releaseControl)=0
 SendRejectControlNotAvailable action with input ReleaseControl. More...
 
virtual bool sendRejectControlReleased (ReleaseControl *releaseControl)=0
 SendRejectControlReleased action with input ReleaseControl. More...
 
virtual bool sendRejectControlReleased (DismissController *dismissController)=0
 SendRejectControlReleased action with input DismissController. More...
 
virtual bool storeAddress (RequestControl *requestControl)=0
 StoreAddress action with input RequestControl. More...
 
virtual bool updateControlledList (ConfirmControl *confirmControl)=0
 Modifies list of controlled components based on confirm or reject messages Modifies list of controlled components based on confirm or reject messages. More...
 
virtual bool updateControlledList (RejectControl *rejectControl)=0
 Modifies list of controlled components based on confirm or reject messages Modifies list of controlled components based on confirm or reject messages. More...
 
virtual bool isDefaultAuthorityGreater (RequestControl *requestControl)=0
 True if the default authority code of this service is greater than the authority code of the client service that triggered the corresponding transition True if the default authority code of this service is greater than the authority code of the client service that triggered the corresponding transition. More...
 
virtual bool isCurrentAuthorityLess (RequestControl *requestControl)=0
 True if the current authority value of this service is less than the authority code of the client service that triggered the corresponding transition True if the current authority value of this service is less than the authority code of the client service that triggered the corresponding transition. More...
 
virtual bool isAuthorityValid (SetAuthority *setAuthority)=0
 True if the value of the authority code received from the client is less than or equal to the current authority value of this service, but greater than or equal to the receiving component’s default authority True if the value of the authority code received from the client is less than or equal to the current authority value of this service, but greater than or equal to the receiving component’s default authority. More...
 
virtual bool isControllingClient (model::Message *message)=0
 True if the message that triggered the transition is received from the client that is in control of this service True if the message that triggered the transition is received from the client that is in control of this service. More...
 
- Public Member Functions inherited from openjaus::core::EventsInterface
virtual ~EventsInterface ()
 
virtual bool createEvent (CreateEvent *createEvent)=0
 CreateEvent action with input CreateEvent. More...
 
virtual bool processEvent (ProcessEventRequest *processEventRequest)=0
 ProcessEvent action with input ProcessEventRequest. More...
 
virtual bool resetEventTimer (CreateEvent *createEvent)=0
 ResetEventTimer action with input CreateEvent. More...
 
virtual bool resetEventTimer (UpdateEvent *updateEvent)=0
 ResetEventTimer action with input UpdateEvent. More...
 
virtual bool updateEvent (CreateEvent *createEvent)=0
 UpdateEvent action with input CreateEvent. More...
 
virtual bool updateEvent (UpdateEvent *updateEvent)=0
 UpdateEvent action with input UpdateEvent. More...
 
virtual bool cancelEvent (CancelEvent *cancelEvent)=0
 CancelEvent action with input CancelEvent. More...
 
virtual bool stopEventTimer (CancelEvent *cancelEvent)=0
 StopEventTimer action with input CancelEvent. More...
 
virtual RejectEventRequest getRejectEventRequest (CreateEvent *createEvent)=0
 Send action for RejectEventRequest with input message CreateEvent. More...
 
virtual RejectEventRequest getRejectEventRequest (UpdateEvent *updateEvent)=0
 Send action for RejectEventRequest with input message UpdateEvent. More...
 
virtual RejectEventRequest getRejectEventRequest (CancelEvent *cancelEvent)=0
 Send action for RejectEventRequest with input message CancelEvent. More...
 
virtual ConfirmEventRequest getConfirmEventRequest (CreateEvent *createEvent)=0
 Send action for ConfirmEventRequest with input message CreateEvent. More...
 
virtual ConfirmEventRequest getConfirmEventRequest (UpdateEvent *updateEvent)=0
 Send action for ConfirmEventRequest with input message UpdateEvent. More...
 
virtual ConfirmEventRequest getConfirmEventRequest (CancelEvent *cancelEvent)=0
 Send action for ConfirmEventRequest with input message CancelEvent. More...
 
virtual ReportEvents getReportEvents (QueryEvents *queryEvents)=0
 Send action for ReportEvents with input message QueryEvents. More...
 
virtual ReportEventTimeout getReportEventTimeout (QueryEventTimeout *queryEventTimeout)=0
 Send action for ReportEventTimeout with input message QueryEventTimeout. More...
 
virtual bool confirmEvent (ConfirmEventRequest *confirmEventRequest)=0
 ConfirmEvent action with input ConfirmEventRequest. More...
 
virtual bool rejectEvent (RejectEventRequest *rejectEventRequest)=0
 RejectEvent action with input RejectEventRequest. More...
 
virtual bool handleIncomingEvent (Event *event)=0
 HandleIncomingEvent action with input Event. More...
 
virtual bool handleReportEvents (ReportEvents *reportEvents)=0
 HandleReportEvents action with input ReportEvents. More...
 
virtual bool isSupported (CreateEvent *createEvent)=0
 isSupported condition. More...
 
virtual bool isSupported (UpdateEvent *updateEvent)=0
 isSupported condition. More...
 
virtual bool eventExists (CreateEvent *createEvent)=0
 eventExists condition. More...
 
virtual bool eventExists (UpdateEvent *updateEvent)=0
 eventExists condition. More...
 
virtual bool eventExists (CancelEvent *cancelEvent)=0
 eventExists condition. More...
 
- Public Member Functions inherited from openjaus::core::TransportInterface
virtual ~TransportInterface ()
 
virtual bool enqueue (model::Trigger *trigger)=0
 Convert the destination address into an unsigned integer such that the ComponentID maps to the least significant byte, NodeID to the next least significant byte and SubsystemID maps onto the remaining two bytes of the integer. More...
 
virtual bool broadcastLocalEnqueue (model::Trigger *trigger)=0
 Package the message as specified by the transport layer specification and send it to all endpoints in the local subsystem. More...
 
virtual bool broadcastGlobalEnqueue (model::Trigger *trigger)=0
 Package the message as specified by the transport layer specification and send it to all endpoints on all subsystems. More...
 
virtual bool sendMessage (model::Trigger *trigger)=0
 SendMessage action with input SendMessage. More...
 
virtual bool broadcastToNode (model::Trigger *trigger)=0
 Broadcasts message to all components within the local node Broadcasts message to all components within the local node. More...
 
virtual bool broadcastToSubsystem (model::Trigger *trigger)=0
 Broadcasts a given message to all nodes in the local subsystem (equivalent to broadcast local enqueue) Broadcasts a given message to all nodes in the local subsystem (equivalent to broadcast local enqueue) More...
 
virtual bool broadcastToSystem (model::Trigger *trigger)=0
 Broadcasts the message to all subsystems on the JAUS network (equivalent to broadcast global enqueue) Broadcasts the message to all subsystems on the JAUS network (equivalent to broadcast global enqueue) More...
 
virtual bool checkTransportPolicy (model::Trigger *trigger)=0
 CheckTransportPolicy action with input CheckTransportPolicy. More...
 
virtual ReportTransportPolicy getReportTransportPolicy (QueryTransportPolicy *queryTransportPolicy)=0
 Send action for ReportTransportPolicy with input message QueryTransportPolicy. More...
 
virtual bool storeTransportPolicy (ReportTransportPolicy *reportTransportPolicy)=0
 StoreTransportPolicy action with input ReportTransportPolicy. More...
 

Static Public Member Functions

static OPENJAUS_DEPRECATED model::Service ListManagerService ()
 Builds a default instance of the ListManager Service and populates the URI and Version numbers. More...
 
static OPENJAUS_DEPRECATED std::string ListManagerUri ()
 Static accessor for Service URI. More...
 
- Static Public Member Functions inherited from openjaus::core::ManagementInterface
static OPENJAUS_DEPRECATED model::Service ManagementService ()
 Builds a default instance of the Management Service and populates the URI and Version numbers. More...
 
static OPENJAUS_DEPRECATED std::string ManagementUri ()
 Static accessor for Service URI. More...
 
- Static Public Member Functions inherited from openjaus::core::AccessControlInterface
static OPENJAUS_DEPRECATED model::Service AccessControlService ()
 Builds a default instance of the AccessControl Service and populates the URI and Version numbers. More...
 
static OPENJAUS_DEPRECATED std::string AccessControlUri ()
 Static accessor for Service URI. More...
 
- Static Public Member Functions inherited from openjaus::core::EventsInterface
static OPENJAUS_DEPRECATED model::Service EventsService ()
 Builds a default instance of the Events Service and populates the URI and Version numbers. More...
 
static OPENJAUS_DEPRECATED std::string EventsUri ()
 Static accessor for Service URI. More...
 
- Static Public Member Functions inherited from openjaus::core::TransportInterface
static OPENJAUS_DEPRECATED model::Service TransportService ()
 Builds a default instance of the Transport Service and populates the URI and Version numbers. More...
 
static OPENJAUS_DEPRECATED std::string TransportUri ()
 Static accessor for Service URI. More...
 

Detailed 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.



URI: urn:jaus:jss:mobility:ListManager

Version: 1.0

Inherits From:

Constructor & Destructor Documentation

§ ~ListManagerInterface()

virtual openjaus::mobility::ListManagerInterface::~ListManagerInterface ( )
inlinevirtual

Member Function Documentation

§ deleteElement()

virtual bool openjaus::mobility::ListManagerInterface::deleteElement ( DeleteElement deleteElement)
pure virtual

The service should modify the NextUID of the previous element and/or the Previous UID of the next element to reflect the updated sequence. Remove the specified element(s) from the list. The service should modify the NextUID of the previous element and/or the Previous UID of the next element to reflect the updated sequence.

Parameters
[in]deleteElement- Input Trigger.
Returns
Whether the message was properly processed by this action.

Implemented in openjaus::mobility::services::ListManager.

§ elementExists() [1/2]

virtual bool openjaus::mobility::ListManagerInterface::elementExists ( QueryElement queryElement)
pure virtual

True if the UID(s) specified in the message that triggered the transition exists in the list.

Parameters
[in]queryElement- Input Trigger.
Returns
Whether the condition is true.

Implemented in openjaus::mobility::services::ListManager.

§ elementExists() [2/2]

virtual bool openjaus::mobility::ListManagerInterface::elementExists ( DeleteElement deleteElement)
pure virtual

True if the UID(s) specified in the message that triggered the transition exists in the list.

Parameters
[in]deleteElement- Input Trigger.
Returns
Whether the condition is true.

Implemented in openjaus::mobility::services::ListManager.

§ getConfirmElementRequest() [1/2]

virtual ConfirmElementRequest openjaus::mobility::ListManagerInterface::getConfirmElementRequest ( SetElement setElement)
pure virtual

§ getConfirmElementRequest() [2/2]

virtual ConfirmElementRequest openjaus::mobility::ListManagerInterface::getConfirmElementRequest ( DeleteElement deleteElement)
pure virtual

Send action for ConfirmElementRequest with input message DeleteElement.

Parameters
[in]deleteElement- Input Trigger.
Returns
ConfirmElementRequest Output Message.

Implemented in openjaus::mobility::services::ListManager.

§ getRejectElementRequest() [1/2]

virtual RejectElementRequest openjaus::mobility::ListManagerInterface::getRejectElementRequest ( SetElement setElement)
pure virtual

§ getRejectElementRequest() [2/2]

virtual RejectElementRequest openjaus::mobility::ListManagerInterface::getRejectElementRequest ( DeleteElement deleteElement)
pure virtual

Send action for RejectElementRequest with input message DeleteElement.

Parameters
[in]deleteElement- Input Trigger.
Returns
RejectElementRequest Output Message.

Implemented in openjaus::mobility::services::ListManager.

§ getReportElement()

virtual ReportElement openjaus::mobility::ListManagerInterface::getReportElement ( QueryElement queryElement)
pure virtual

Send a Report Element message with the requested element.

Parameters
[in]queryElement- Input Trigger.
Returns
ReportElement Output Message.

Implemented in openjaus::mobility::services::ListManager.

§ getReportElementCount()

virtual ReportElementCount openjaus::mobility::ListManagerInterface::getReportElementCount ( QueryElementCount queryElementCount)
pure virtual

Send action for ReportElementCount with input message QueryElementCount.

Parameters
[in]queryElementCount- Input Trigger.
Returns
ReportElementCount Output Message.

Implemented in openjaus::mobility::services::ListManager.

§ getReportElementList()

virtual ReportElementList openjaus::mobility::ListManagerInterface::getReportElementList ( QueryElementList queryElementList)
pure virtual

Send action for ReportElementList with input message QueryElementList.

Parameters
[in]queryElementList- Input Trigger.
Returns
ReportElementList Output Message.

Implemented in openjaus::mobility::services::ListManager.

§ isElementSupported()

virtual bool openjaus::mobility::ListManagerInterface::isElementSupported ( SetElement setElement)
pure virtual

This condition must be overridden by derived services to allow the list to be populated. False. This condition must be overridden by derived services to allow the list to be populated.

Parameters
[in]setElement- Input Trigger.
Returns
Whether the condition is true.

Implemented in openjaus::mobility::services::ListManager.

§ isValidElementRequest()

virtual bool openjaus::mobility::ListManagerInterface::isValidElementRequest ( SetElement setElement)
pure virtual

True if the resulting list will not be invalid as defined by the List Manager Service description and the receiving entity has sufficient memory to store the element(s).

Parameters
[in]setElement- Input Trigger.
Returns
Whether the condition is true.

Implemented in openjaus::mobility::services::ListManager.

§ ListManagerService()

static OPENJAUS_DEPRECATED model::Service openjaus::mobility::ListManagerInterface::ListManagerService ( )
inlinestatic
Returns
model::Service - The populated service.

§ ListManagerUri()

static OPENJAUS_DEPRECATED std::string openjaus::mobility::ListManagerInterface::ListManagerUri ( )
inlinestatic
Returns
std::string - Service URI

§ setElement()

virtual bool openjaus::mobility::ListManagerInterface::setElement ( SetElement setElement)
pure virtual

If this action represents an insert or append into an existing list, the service should modify the NextUID of the previous element and/or the Previous UID of the next element to reflect the updated sequence. Store the element(s) in the list with sequence specified by the previous and next element IDs. If this action represents an insert or append into an existing list, the service should modify the NextUID of the previous element and/or the Previous UID of the next element to reflect the updated sequence.

Parameters
[in]setElement- Input Trigger.
Returns
Whether the message was properly processed by this action.

Implemented in openjaus::mobility::services::ListManager.


The documentation for this class was generated from the following file: