Garmin Fleet Management Controller
2.19.0
|
Abstract base class for the application layer in the OSI model. More...
#include <ApplicationLayer.h>
Public Member Functions | |
ApplicationLayer (TransportLayer *aTransportLayer) | |
Construct an ApplicationLayer. More... | |
virtual | ~ApplicationLayer () |
ApplicationLayer destructor. More... | |
virtual void | disconnectTransportLayer () |
Disconnect the TransportLayer from this ApplicationLayer. More... | |
virtual void | onAck (const Packet *aPacket)=0 |
Callback when a sent packet is ACKed. More... | |
virtual bool | rx (const Packet *aPacket)=0 |
Callback for received packets. More... | |
Protected Attributes | |
TransportLayer * | mTransportLayer |
The next layer down in the stack. More... | |
Abstract base class for the application layer in the OSI model.
The ApplicationLayer sends packets to and receives packets from the TransportLayer. A mechanism is also provided that allows the ApplicationLayer to be notified when the other device has received and acknowledged a particular packet.
Definition at line 27 of file ApplicationLayer.h.
ApplicationLayer::ApplicationLayer | ( | TransportLayer * | aTransportLayer | ) |
Construct an ApplicationLayer.
aTransportLayer | The transport layer that this application layer communicates with |
Definition at line 19 of file ApplicationLayer.cpp.
References TransportLayer::addAppLayer(), and mTransportLayer.
|
virtual |
ApplicationLayer destructor.
Disconnect any TransportLayer from this ApplicationLayer
Definition at line 29 of file ApplicationLayer.cpp.
References mTransportLayer, and TransportLayer::removeAppLayer().
|
virtual |
Disconnect the TransportLayer from this ApplicationLayer.
Definition at line 40 of file ApplicationLayer.cpp.
References mTransportLayer.
|
pure virtual |
Callback when a sent packet is ACKed.
aPacket | The packet that was ACKed |
Implemented in FmiApplicationLayer.
Referenced by GarminTransportLayer::rx().
|
pure virtual |
Callback for received packets.
aPacket | The aPacket that was received |
Implemented in FmiApplicationLayer.
|
protected |
The next layer down in the stack.
Definition at line 56 of file ApplicationLayer.h.
Referenced by ApplicationLayer(), FmiApplicationLayer::clearError(), disconnectTransportLayer(), FmiApplicationLayer::sendEnable(), FmiApplicationLayer::sendEnablePvtCommand(), FmiApplicationLayer::sendFreeformFmiPacket(), FmiApplicationLayer::txCommand(), FmiApplicationLayer::txFmi(), and ~ApplicationLayer().