OpenJAUS Software Development Kit
4.3.1
|
Provides an abstract interface for the AccessControl service. More...
#include <AccessControlInterface.h>
Inherits openjaus::core::EventsInterface.
Inherited by openjaus::core::ManagementInterface [virtual]
, openjaus::core::services::AccessControl [virtual]
, openjaus::core::TimeInterface [virtual]
, openjaus::environment::RangeSensorInterface [virtual]
, openjaus::environment::VisualSensorInterface [virtual]
, openjaus::hmi::DigitalControlInterface [virtual]
, openjaus::manipulator::ManipulatorEndEffectorPoseSensorInterface [virtual]
, openjaus::manipulator::ManipulatorEndEffectorVelocityStateSensorInterface [virtual]
, openjaus::mobility::GlobalPoseSensorInterface [virtual]
, openjaus::mobility::LocalPoseSensorInterface [virtual]
, openjaus::ugv::AnnunciatorInterface [virtual]
, openjaus::ugv::IlluminationInterface [virtual]
, openjaus::ugv::OdometryInterface [virtual]
, and openjaus::ugv::PowerPlantManagerInterface [virtual]
.
Public Member Functions | |
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 | 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... | |
The Access Control service offers a basic interface for acquiring preemptable exclusive control to one or more related services that utilize this function. Once the exclusive control is established, the related services shall only execute commands originating from the controlling component. The authority code parameter of this service is used for preemption and is to be set equal to that of its controlling client. This service always grants control to the highest authority client that is requesting exclusive control. Commands from all other clients are ignored unless from a client with higher authority. service maintains two values, a default value and a current value of a field called authority code. The default value is the value that the service is pre-configured with. Access is provided to clients based on the value of their authority code in comparison to the current value of this service. transitions between the Available and NotAvailable nested states are behaviors that are deferred to service definitions that derive from this service.
URI: urn:jaus:jss:core:AccessControl
Version: 1.1
Inherits From:
|
inlinevirtual |
|
inlinestatic |
|
inlinestatic |
|
pure virtual |
[in] | queryAuthority | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | queryControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | queryTimeout | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | setAuthority | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | message | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | requestControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | requestControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | requestControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | requestControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | requestControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | requestControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
SendRejectControlNotAvailable action with input ReleaseControl.
[in] | releaseControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
SendRejectControlReleased action with input ReleaseControl.
[in] | releaseControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
SendRejectControlReleased action with input DismissController.
[in] | dismissController | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
SendRejectControlToController action with input RequestControl.
[in] | requestControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | requestControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | setAuthority | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
StoreAddress action with input RequestControl.
[in] | requestControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | confirmControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.
|
pure virtual |
[in] | rejectControl | - Input Trigger. |
Implemented in openjaus::core::services::AccessControl.