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++ (6,410 stars) (1,659 forks)batch import
good first issuestale

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

Reduce/remove usage of "all ids/structs/enums" and include exact cluster dependencies · project-chip/connectedhomeip#38667 | Good First Issue