mirror of
https://github.com/thelsing/knx.git
synced 2025-03-08 00:16:06 +01:00
Move code from header to source file
This commit is contained in:
parent
0834618843
commit
3297b53332
@ -8,7 +8,7 @@
|
|||||||
#include "bits.h"
|
#include "bits.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
const SecurityControl ApplicationLayer::noSecurity {.toolAccess=true, .dataSecurity=DataSecurity::none};
|
const SecurityControl ApplicationLayer::noSecurity {.toolAccess=false, .dataSecurity=DataSecurity::none};
|
||||||
|
|
||||||
ApplicationLayer::ApplicationLayer(AssociationTableObject& assocTable, BusAccessUnit& bau):
|
ApplicationLayer::ApplicationLayer(AssociationTableObject& assocTable, BusAccessUnit& bau):
|
||||||
_assocTable(assocTable), _bau(bau)
|
_assocTable(assocTable), _bau(bau)
|
||||||
@ -19,10 +19,14 @@ void ApplicationLayer::transportLayer(TransportLayer& layer)
|
|||||||
{
|
{
|
||||||
_transportLayer = &layer;
|
_transportLayer = &layer;
|
||||||
}
|
}
|
||||||
static constexpr SecurityControl noSecurity {.toolAccess=true, .dataSecurity=DataSecurity::none};
|
|
||||||
|
|
||||||
#pragma region TL Callbacks
|
#pragma region TL Callbacks
|
||||||
|
|
||||||
|
void ApplicationLayer::dataGroupIndication(HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu)
|
||||||
|
{
|
||||||
|
dataGroupIndication(hopType, priority, tsap, apdu, noSecurity);
|
||||||
|
}
|
||||||
|
|
||||||
void ApplicationLayer::dataGroupIndication(HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl& secCtrl)
|
void ApplicationLayer::dataGroupIndication(HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl& secCtrl)
|
||||||
{
|
{
|
||||||
uint8_t len = apdu.length();
|
uint8_t len = apdu.length();
|
||||||
@ -61,6 +65,11 @@ void ApplicationLayer::dataGroupIndication(HopCountType hopType, Priority priori
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ApplicationLayer::dataGroupConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, bool status)
|
||||||
|
{
|
||||||
|
dataGroupConfirm(ack, hopType, priority, tsap, apdu, noSecurity, status);
|
||||||
|
}
|
||||||
|
|
||||||
void ApplicationLayer::dataGroupConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl &secCtrl, bool status)
|
void ApplicationLayer::dataGroupConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl &secCtrl, bool status)
|
||||||
{
|
{
|
||||||
switch (apdu.type())
|
switch (apdu.type())
|
||||||
@ -80,6 +89,11 @@ void ApplicationLayer::dataGroupConfirm(AckType ack, HopCountType hopType, Prior
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ApplicationLayer::dataBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu)
|
||||||
|
{
|
||||||
|
dataBroadcastIndication(hopType, priority, source, apdu, noSecurity);
|
||||||
|
}
|
||||||
|
|
||||||
void ApplicationLayer::dataBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu, const SecurityControl& secCtrl)
|
void ApplicationLayer::dataBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu, const SecurityControl& secCtrl)
|
||||||
{
|
{
|
||||||
uint8_t* data = apdu.data();
|
uint8_t* data = apdu.data();
|
||||||
@ -133,6 +147,11 @@ void ApplicationLayer::dataBroadcastIndication(HopCountType hopType, Priority pr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ApplicationLayer::dataBroadcastConfirm(AckType ack, HopCountType hopType, Priority priority, APDU& apdu, bool status)
|
||||||
|
{
|
||||||
|
dataBroadcastConfirm(ack, hopType, priority, apdu, noSecurity, status);
|
||||||
|
}
|
||||||
|
|
||||||
void ApplicationLayer::dataBroadcastConfirm(AckType ack, HopCountType hopType, Priority priority, APDU& apdu, const SecurityControl& secCtrl, bool status)
|
void ApplicationLayer::dataBroadcastConfirm(AckType ack, HopCountType hopType, Priority priority, APDU& apdu, const SecurityControl& secCtrl, bool status)
|
||||||
{
|
{
|
||||||
uint8_t* data = apdu.data();
|
uint8_t* data = apdu.data();
|
||||||
@ -181,6 +200,11 @@ void ApplicationLayer::dataBroadcastConfirm(AckType ack, HopCountType hopType, P
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ApplicationLayer::dataSystemBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu)
|
||||||
|
{
|
||||||
|
dataSystemBroadcastIndication(hopType, priority, source, apdu, noSecurity);
|
||||||
|
}
|
||||||
|
|
||||||
void ApplicationLayer::dataSystemBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu, const SecurityControl &secCtrl)
|
void ApplicationLayer::dataSystemBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu, const SecurityControl &secCtrl)
|
||||||
{
|
{
|
||||||
const uint8_t* data = apdu.data();
|
const uint8_t* data = apdu.data();
|
||||||
@ -225,6 +249,10 @@ void ApplicationLayer::dataSystemBroadcastIndication(HopCountType hopType, Prior
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ApplicationLayer::dataSystemBroadcastConfirm(HopCountType hopType, Priority priority, APDU& apdu, bool status) {
|
||||||
|
dataSystemBroadcastConfirm(hopType, priority, apdu, noSecurity, status);
|
||||||
|
}
|
||||||
|
|
||||||
void ApplicationLayer::dataSystemBroadcastConfirm(HopCountType hopType, Priority priority, APDU& apdu, const SecurityControl& secCtrl, bool status)
|
void ApplicationLayer::dataSystemBroadcastConfirm(HopCountType hopType, Priority priority, APDU& apdu, const SecurityControl& secCtrl, bool status)
|
||||||
{
|
{
|
||||||
const uint8_t* data = apdu.data();
|
const uint8_t* data = apdu.data();
|
||||||
@ -269,11 +297,21 @@ void ApplicationLayer::dataSystemBroadcastConfirm(HopCountType hopType, Priority
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ApplicationLayer::dataIndividualIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu)
|
||||||
|
{
|
||||||
|
dataIndividualIndication(hopType, priority, source, apdu, noSecurity);
|
||||||
|
}
|
||||||
|
|
||||||
void ApplicationLayer::dataIndividualIndication(HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl& secCtrl)
|
void ApplicationLayer::dataIndividualIndication(HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl& secCtrl)
|
||||||
{
|
{
|
||||||
individualIndication(hopType, priority, tsap, apdu, secCtrl);
|
individualIndication(hopType, priority, tsap, apdu, secCtrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ApplicationLayer::dataIndividualConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, bool status)
|
||||||
|
{
|
||||||
|
dataIndividualConfirm(ack, hopType, priority, tsap, apdu, noSecurity, status);
|
||||||
|
}
|
||||||
|
|
||||||
void ApplicationLayer::dataIndividualConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl &secCtrl, bool status)
|
void ApplicationLayer::dataIndividualConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl &secCtrl, bool status)
|
||||||
{
|
{
|
||||||
individualConfirm(ack, hopType, priority, tsap, apdu, secCtrl, status);
|
individualConfirm(ack, hopType, priority, tsap, apdu, secCtrl, status);
|
||||||
@ -305,11 +343,21 @@ void ApplicationLayer::disconnectConfirm(Priority priority, uint16_t tsap, bool
|
|||||||
_connectedTsap = -1;
|
_connectedTsap = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ApplicationLayer::dataConnectedIndication(Priority priority, uint16_t tsap, APDU& apdu)
|
||||||
|
{
|
||||||
|
dataConnectedIndication(priority, tsap, apdu, noSecurity);
|
||||||
|
}
|
||||||
|
|
||||||
void ApplicationLayer::dataConnectedIndication(Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl& secCtrl)
|
void ApplicationLayer::dataConnectedIndication(Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl& secCtrl)
|
||||||
{
|
{
|
||||||
individualIndication(NetworkLayerParameter, priority, tsap, apdu, secCtrl);
|
individualIndication(NetworkLayerParameter, priority, tsap, apdu, secCtrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ApplicationLayer::dataConnectedConfirm(uint16_t tsap)
|
||||||
|
{
|
||||||
|
dataConnectedConfirm(tsap, noSecurity);
|
||||||
|
}
|
||||||
|
|
||||||
void ApplicationLayer::dataConnectedConfirm(uint16_t tsap, const SecurityControl& secCtrl)
|
void ApplicationLayer::dataConnectedConfirm(uint16_t tsap, const SecurityControl& secCtrl)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -30,6 +30,8 @@ class ApplicationLayer
|
|||||||
|
|
||||||
// from transport layer
|
// from transport layer
|
||||||
// Note: without data secure feature, the application layer is just used with SecurtyControl.dataSecurity = none
|
// Note: without data secure feature, the application layer is just used with SecurtyControl.dataSecurity = none
|
||||||
|
// hooks that can be implemented by derived class (e.g. SecureApplicationLayer)
|
||||||
|
|
||||||
#pragma region Transport - Layer - Callbacks
|
#pragma region Transport - Layer - Callbacks
|
||||||
/**
|
/**
|
||||||
* Somebody send us an APDU via multicast communiation. See 3.2 of @cite knx:3/3/4.
|
* Somebody send us an APDU via multicast communiation. See 3.2 of @cite knx:3/3/4.
|
||||||
@ -45,7 +47,7 @@ class ApplicationLayer
|
|||||||
*
|
*
|
||||||
* @param hopType Should routing be endless or should the NetworkLayer::hopCount be used? See also ::HopCountType.
|
* @param hopType Should routing be endless or should the NetworkLayer::hopCount be used? See also ::HopCountType.
|
||||||
*/
|
*/
|
||||||
virtual void dataGroupIndication(HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu) {dataGroupIndication(hopType, priority, tsap, apdu, noSecurity);}
|
virtual void dataGroupIndication(HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu);
|
||||||
/**
|
/**
|
||||||
* Report the status of an APDU that we sent via multicast communiation back to us. See 3.2 of @cite knx:3/3/4.
|
* Report the status of an APDU that we sent via multicast communiation back to us. See 3.2 of @cite knx:3/3/4.
|
||||||
* See also ApplicationLayer::dataGroupConfirm and TransportLayer::dataGroupRequest. This method is called by
|
* See also ApplicationLayer::dataGroupConfirm and TransportLayer::dataGroupRequest. This method is called by
|
||||||
@ -64,16 +66,15 @@ class ApplicationLayer
|
|||||||
*
|
*
|
||||||
* @param ack Did we want a DataLinkLayer acknowledgement? See ::AckType.
|
* @param ack Did we want a DataLinkLayer acknowledgement? See ::AckType.
|
||||||
*/
|
*/
|
||||||
virtual void dataGroupConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap,
|
virtual void dataGroupConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, bool status);
|
||||||
APDU& apdu, bool status) {dataGroupConfirm(ack, hopType, priority, tsap, apdu, noSecurity, status);}
|
virtual void dataBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu);
|
||||||
virtual void dataBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu) {dataBroadcastIndication(hopType, priority, source, apdu, noSecurity);}
|
virtual void dataBroadcastConfirm(AckType ack, HopCountType hopType, Priority priority, APDU& apdu, bool status);
|
||||||
virtual void dataBroadcastConfirm(AckType ack, HopCountType hopType, Priority priority, APDU& apdu, bool status) {dataBroadcastConfirm(ack, hopType, priority, apdu, noSecurity, status);}
|
virtual void dataSystemBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu);
|
||||||
virtual void dataSystemBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu) {dataSystemBroadcastIndication(hopType, priority, source, apdu, noSecurity);}
|
virtual void dataSystemBroadcastConfirm(HopCountType hopType, Priority priority, APDU& apdu, bool status);
|
||||||
virtual void dataSystemBroadcastConfirm(HopCountType hopType, Priority priority, APDU& apdu, bool status) {dataSystemBroadcastConfirm(hopType, priority, apdu, noSecurity, status);}
|
virtual void dataIndividualIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu);
|
||||||
virtual void dataIndividualIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu) {dataIndividualIndication(hopType, priority, source, apdu, noSecurity);}
|
virtual void dataIndividualConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, bool status);
|
||||||
virtual void dataIndividualConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, bool status) {dataIndividualConfirm(ack, hopType, priority, tsap, apdu, noSecurity, status);}
|
virtual void dataConnectedIndication(Priority priority, uint16_t tsap, APDU& apdu);
|
||||||
virtual void dataConnectedIndication(Priority priority, uint16_t tsap, APDU& apdu) {dataConnectedIndication(priority, tsap, apdu, noSecurity);}
|
virtual void dataConnectedConfirm(uint16_t tsap);
|
||||||
virtual void dataConnectedConfirm(uint16_t tsap) {dataConnectedConfirm(tsap, noSecurity);}
|
|
||||||
void connectIndication(uint16_t tsap);
|
void connectIndication(uint16_t tsap);
|
||||||
void connectConfirm(uint16_t destination, uint16_t tsap, bool status);
|
void connectConfirm(uint16_t destination, uint16_t tsap, bool status);
|
||||||
void disconnectIndication(uint16_t tsap);
|
void disconnectIndication(uint16_t tsap);
|
||||||
@ -151,7 +152,6 @@ class ApplicationLayer
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
// hooks that can be implemented by derived class (e.g. SecureApplicationLayer)
|
|
||||||
#pragma region hooks
|
#pragma region hooks
|
||||||
void dataGroupIndication(HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl &secCtrl);
|
void dataGroupIndication(HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu, const SecurityControl &secCtrl);
|
||||||
void dataGroupConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap,
|
void dataGroupConfirm(AckType ack, HopCountType hopType, Priority priority, uint16_t tsap,
|
||||||
|
Loading…
Reference in New Issue
Block a user