Class SecureApplicationLayer¶
Defined in File secure_application_layer.h
Nested Relationships¶
Nested Types¶
Inheritance Relationships¶
Base Type¶
public ApplicationLayer
(Class ApplicationLayer)
Class Documentation¶
-
class SecureApplicationLayer : public ApplicationLayer¶
This is an implementation of the application layer as specified in [4].
It provides methods for the BusAccessUnit to do different things and translates this call to an APDU and calls the correct method of the TransportLayer. It also takes calls from TransportLayer, decodes the submitted APDU and calls the coresponding methods of the BusAccessUnit class.
Public Functions
-
SecureApplicationLayer(DeviceObject &deviceObj, SecurityInterfaceObject &secIfObj, BusAccessUnit &bau)¶
The constructor.
- Parameters
assocTable – The AssociationTable is used to translate between asap (i.e. group objects) and group addresses.
bau – methods are called here depending of the content of the APDU
-
void groupAddressTable(AddressTableObject &addrTable)¶
-
virtual void dataGroupIndication(HopCountType hopType, Priority priority, uint16_t tsap, APDU &apdu) override¶
Somebody send us an APDU via multicast communication.
See 3.2 of [1]. See also ApplicationLayer::dataGroupConfirm and TransportLayer::dataGroupRequest. This method is called by the TransportLayer.
- Parameters
tsap – used the find the correct GroupObject with the help of the AssociationTableObject. See 3.1.1 of [2]
apdu – The submitted APDU.
priority – The Priority of the received request.
hopType – Should routing be endless or should the NetworkLayer::hopCount be used? See also HopCountType.
-
virtual void dataGroupConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU &apdu, bool status) override¶
Report the status of an APDU that we sent via multicast communication back to us.
See 3.2 of [1]. See also ApplicationLayer::dataGroupConfirm and TransportLayer::dataGroupRequest. This method is called by the TransportLayer.
- Parameters
tsap – used the find the correct GroupObject with the help of the AssociationTableObject. See 3.1.1 of [2]
apdu – The submitted APDU.
priority – The Priority of the received request.
hopType – Should routing be endless or should the NetworkLayer::hopCount be used? See also HopCountType.
status – Was the request successful?
ack – Did we want a DataLinkLayer acknowledgement? See AckType.
-
virtual void dataBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU &apdu) override¶
-
virtual void dataBroadcastConfirm(AckType ack, HopCountType hopType, Priority priority, APDU &apdu, bool status) override¶
-
virtual void dataSystemBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU &apdu) override¶
-
virtual void dataSystemBroadcastConfirm(HopCountType hopType, Priority priority, APDU &apdu, bool status) override¶
-
virtual void dataIndividualIndication(HopCountType hopType, Priority priority, uint16_t source, APDU &apdu) override¶
-
virtual void dataIndividualConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU &apdu, bool status) override¶
-
virtual void dataConnectedConfirm(uint16_t tsap) override¶
-
void loop()¶
Protected Functions
-
virtual void dataGroupRequest(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU &apdu, const SecurityControl &secCtrl) override¶
-
virtual void dataBroadcastRequest(AckType ack, HopCountType hopType, Priority priority, APDU &apdu, const SecurityControl &secCtrl) override¶
-
virtual void dataSystemBroadcastRequest(AckType ack, HopCountType hopType, Priority priority, APDU &apdu, const SecurityControl &secCtrl) override¶
-
virtual void dataIndividualRequest(AckType ack, HopCountType hopType, Priority priority, uint16_t destination, APDU &apdu, const SecurityControl &secCtrl) override¶
-
virtual void dataConnectedRequest(uint16_t tsap, Priority priority, APDU &apdu, const SecurityControl &secCtrl) override¶
-
SecureApplicationLayer(DeviceObject &deviceObj, SecurityInterfaceObject &secIfObj, BusAccessUnit &bau)¶