-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementation of service area server #33991
Implementation of service area server #33991
Conversation
…edhomeip-spec PR 8933
…nnectedhomeip-spec PR 8937
…nnectedhomeip-spec PR 8937
…996d0ef74a36b2a6b93ac0d3db9c45
…d5b7eff4d3443273f47f12f22baf 2024-05-23
…definition-for-service-area-cluster Merge remote-tracking branch 'origin/Add-common-definitions-for-Home-Location' into Add-xml-definition-for-service-area-cluster Pull in updates to Home-Location definitions from other PR branch.
… 6bf3762eb1ee733c642e79074744d1185b82a89c 2024-05-24
…o commit 6bf3762eb1ee733c642e79074744d1185b82a89c 2024-05-24
…definition-for-service-area-cluster
…definition-for-service-area-cluster
…mentation-of-service-area-server
PR #33991: Size comparison from 4334e91 to 2df0c57 Full report (11 builds for cc32xx, mbed, nrfconnect, qpg, stm32, tizen)
|
PR #33991: Size comparison from 4334e91 to 8588959 Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #33991: Size comparison from 5e3127f to aee7b9e Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
virtual ~Delegate() = default; | ||
|
||
/** | ||
* Stop this class objects from being copied. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comment about why? what self-referential data structures or pointers are contained within this class?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see mInstance however I am unclear about what management of it is done. at a frist glance it seems to be just a raw pointer with set/get method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mInstance
points to an Instance
object that has a pointer to this Delegate
object. The Delegate
and Instance
classes are coupled in this way.
Copying a delegate class might make things confusing as it allows the possibility of a Delegate
object that points to an Instance
that does not point back to it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be explained in a comment. A stop this class object for being copied
just re-states the code when I see a = delete
. When maintaining this code, I need to answer why this is not allowed and what would happen if I do allow it.
Design-wise, the circular reference is a bit frustrating.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andy31415 Added an explanation in this commit.
Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
PR #33991: Size comparison from 29b055a to 2e707f8 Full report (4 builds for cc32xx, mbed, stm32)
|
PR #33991: Size comparison from 29b055a to 56abce4 Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #33991: Size comparison from 29b055a to af7d1ba Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
Manual merging: github CI seems broken somehow (java tests hang, restyler does not work) |
Fixes #33365.
This PR implements the Service Area cluster server. The Instance / Delegate pattern used for the Mode Base and Operational State clusters has been used.
This PR builds on top of #33569 and #33752.
This PR also adds a service area cluster to the RVC example app. It is not yet properly integrated with RVC app logic but it implements all the necessary methods to test attribute access. Further work on the RVC app is covered by issue #33367.