Skip to content

Commit 5f2ba43

Browse files
Add emberAf*ClusterShutdownCallback. (#38130)
* Add emberAf*ClusterShutdownCallback. * Address review comment.
1 parent 4616f83 commit 5f2ba43

File tree

16 files changed

+1776
-361
lines changed

16 files changed

+1776
-361
lines changed

scripts/py_matter_idl/files.gni

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import("//build_overrides/chip.gni")
44
# Templates used for generation
55
matter_idl_generator_templates = [
66
"${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/application/CallbackStubSource.jinja",
7-
"${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/application/ClusterInitCallbackSource.jinja",
7+
"${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/application/ClusterCallbacksSource.jinja",
88
"${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/application/PluginApplicationCallbacksHeader.jinja",
99
"${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/TLVMetaData_cpp.jinja",
1010
"${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/TLVMetaData_h.jinja",

scripts/py_matter_idl/matter/idl/generators/cpp/application/CallbackStubSource.jinja

+5
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,9 @@ void __attribute__((weak)) emberAf{{name}}ClusterInitCallback(EndpointId endpoin
88
// To prevent warning
99
(void) endpoint;
1010
}
11+
void __attribute__((weak)) emberAf{{name}}ClusterShutdownCallback(EndpointId endpoint)
12+
{
13+
// To prevent warning
14+
(void) endpoint;
15+
}
1116
{%- endfor %}

scripts/py_matter_idl/matter/idl/generators/cpp/application/ClusterInitCallbackSource.jinja scripts/py_matter_idl/matter/idl/generators/cpp/application/ClusterCallbacksSource.jinja

+17-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId)
1010
{
1111
switch (clusterId)
1212
{
13-
{%- for name in clusters | sort(attribute='name') | map(attribute='name') | unique %}
13+
{%- for name in clusters | sort(attribute='name') | map(attribute='name') %}
1414
case app::Clusters::{{name}}::Id:
1515
emberAf{{name}}ClusterInitCallback(endpoint);
1616
break;
@@ -20,3 +20,19 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId)
2020
break;
2121
}
2222
}
23+
24+
// Cluster Shutdown Functions
25+
void emberAfClusterShutdownCallback(EndpointId endpoint, ClusterId clusterId)
26+
{
27+
switch (clusterId)
28+
{
29+
{%- for name in clusters | sort(attribute='name') | map(attribute='name') %}
30+
case app::Clusters::{{name}}::Id:
31+
emberAf{{name}}ClusterShutdownCallback(endpoint);
32+
break;
33+
{%- endfor %}
34+
default:
35+
// Unrecognized cluster ID
36+
break;
37+
}
38+
}

scripts/py_matter_idl/matter/idl/generators/cpp/application/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ def internal_render_all(self):
5656
)
5757

5858
self.internal_render_one_output(
59-
template_path="ClusterInitCallbackSource.jinja",
60-
output_file_name="app/cluster-init-callback.cpp",
59+
template_path="ClusterCallbacksSource.jinja",
60+
output_file_name="app/cluster-callbacks.cpp",
6161
vars={
6262
'clusters': server_side_clusters(self.idl)
6363
}

scripts/py_matter_idl/matter/idl/tests/available_tests.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@ cpp-app:
2626
inputs/several_clusters.matter:
2727
app/PluginApplicationCallbacks.h: outputs/several_clusters/cpp-app/PluginApplicationCallbacks.h
2828
app/callback-stub.cpp: outputs/several_clusters/cpp-app/callback-stub.cpp
29-
app/cluster-init-callback.cpp: outputs/several_clusters/cpp-app/cluster-init-callback.cpp
29+
app/cluster-callbacks.cpp: outputs/several_clusters/cpp-app/cluster-callbacks.cpp
3030

3131
inputs/large_all_clusters_app.matter:
3232
app/PluginApplicationCallbacks.h: outputs/large_all_clusters_app/cpp-app/PluginApplicationCallbacks.h
3333
app/callback-stub.cpp: outputs/large_all_clusters_app/cpp-app/callback-stub.cpp
34-
app/cluster-init-callback.cpp: outputs/large_all_clusters_app/cpp-app/cluster-init-callback.cpp
34+
app/cluster-callbacks.cpp: outputs/large_all_clusters_app/cpp-app/cluster-callbacks.cpp
3535

3636
inputs/large_lighting_app.matter:
3737
app/PluginApplicationCallbacks.h: outputs/large_lighting_app/cpp-app/PluginApplicationCallbacks.h
3838
app/callback-stub.cpp: outputs/large_lighting_app/cpp-app/callback-stub.cpp
39-
app/cluster-init-callback.cpp: outputs/large_lighting_app/cpp-app/cluster-init-callback.cpp
39+
app/cluster-callbacks.cpp: outputs/large_lighting_app/cpp-app/cluster-callbacks.cpp
4040

4141
cpp-tlvmeta:
4242
inputs/cluster_with_commands.matter:

0 commit comments

Comments
 (0)