project-chip/connectedhomeip

Reduce/remove usage of "all ids/structs/enums" and include exact cluster dependencies

Open

#38,667 opened on Apr 29, 2025

View on GitHub
 (2 comments) (0 reactions) (0 assignees)C++ (1,659 forks)batch import
good first issuestale

Repository metrics

Stars
 (6,410 stars)
PR merge metrics
 (Avg merge 8d 5h) (375 merged PRs in 30d)

Description

We have split cluster specific data into separate files, however we still have usages of global things assumed within various locations. part of it is src/app/clusters which may need treating one by one, however others are the rest of the SDK code.

We should replace https://github.com/project-chip/connectedhomeip/blob/master/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h usage and https://github.com/project-chip/connectedhomeip/blob/master/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h usage with actual cluster/.../....h includes instead

and ensure references for ids include the correct header.

Practical example, WriteClient needs AccessControl::Id https://github.com/project-chip/connectedhomeip/blob/master/src/app/WriteClient.cpp#L273 and it should not assume that this is somehow available through transitive dependencies (it seems to do that now).

Need to figure out how to audit usages of these IDs and clean up references.

Contributor guide