mirror of
https://github.com/thelsing/knx.git
synced 2025-08-03 13:48:15 +02:00
added functionproperty callback
This commit is contained in:
parent
6a1b70c558
commit
d6348d2c80
@ -4,6 +4,9 @@
|
||||
#include "interface_object.h"
|
||||
|
||||
typedef void (*BeforeRestartCallback)(void);
|
||||
#ifdef USE_FUNCTIONPROPERTYCALLBACK
|
||||
typedef void (*FunctionPropertyCallback)(uint8_t objectIndex, uint8_t propertyId, uint8_t length, uint8_t *data, uint8_t *resultData, uint8_t &resultLength);
|
||||
#endif
|
||||
|
||||
class BusAccessUnit
|
||||
{
|
||||
@ -165,4 +168,8 @@ class BusAccessUnit
|
||||
uint8_t* data, uint32_t length);
|
||||
virtual void beforeRestartCallback(BeforeRestartCallback func);
|
||||
virtual BeforeRestartCallback beforeRestartCallback();
|
||||
#ifdef USE_FUNCTIONPROPERTYCALLBACK
|
||||
virtual void functionPropertyCallback(FunctionPropertyCallback func);
|
||||
virtual FunctionPropertyCallback functionPropertyCallback();
|
||||
#endif
|
||||
};
|
||||
|
@ -312,7 +312,14 @@ void BauSystemB::functionPropertyCommandIndication(Priority priority, HopCountTy
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef USE_FUNCTIONPROPERTYCALLBACK
|
||||
if(_functionProperty != 0)
|
||||
_functionProperty(objectIndex, propertyId, length, data, resultData, resultLength);
|
||||
else
|
||||
resultLength = 0;
|
||||
#else
|
||||
resultLength = 0; // We must not send a return code or any data fields
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@ -638,3 +645,15 @@ BeforeRestartCallback BauSystemB::beforeRestartCallback()
|
||||
{
|
||||
return _beforeRestart;
|
||||
}
|
||||
|
||||
#ifdef USE_FUNCTIONPROPERTYCALLBACK
|
||||
void BauSystemB::functionPropertyCallback(FunctionPropertyCallback func)
|
||||
{
|
||||
_functionProperty = func;
|
||||
}
|
||||
|
||||
FunctionPropertyCallback BauSystemB::functionPropertyCallback()
|
||||
{
|
||||
return _functionProperty;
|
||||
}
|
||||
#endif
|
@ -43,6 +43,10 @@ class BauSystemB : protected BusAccessUnit
|
||||
VersionCheckCallback versionCheckCallback();
|
||||
void beforeRestartCallback(BeforeRestartCallback func);
|
||||
BeforeRestartCallback beforeRestartCallback();
|
||||
#ifdef USE_FUNCTIONPROPERTYCALLBACK
|
||||
void functionPropertyCallback(FunctionPropertyCallback func);
|
||||
FunctionPropertyCallback functionPropertyCallback();
|
||||
#endif
|
||||
|
||||
protected:
|
||||
virtual ApplicationLayer& applicationLayer() = 0;
|
||||
@ -113,4 +117,7 @@ class BauSystemB : protected BusAccessUnit
|
||||
SecurityControl _restartSecurity;
|
||||
uint32_t _restartDelay = 0;
|
||||
BeforeRestartCallback _beforeRestart = 0;
|
||||
#ifdef USE_FUNCTIONPROPERTYCALLBACK
|
||||
FunctionPropertyCallback _functionProperty = 0;
|
||||
#endif
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user