Skip to content

Commit 4cd1825

Browse files
Make TestEventTrigger delegate testable and extensible (project-chip#31724)
* Make TestEventTrigger delegate testable and extensible - Make TestEventTriggerDelegate base class manage multiple sub-handlers. - Add unit tests for TestEventTriggerDelegate - Introduce an interface for generic TestEventTrigger handlers - Add Clear() method to Intrusive list to remove everything. - Document the fact that `emberAfHandleEventTrigger` should NOT be used - Update all examples as needed. - Renumber OTA and SmokeCO testevent trigger prefix to match new Matter 1.3 standard (first 16 bits == cluster ID being tested). - Clean-up dead code - Register OTA test event handler as intended. - Add TODOs for platforms to clean-up TestEventTriggerDelegate registration. - Updated BOOLCFG tests to use `--hex-arg` for PIXIT since `--int-arg` is too confusing with complex keys. Issue project-chip#31723 Testing done: - EEVSE Python tests using event triggers pass - SMOKECO YAML tests using event triggers pass - BOOLCFG Python tests using event triggers pass - TC_TestEventTrigger passes - New unit tests pass * Fix merge issue * Restyled by clang-format * Fix uninitialized variable access * Fix Ameba/Silabs build * Fix CopyString bound * More fixes of Ameba/Silabs build --------- Co-authored-by: Restyled.io <commits@restyled.io>
1 parent 7a3174c commit 4cd1825

File tree

70 files changed

+735
-601
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+735
-601
lines changed

examples/all-clusters-app/all-clusters-common/src/boolcfg-stub.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* limitations under the License.
1616
*/
1717

18-
#include <app/clusters/boolean-state-configuration-server/BooleanStateConfigurationTestEventTriggerDelegate.h>
18+
#include <app/clusters/boolean-state-configuration-server/BooleanStateConfigurationTestEventTriggerHandler.h>
1919
#include <app/clusters/boolean-state-configuration-server/boolean-state-configuration-server.h>
2020

2121
#include <platform/CHIPDeviceLayer.h>

examples/all-clusters-app/all-clusters-common/src/smco-stub.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* limitations under the License.
1616
*/
1717

18-
#include <app/clusters/smoke-co-alarm-server/SmokeCOTestEventTriggerDelegate.h>
18+
#include <app/clusters/smoke-co-alarm-server/SmokeCOTestEventTriggerHandler.h>
1919
#include <app/clusters/smoke-co-alarm-server/smoke-co-alarm-server.h>
2020

2121
#include <platform/CHIPDeviceLayer.h>

examples/all-clusters-app/ameba/main/SmokeCOAlarmManager.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
*/
1717

1818
#include "SmokeCOAlarmManager.h"
19-
#include <app/clusters/smoke-co-alarm-server/SmokeCOTestEventTriggerDelegate.h>
19+
#include <app/clusters/smoke-co-alarm-server/SmokeCOTestEventTriggerHandler.h>
2020
#include <lib/support/TypeTraits.h>
2121

2222
using namespace chip;

examples/all-clusters-app/ameba/main/chipinterface.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,10 @@ static void InitServer(intptr_t context)
140140
static chip::CommonCaseDeviceServerInitParams initParams;
141141

142142
#if CONFIG_ENABLE_AMEBA_TEST_EVENT_TRIGGER
143-
static AmebaTestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
144-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
143+
// TODO(#31723): Show to customers that they can do `Server::GetInstance().GetTestEventTriggerDelegate().AddHandler(xxx)`
144+
// to add custom handlers during their app init, after InitServer.
145+
static AmebaTestEventTriggerDelegate sTestEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
146+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
145147
#endif
146148

147149
initParams.InitializeStaticResourcesBeforeServerInit();

examples/all-clusters-app/ameba/main/include/SmokeCOAlarmManager.h

-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
#include <stdbool.h>
2323
#include <stdint.h>
2424

25-
bool emberAfHandleEventTrigger(uint64_t eventTrigger);
26-
2725
class SmokeCoAlarmManager
2826
{
2927
public:

examples/all-clusters-app/nrfconnect/main/AppTask.cpp

+7-3
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@
2727
#include <app/server/OnboardingCodesUtil.h>
2828
#include <app/server/Server.h>
2929

30+
#include <app/TestEventTriggerDelegate.h>
3031
#include <app/clusters/identify-server/identify-server.h>
31-
#include <app/clusters/ota-requestor/OTATestEventTriggerDelegate.h>
32+
#include <app/clusters/ota-requestor/OTATestEventTriggerHandler.h>
3233
#include <app/util/attribute-storage.h>
3334

3435
#include <credentials/DeviceAttestationCredsProvider.h>
@@ -204,9 +205,12 @@ CHIP_ERROR AppTask::Init()
204205
#endif
205206

206207
static CommonCaseDeviceServerInitParams initParams;
207-
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
208+
static SimpleTestEventTriggerDelegate sTestEventTriggerDelegate{};
209+
static OTATestEventTriggerHandler sOtaTestEventTriggerHandler{};
210+
VerifyOrDie(sTestEventTriggerDelegate.Init(ByteSpan(sTestEventTriggerEnableKey)) == CHIP_NO_ERROR);
211+
VerifyOrDie(sTestEventTriggerDelegate.AddHandler(&sOtaTestEventTriggerHandler) == CHIP_NO_ERROR);
208212
(void) initParams.InitializeStaticResourcesBeforeServerInit();
209-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
213+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
210214
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));
211215
AppFabricTableDelegate::Init();
212216

examples/energy-management-app/energy-management-common/src/EVSEManufacturerImpl.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818

1919
#include <EVSEManufacturerImpl.h>
2020
#include <EnergyEvseManager.h>
21-
#include <app/clusters/electrical-energy-measurement-server/EnergyReportingTestEventTriggerDelegate.h>
21+
#include <app/clusters/electrical-energy-measurement-server/EnergyReportingTestEventTriggerHandler.h>
2222
#include <app/clusters/electrical-energy-measurement-server/electrical-energy-measurement-server.h>
23-
#include <app/clusters/energy-evse-server/EnergyEvseTestEventTriggerDelegate.h>
23+
#include <app/clusters/energy-evse-server/EnergyEvseTestEventTriggerHandler.h>
2424

2525
using namespace chip;
2626
using namespace chip::app;

examples/energy-management-app/linux/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ If you haven't implemented a real EVSE but want to simulate plugging in an EV
366366
then you can use a few of the test event triggers to simulate these scenarios.
367367

368368
The test event triggers values can be found in:
369-
[EnergyEvseTestEventTriggerDelegate.h](../../../src/app/clusters/energy-evse-server/EnergyEvseTestEventTriggerDelegate.h)
369+
[EnergyEvseTestEventTriggerHandler.h](../../../src/app/clusters/energy-evse-server/EnergyEvseTestEventTriggerHandler.h)
370370

371371
- 0x0099000000000000 - Simulates the EVSE being installed on a 32A supply
372372
- 0x0099000000000002 - Simulates the EVSE being plugged in (this should

examples/light-switch-app/infineon/cyw30739/src/main.cpp

+7-3
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@
2626
#if CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR
2727
#include <OTAConfig.h>
2828
#endif
29+
#include <app/TestEventTriggerDelegate.h>
2930
#include <app/clusters/identify-server/identify-server.h>
30-
#include <app/clusters/ota-requestor/OTATestEventTriggerDelegate.h>
31+
#include <app/clusters/ota-requestor/OTATestEventTriggerHandler.h>
3132
#include <app/server/OnboardingCodesUtil.h>
3233
#include <app/server/Server.h>
3334
#include <credentials/examples/DeviceAttestationCredsExample.h>
@@ -192,10 +193,13 @@ void InitApp(intptr_t args)
192193
// Print QR Code URL
193194
PrintOnboardingCodes(chip::RendezvousInformationFlag(chip::RendezvousInformationFlag::kBLE));
194195
/* Start CHIP datamodel server */
195-
static chip::OTATestEventTriggerDelegate testEventTriggerDelegate{ chip::ByteSpan(sTestEventTriggerEnableKey) };
196+
static chip::SimpleTestEventTriggerDelegate sTestEventTriggerDelegate{};
197+
static chip::OTATestEventTriggerHandler sOtaTestEventTriggerHandler{};
198+
VerifyOrDie(sTestEventTriggerDelegate.Init(chip::ByteSpan(sTestEventTriggerEnableKey)) == CHIP_NO_ERROR);
199+
VerifyOrDie(sTestEventTriggerDelegate.AddHandler(&sOtaTestEventTriggerHandler) == CHIP_NO_ERROR);
196200
static chip::CommonCaseDeviceServerInitParams initParams;
197201
(void) initParams.InitializeStaticResourcesBeforeServerInit();
198-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
202+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
199203
gExampleDeviceInfoProvider.SetStorageDelegate(initParams.persistentStorageDelegate);
200204
chip::DeviceLayer::SetDeviceInfoProvider(&gExampleDeviceInfoProvider);
201205
chip::Inet::EndPointStateOpenThread::OpenThreadEndpointInitParam nativeParams;

examples/light-switch-app/nrfconnect/main/AppTask.cpp

+7-3
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@
2424
#include "LightSwitch.h"
2525

2626
#include <DeviceInfoProviderImpl.h>
27+
#include <app/TestEventTriggerDelegate.h>
2728
#include <app/clusters/identify-server/identify-server.h>
28-
#include <app/clusters/ota-requestor/OTATestEventTriggerDelegate.h>
29+
#include <app/clusters/ota-requestor/OTATestEventTriggerHandler.h>
2930
#include <app/server/OnboardingCodesUtil.h>
3031
#include <app/server/Server.h>
3132
#include <credentials/DeviceAttestationCredsProvider.h>
@@ -215,9 +216,12 @@ CHIP_ERROR AppTask::Init()
215216
#endif
216217

217218
static CommonCaseDeviceServerInitParams initParams;
218-
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
219+
static SimpleTestEventTriggerDelegate sTestEventTriggerDelegate{};
220+
static OTATestEventTriggerHandler sOtaTestEventTriggerHandler{};
221+
VerifyOrDie(sTestEventTriggerDelegate.Init(ByteSpan(sTestEventTriggerEnableKey)) == CHIP_NO_ERROR);
222+
VerifyOrDie(sTestEventTriggerDelegate.AddHandler(&sOtaTestEventTriggerHandler) == CHIP_NO_ERROR);
219223
(void) initParams.InitializeStaticResourcesBeforeServerInit();
220-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
224+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
221225
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));
222226
AppFabricTableDelegate::Init();
223227

examples/light-switch-app/qpg/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ qpg_executable("light_switch_app") {
5151
output_name = "chip-${qpg_target_ic}-light-switch-example.out"
5252

5353
sources = [
54-
"${chip_root}/src/app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerDelegate.cpp",
54+
"${chip_root}/src/app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerHandler.cpp",
5555
"${examples_plat_dir}/app/main.cpp",
5656
"${examples_plat_dir}/ota/ota.cpp",
5757
"src/AppTask.cpp",

examples/light-switch-app/qpg/src/AppTask.cpp

+8-4
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ using namespace ::chip;
3131

3232
#include <app/server/OnboardingCodesUtil.h>
3333

34-
#include <app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerDelegate.h>
34+
#include <app/TestEventTriggerDelegate.h>
35+
#include <app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerHandler.h>
3536
#include <app/clusters/general-diagnostics-server/general-diagnostics-server.h>
3637
#include <app/clusters/identify-server/identify-server.h>
3738
#include <app/server/Dnssd.h>
@@ -191,10 +192,13 @@ void AppTask::InitServer(intptr_t arg)
191192
nativeParams.openThreadInstancePtr = chip::DeviceLayer::ThreadStackMgrImpl().OTInstance();
192193
initParams.endpointNativeParams = static_cast<void *>(&nativeParams);
193194

194-
// Use GenericFaultTestEventTriggerDelegate to inject faults
195-
static GenericFaultTestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
195+
// Use GenericFaultTestEventTriggerHandler to inject faults
196+
static SimpleTestEventTriggerDelegate sTestEventTriggerDelegate{};
197+
static GenericFaultTestEventTriggerHandler sFaultTestEventTriggerHandler{};
198+
VerifyOrDie(sTestEventTriggerDelegate.Init(ByteSpan(sTestEventTriggerEnableKey)) == CHIP_NO_ERROR);
199+
VerifyOrDie(sTestEventTriggerDelegate.AddHandler(&sFaultTestEventTriggerHandler) == CHIP_NO_ERROR);
196200
(void) initParams.InitializeStaticResourcesBeforeServerInit();
197-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
201+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
198202

199203
chip::Server::GetInstance().Init(initParams);
200204

examples/lighting-app/infineon/cyw30739/src/main.cpp

+7-3
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@
2626
#if CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR
2727
#include <OTAConfig.h>
2828
#endif
29+
#include <app/TestEventTriggerDelegate.h>
2930
#include <app/clusters/identify-server/identify-server.h>
30-
#include <app/clusters/ota-requestor/OTATestEventTriggerDelegate.h>
31+
#include <app/clusters/ota-requestor/OTATestEventTriggerHandler.h>
3132
#include <app/server/OnboardingCodesUtil.h>
3233
#include <app/server/Server.h>
3334
#include <credentials/examples/DeviceAttestationCredsExample.h>
@@ -191,10 +192,13 @@ void InitApp(intptr_t args)
191192
// Print QR Code URL
192193
PrintOnboardingCodes(chip::RendezvousInformationFlag(chip::RendezvousInformationFlag::kBLE));
193194
/* Start CHIP datamodel server */
194-
static chip::OTATestEventTriggerDelegate testEventTriggerDelegate{ chip::ByteSpan(sTestEventTriggerEnableKey) };
195+
static chip::SimpleTestEventTriggerDelegate sTestEventTriggerDelegate{};
196+
static chip::OTATestEventTriggerHandler sOtaTestEventTriggerHandler{};
197+
VerifyOrDie(sTestEventTriggerDelegate.Init(chip::ByteSpan(sTestEventTriggerEnableKey)) == CHIP_NO_ERROR);
198+
VerifyOrDie(sTestEventTriggerDelegate.AddHandler(&sOtaTestEventTriggerHandler) == CHIP_NO_ERROR);
195199
static chip::CommonCaseDeviceServerInitParams initParams;
196200
(void) initParams.InitializeStaticResourcesBeforeServerInit();
197-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
201+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
198202
gExampleDeviceInfoProvider.SetStorageDelegate(initParams.persistentStorageDelegate);
199203
chip::DeviceLayer::SetDeviceInfoProvider(&gExampleDeviceInfoProvider);
200204
chip::Inet::EndPointStateOpenThread::OpenThreadEndpointInitParam nativeParams;

examples/lighting-app/nrfconnect/main/AppTask.cpp

+7-3
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@
2727
#include <DeviceInfoProviderImpl.h>
2828
#include <app-common/zap-generated/attributes/Accessors.h>
2929
#include <app/DeferredAttributePersistenceProvider.h>
30+
#include <app/TestEventTriggerDelegate.h>
3031
#include <app/clusters/identify-server/identify-server.h>
31-
#include <app/clusters/ota-requestor/OTATestEventTriggerDelegate.h>
32+
#include <app/clusters/ota-requestor/OTATestEventTriggerHandler.h>
3233
#include <app/server/Dnssd.h>
3334
#include <app/server/OnboardingCodesUtil.h>
3435
#include <app/server/Server.h>
@@ -243,9 +244,12 @@ CHIP_ERROR AppTask::Init()
243244
#endif
244245

245246
static CommonCaseDeviceServerInitParams initParams;
246-
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
247+
static SimpleTestEventTriggerDelegate sTestEventTriggerDelegate{};
248+
static OTATestEventTriggerHandler sOtaTestEventTriggerHandler{};
249+
VerifyOrDie(sTestEventTriggerDelegate.Init(ByteSpan(sTestEventTriggerEnableKey)) == CHIP_NO_ERROR);
250+
VerifyOrDie(sTestEventTriggerDelegate.AddHandler(&sOtaTestEventTriggerHandler) == CHIP_NO_ERROR);
247251
(void) initParams.InitializeStaticResourcesBeforeServerInit();
248-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
252+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
249253
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));
250254
AppFabricTableDelegate::Init();
251255

examples/lighting-app/nxp/k32w/k32w0/main/AppTask.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,8 @@ void AppTask::InitServer(intptr_t arg)
286286
chip::DeviceLayer::SetDeviceInfoProvider(&infoProvider);
287287

288288
// Init ZCL Data Model and start server
289-
static DefaultTestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
290-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
289+
static DefaultTestEventTriggerDelegate sTestEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
290+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
291291
chip::Inet::EndPointStateOpenThread::OpenThreadEndpointInitParam nativeParams;
292292
nativeParams.lockCb = LockOpenThreadTask;
293293
nativeParams.unlockCb = UnlockOpenThreadTask;

examples/lighting-app/nxp/k32w/k32w1/main/AppTask.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,8 @@ void AppTask::InitServer(intptr_t arg)
214214
#endif
215215

216216
// Init ZCL Data Model and start server
217-
static DefaultTestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
218-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
217+
static DefaultTestEventTriggerDelegate sTestEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
218+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
219219
chip::Inet::EndPointStateOpenThread::OpenThreadEndpointInitParam nativeParams;
220220
nativeParams.lockCb = LockOpenThreadTask;
221221
nativeParams.unlockCb = UnlockOpenThreadTask;

examples/lighting-app/qpg/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ qpg_executable("lighting_app") {
5151
output_name = "chip-${qpg_target_ic}-lighting-example.out"
5252

5353
sources = [
54-
"${chip_root}/src/app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerDelegate.cpp",
54+
"${chip_root}/src/app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerHandler.cpp",
5555
"${examples_plat_dir}/app/main.cpp",
5656
"${examples_plat_dir}/ota/ota.cpp",
5757
"${examples_plat_dir}/powercycle_counting.c",

examples/lighting-app/qpg/src/AppTask.cpp

+8-4
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
#include <app/server/OnboardingCodesUtil.h>
3434

3535
#include <app-common/zap-generated/attributes/Accessors.h>
36-
#include <app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerDelegate.h>
36+
#include <app/TestEventTriggerDelegate.h>
37+
#include <app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerHandler.h>
3738
#include <app/clusters/general-diagnostics-server/general-diagnostics-server.h>
3839
#include <app/clusters/identify-server/identify-server.h>
3940
#include <app/clusters/on-off-server/on-off-server.h>
@@ -264,10 +265,13 @@ void AppTask::InitServer(intptr_t arg)
264265
nativeParams.openThreadInstancePtr = chip::DeviceLayer::ThreadStackMgrImpl().OTInstance();
265266
initParams.endpointNativeParams = static_cast<void *>(&nativeParams);
266267

267-
// Use GenericFaultTestEventTriggerDelegate to inject faults
268-
static GenericFaultTestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
268+
// Use GenericFaultTestEventTriggerHandler to inject faults
269+
static SimpleTestEventTriggerDelegate sTestEventTriggerDelegate{};
270+
static GenericFaultTestEventTriggerHandler sFaultTestEventTriggerHandler{};
271+
VerifyOrDie(sTestEventTriggerDelegate.Init(ByteSpan(sTestEventTriggerEnableKey)) == CHIP_NO_ERROR);
272+
VerifyOrDie(sTestEventTriggerDelegate.AddHandler(&sFaultTestEventTriggerHandler) == CHIP_NO_ERROR);
269273
(void) initParams.InitializeStaticResourcesBeforeServerInit();
270-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
274+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
271275

272276
chip::Server::GetInstance().Init(initParams);
273277

examples/lock-app/infineon/cyw30739/src/main.cpp

+7-3
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@
2828
#if CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR
2929
#include <OTAConfig.h>
3030
#endif
31+
#include <app/TestEventTriggerDelegate.h>
3132
#include <app/clusters/door-lock-server/door-lock-server.h>
3233
#include <app/clusters/identify-server/identify-server.h>
33-
#include <app/clusters/ota-requestor/OTATestEventTriggerDelegate.h>
34+
#include <app/clusters/ota-requestor/OTATestEventTriggerHandler.h>
3435
#include <app/server/OnboardingCodesUtil.h>
3536
#include <app/server/Server.h>
3637
#include <credentials/examples/DeviceAttestationCredsExample.h>
@@ -191,10 +192,13 @@ void InitApp(intptr_t args)
191192
// Print QR Code URL
192193
PrintOnboardingCodes(chip::RendezvousInformationFlag(chip::RendezvousInformationFlag::kBLE));
193194
/* Start CHIP datamodel server */
194-
static chip::OTATestEventTriggerDelegate testEventTriggerDelegate{ chip::ByteSpan(sTestEventTriggerEnableKey) };
195+
static chip::SimpleTestEventTriggerDelegate sTestEventTriggerDelegate{};
196+
static chip::OTATestEventTriggerHandler sOtaTestEventTriggerHandler{};
197+
VerifyOrDie(sTestEventTriggerDelegate.Init(chip::ByteSpan(sTestEventTriggerEnableKey)) == CHIP_NO_ERROR);
198+
VerifyOrDie(sTestEventTriggerDelegate.AddHandler(&sOtaTestEventTriggerHandler) == CHIP_NO_ERROR);
195199
static chip::CommonCaseDeviceServerInitParams initParams;
196200
(void) initParams.InitializeStaticResourcesBeforeServerInit();
197-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
201+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
198202
gExampleDeviceInfoProvider.SetStorageDelegate(initParams.persistentStorageDelegate);
199203
chip::DeviceLayer::SetDeviceInfoProvider(&gExampleDeviceInfoProvider);
200204
chip::Inet::EndPointStateOpenThread::OpenThreadEndpointInitParam nativeParams;

examples/lock-app/nrfconnect/main/AppTask.cpp

+7-3
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,10 @@
2525

2626
#include <DeviceInfoProviderImpl.h>
2727
#include <app-common/zap-generated/attributes/Accessors.h>
28+
#include <app/TestEventTriggerDelegate.h>
2829
#include <app/clusters/door-lock-server/door-lock-server.h>
2930
#include <app/clusters/identify-server/identify-server.h>
30-
#include <app/clusters/ota-requestor/OTATestEventTriggerDelegate.h>
31+
#include <app/clusters/ota-requestor/OTATestEventTriggerHandler.h>
3132
#include <app/server/OnboardingCodesUtil.h>
3233
#include <app/server/Server.h>
3334
#include <credentials/DeviceAttestationCredsProvider.h>
@@ -209,9 +210,12 @@ CHIP_ERROR AppTask::Init()
209210
#endif
210211

211212
static CommonCaseDeviceServerInitParams initParams;
212-
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
213+
static SimpleTestEventTriggerDelegate sTestEventTriggerDelegate{};
214+
static OTATestEventTriggerHandler sOtaTestEventTriggerHandler{};
215+
VerifyOrDie(sTestEventTriggerDelegate.Init(ByteSpan(sTestEventTriggerEnableKey)) == CHIP_NO_ERROR);
216+
VerifyOrDie(sTestEventTriggerDelegate.AddHandler(&sOtaTestEventTriggerHandler) == CHIP_NO_ERROR);
213217
(void) initParams.InitializeStaticResourcesBeforeServerInit();
214-
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
218+
initParams.testEventTriggerDelegate = &sTestEventTriggerDelegate;
215219
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));
216220
AppFabricTableDelegate::Init();
217221

examples/lock-app/qpg/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ qpg_executable("lock_app") {
5151
output_name = "chip-${qpg_target_ic}-lock-example.out"
5252

5353
sources = [
54-
"${chip_root}/src/app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerDelegate.cpp",
54+
"${chip_root}/src/app/clusters/general-diagnostics-server/GenericFaultTestEventTriggerHandler.cpp",
5555
"${examples_plat_dir}/app/main.cpp",
5656
"${examples_plat_dir}/ota/ota.cpp",
5757
"src/AppTask.cpp",

0 commit comments

Comments
 (0)