From f84e434baeb22fe7edb12eca8c07f1a8d24f15c4 Mon Sep 17 00:00:00 2001 From: Nanosonde <2073569+nanosonde@users.noreply.github.com> Date: Tue, 9 Jun 2020 12:11:09 +0200 Subject: [PATCH] Readd systembroadcast methods --- src/knx/secure_application_layer.cpp | 18 ++++++++++++++++++ src/knx/secure_application_layer.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/src/knx/secure_application_layer.cpp b/src/knx/secure_application_layer.cpp index 6dde69a..bddf56f 100644 --- a/src/knx/secure_application_layer.cpp +++ b/src/knx/secure_application_layer.cpp @@ -73,6 +73,24 @@ void SecureApplicationLayer::dataBroadcastConfirm(AckType ack, HopCountType hopT ApplicationLayer::dataBroadcastConfirm(ack, hopType, priority, apdu, status); } +void SecureApplicationLayer::dataSystemBroadcastIndication(HopCountType hopType, Priority priority, uint16_t source, APDU& apdu) +{ + if (apdu.type() == SecureService) + { + // Secure APDU is not allowed in SystemBroadcast + println("Secure APDU in SystemBroadcast not allowed!"); + } + else + { + ApplicationLayer::dataSystemBroadcastIndication(hopType, priority, source, apdu); + } +} + +void SecureApplicationLayer::dataSystemBroadcastConfirm(HopCountType hopType, Priority priority, APDU& apdu, bool status) +{ + ApplicationLayer::dataSystemBroadcastConfirm(hopType, priority, apdu, status); +} + void SecureApplicationLayer::dataIndividualIndication(HopCountType hopType, Priority priority, uint16_t tsap, APDU& apdu) { if (apdu.type() == SecureService) diff --git a/src/knx/secure_application_layer.h b/src/knx/secure_application_layer.h index 94805c4..a99add1 100644 --- a/src/knx/secure_application_layer.h +++ b/src/knx/secure_application_layer.h @@ -30,6 +30,8 @@ class SecureApplicationLayer : public ApplicationLayer APDU& apdu, bool status) override; 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 connectIndication(uint16_t tsap) override;