-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement support for more configurable server endpoints in Matter.fr…
…amework. (#31814) * Implement support for more configurable server endpoints in Matter.framework. * Public APIs on MTRDeviceController to add/remove an endpoint. * Internal APIs on MTRDeviceController to query the access grants for a cluster path and the declared "minimum privilege needed" to read a given attribute. * Changes to the controller factory to stop using app/dynamic_server and instead use the new infrastructure to expose OTA Provider on endpoint 0. * Internal APIs on the controller factory to query access grants and declared privileges. * An implemenation of AccessControl::Delegate to do ACL checks using the above-mentioned APIs. * A fix to MTRServerAttribute's setValue for arrays: it was not expecting the correct data-value structure for an array. This requires fixing some tests too, to provide the right structures. * Changes to the MTRServer* data structures to allow passing nil to associateWithController, to support the OTA endpoint which is not associated with any controller. * Changes to MTRServerCluster to create an AttributeAccessInterface, the set of EmberAfAttributeMetadata needed to represent its attributes, and various other things needed to register a cluster with the "ember" bits. * Changes to MTRServerEndpoint to create an EmberAfEndpointType, a list of EmberAfCluster, and various other things needed to register an endpoint with the "ember" bits. * (Re-)addition of MTRIMDispatch to handle command dispatch for OTA and host a few other functions the "ember" bits expect to exist. * Addition of some headers that the "ember" bits expect to exist at specific paths and with some specific content: "app/PluginApplicationCallbacks.h" and "zap-generated/endpoint_config.h". Importantly, the latter sets FIXED_ENDPOINT_COUNT to 0. * Addition of unit tests that exercise the non-OTA bits of the above (OTA is covered by existing tests), including the ACL checks and so on. * Including a bunch of src/app and src/app/util files needed for the "ember" stuff to work in the framework. * Turning off the chip_build_controller_dynamic_server bit that we are no longer using (and which conflicts with the above bits). * Configure Darwin to support 254 dynamic endpoints (the maximum that makes sense) by default. * Adjusting include paths for the Xcode darwin-framework-tool project, so that it sees the new headers that were added. * Address review comments. * Fix test timeout due to resolving IPv4 non-locahost addresses. * Remove stale comment.
- Loading branch information
1 parent
9efee65
commit 7c70a25
Showing
23 changed files
with
1,869 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.