From a4ba46cbe1f0e230dead0e7a60fe2a73348ff8e5 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Thu, 4 Nov 2021 22:04:15 -0400 Subject: [PATCH] Fix Descriptor cluster when linking statically. (#11453) Specific changes: 1) Stop using weak symbols for cluster init callbacks. The way things are, if a cluster has no commands its file might not get linked at all (because the weak symbols satisfy the linker), and hence its init callback would never be called. This was hitting the Descriptor cluster. 2) Add a bunch of no-op cluster init callbacks so we can link successfully. Add some files to the all-clusters-app link that were missing. Fixes https://github.com/project-chip/connectedhomeip/issues/11344 --- .../esp32/main/CMakeLists.txt | 2 + examples/all-clusters-app/mbed/CMakeLists.txt | 2 + .../account-login-server.cpp | 2 + .../administrator-commissioning-server.cpp | 2 + .../application-basic-server.cpp | 2 + .../application-launcher-server.cpp | 2 + .../audio-output-server.cpp | 2 + .../barrier-control-server.cpp | 2 + src/app/clusters/basic/basic.cpp | 2 + src/app/clusters/bindings/bindings.cpp | 2 + .../color-control-server.cpp | 2 + .../content-launch-server.cpp | 2 + .../diagnostic-logs-server.cpp | 2 + .../door-lock-server-core.cpp | 2 + .../ethernet_network_diagnostics_server.cpp | 2 +- .../general-commissioning-server.cpp | 2 + .../clusters/groups-server/groups-server.cpp | 2 + .../ias-zone-server/ias-zone-server.cpp | 2 + .../identify-server/identify-server.cpp | 2 + .../keypad-input-server.cpp | 2 + .../clusters/level-control/level-control.cpp | 2 + .../low-power-server/low-power-server.cpp | 2 + .../media-input-server/media-input-server.cpp | 2 + .../media-playback-server.cpp | 2 + .../network-commissioning-ember.cpp | 2 + .../occupancy-sensor-server.cpp | 2 + .../clusters/on-off-server/on-off-server.cpp | 2 + .../clusters/ota-provider/ota-provider.cpp | 2 + .../pump-configuration-and-control-server.cpp | 2 + src/app/clusters/scenes/scenes.cpp | 2 + .../target-navigator-server.cpp | 2 + .../thermostat-server/thermostat-server.cpp | 2 + .../tv-channel-server/tv-channel-server.cpp | 2 + .../window-covering-server.cpp | 2 + src/app/util/util.cpp | 20 + .../app/callbacks/PluginCallbacks.zapt | 5 +- .../zap-generated/callbacks/PluginCallbacks.h | 539 +++++++----------- 37 files changed, 305 insertions(+), 327 deletions(-) diff --git a/examples/all-clusters-app/esp32/main/CMakeLists.txt b/examples/all-clusters-app/esp32/main/CMakeLists.txt index 978a07b3af1c7e..d342e16e5beff0 100644 --- a/examples/all-clusters-app/esp32/main/CMakeLists.txt +++ b/examples/all-clusters-app/esp32/main/CMakeLists.txt @@ -31,6 +31,7 @@ set(SRC_DIRS_LIST "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/util" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/reporting" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/administrator-commissioning-server" + "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/application-basic-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/test-cluster-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/descriptor" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/on-off-server" @@ -54,6 +55,7 @@ set(SRC_DIRS_LIST "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/media-playback-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/ota-provider" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/target-navigator-server" + "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/thermostat-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/thread_network_diagnostics_server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/tv-channel-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/scenes" diff --git a/examples/all-clusters-app/mbed/CMakeLists.txt b/examples/all-clusters-app/mbed/CMakeLists.txt index 7b00c798210582..a05bf5cca47a4a 100644 --- a/examples/all-clusters-app/mbed/CMakeLists.txt +++ b/examples/all-clusters-app/mbed/CMakeLists.txt @@ -86,6 +86,7 @@ target_sources(${APP_TARGET} PRIVATE ${APP_UTIL}/util.cpp ${APP_UTIL}/error-mapping.cpp + ${APP_CLUSTERS}/application-basic-server/application-basic-server.cpp ${APP_CLUSTERS}/basic/basic.cpp ${APP_CLUSTERS}/bindings/bindings.cpp ${APP_CLUSTERS}/on-off-server/on-off-server.cpp @@ -118,6 +119,7 @@ target_sources(${APP_TARGET} PRIVATE ${APP_CLUSTERS}/ota-provider/ota-provider.cpp ${APP_CLUSTERS}/scenes/scenes.cpp ${APP_CLUSTERS}/target-navigator-server/target-navigator-server.cpp + ${APP_CLUSTERS}/thermostat-server/thermostat-server.cpp ${APP_CLUSTERS}/tv-channel-server/tv-channel-server.cpp ${APP_CLUSTERS}/operational-credentials-server/operational-credentials-server.cpp ${APP_CLUSTERS}/test-cluster-server/test-cluster-server.cpp diff --git a/src/app/clusters/account-login-server/account-login-server.cpp b/src/app/clusters/account-login-server/account-login-server.cpp index fed4e283ac35bd..7b6b847eae3fc4 100644 --- a/src/app/clusters/account-login-server/account-login-server.cpp +++ b/src/app/clusters/account-login-server/account-login-server.cpp @@ -79,3 +79,5 @@ bool emberAfAccountLoginClusterLoginCallback(app::CommandHandler * command, cons emberAfSendImmediateDefaultResponse(status); return true; } + +void MatterAccountLoginPluginServerInitCallback() {} diff --git a/src/app/clusters/administrator-commissioning-server/administrator-commissioning-server.cpp b/src/app/clusters/administrator-commissioning-server/administrator-commissioning-server.cpp index a3cb5e323f7bde..815661f35da884 100644 --- a/src/app/clusters/administrator-commissioning-server/administrator-commissioning-server.cpp +++ b/src/app/clusters/administrator-commissioning-server/administrator-commissioning-server.cpp @@ -114,3 +114,5 @@ bool emberAfAdministratorCommissioningClusterRevokeCommissioningCallback( emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_SUCCESS); return true; } + +void MatterAdministratorCommissioningPluginServerInitCallback() {} diff --git a/src/app/clusters/application-basic-server/application-basic-server.cpp b/src/app/clusters/application-basic-server/application-basic-server.cpp index 50caddbca8307f..78a7f85a1d2ed4 100644 --- a/src/app/clusters/application-basic-server/application-basic-server.cpp +++ b/src/app/clusters/application-basic-server/application-basic-server.cpp @@ -46,3 +46,5 @@ bool emberAfApplicationBasicClusterChangeStatusCallback(app::CommandHandler * co emberAfSendImmediateDefaultResponse(status); return true; } + +void MatterApplicationBasicPluginServerInitCallback() {} diff --git a/src/app/clusters/application-launcher-server/application-launcher-server.cpp b/src/app/clusters/application-launcher-server/application-launcher-server.cpp index 0ce1a1bf28d37c..f7b892b3d43b5f 100644 --- a/src/app/clusters/application-launcher-server/application-launcher-server.cpp +++ b/src/app/clusters/application-launcher-server/application-launcher-server.cpp @@ -85,3 +85,5 @@ bool emberAfApplicationLauncherClusterLaunchAppCallback(app::CommandHandler * co sendResponse(command, response); return true; } + +void MatterApplicationLauncherPluginServerInitCallback() {} diff --git a/src/app/clusters/audio-output-server/audio-output-server.cpp b/src/app/clusters/audio-output-server/audio-output-server.cpp index 79e74cfc048734..8af6fa308eec0d 100644 --- a/src/app/clusters/audio-output-server/audio-output-server.cpp +++ b/src/app/clusters/audio-output-server/audio-output-server.cpp @@ -55,3 +55,5 @@ bool emberAfAudioOutputClusterSelectOutputCallback(app::CommandHandler * command emberAfSendImmediateDefaultResponse(status); return true; } + +void MatterAudioOutputPluginServerInitCallback() {} diff --git a/src/app/clusters/barrier-control-server/barrier-control-server.cpp b/src/app/clusters/barrier-control-server/barrier-control-server.cpp index e665f78a7067f5..4ba04852cfb2d8 100644 --- a/src/app/clusters/barrier-control-server/barrier-control-server.cpp +++ b/src/app/clusters/barrier-control-server/barrier-control-server.cpp @@ -347,3 +347,5 @@ bool emberAfBarrierControlClusterBarrierControlStopCallback(app::CommandHandler sendDefaultResponse(EMBER_ZCL_STATUS_SUCCESS); return true; } + +void MatterBarrierControlPluginServerInitCallback() {} diff --git a/src/app/clusters/basic/basic.cpp b/src/app/clusters/basic/basic.cpp index 0747e43cf7cab1..45d78b0824fae1 100644 --- a/src/app/clusters/basic/basic.cpp +++ b/src/app/clusters/basic/basic.cpp @@ -91,3 +91,5 @@ void emberAfBasicClusterServerInitCallback(chip::EndpointId endpoint) VerifyOrReturn(EMBER_ZCL_STATUS_SUCCESS == status, ChipLogError(Zcl, "Error setting Software Version: 0x%02x", status)); } } + +void MatterBasicPluginServerInitCallback() {} diff --git a/src/app/clusters/bindings/bindings.cpp b/src/app/clusters/bindings/bindings.cpp index 8522bc2eb04290..73c06996717139 100644 --- a/src/app/clusters/bindings/bindings.cpp +++ b/src/app/clusters/bindings/bindings.cpp @@ -154,3 +154,5 @@ bool emberAfBindingClusterUnbindCallback(app::CommandHandler * commandObj, const emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_SUCCESS); return true; } + +void MatterBindingPluginServerInitCallback() {} diff --git a/src/app/clusters/color-control-server/color-control-server.cpp b/src/app/clusters/color-control-server/color-control-server.cpp index 6c4faffeb73691..c159b51923a371 100644 --- a/src/app/clusters/color-control-server/color-control-server.cpp +++ b/src/app/clusters/color-control-server/color-control-server.cpp @@ -2585,3 +2585,5 @@ void emberAfPluginColorControlServerHueSatTransitionEventHandler(EndpointId endp ColorControlServer::Instance().updateHueSatCommand(endpoint); } #endif // EMBER_AF_PLUGIN_COLOR_CONTROL_SERVER_HSV + +void MatterColorControlPluginServerInitCallback() {} diff --git a/src/app/clusters/content-launch-server/content-launch-server.cpp b/src/app/clusters/content-launch-server/content-launch-server.cpp index 52f9de7c996b3f..5568f0795011bb 100644 --- a/src/app/clusters/content-launch-server/content-launch-server.cpp +++ b/src/app/clusters/content-launch-server/content-launch-server.cpp @@ -56,3 +56,5 @@ bool emberAfContentLauncherClusterLaunchURLCallback(app::CommandHandler * comman emberAfSendImmediateDefaultResponse(status); return true; } + +void MatterContentLauncherPluginServerInitCallback() {} diff --git a/src/app/clusters/diagnostic-logs-server/diagnostic-logs-server.cpp b/src/app/clusters/diagnostic-logs-server/diagnostic-logs-server.cpp index 0d4500e9e6fe3d..1ffd4a6573e28a 100644 --- a/src/app/clusters/diagnostic-logs-server/diagnostic-logs-server.cpp +++ b/src/app/clusters/diagnostic-logs-server/diagnostic-logs-server.cpp @@ -31,3 +31,5 @@ bool emberAfDiagnosticLogsClusterRetrieveLogsRequestCallback(app::CommandHandler emberAfSendImmediateDefaultResponse(status); return true; } + +void MatterDiagnosticLogsPluginServerInitCallback() {} diff --git a/src/app/clusters/door-lock-server/door-lock-server-core.cpp b/src/app/clusters/door-lock-server/door-lock-server-core.cpp index 3593bc6add0784..9abf0d92a32b12 100644 --- a/src/app/clusters/door-lock-server/door-lock-server-core.cpp +++ b/src/app/clusters/door-lock-server/door-lock-server-core.cpp @@ -137,3 +137,5 @@ EmberAfStatus emAfPluginDoorLockServerNoteDoorStateChanged(EmberAfDoorState stat return status; } + +void MatterDoorLockPluginServerInitCallback() {} diff --git a/src/app/clusters/ethernet_network_diagnostics_server/ethernet_network_diagnostics_server.cpp b/src/app/clusters/ethernet_network_diagnostics_server/ethernet_network_diagnostics_server.cpp index 74031490bfbaed..245abaa1f1ef58 100644 --- a/src/app/clusters/ethernet_network_diagnostics_server/ethernet_network_diagnostics_server.cpp +++ b/src/app/clusters/ethernet_network_diagnostics_server/ethernet_network_diagnostics_server.cpp @@ -144,7 +144,7 @@ bool emberAfEthernetNetworkDiagnosticsClusterResetCountsCallback(app::CommandHan return true; } -void MatterEthernetNetworkDiagnosticsClusterServerInitCallback() +void MatterEthernetNetworkDiagnosticsPluginServerInitCallback() { registerAttributeAccessOverride(&gAttrAccess); } diff --git a/src/app/clusters/general-commissioning-server/general-commissioning-server.cpp b/src/app/clusters/general-commissioning-server/general-commissioning-server.cpp index e3239ec676a6ed..c351f8980acfdf 100644 --- a/src/app/clusters/general-commissioning-server/general-commissioning-server.cpp +++ b/src/app/clusters/general-commissioning-server/general-commissioning-server.cpp @@ -69,3 +69,5 @@ bool emberAfGeneralCommissioningClusterSetRegulatoryConfigCallback(app::CommandH return true; } + +void MatterGeneralCommissioningPluginServerInitCallback() {} diff --git a/src/app/clusters/groups-server/groups-server.cpp b/src/app/clusters/groups-server/groups-server.cpp index eeb56a451a0bab..e20cefae889b7f 100644 --- a/src/app/clusters/groups-server/groups-server.cpp +++ b/src/app/clusters/groups-server/groups-server.cpp @@ -533,3 +533,5 @@ bool emberAfPluginGroupsServerGroupNamesSupportedCallback(EndpointId endpoint) } void emberAfPluginGroupsServerSetGroupNameCallback(EndpointId endpoint, GroupId groupId, const CharSpan & groupName) {} + +void MatterGroupsPluginServerInitCallback() {} diff --git a/src/app/clusters/ias-zone-server/ias-zone-server.cpp b/src/app/clusters/ias-zone-server/ias-zone-server.cpp index 5290b1ea1e057d..ab7f33f6bdf0bf 100644 --- a/src/app/clusters/ias-zone-server/ias-zone-server.cpp +++ b/src/app/clusters/ias-zone-server/ias-zone-server.cpp @@ -924,3 +924,5 @@ uint16_t computeElapsedTimeQs(IasZoneStatusQueueEntry * entry) return deltaTimeMs / MILLISECOND_TICKS_PER_QUARTERSECOND; } #endif + +void MatterIasZonePluginServerInitCallback() {} diff --git a/src/app/clusters/identify-server/identify-server.cpp b/src/app/clusters/identify-server/identify-server.cpp index f6eb59f24db719..d01a8ec7487dce 100644 --- a/src/app/clusters/identify-server/identify-server.cpp +++ b/src/app/clusters/identify-server/identify-server.cpp @@ -331,3 +331,5 @@ Identify::~Identify() { unreg(this); } + +void MatterIdentifyPluginServerInitCallback() {} diff --git a/src/app/clusters/keypad-input-server/keypad-input-server.cpp b/src/app/clusters/keypad-input-server/keypad-input-server.cpp index b8fe5dd02e74d3..21602da1d07cc7 100644 --- a/src/app/clusters/keypad-input-server/keypad-input-server.cpp +++ b/src/app/clusters/keypad-input-server/keypad-input-server.cpp @@ -65,3 +65,5 @@ bool emberAfKeypadInputClusterSendKeyCallback(app::CommandHandler * command, con sendResponse(command, status); return true; } + +void MatterKeypadInputPluginServerInitCallback() {} diff --git a/src/app/clusters/level-control/level-control.cpp b/src/app/clusters/level-control/level-control.cpp index 3d1c552db88985..b1b739203610fb 100644 --- a/src/app/clusters/level-control/level-control.cpp +++ b/src/app/clusters/level-control/level-control.cpp @@ -1053,3 +1053,5 @@ static bool areStartUpLevelControlServerAttributesTokenized(EndpointId endpoint) #endif void emberAfPluginLevelControlClusterServerPostInitCallback(EndpointId endpoint) {} + +void MatterLevelControlPluginServerInitCallback() {} diff --git a/src/app/clusters/low-power-server/low-power-server.cpp b/src/app/clusters/low-power-server/low-power-server.cpp index a599ec7c96b82c..59fb42b2c42bc5 100644 --- a/src/app/clusters/low-power-server/low-power-server.cpp +++ b/src/app/clusters/low-power-server/low-power-server.cpp @@ -40,3 +40,5 @@ bool emberAfLowPowerClusterSleepCallback(app::CommandHandler * command, const ap emberAfSendImmediateDefaultResponse(status); return true; } + +void MatterLowPowerPluginServerInitCallback() {} diff --git a/src/app/clusters/media-input-server/media-input-server.cpp b/src/app/clusters/media-input-server/media-input-server.cpp index d431a51cb9dc95..8f3149ef899265 100644 --- a/src/app/clusters/media-input-server/media-input-server.cpp +++ b/src/app/clusters/media-input-server/media-input-server.cpp @@ -92,3 +92,5 @@ bool emberAfMediaInputClusterRenameInputCallback(app::CommandHandler * command, emberAfSendImmediateDefaultResponse(status); return true; } + +void MatterMediaInputPluginServerInitCallback() {} diff --git a/src/app/clusters/media-playback-server/media-playback-server.cpp b/src/app/clusters/media-playback-server/media-playback-server.cpp index d0615acbb994b5..6fadc47980baa8 100644 --- a/src/app/clusters/media-playback-server/media-playback-server.cpp +++ b/src/app/clusters/media-playback-server/media-playback-server.cpp @@ -193,3 +193,5 @@ bool emberAfMediaPlaybackClusterMediaStartOverCallback(app::CommandHandler * com sendResponse(command, "MediaStartOver", Commands::MediaStartOverResponse::Id, status); return true; } + +void MatterMediaPlaybackPluginServerInitCallback() {} diff --git a/src/app/clusters/network-commissioning/network-commissioning-ember.cpp b/src/app/clusters/network-commissioning/network-commissioning-ember.cpp index 73a05309d0582e..f4991e02411458 100644 --- a/src/app/clusters/network-commissioning/network-commissioning-ember.cpp +++ b/src/app/clusters/network-commissioning/network-commissioning-ember.cpp @@ -117,3 +117,5 @@ bool emberAfNetworkCommissioningClusterUpdateWiFiNetworkCallback(app::CommandHan { return false; } + +void MatterNetworkCommissioningPluginServerInitCallback() {} diff --git a/src/app/clusters/occupancy-sensor-server/occupancy-sensor-server.cpp b/src/app/clusters/occupancy-sensor-server/occupancy-sensor-server.cpp index aa8dab36eab9da..45d21813071fb6 100644 --- a/src/app/clusters/occupancy-sensor-server/occupancy-sensor-server.cpp +++ b/src/app/clusters/occupancy-sensor-server/occupancy-sensor-server.cpp @@ -108,3 +108,5 @@ HalOccupancySensorType __attribute__((weak)) halOccupancyGetSensorType(EndpointI { return HAL_OCCUPANCY_SENSOR_TYPE_PIR; } + +void MatterOccupancySensingPluginServerInitCallback() {} diff --git a/src/app/clusters/on-off-server/on-off-server.cpp b/src/app/clusters/on-off-server/on-off-server.cpp index ae15e6e6db7553..551a29a0b812bb 100644 --- a/src/app/clusters/on-off-server/on-off-server.cpp +++ b/src/app/clusters/on-off-server/on-off-server.cpp @@ -286,3 +286,5 @@ static bool areStartUpOnOffServerAttributesTokenized(EndpointId endpoint) #endif void emberAfPluginOnOffClusterServerPostInitCallback(EndpointId endpoint) {} + +void MatterOnOffPluginServerInitCallback() {} diff --git a/src/app/clusters/ota-provider/ota-provider.cpp b/src/app/clusters/ota-provider/ota-provider.cpp index 92835cd2170ab7..2f95707e8bb77a 100644 --- a/src/app/clusters/ota-provider/ota-provider.cpp +++ b/src/app/clusters/ota-provider/ota-provider.cpp @@ -253,3 +253,5 @@ void SetDelegate(EndpointId endpoint, OTAProviderDelegate * delegate) } // namespace Clusters } // namespace app } // namespace chip + +void MatterOtaSoftwareUpdateProviderPluginServerInitCallback() {} diff --git a/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp b/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp index ee0dd933d54498..d021805daf1857 100644 --- a/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp +++ b/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp @@ -35,3 +35,5 @@ void MatterPumpConfigurationAndControlClusterServerAttributeChangedCallback(cons (unsigned int) attributePath.mAttributeId); // TODO } + +void MatterPumpConfigurationAndControlPluginServerInitCallback() {} diff --git a/src/app/clusters/scenes/scenes.cpp b/src/app/clusters/scenes/scenes.cpp index 9738091c4c1e19..4848819b7adabc 100644 --- a/src/app/clusters/scenes/scenes.cpp +++ b/src/app/clusters/scenes/scenes.cpp @@ -1314,3 +1314,5 @@ void emberAfScenesClusterRemoveScenesInGroupCallback(EndpointId endpoint, GroupI } } } + +void MatterScenesPluginServerInitCallback() {} diff --git a/src/app/clusters/target-navigator-server/target-navigator-server.cpp b/src/app/clusters/target-navigator-server/target-navigator-server.cpp index 4aea5e894fc446..9b5f420bf09dc8 100644 --- a/src/app/clusters/target-navigator-server/target-navigator-server.cpp +++ b/src/app/clusters/target-navigator-server/target-navigator-server.cpp @@ -66,3 +66,5 @@ bool emberAfTargetNavigatorClusterNavigateTargetCallback(app::CommandHandler * c sendResponse(command, response); return true; } + +void MatterTargetNavigatorPluginServerInitCallback() {} diff --git a/src/app/clusters/thermostat-server/thermostat-server.cpp b/src/app/clusters/thermostat-server/thermostat-server.cpp index 214bbda4f5f206..e87df17997e8ea 100644 --- a/src/app/clusters/thermostat-server/thermostat-server.cpp +++ b/src/app/clusters/thermostat-server/thermostat-server.cpp @@ -774,3 +774,5 @@ bool emberAfThermostatClusterSetpointRaiseLowerCallback(app::CommandHandler * co emberAfSendImmediateDefaultResponse(status); return true; } + +void MatterThermostatPluginServerInitCallback() {} diff --git a/src/app/clusters/tv-channel-server/tv-channel-server.cpp b/src/app/clusters/tv-channel-server/tv-channel-server.cpp index 941692dca4d120..9c81fc2beaa8fd 100644 --- a/src/app/clusters/tv-channel-server/tv-channel-server.cpp +++ b/src/app/clusters/tv-channel-server/tv-channel-server.cpp @@ -108,3 +108,5 @@ bool emberAfTvChannelClusterSkipChannelCallback(app::CommandHandler * command, c emberAfSendImmediateDefaultResponse(status); return true; } + +void MatterTvChannelPluginServerInitCallback() {} diff --git a/src/app/clusters/window-covering-server/window-covering-server.cpp b/src/app/clusters/window-covering-server/window-covering-server.cpp index 8ec6ab05eb27f6..5f06bc6607d241 100644 --- a/src/app/clusters/window-covering-server/window-covering-server.cpp +++ b/src/app/clusters/window-covering-server/window-covering-server.cpp @@ -548,3 +548,5 @@ bool emberAfWindowCoveringClusterGoToTiltPercentageCallback(app::CommandHandler } return true; } + +void MatterWindowCoveringPluginServerInitCallback() {} diff --git a/src/app/util/util.cpp b/src/app/util/util.cpp index 676c0debd4f9db..8bbc1137889089 100644 --- a/src/app/util/util.cpp +++ b/src/app/util/util.cpp @@ -289,6 +289,26 @@ void emberAfTick(void) #endif } +// Cluster init functions that don't have a cluster implementation to define +// them in. +void MatterBooleanStatePluginServerInitCallback() {} +void MatterBridgedDeviceBasicPluginServerInitCallback() {} +void MatterElectricalMeasurementPluginServerInitCallback() {} +void MatterOtaSoftwareUpdateRequestorPluginServerInitCallback() {} +void MatterGroupKeyManagementPluginServerInitCallback() {} +void MatterRelativeHumidityMeasurementPluginServerInitCallback() {} +void MatterFixedLabelPluginServerInitCallback() {} +void MatterSwitchPluginServerInitCallback() {} +void MatterIlluminanceMeasurementPluginServerInitCallback() {} +void MatterBinaryInputBasicPluginServerInitCallback() {} +void MatterPressureMeasurementPluginServerInitCallback() {} +void MatterTemperatureMeasurementPluginServerInitCallback() {} +void MatterFlowMeasurementPluginServerInitCallback() {} +void MatterWakeOnLanPluginServerInitCallback() {} +void MatterOnOffSwitchConfigurationPluginServerInitCallback() {} +void MatterPowerSourcePluginServerInitCallback() {} +void MatterThermostatUserInterfaceConfigurationPluginServerInitCallback() {} + // **************************************** // This function is called by the application when the stack goes down, // such as after a leave network. This allows zcl utils to clear state diff --git a/src/app/zap-templates/templates/app/callbacks/PluginCallbacks.zapt b/src/app/zap-templates/templates/app/callbacks/PluginCallbacks.zapt index db4d8dd5f14a6b..1b425da3b4ea78 100644 --- a/src/app/zap-templates/templates/app/callbacks/PluginCallbacks.zapt +++ b/src/app/zap-templates/templates/app/callbacks/PluginCallbacks.zapt @@ -3,7 +3,6 @@ #pragma once {{#zcl_clusters}} -{{#*inline "callbackName"}}void __attribute__((weak)) Matter{{asUpperCamelCase label}}{{> @partial-block}}InitCallback() {};{{/inline}} -{{#>callbackName}}PluginClient{{/callbackName}} -{{#>callbackName}}PluginServer{{/callbackName}} +void __attribute__((weak)) Matter{{asUpperCamelCase label}}PluginClientInitCallback() {} +void Matter{{asUpperCamelCase label}}PluginServerInitCallback(); {{/zcl_clusters}} diff --git a/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h b/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h index 37c33c4fae0dd7..a82cfe9eb307b9 100644 --- a/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h +++ b/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h @@ -19,326 +19,219 @@ #pragma once -void __attribute__((weak)) MatterPowerConfigurationPluginClientInitCallback(){}; -void __attribute__((weak)) MatterPowerConfigurationPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterDeviceTemperatureConfigurationPluginClientInitCallback(){}; -void __attribute__((weak)) MatterDeviceTemperatureConfigurationPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterIdentifyPluginClientInitCallback(){}; -void __attribute__((weak)) MatterIdentifyPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterGroupsPluginClientInitCallback(){}; -void __attribute__((weak)) MatterGroupsPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterScenesPluginClientInitCallback(){}; -void __attribute__((weak)) MatterScenesPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterOnOffPluginClientInitCallback(){}; -void __attribute__((weak)) MatterOnOffPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterOnOffSwitchConfigurationPluginClientInitCallback(){}; -void __attribute__((weak)) MatterOnOffSwitchConfigurationPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterLevelControlPluginClientInitCallback(){}; -void __attribute__((weak)) MatterLevelControlPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterAlarmsPluginClientInitCallback(){}; -void __attribute__((weak)) MatterAlarmsPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterTimePluginClientInitCallback(){}; -void __attribute__((weak)) MatterTimePluginServerInitCallback(){}; - -void __attribute__((weak)) MatterBinaryInputBasicPluginClientInitCallback(){}; -void __attribute__((weak)) MatterBinaryInputBasicPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterPowerProfilePluginClientInitCallback(){}; -void __attribute__((weak)) MatterPowerProfilePluginServerInitCallback(){}; - -void __attribute__((weak)) MatterApplianceControlPluginClientInitCallback(){}; -void __attribute__((weak)) MatterApplianceControlPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterDescriptorPluginClientInitCallback(){}; -void __attribute__((weak)) MatterDescriptorPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterPollControlPluginClientInitCallback(){}; -void __attribute__((weak)) MatterPollControlPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterBridgedActionsPluginClientInitCallback(){}; -void __attribute__((weak)) MatterBridgedActionsPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterBasicPluginClientInitCallback(){}; -void __attribute__((weak)) MatterBasicPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterOtaSoftwareUpdateProviderPluginClientInitCallback(){}; -void __attribute__((weak)) MatterOtaSoftwareUpdateProviderPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterOtaSoftwareUpdateRequestorPluginClientInitCallback(){}; -void __attribute__((weak)) MatterOtaSoftwareUpdateRequestorPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterPowerSourcePluginClientInitCallback(){}; -void __attribute__((weak)) MatterPowerSourcePluginServerInitCallback(){}; - -void __attribute__((weak)) MatterGeneralCommissioningPluginClientInitCallback(){}; -void __attribute__((weak)) MatterGeneralCommissioningPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterNetworkCommissioningPluginClientInitCallback(){}; -void __attribute__((weak)) MatterNetworkCommissioningPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterDiagnosticLogsPluginClientInitCallback(){}; -void __attribute__((weak)) MatterDiagnosticLogsPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterGeneralDiagnosticsPluginClientInitCallback(){}; -void __attribute__((weak)) MatterGeneralDiagnosticsPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterSoftwareDiagnosticsPluginClientInitCallback(){}; -void __attribute__((weak)) MatterSoftwareDiagnosticsPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterThreadNetworkDiagnosticsPluginClientInitCallback(){}; -void __attribute__((weak)) MatterThreadNetworkDiagnosticsPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterWiFiNetworkDiagnosticsPluginClientInitCallback(){}; -void __attribute__((weak)) MatterWiFiNetworkDiagnosticsPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterEthernetNetworkDiagnosticsPluginClientInitCallback(){}; -void __attribute__((weak)) MatterEthernetNetworkDiagnosticsPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterBridgedDeviceBasicPluginClientInitCallback(){}; -void __attribute__((weak)) MatterBridgedDeviceBasicPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterSwitchPluginClientInitCallback(){}; -void __attribute__((weak)) MatterSwitchPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterAdministratorCommissioningPluginClientInitCallback(){}; -void __attribute__((weak)) MatterAdministratorCommissioningPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterOperationalCredentialsPluginClientInitCallback(){}; -void __attribute__((weak)) MatterOperationalCredentialsPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterFixedLabelPluginClientInitCallback(){}; -void __attribute__((weak)) MatterFixedLabelPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterBooleanStatePluginClientInitCallback(){}; -void __attribute__((weak)) MatterBooleanStatePluginServerInitCallback(){}; - -void __attribute__((weak)) MatterModeSelectPluginClientInitCallback(){}; -void __attribute__((weak)) MatterModeSelectPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterShadeConfigurationPluginClientInitCallback(){}; -void __attribute__((weak)) MatterShadeConfigurationPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterDoorLockPluginClientInitCallback(){}; -void __attribute__((weak)) MatterDoorLockPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterWindowCoveringPluginClientInitCallback(){}; -void __attribute__((weak)) MatterWindowCoveringPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterBarrierControlPluginClientInitCallback(){}; -void __attribute__((weak)) MatterBarrierControlPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterPumpConfigurationAndControlPluginClientInitCallback(){}; -void __attribute__((weak)) MatterPumpConfigurationAndControlPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterThermostatPluginClientInitCallback(){}; -void __attribute__((weak)) MatterThermostatPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterFanControlPluginClientInitCallback(){}; -void __attribute__((weak)) MatterFanControlPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterDehumidificationControlPluginClientInitCallback(){}; -void __attribute__((weak)) MatterDehumidificationControlPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterThermostatUserInterfaceConfigurationPluginClientInitCallback(){}; -void __attribute__((weak)) MatterThermostatUserInterfaceConfigurationPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterColorControlPluginClientInitCallback(){}; -void __attribute__((weak)) MatterColorControlPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterBallastConfigurationPluginClientInitCallback(){}; -void __attribute__((weak)) MatterBallastConfigurationPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterIlluminanceMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterIlluminanceMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterTemperatureMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterTemperatureMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterPressureMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterPressureMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterFlowMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterFlowMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterRelativeHumidityMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterRelativeHumidityMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterOccupancySensingPluginClientInitCallback(){}; -void __attribute__((weak)) MatterOccupancySensingPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterCarbonMonoxideConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterCarbonMonoxideConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterCarbonDioxideConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterCarbonDioxideConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterEthyleneConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterEthyleneConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterEthyleneOxideConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterEthyleneOxideConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterHydrogenConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterHydrogenConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterHydrogenSulphideConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterHydrogenSulphideConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterNitricOxideConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterNitricOxideConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterNitrogenDioxideConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterNitrogenDioxideConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterOxygenConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterOxygenConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterOzoneConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterOzoneConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterSulfurDioxideConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterSulfurDioxideConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterDissolvedOxygenConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterDissolvedOxygenConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterBromateConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterBromateConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterChloraminesConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterChloraminesConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterChlorineConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterChlorineConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterFecalColiformAndEColiConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterFecalColiformAndEColiConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterFluorideConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterFluorideConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterHaloaceticAcidsConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterHaloaceticAcidsConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterTotalTrihalomethanesConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterTotalTrihalomethanesConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterTotalColiformBacteriaConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterTotalColiformBacteriaConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterTurbidityConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterTurbidityConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterCopperConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterCopperConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterLeadConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterLeadConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterManganeseConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterManganeseConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterSulfateConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterSulfateConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterBromodichloromethaneConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterBromodichloromethaneConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterBromoformConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterBromoformConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterChlorodibromomethaneConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterChlorodibromomethaneConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterChloroformConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterChloroformConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterSodiumConcentrationMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterSodiumConcentrationMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterIasZonePluginClientInitCallback(){}; -void __attribute__((weak)) MatterIasZonePluginServerInitCallback(){}; - -void __attribute__((weak)) MatterIasAcePluginClientInitCallback(){}; -void __attribute__((weak)) MatterIasAcePluginServerInitCallback(){}; - -void __attribute__((weak)) MatterIasWdPluginClientInitCallback(){}; -void __attribute__((weak)) MatterIasWdPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterWakeOnLanPluginClientInitCallback(){}; -void __attribute__((weak)) MatterWakeOnLanPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterTvChannelPluginClientInitCallback(){}; -void __attribute__((weak)) MatterTvChannelPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterTargetNavigatorPluginClientInitCallback(){}; -void __attribute__((weak)) MatterTargetNavigatorPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterMediaPlaybackPluginClientInitCallback(){}; -void __attribute__((weak)) MatterMediaPlaybackPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterMediaInputPluginClientInitCallback(){}; -void __attribute__((weak)) MatterMediaInputPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterLowPowerPluginClientInitCallback(){}; -void __attribute__((weak)) MatterLowPowerPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterKeypadInputPluginClientInitCallback(){}; -void __attribute__((weak)) MatterKeypadInputPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterContentLauncherPluginClientInitCallback(){}; -void __attribute__((weak)) MatterContentLauncherPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterAudioOutputPluginClientInitCallback(){}; -void __attribute__((weak)) MatterAudioOutputPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterApplicationLauncherPluginClientInitCallback(){}; -void __attribute__((weak)) MatterApplicationLauncherPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterApplicationBasicPluginClientInitCallback(){}; -void __attribute__((weak)) MatterApplicationBasicPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterAccountLoginPluginClientInitCallback(){}; -void __attribute__((weak)) MatterAccountLoginPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterTestClusterPluginClientInitCallback(){}; -void __attribute__((weak)) MatterTestClusterPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterMessagingPluginClientInitCallback(){}; -void __attribute__((weak)) MatterMessagingPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterApplianceIdentificationPluginClientInitCallback(){}; -void __attribute__((weak)) MatterApplianceIdentificationPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterMeterIdentificationPluginClientInitCallback(){}; -void __attribute__((weak)) MatterMeterIdentificationPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterApplianceEventsAndAlertPluginClientInitCallback(){}; -void __attribute__((weak)) MatterApplianceEventsAndAlertPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterApplianceStatisticsPluginClientInitCallback(){}; -void __attribute__((weak)) MatterApplianceStatisticsPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterElectricalMeasurementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterElectricalMeasurementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterBindingPluginClientInitCallback(){}; -void __attribute__((weak)) MatterBindingPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterGroupKeyManagementPluginClientInitCallback(){}; -void __attribute__((weak)) MatterGroupKeyManagementPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterSampleMfgSpecificClusterPluginClientInitCallback(){}; -void __attribute__((weak)) MatterSampleMfgSpecificClusterPluginServerInitCallback(){}; - -void __attribute__((weak)) MatterSampleMfgSpecificCluster2PluginClientInitCallback(){}; -void __attribute__((weak)) MatterSampleMfgSpecificCluster2PluginServerInitCallback(){}; +void __attribute__((weak)) MatterPowerConfigurationPluginClientInitCallback() {} +void MatterPowerConfigurationPluginServerInitCallback(); +void __attribute__((weak)) MatterDeviceTemperatureConfigurationPluginClientInitCallback() {} +void MatterDeviceTemperatureConfigurationPluginServerInitCallback(); +void __attribute__((weak)) MatterIdentifyPluginClientInitCallback() {} +void MatterIdentifyPluginServerInitCallback(); +void __attribute__((weak)) MatterGroupsPluginClientInitCallback() {} +void MatterGroupsPluginServerInitCallback(); +void __attribute__((weak)) MatterScenesPluginClientInitCallback() {} +void MatterScenesPluginServerInitCallback(); +void __attribute__((weak)) MatterOnOffPluginClientInitCallback() {} +void MatterOnOffPluginServerInitCallback(); +void __attribute__((weak)) MatterOnOffSwitchConfigurationPluginClientInitCallback() {} +void MatterOnOffSwitchConfigurationPluginServerInitCallback(); +void __attribute__((weak)) MatterLevelControlPluginClientInitCallback() {} +void MatterLevelControlPluginServerInitCallback(); +void __attribute__((weak)) MatterAlarmsPluginClientInitCallback() {} +void MatterAlarmsPluginServerInitCallback(); +void __attribute__((weak)) MatterTimePluginClientInitCallback() {} +void MatterTimePluginServerInitCallback(); +void __attribute__((weak)) MatterBinaryInputBasicPluginClientInitCallback() {} +void MatterBinaryInputBasicPluginServerInitCallback(); +void __attribute__((weak)) MatterPowerProfilePluginClientInitCallback() {} +void MatterPowerProfilePluginServerInitCallback(); +void __attribute__((weak)) MatterApplianceControlPluginClientInitCallback() {} +void MatterApplianceControlPluginServerInitCallback(); +void __attribute__((weak)) MatterDescriptorPluginClientInitCallback() {} +void MatterDescriptorPluginServerInitCallback(); +void __attribute__((weak)) MatterPollControlPluginClientInitCallback() {} +void MatterPollControlPluginServerInitCallback(); +void __attribute__((weak)) MatterBridgedActionsPluginClientInitCallback() {} +void MatterBridgedActionsPluginServerInitCallback(); +void __attribute__((weak)) MatterBasicPluginClientInitCallback() {} +void MatterBasicPluginServerInitCallback(); +void __attribute__((weak)) MatterOtaSoftwareUpdateProviderPluginClientInitCallback() {} +void MatterOtaSoftwareUpdateProviderPluginServerInitCallback(); +void __attribute__((weak)) MatterOtaSoftwareUpdateRequestorPluginClientInitCallback() {} +void MatterOtaSoftwareUpdateRequestorPluginServerInitCallback(); +void __attribute__((weak)) MatterPowerSourcePluginClientInitCallback() {} +void MatterPowerSourcePluginServerInitCallback(); +void __attribute__((weak)) MatterGeneralCommissioningPluginClientInitCallback() {} +void MatterGeneralCommissioningPluginServerInitCallback(); +void __attribute__((weak)) MatterNetworkCommissioningPluginClientInitCallback() {} +void MatterNetworkCommissioningPluginServerInitCallback(); +void __attribute__((weak)) MatterDiagnosticLogsPluginClientInitCallback() {} +void MatterDiagnosticLogsPluginServerInitCallback(); +void __attribute__((weak)) MatterGeneralDiagnosticsPluginClientInitCallback() {} +void MatterGeneralDiagnosticsPluginServerInitCallback(); +void __attribute__((weak)) MatterSoftwareDiagnosticsPluginClientInitCallback() {} +void MatterSoftwareDiagnosticsPluginServerInitCallback(); +void __attribute__((weak)) MatterThreadNetworkDiagnosticsPluginClientInitCallback() {} +void MatterThreadNetworkDiagnosticsPluginServerInitCallback(); +void __attribute__((weak)) MatterWiFiNetworkDiagnosticsPluginClientInitCallback() {} +void MatterWiFiNetworkDiagnosticsPluginServerInitCallback(); +void __attribute__((weak)) MatterEthernetNetworkDiagnosticsPluginClientInitCallback() {} +void MatterEthernetNetworkDiagnosticsPluginServerInitCallback(); +void __attribute__((weak)) MatterBridgedDeviceBasicPluginClientInitCallback() {} +void MatterBridgedDeviceBasicPluginServerInitCallback(); +void __attribute__((weak)) MatterSwitchPluginClientInitCallback() {} +void MatterSwitchPluginServerInitCallback(); +void __attribute__((weak)) MatterAdministratorCommissioningPluginClientInitCallback() {} +void MatterAdministratorCommissioningPluginServerInitCallback(); +void __attribute__((weak)) MatterOperationalCredentialsPluginClientInitCallback() {} +void MatterOperationalCredentialsPluginServerInitCallback(); +void __attribute__((weak)) MatterFixedLabelPluginClientInitCallback() {} +void MatterFixedLabelPluginServerInitCallback(); +void __attribute__((weak)) MatterBooleanStatePluginClientInitCallback() {} +void MatterBooleanStatePluginServerInitCallback(); +void __attribute__((weak)) MatterModeSelectPluginClientInitCallback() {} +void MatterModeSelectPluginServerInitCallback(); +void __attribute__((weak)) MatterShadeConfigurationPluginClientInitCallback() {} +void MatterShadeConfigurationPluginServerInitCallback(); +void __attribute__((weak)) MatterDoorLockPluginClientInitCallback() {} +void MatterDoorLockPluginServerInitCallback(); +void __attribute__((weak)) MatterWindowCoveringPluginClientInitCallback() {} +void MatterWindowCoveringPluginServerInitCallback(); +void __attribute__((weak)) MatterBarrierControlPluginClientInitCallback() {} +void MatterBarrierControlPluginServerInitCallback(); +void __attribute__((weak)) MatterPumpConfigurationAndControlPluginClientInitCallback() {} +void MatterPumpConfigurationAndControlPluginServerInitCallback(); +void __attribute__((weak)) MatterThermostatPluginClientInitCallback() {} +void MatterThermostatPluginServerInitCallback(); +void __attribute__((weak)) MatterFanControlPluginClientInitCallback() {} +void MatterFanControlPluginServerInitCallback(); +void __attribute__((weak)) MatterDehumidificationControlPluginClientInitCallback() {} +void MatterDehumidificationControlPluginServerInitCallback(); +void __attribute__((weak)) MatterThermostatUserInterfaceConfigurationPluginClientInitCallback() {} +void MatterThermostatUserInterfaceConfigurationPluginServerInitCallback(); +void __attribute__((weak)) MatterColorControlPluginClientInitCallback() {} +void MatterColorControlPluginServerInitCallback(); +void __attribute__((weak)) MatterBallastConfigurationPluginClientInitCallback() {} +void MatterBallastConfigurationPluginServerInitCallback(); +void __attribute__((weak)) MatterIlluminanceMeasurementPluginClientInitCallback() {} +void MatterIlluminanceMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterTemperatureMeasurementPluginClientInitCallback() {} +void MatterTemperatureMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterPressureMeasurementPluginClientInitCallback() {} +void MatterPressureMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterFlowMeasurementPluginClientInitCallback() {} +void MatterFlowMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterRelativeHumidityMeasurementPluginClientInitCallback() {} +void MatterRelativeHumidityMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterOccupancySensingPluginClientInitCallback() {} +void MatterOccupancySensingPluginServerInitCallback(); +void __attribute__((weak)) MatterCarbonMonoxideConcentrationMeasurementPluginClientInitCallback() {} +void MatterCarbonMonoxideConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterCarbonDioxideConcentrationMeasurementPluginClientInitCallback() {} +void MatterCarbonDioxideConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterEthyleneConcentrationMeasurementPluginClientInitCallback() {} +void MatterEthyleneConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterEthyleneOxideConcentrationMeasurementPluginClientInitCallback() {} +void MatterEthyleneOxideConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterHydrogenConcentrationMeasurementPluginClientInitCallback() {} +void MatterHydrogenConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterHydrogenSulphideConcentrationMeasurementPluginClientInitCallback() {} +void MatterHydrogenSulphideConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterNitricOxideConcentrationMeasurementPluginClientInitCallback() {} +void MatterNitricOxideConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterNitrogenDioxideConcentrationMeasurementPluginClientInitCallback() {} +void MatterNitrogenDioxideConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterOxygenConcentrationMeasurementPluginClientInitCallback() {} +void MatterOxygenConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterOzoneConcentrationMeasurementPluginClientInitCallback() {} +void MatterOzoneConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterSulfurDioxideConcentrationMeasurementPluginClientInitCallback() {} +void MatterSulfurDioxideConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterDissolvedOxygenConcentrationMeasurementPluginClientInitCallback() {} +void MatterDissolvedOxygenConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterBromateConcentrationMeasurementPluginClientInitCallback() {} +void MatterBromateConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterChloraminesConcentrationMeasurementPluginClientInitCallback() {} +void MatterChloraminesConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterChlorineConcentrationMeasurementPluginClientInitCallback() {} +void MatterChlorineConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterFecalColiformAndEColiConcentrationMeasurementPluginClientInitCallback() {} +void MatterFecalColiformAndEColiConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterFluorideConcentrationMeasurementPluginClientInitCallback() {} +void MatterFluorideConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterHaloaceticAcidsConcentrationMeasurementPluginClientInitCallback() {} +void MatterHaloaceticAcidsConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterTotalTrihalomethanesConcentrationMeasurementPluginClientInitCallback() {} +void MatterTotalTrihalomethanesConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterTotalColiformBacteriaConcentrationMeasurementPluginClientInitCallback() {} +void MatterTotalColiformBacteriaConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterTurbidityConcentrationMeasurementPluginClientInitCallback() {} +void MatterTurbidityConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterCopperConcentrationMeasurementPluginClientInitCallback() {} +void MatterCopperConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterLeadConcentrationMeasurementPluginClientInitCallback() {} +void MatterLeadConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterManganeseConcentrationMeasurementPluginClientInitCallback() {} +void MatterManganeseConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterSulfateConcentrationMeasurementPluginClientInitCallback() {} +void MatterSulfateConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterBromodichloromethaneConcentrationMeasurementPluginClientInitCallback() {} +void MatterBromodichloromethaneConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterBromoformConcentrationMeasurementPluginClientInitCallback() {} +void MatterBromoformConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterChlorodibromomethaneConcentrationMeasurementPluginClientInitCallback() {} +void MatterChlorodibromomethaneConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterChloroformConcentrationMeasurementPluginClientInitCallback() {} +void MatterChloroformConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterSodiumConcentrationMeasurementPluginClientInitCallback() {} +void MatterSodiumConcentrationMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterIasZonePluginClientInitCallback() {} +void MatterIasZonePluginServerInitCallback(); +void __attribute__((weak)) MatterIasAcePluginClientInitCallback() {} +void MatterIasAcePluginServerInitCallback(); +void __attribute__((weak)) MatterIasWdPluginClientInitCallback() {} +void MatterIasWdPluginServerInitCallback(); +void __attribute__((weak)) MatterWakeOnLanPluginClientInitCallback() {} +void MatterWakeOnLanPluginServerInitCallback(); +void __attribute__((weak)) MatterTvChannelPluginClientInitCallback() {} +void MatterTvChannelPluginServerInitCallback(); +void __attribute__((weak)) MatterTargetNavigatorPluginClientInitCallback() {} +void MatterTargetNavigatorPluginServerInitCallback(); +void __attribute__((weak)) MatterMediaPlaybackPluginClientInitCallback() {} +void MatterMediaPlaybackPluginServerInitCallback(); +void __attribute__((weak)) MatterMediaInputPluginClientInitCallback() {} +void MatterMediaInputPluginServerInitCallback(); +void __attribute__((weak)) MatterLowPowerPluginClientInitCallback() {} +void MatterLowPowerPluginServerInitCallback(); +void __attribute__((weak)) MatterKeypadInputPluginClientInitCallback() {} +void MatterKeypadInputPluginServerInitCallback(); +void __attribute__((weak)) MatterContentLauncherPluginClientInitCallback() {} +void MatterContentLauncherPluginServerInitCallback(); +void __attribute__((weak)) MatterAudioOutputPluginClientInitCallback() {} +void MatterAudioOutputPluginServerInitCallback(); +void __attribute__((weak)) MatterApplicationLauncherPluginClientInitCallback() {} +void MatterApplicationLauncherPluginServerInitCallback(); +void __attribute__((weak)) MatterApplicationBasicPluginClientInitCallback() {} +void MatterApplicationBasicPluginServerInitCallback(); +void __attribute__((weak)) MatterAccountLoginPluginClientInitCallback() {} +void MatterAccountLoginPluginServerInitCallback(); +void __attribute__((weak)) MatterTestClusterPluginClientInitCallback() {} +void MatterTestClusterPluginServerInitCallback(); +void __attribute__((weak)) MatterMessagingPluginClientInitCallback() {} +void MatterMessagingPluginServerInitCallback(); +void __attribute__((weak)) MatterApplianceIdentificationPluginClientInitCallback() {} +void MatterApplianceIdentificationPluginServerInitCallback(); +void __attribute__((weak)) MatterMeterIdentificationPluginClientInitCallback() {} +void MatterMeterIdentificationPluginServerInitCallback(); +void __attribute__((weak)) MatterApplianceEventsAndAlertPluginClientInitCallback() {} +void MatterApplianceEventsAndAlertPluginServerInitCallback(); +void __attribute__((weak)) MatterApplianceStatisticsPluginClientInitCallback() {} +void MatterApplianceStatisticsPluginServerInitCallback(); +void __attribute__((weak)) MatterElectricalMeasurementPluginClientInitCallback() {} +void MatterElectricalMeasurementPluginServerInitCallback(); +void __attribute__((weak)) MatterBindingPluginClientInitCallback() {} +void MatterBindingPluginServerInitCallback(); +void __attribute__((weak)) MatterGroupKeyManagementPluginClientInitCallback() {} +void MatterGroupKeyManagementPluginServerInitCallback(); +void __attribute__((weak)) MatterSampleMfgSpecificClusterPluginClientInitCallback() {} +void MatterSampleMfgSpecificClusterPluginServerInitCallback(); +void __attribute__((weak)) MatterSampleMfgSpecificCluster2PluginClientInitCallback() {} +void MatterSampleMfgSpecificCluster2PluginServerInitCallback();