tree 0e42a5fe3e291a1dd6aee519c99ad5d53dd6b2ce
parent 66c66813643c468920b0137c68d491f1e47a7277
author Boris Zbarsky <bzbarsky@apple.com> 1669845907 -0500
committer GitHub <noreply@github.com> 1669845907 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJjh9OTCRBK7hj4Ov3rIwAAWIIIAJ+FzKHEvYTMwLE9Rae19BH5
 OmP+opdbUKHE7RnT9kGbmT7yDMb9ciAnaWNNhl4PdwqW2RO+KI4XsB9cGTx8Rxyp
 De8zlVpdS6Hv/Y0QG5xaaUxkNLY9DRwxCmVEAgiki4CdIHoR2PqJF0DQP+Xw41nY
 p5nhvX0PDHXmU2A56K+ZB0PhsoWAIW7KlxJLrk6Wf7g0ANQsDyWh3i4Ayc7hoaoa
 WDbx8Asfed/ybWnmTNFb5aPkG2AZ2jb5qwWNnu7ThCTcHKzguXKxRDJoHRDnY0G4
 V2+TsKsZ1h6TdhNV6iYgo8LamU/wpd0WxWS070in8zc08AJZWEiUx6rsKxZ+KfI=
 =dGV4
 -----END PGP SIGNATURE-----
 

[Darwin] Update templates to preserve acronyms (e.g ACL) in APIs. (#23800)

This is a re-landing of PR #22665 but with backwards compat preserved
and some of the comment-only changes removed to ease review; those
will re-land in a separate PR.

* Update ZAP repo

* [Darwin] Update template to preserve acronyms (e.g ACL) in APIs

* Ota -> OTA in src/darwin/Framework/CHIPTests/MTRTestOTAProvider.m

* Update generated code

The header changes not accompanied by backwards-compat shims are OK for the
following reasons:

* The changes to the argument types in MTROTAProviderDelegate.h are in
  MTR_NEWLY_AVAILABLE APIs.
* MTROTAProviderDelegateBridge.h is not public API.
* In MTRBaseClusters.h readAttributeAclWithParams, writeAttributeAclWithValue,
  subscribeAttributeAclWithParams, readAttributeAclWithClusterStateCache get
  renamed only in MTR_NEWLY_AVAILABLE APIs.
* In MTRBaseClusters.h MTRBaseClusterOtaSoftwareUpdateProvider gets renamed to
  MTRBaseClusterOTASoftwareUpdateProvider.  This is OK because all the selectors
  on it are MTR_NEWLY_AVAILABLE and a shim is provided for the (Deprecated)
  extension.
* In MTRBaseClusters.h MTROtaSoftwareUpdateProviderCluster* structs in arguments
  get renamed to MTROTASoftwareUpdateProviderCluster* only in
  MTR_NEWLY_AVAILABLE APIs.
* In MTRBaseClusters.h MTRBaseClusterOtaSoftwareUpdateRequestor gets renamed to
  MTRBaseClusterOTASoftwareUpdateRequestor.  This is OK because all the
  selectors on it are MTR_NEWLY_AVAILABLE and a shim is provided for the
  (Deprecated) extension.
* In MTRBaseClusters.h MTROtaSoftwareUpdateRequestorCluster* structs in
  arguments get renamed to MTROTASoftwareUpdateRequestorCluster* only in
  MTR_NEWLY_AVAILABLE APIs.
* In MTRBaseClusters.h *AttributePir* bits get renamed only in
  MTR_NEWLY_AVAILABLE APIs.
* In MTRBaseClusters.h MTRBaseClusterWakeOnLan gets renamed to
  MTRBaseClusterWakeOnLAN and needs a shim.  This is OK because all the
  selectors on it are MTR_NEWLY_AVAILABLE and a shim is provided for the
  (Deprecated) extension.
* MTRBaseClusters_internal.h is not public API.
* MTRCallbackBridge_internal.h is not public API.
* In MTRClusterConstants.h all the name changes are to MTR_NEWLY_AVAILABLE
  constants.
* In MTRClusters.h renaming MTRClusterOtaSoftwareUpdateProvider to
  MTRClusterOTASoftwareUpdateProvider is OK because a shim is provided.
* In MTRClusters.h renaming MTRClusterOtaSoftwareUpdateRequestor to
  MTRClusterOTASoftwareUpdateRequestor is OK because a shim is provided.
* In MTRClusters.h renaming MTRClusterWakeOnLan to MTRClusterWakeOnLAN is OK
  because a shim is provided.
* In MTRClusters.h, all the attributes that had their names change get shims.
* MTRClusters_internal.h is not public API.

Co-authored-by: Vivien Nicolas <vnicolas@apple.com>