Garmin Fleet Management Controller  2.19.0
ApplicationLayer.h
Go to the documentation of this file.
1 /*********************************************************************
2 *
3 * HEADER NAME:
4 * ApplicationLayer.h
5 *
6 * Copyright 2008-2009 by Garmin Ltd. or its subsidiaries.
7 *---------------------------------------------------------------------
8 * $NoKeywords$
9 *********************************************************************/
10 #ifndef ApplicationLayer_H
11 #define ApplicationLayer_H
12 
13 class ApplicationLayer;
14 
15 #include "garmin_types.h"
16 #include "TransportLayer.h"
17 #include "Packet.h"
18 
19 //----------------------------------------------------------------------
26 //----------------------------------------------------------------------
28 {
29 public:
31  (
32  TransportLayer * aTransportLayer
33  );
34 
35  virtual ~ApplicationLayer();
36 
37  virtual void disconnectTransportLayer();
38 
42  virtual bool rx
43  (
44  const Packet * aPacket
45  ) = 0;
46 
49  virtual void onAck
50  (
51  const Packet * aPacket
52  ) = 0;
53 
54 protected:
57 };
58 
59 #endif
virtual void disconnectTransportLayer()
Disconnect the TransportLayer from this ApplicationLayer.
ApplicationLayer(TransportLayer *aTransportLayer)
Construct an ApplicationLayer.
virtual void onAck(const Packet *aPacket)=0
Callback when a sent packet is ACKed.
virtual ~ApplicationLayer()
ApplicationLayer destructor.
TransportLayer * mTransportLayer
The next layer down in the stack.
virtual bool rx(const Packet *aPacket)=0
Callback for received packets.
Abstract base class for transport layer in the OSI model.
Abstract base class for a packet of data.
Definition: Packet.h:18
Abstract base class for the application layer in the OSI model.