tree 7e925145c03a7b0d2fb4f1897ff034d6b252a688
parent 2040f262203d1d88be89d094994010f03c79b48b
author William <hicklin@users.noreply.github.com> 1723144685 +0100
committer GitHub <noreply@github.com> 1723144685 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmtRntCRC1aQ7uu5UhlAAA4DAQADdEKYxab08b28werGmqtOFy
 IsS3j/Ilm90223lqyqxU1hx+qZYXHDeg2whyqICBTbHOPxdvJ4kfBYvNLwSQUL01
 RC7OoAKA0/hdeya359r5+G42cM/ZU1sgdF/WAEn0Rmiz7A22SuAjWeexQSc/BzM8
 zOIy7fPaH/GHE5eX666TaE3QGyBJQYJAm1AhtYBuvIozABxahz0YZVNSue9l5Ugz
 rAOp1WDRHT/bfkt4BD3OIVx+ZS1KVj03EqQwbrubupEOGYzCivqUWPe2uSiJw9Hy
 LWE28QnaGxp6if/4FSHQBi99pqhOqXs9AWC4cDrrpwELXfRdJjVdXOge2Xxce2c0
 eoJ/7pHuF/5OKxUTAmHGI6SlNGAI56tvVexJ1xPIXMWUx9OhF7ej3POfuFh07aiE
 1Z7RdzKGQqXBt++X24+qY8Ca5+hrlF4zeSIeTbRS49/J7geqyF4QVHAOlUOzJNgD
 iUbXk3wHYhgjRsXybFlZKGx5cjtTIvqJq+cMsUBoMjcJtrbQ2crKJvaIzfQOY9Rf
 uGds9ycHJJcYIHvnZkLJhVq8E7sU3OxBveFhlSE9ENFqIirWGX0Xmos7pJOjrkxH
 Zyk7MYhjUNMqL+7UUgR6UERG1Q7Tlsvz7S87975VLFuJgxHcDBggHCsRKNbfmp6/
 h5900WwARYwWfx9T7+sK
 =wnl+
 -----END PGP SIGNATURE-----
 

Improve the AreaStructureWrapper (#34814)

* Updated the golabl data type's XMLs, removing the cluster entries.

* Zap generated after XML update.

* Fixed namespaces used of global structs.

* Restyled by clang-format

* Renamed LocationInfoStruct to AreaInfoStruct.

* Zap generated after XML update.

* Renamed LocationStruct to AreaStruct and its LocationID and LocationDesc fields.

* Zap generated after XML update.

* Updated SDK and example code to match the new naming.

* Updated the ProgressStruct's LocationID name to AreaID.

* Zap generated after XML update.

* Updated the SDK code following name changes.

* Updated the SelectLocationsStatus and SkipLocationStatus enum names and some of their enums.

* Zap generated after XML update.

* Updated the SelectLocationsStatus and SkipCurrentLocationStatus names and their enum names.

* Updated the names of the SupportedLocations, SelectedLocations and CurrentLocation attributes.

* Zap generated after XML update.

* Updated the changed names in the SDK.

* Updated the service area command names in XML.

* Zap generated after XML update.

* Updated the service area command names in the SDK.

* Updated the rvc-example zap file.

* Refactored LocationStructureWrapper to AreaStructureWrapper.

* Restyled by clang-format

* Regenerated zap files due to changes upsteram.

* Removed unused generated file.

* Updated the Service Area XML marking previously nullabel attributes as not-nullable.

* Zap generated after XML update.

* Updated the attribute encoding and some server logic following the romoval of the nullable quality for some attributes.

* Explicitly set the Service Area version.

* Zap generated after XML update.

* Updated the service area features in the XML to match the current spec.

* Zap generated after XML update.

* Updated the SupportedArea validation logic as if the MAPS feature is not supported, the Delegate may choose not to implement map related methods.

* Change the type of the MapID to uint32 to match the spec.

* Added the SkippedArea arg to the SkipArea command.

* Zap generated after XML update.

* Updated the Service Area server code to handle the new SkippedArea command arg.

* Updated the service area XML to match the current spec. This includes the addition of the LandmarkInfoStruct and updates of AreaInfoStruct, SelectAreasStatus.

* Zap generated after XML update.

* Updated SDK server code and rvc-example after changes to the XML.

* Restyled by whitespace

* added vector include.

* spacing changes form zap regen.

* Fixed minor mistake during merge.

* Restyled by clang-format

* Applied suggestions from review.

* Restyled by whitespace

* Updated the LondmarkInfoSturct PositionTag type.

* Zap generated after XML update.

* Fixed SDK following update to the position type.

* Restyled by clang-format

* Updated the AeraStructWrapper to not contain methods with a large number of params. Updated some relate Instance and Delegate methods.

* Restyled by whitespace

* Restyled by clang-format

* Missed a submudule update.

* Made the setters reture a ref to the sturct to allow chaining.

* simplified the = oporator and add the == operator.

* Restyled by clang-format

* minor change to get restyler going.

* Restyled by clang-format

* Fixed issue casued by a change in the way that registrations are made.

---------

Co-authored-by: Restyled.io <commits@restyled.io>