blob: 02a8aeca02e05907e453a61f7f50544e47c095ad [file] [log] [blame]
Sergei Lissianoif1c44da2020-08-09 16:11:24 -07001/**
2 *
Sergei Lissianoiaa2933b2020-08-09 16:11:26 -07003 * Copyright (c) 2020 Project CHIP Authors
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
Vivien Nicolase3840942020-11-11 14:54:39 +010018#pragma once
Bhaskar Sarma5d4da3f2020-09-14 12:31:31 -070019
Boris Zbarskyfb197362021-12-15 00:46:43 -050020#include <app/ConcreteAttributePath.h>
Vivien Nicolas52466a92020-11-05 20:07:27 +010021
Vivien Nicolas52466a92020-11-05 20:07:27 +010022/** @brief Reporting Attribute Change
23 *
24 * This function is called by the framework when an attribute managed by the
25 * framework changes. The application should call this function when an
Boris Zbarsky95d337c2022-11-18 01:30:16 -050026 * externally-managed attribute changes. This function triggers attribute
27 * reports for subscriptions as needed.
Boris Zbarskyf9c69cd2021-10-21 16:09:38 -040028 */
29void MatterReportingAttributeChangeCallback(chip::EndpointId endpoint, chip::ClusterId clusterId, chip::AttributeId attributeId);
Boris Zbarskyfb197362021-12-15 00:46:43 -050030
31/*
32 * Same but with a nicer attribute path.
33 */
34void MatterReportingAttributeChangeCallback(const chip::app::ConcreteAttributePath & aPath);
Song GUOf68dd292022-02-25 23:28:17 +080035
36/*
37 * Same but only with an EndpointId, this is used when adding / enabling an endpoint during runtime.
38 */
39void MatterReportingAttributeChangeCallback(chip::EndpointId endpoint);