@glassly/bluetooth-sdk 0.1.0-dev.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/README.md +563 -0
  2. package/android/build.gradle +450 -0
  3. package/android/gradle.properties.example +9 -0
  4. package/android/lc3Lib/CMakeLists.txt +6 -0
  5. package/android/lc3Lib/build.gradle +212 -0
  6. package/android/lc3Lib/proguard-rules.pro +33 -0
  7. package/android/lc3Lib/src/main/AndroidManifest.xml +2 -0
  8. package/android/lc3Lib/src/main/cpp/CMakeLists.txt +8 -0
  9. package/android/lc3Lib/src/main/cpp/google_opus_stuff/CMakeLists.txt +30 -0
  10. package/android/lc3Lib/src/main/cpp/google_opus_stuff/jni/CMakeLists.txt +7 -0
  11. package/android/lc3Lib/src/main/cpp/google_opus_stuff/jni/ogg_opus_encoder.cc +96 -0
  12. package/android/lc3Lib/src/main/cpp/google_opus_stuff/jni/ogg_opus_encoder.h +53 -0
  13. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/Makefile.am +6 -0
  14. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/config_types.h +26 -0
  15. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/config_types.h.in +26 -0
  16. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/ogg.h +209 -0
  17. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/os_types.h +158 -0
  18. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus.h +981 -0
  19. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_custom.h +342 -0
  20. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_defines.h +799 -0
  21. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_multistream.h +660 -0
  22. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_projection.h +568 -0
  23. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_types.h +166 -0
  24. package/android/lc3Lib/src/main/cpp/google_opus_stuff/ogg_opus_encoder.cc +268 -0
  25. package/android/lc3Lib/src/main/cpp/google_opus_stuff/ogg_opus_encoder.h +115 -0
  26. package/android/lc3Lib/src/main/cpp/google_opus_stuff/opus_tools/opus_header.h +59 -0
  27. package/android/lc3Lib/src/main/cpp/liblc3/CMakeLists.txt +38 -0
  28. package/android/lc3Lib/src/main/cpp/liblc3/include/lc3.h +309 -0
  29. package/android/lc3Lib/src/main/cpp/liblc3/include/lc3_private.h +162 -0
  30. package/android/lc3Lib/src/main/cpp/liblc3/include/rnnoise.h +114 -0
  31. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/CMakeLists.txt +19 -0
  32. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/attdet.c +92 -0
  33. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/attdet.h +44 -0
  34. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bits.c +375 -0
  35. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bits.h +315 -0
  36. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bwdet.c +129 -0
  37. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bwdet.h +69 -0
  38. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/common.h +148 -0
  39. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/energy.c +70 -0
  40. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/energy.h +43 -0
  41. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/fastmath.h +158 -0
  42. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/lc3.c +702 -0
  43. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf.c +893 -0
  44. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf.h +111 -0
  45. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf_arm.h +506 -0
  46. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf_neon.h +281 -0
  47. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/makefile.mk +35 -0
  48. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/mdct.c +452 -0
  49. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/mdct.h +57 -0
  50. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/mdct_neon.h +296 -0
  51. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/meson.build +46 -0
  52. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/plc.c +61 -0
  53. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/plc.h +57 -0
  54. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/sns.c +880 -0
  55. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/sns.h +103 -0
  56. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/spec.c +904 -0
  57. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/spec.h +119 -0
  58. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tables.c +3457 -0
  59. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tables.h +94 -0
  60. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tns.c +457 -0
  61. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tns.h +99 -0
  62. package/android/lc3Lib/src/main/cpp/liblc3/liblc3.cpp +159 -0
  63. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/_kiss_fft_guts.h +182 -0
  64. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/arch.h +261 -0
  65. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/celt_lpc.c +279 -0
  66. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/celt_lpc.h +59 -0
  67. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/common.h +48 -0
  68. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/compile.sh +3 -0
  69. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/denoise.c +646 -0
  70. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/kiss_fft.c +601 -0
  71. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/kiss_fft.h +203 -0
  72. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/opus_types.h +159 -0
  73. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/pitch.c +526 -0
  74. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/pitch.h +149 -0
  75. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn.c +178 -0
  76. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn.h +69 -0
  77. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_data.c +11051 -0
  78. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_data.h +34 -0
  79. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_reader.c +168 -0
  80. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_train.py +66 -0
  81. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/tansig_table.h +45 -0
  82. package/android/lc3Lib/src/main/java/com/glassly/lc3Lib/Lc3Cpp.java +38 -0
  83. package/android/lc3Lib/third_party/CMakeLists.txt +23 -0
  84. package/android/lc3Lib/third_party/CMakeLists_libogg.txt +18 -0
  85. package/android/lc3Lib/third_party/CMakeLists_libopus.txt +18 -0
  86. package/android/lc3Lib/third_party/CMakeLists_opus-tools.txt +23 -0
  87. package/android/lc3Lib/third_party/opus_tools/src/AUTHORS +5 -0
  88. package/android/lc3Lib/third_party/opus_tools/src/CMakeLists.txt +4 -0
  89. package/android/lc3Lib/third_party/opus_tools/src/COPYING +371 -0
  90. package/android/lc3Lib/third_party/opus_tools/src/ChangeLog +3 -0
  91. package/android/lc3Lib/third_party/opus_tools/src/Makefile.am +42 -0
  92. package/android/lc3Lib/third_party/opus_tools/src/Makefile.unix +23 -0
  93. package/android/lc3Lib/third_party/opus_tools/src/NEWS +0 -0
  94. package/android/lc3Lib/third_party/opus_tools/src/README +0 -0
  95. package/android/lc3Lib/third_party/opus_tools/src/autogen.sh +115 -0
  96. package/android/lc3Lib/third_party/opus_tools/src/configure.ac +293 -0
  97. package/android/lc3Lib/third_party/opus_tools/src/src/arch.h +239 -0
  98. package/android/lc3Lib/third_party/opus_tools/src/src/audio-in.c +1046 -0
  99. package/android/lc3Lib/third_party/opus_tools/src/src/diag_range.c +245 -0
  100. package/android/lc3Lib/third_party/opus_tools/src/src/diag_range.h +28 -0
  101. package/android/lc3Lib/third_party/opus_tools/src/src/info_opus.c +320 -0
  102. package/android/lc3Lib/third_party/opus_tools/src/src/info_opus.h +51 -0
  103. package/android/lc3Lib/third_party/opus_tools/src/src/lpc.c +157 -0
  104. package/android/lc3Lib/third_party/opus_tools/src/src/lpc.h +27 -0
  105. package/android/lc3Lib/third_party/opus_tools/src/src/opus_header.c +286 -0
  106. package/android/lc3Lib/third_party/opus_tools/src/src/opus_header.h +59 -0
  107. package/android/lc3Lib/third_party/opus_tools/src/src/opusdec.c +884 -0
  108. package/android/lc3Lib/third_party/opus_tools/src/src/opusenc.c +1021 -0
  109. package/android/lc3Lib/third_party/opus_tools/src/src/opusenc.h +101 -0
  110. package/android/lc3Lib/third_party/opus_tools/src/src/opusinfo.c +639 -0
  111. package/android/lc3Lib/third_party/opus_tools/src/src/opusinfo.h +51 -0
  112. package/android/lc3Lib/third_party/opus_tools/src/src/os_support.h +167 -0
  113. package/android/lc3Lib/third_party/opus_tools/src/src/resample.c +1137 -0
  114. package/android/lc3Lib/third_party/opus_tools/src/src/speex_resampler.h +344 -0
  115. package/android/lc3Lib/third_party/opus_tools/src/src/stack_alloc.h +115 -0
  116. package/android/lc3Lib/third_party/opus_tools/src/src/wav_io.c +125 -0
  117. package/android/lc3Lib/third_party/opus_tools/src/src/wav_io.h +62 -0
  118. package/android/lc3Lib/third_party/opus_tools/src/src/wave_out.c +223 -0
  119. package/android/lc3Lib/third_party/opus_tools/src/src/wave_out.h +60 -0
  120. package/android/settings.gradle +4 -0
  121. package/android/silero/LICENSE.md +17 -0
  122. package/android/silero/build.gradle +50 -0
  123. package/android/silero/proguard-rules.pro +24 -0
  124. package/android/silero/src/androidTest/assets/hello.wav +0 -0
  125. package/android/silero/src/androidTest/java/com/konovalov/vad/silero/VadSileroTest.kt +79 -0
  126. package/android/silero/src/main/assets/LICENSE +21 -0
  127. package/android/silero/src/main/assets/silero_vad.onnx +0 -0
  128. package/android/silero/src/main/java/com/konovalov/vad/silero/Vad.kt +160 -0
  129. package/android/silero/src/main/java/com/konovalov/vad/silero/VadSilero.kt +449 -0
  130. package/android/silero/src/main/java/com/konovalov/vad/silero/config/FrameSize.kt +15 -0
  131. package/android/silero/src/main/java/com/konovalov/vad/silero/config/Mode.kt +14 -0
  132. package/android/silero/src/main/java/com/konovalov/vad/silero/config/SampleRate.kt +12 -0
  133. package/android/silero/src/main/java/com/konovalov/vad/silero/utils/AudioUtils.kt +47 -0
  134. package/android/silero/src/main/java/com/konovalov/vad/silero/utils/TensorMap.kt +41 -0
  135. package/android/silero/src/test/java/com/konovalov/vad/silero/utils/AudioUtilsTest.kt +44 -0
  136. package/android/src/main/AndroidManifest.xml +42 -0
  137. package/android/src/main/assets/G2Firmware/README.md +11 -0
  138. package/android/src/main/java/com/glassly/bluetoothsdk/BluetoothSdk.kt +2325 -0
  139. package/android/src/main/java/com/glassly/bluetoothsdk/BluetoothSdkAnalytics.kt +216 -0
  140. package/android/src/main/java/com/glassly/bluetoothsdk/BluetoothSdkDebug.kt +14 -0
  141. package/android/src/main/java/com/glassly/bluetoothsdk/BluetoothSdkDefaults.kt +7 -0
  142. package/android/src/main/java/com/glassly/bluetoothsdk/BluetoothSdkModule.kt +1088 -0
  143. package/android/src/main/java/com/glassly/bluetoothsdk/Bridge.kt +953 -0
  144. package/android/src/main/java/com/glassly/bluetoothsdk/DeviceManager.kt +2528 -0
  145. package/android/src/main/java/com/glassly/bluetoothsdk/DeviceStore.kt +360 -0
  146. package/android/src/main/java/com/glassly/bluetoothsdk/GeneratedChangelogCatalog.kt +8 -0
  147. package/android/src/main/java/com/glassly/bluetoothsdk/GeneratedReleaseMetadata.kt +11 -0
  148. package/android/src/main/java/com/glassly/bluetoothsdk/LocalNetworkModule.kt +414 -0
  149. package/android/src/main/java/com/glassly/bluetoothsdk/ObservableStore.kt +88 -0
  150. package/android/src/main/java/com/glassly/bluetoothsdk/OtaManifest.kt +191 -0
  151. package/android/src/main/java/com/glassly/bluetoothsdk/ReleaseChangelog.kt +61 -0
  152. package/android/src/main/java/com/glassly/bluetoothsdk/ScopedNetworkReadiness.kt +17 -0
  153. package/android/src/main/java/com/glassly/bluetoothsdk/audio/AudioModels.kt +144 -0
  154. package/android/src/main/java/com/glassly/bluetoothsdk/camera/CameraModels.kt +486 -0
  155. package/android/src/main/java/com/glassly/bluetoothsdk/connection/ConnectionModels.kt +78 -0
  156. package/android/src/main/java/com/glassly/bluetoothsdk/controllers/ControllerManager.kt +158 -0
  157. package/android/src/main/java/com/glassly/bluetoothsdk/controllers/R1.kt +937 -0
  158. package/android/src/main/java/com/glassly/bluetoothsdk/debug/BleTraceLogger.kt +165 -0
  159. package/android/src/main/java/com/glassly/bluetoothsdk/events/BluetoothEvents.kt +178 -0
  160. package/android/src/main/java/com/glassly/bluetoothsdk/internal/MapParsing.kt +140 -0
  161. package/android/src/main/java/com/glassly/bluetoothsdk/net/LocalIpv4.kt +57 -0
  162. package/android/src/main/java/com/glassly/bluetoothsdk/otaserver/LocalOtaServer.kt +304 -0
  163. package/android/src/main/java/com/glassly/bluetoothsdk/otaserver/OtaServerModule.kt +120 -0
  164. package/android/src/main/java/com/glassly/bluetoothsdk/photoreceiver/LocalPhotoReceiverRegistry.java +108 -0
  165. package/android/src/main/java/com/glassly/bluetoothsdk/photoreceiver/LocalPhotoUploadServer.kt +622 -0
  166. package/android/src/main/java/com/glassly/bluetoothsdk/photoreceiver/PhotoReceiverModule.kt +156 -0
  167. package/android/src/main/java/com/glassly/bluetoothsdk/requests/DisplayRequests.kt +56 -0
  168. package/android/src/main/java/com/glassly/bluetoothsdk/services/Foreground.kt +272 -0
  169. package/android/src/main/java/com/glassly/bluetoothsdk/services/PhoneMic.kt +1195 -0
  170. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/Ar99.java +2653 -0
  171. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/BesOtaHeartbeatGuard.kt +49 -0
  172. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/BesOtaProgressMapper.kt +27 -0
  173. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/G1.kt +3878 -0
  174. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/G1TextSanitizer.kt +38 -0
  175. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/G2.kt +6428 -0
  176. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/G2CfwClassification.kt +49 -0
  177. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/G2CfwRenderer.kt +1241 -0
  178. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/G2CfwTextureCache.kt +270 -0
  179. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/G2FlashProtocol.kt +291 -0
  180. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/G2Flasher.kt +411 -0
  181. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/GlasslyBle.java +43189 -0
  182. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/Mach1.kt +1280 -0
  183. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/MentraLive.kt +10817 -0
  184. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/MentraLiveL2capChannel.kt +274 -0
  185. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/MentraLivePairingAdvertisement.kt +54 -0
  186. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/MentraNex.kt +2011 -0
  187. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/Nimo.kt +2532 -0
  188. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/SGCManager.kt +470 -0
  189. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/Simulated.kt +228 -0
  190. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/ar99/ota/Ar99OtaManager.java +566 -0
  191. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/ar99/ota/OtaByteUtils.java +18 -0
  192. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/ar99/ota/OtaCommandConstants.java +35 -0
  193. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/ar99/ota/OtaCrc32Util.java +13 -0
  194. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/ar99/ota/OtaGattTransport.java +11 -0
  195. package/android/src/main/java/com/glassly/bluetoothsdk/sgcs/ar99/ota/OtaProtocol.java +92 -0
  196. package/android/src/main/java/com/glassly/bluetoothsdk/speakerid/SpeakerIdEngine.kt +525 -0
  197. package/android/src/main/java/com/glassly/bluetoothsdk/status/DeviceStatus.kt +669 -0
  198. package/android/src/main/java/com/glassly/bluetoothsdk/status/RuntimeState.kt +201 -0
  199. package/android/src/main/java/com/glassly/bluetoothsdk/status/WifiHotspotStatus.kt +189 -0
  200. package/android/src/main/java/com/glassly/bluetoothsdk/streaming/StreamModels.kt +518 -0
  201. package/android/src/main/java/com/glassly/bluetoothsdk/stt/STTTools.kt +391 -0
  202. package/android/src/main/java/com/glassly/bluetoothsdk/stt/SherpaOnnxTranscriber.kt +518 -0
  203. package/android/src/main/java/com/glassly/bluetoothsdk/stt/VadGateSpeechPolicy.kt +229 -0
  204. package/android/src/main/java/com/glassly/bluetoothsdk/tts/TTSTools.kt +248 -0
  205. package/android/src/main/java/com/glassly/bluetoothsdk/types/DeviceModels.kt +96 -0
  206. package/android/src/main/java/com/glassly/bluetoothsdk/utils/AES.java +106 -0
  207. package/android/src/main/java/com/glassly/bluetoothsdk/utils/AudioSessionMonitor.kt +189 -0
  208. package/android/src/main/java/com/glassly/bluetoothsdk/utils/AvifExifStripper.java +573 -0
  209. package/android/src/main/java/com/glassly/bluetoothsdk/utils/BitmapJavaUtils.java +169 -0
  210. package/android/src/main/java/com/glassly/bluetoothsdk/utils/BleJsonCompact.java +496 -0
  211. package/android/src/main/java/com/glassly/bluetoothsdk/utils/BlePhotoUploadService.java +677 -0
  212. package/android/src/main/java/com/glassly/bluetoothsdk/utils/BleWireProtocol.java +108 -0
  213. package/android/src/main/java/com/glassly/bluetoothsdk/utils/Constants.kt +46 -0
  214. package/android/src/main/java/com/glassly/bluetoothsdk/utils/G1Text.kt +436 -0
  215. package/android/src/main/java/com/glassly/bluetoothsdk/utils/HeifExifTagReader.java +199 -0
  216. package/android/src/main/java/com/glassly/bluetoothsdk/utils/IncidentLogBleRelayNaming.java +29 -0
  217. package/android/src/main/java/com/glassly/bluetoothsdk/utils/IncidentLogBleUploadService.java +77 -0
  218. package/android/src/main/java/com/glassly/bluetoothsdk/utils/K900LengthCodec.java +115 -0
  219. package/android/src/main/java/com/glassly/bluetoothsdk/utils/K900ProtocolUtils.java +827 -0
  220. package/android/src/main/java/com/glassly/bluetoothsdk/utils/MessageChunkReassembler.java +228 -0
  221. package/android/src/main/java/com/glassly/bluetoothsdk/utils/MessageChunker.java +325 -0
  222. package/android/src/main/java/com/glassly/bluetoothsdk/utils/NexSGCUtils.kt +698 -0
  223. package/android/src/main/java/com/glassly/bluetoothsdk/utils/PhoneAudioMonitor.kt +348 -0
  224. package/android/src/main/java/com/glassly/bluetoothsdk/utils/SmartGlassesConnectionState.java +9 -0
  225. package/android/src/main/java/com/glassly/bluetoothsdk/utils/audio/Ar99OpusPcmDecoder.java +398 -0
  226. package/android/src/main/java/com/glassly/bluetoothsdk/utils/audio/ByteUtilAudioPlayer.java +655 -0
  227. package/android/src/main/java/com/glassly/bluetoothsdk/utils/audio/Lc3Player.java +441 -0
  228. package/android/src/main/java/com/glassly/bluetoothsdk/utils/audio/PCMAudioPlayer.java +431 -0
  229. package/android/src/main/java/com/glassly/bluetoothsdk/utils/audio/PcmStreamPlayer.kt +328 -0
  230. package/android/src/main/res/values/strings.xml +4 -0
  231. package/android/src/test/java/com/glassly/bluetoothsdk/BluetoothSdkExceptionTest.kt +18 -0
  232. package/android/src/test/java/com/glassly/bluetoothsdk/OtaManifestDowngradeTest.kt +86 -0
  233. package/android/src/test/java/com/glassly/bluetoothsdk/OtaStartResponsePolicyTest.kt +30 -0
  234. package/android/src/test/java/com/glassly/bluetoothsdk/ReleaseChangelogTest.kt +13 -0
  235. package/android/src/test/java/com/glassly/bluetoothsdk/ScopedNetworkReadinessTest.kt +39 -0
  236. package/android/src/test/java/com/glassly/bluetoothsdk/StreamStatusEventTest.kt +29 -0
  237. package/android/src/test/java/com/glassly/bluetoothsdk/camera/PhotoRequestTest.kt +141 -0
  238. package/android/src/test/java/com/glassly/bluetoothsdk/otaserver/LocalOtaServerTest.kt +82 -0
  239. package/android/src/test/java/com/glassly/bluetoothsdk/photoreceiver/LocalPhotoReceiverRegistryTest.java +75 -0
  240. package/android/src/test/java/com/glassly/bluetoothsdk/services/ForegroundServiceTypeTest.kt +69 -0
  241. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/Ar99AdvertisementMatcherTest.java +22 -0
  242. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/BesOtaHeartbeatGuardTest.kt +73 -0
  243. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/BesOtaProgressMapperTest.kt +67 -0
  244. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/EvenRleTest.kt +63 -0
  245. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/G1TextSanitizerTest.kt +31 -0
  246. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/G2CfwClassificationTest.kt +89 -0
  247. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/G2CfwRendererTest.kt +344 -0
  248. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/G2CfwTextureCacheTest.kt +200 -0
  249. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/G2FlashProtocolTest.kt +131 -0
  250. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/MentraLiveGattCharacteristicsTest.kt +39 -0
  251. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/MentraLivePairingAdvertisementParserTest.kt +133 -0
  252. package/android/src/test/java/com/glassly/bluetoothsdk/sgcs/NimoProtocolTest.kt +333 -0
  253. package/android/src/test/java/com/glassly/bluetoothsdk/utils/AvifExifStripperTest.java +46 -0
  254. package/android/src/test/java/com/glassly/bluetoothsdk/utils/BinaryMessageChunkerTest.java +84 -0
  255. package/android/src/test/java/com/glassly/bluetoothsdk/utils/BleJsonCompactTest.java +319 -0
  256. package/android/src/test/java/com/glassly/bluetoothsdk/utils/BlePhotoUploadServiceTest.java +107 -0
  257. package/android/src/test/java/com/glassly/bluetoothsdk/utils/K900ProtocolUtilsEndiannessTest.java +172 -0
  258. package/android/src/test/java/com/glassly/bluetoothsdk/utils/K900ProtocolUtilsTest.java +24 -0
  259. package/android/src/test/java/com/glassly/bluetoothsdk/utils/PhoneAudioMonitorTest.kt +45 -0
  260. package/android/src/test/resources/avif_with_exif.avif +0 -0
  261. package/app.plugin.js +3 -0
  262. package/build/BluetoothSdk.types.d.ts +1354 -0
  263. package/build/BluetoothSdk.types.d.ts.map +1 -0
  264. package/build/BluetoothSdk.types.js +41 -0
  265. package/build/BluetoothSdk.types.js.map +1 -0
  266. package/build/_internal.d.ts +17 -0
  267. package/build/_internal.d.ts.map +1 -0
  268. package/build/_internal.js +16 -0
  269. package/build/_internal.js.map +1 -0
  270. package/build/_private/BluetoothSdkModule.d.ts +172 -0
  271. package/build/_private/BluetoothSdkModule.d.ts.map +1 -0
  272. package/build/_private/BluetoothSdkModule.js +300 -0
  273. package/build/_private/BluetoothSdkModule.js.map +1 -0
  274. package/build/_private/LocalNetworkModule.d.ts +38 -0
  275. package/build/_private/LocalNetworkModule.d.ts.map +1 -0
  276. package/build/_private/LocalNetworkModule.js +3 -0
  277. package/build/_private/LocalNetworkModule.js.map +1 -0
  278. package/build/_private/cameraRequestPayload.d.ts +4 -0
  279. package/build/_private/cameraRequestPayload.d.ts.map +1 -0
  280. package/build/_private/cameraRequestPayload.js +32 -0
  281. package/build/_private/cameraRequestPayload.js.map +1 -0
  282. package/build/_private/photoRequestPayload.d.ts +6 -0
  283. package/build/_private/photoRequestPayload.d.ts.map +1 -0
  284. package/build/_private/photoRequestPayload.js +86 -0
  285. package/build/_private/photoRequestPayload.js.map +1 -0
  286. package/build/_private/sdkOtaManifest.d.ts +11 -0
  287. package/build/_private/sdkOtaManifest.d.ts.map +1 -0
  288. package/build/_private/sdkOtaManifest.js +15 -0
  289. package/build/_private/sdkOtaManifest.js.map +1 -0
  290. package/build/changelogs.d.ts +7 -0
  291. package/build/changelogs.d.ts.map +1 -0
  292. package/build/changelogs.js +46 -0
  293. package/build/changelogs.js.map +1 -0
  294. package/build/debug.d.ts +3 -0
  295. package/build/debug.d.ts.map +1 -0
  296. package/build/debug.js +8 -0
  297. package/build/debug.js.map +1 -0
  298. package/build/generated/changelogCatalog.d.ts +9 -0
  299. package/build/generated/changelogCatalog.d.ts.map +1 -0
  300. package/build/generated/changelogCatalog.js +12 -0
  301. package/build/generated/changelogCatalog.js.map +1 -0
  302. package/build/generated/releaseMetadata.d.ts +12 -0
  303. package/build/generated/releaseMetadata.d.ts.map +1 -0
  304. package/build/generated/releaseMetadata.js +10 -0
  305. package/build/generated/releaseMetadata.js.map +1 -0
  306. package/build/index.d.ts +6 -0
  307. package/build/index.d.ts.map +1 -0
  308. package/build/index.js +171 -0
  309. package/build/index.js.map +1 -0
  310. package/build/ota-server/OtaServer.types.d.ts +14 -0
  311. package/build/ota-server/OtaServer.types.d.ts.map +1 -0
  312. package/build/ota-server/OtaServer.types.js +2 -0
  313. package/build/ota-server/OtaServer.types.js.map +1 -0
  314. package/build/ota-server/OtaServerModule.d.ts +21 -0
  315. package/build/ota-server/OtaServerModule.d.ts.map +1 -0
  316. package/build/ota-server/OtaServerModule.js +3 -0
  317. package/build/ota-server/OtaServerModule.js.map +1 -0
  318. package/build/ota-server/OtaServerModule.web.d.ts +10 -0
  319. package/build/ota-server/OtaServerModule.web.d.ts.map +1 -0
  320. package/build/ota-server/OtaServerModule.web.js +12 -0
  321. package/build/ota-server/OtaServerModule.web.js.map +1 -0
  322. package/build/ota-server/index.d.ts +3 -0
  323. package/build/ota-server/index.d.ts.map +1 -0
  324. package/build/ota-server/index.js +3 -0
  325. package/build/ota-server/index.js.map +1 -0
  326. package/build/ota-transport/index.d.ts +67 -0
  327. package/build/ota-transport/index.d.ts.map +1 -0
  328. package/build/ota-transport/index.js +58 -0
  329. package/build/ota-transport/index.js.map +1 -0
  330. package/build/photo-receiver/PhotoReceiver.types.d.ts +18 -0
  331. package/build/photo-receiver/PhotoReceiver.types.d.ts.map +1 -0
  332. package/build/photo-receiver/PhotoReceiver.types.js +2 -0
  333. package/build/photo-receiver/PhotoReceiver.types.js.map +1 -0
  334. package/build/photo-receiver/PhotoReceiverModule.d.ts +10 -0
  335. package/build/photo-receiver/PhotoReceiverModule.d.ts.map +1 -0
  336. package/build/photo-receiver/PhotoReceiverModule.js +3 -0
  337. package/build/photo-receiver/PhotoReceiverModule.js.map +1 -0
  338. package/build/photo-receiver/PhotoReceiverModule.web.d.ts +10 -0
  339. package/build/photo-receiver/PhotoReceiverModule.web.d.ts.map +1 -0
  340. package/build/photo-receiver/PhotoReceiverModule.web.js +12 -0
  341. package/build/photo-receiver/PhotoReceiverModule.web.js.map +1 -0
  342. package/build/photo-receiver/index.d.ts +3 -0
  343. package/build/photo-receiver/index.d.ts.map +1 -0
  344. package/build/photo-receiver/index.js +3 -0
  345. package/build/photo-receiver/index.js.map +1 -0
  346. package/build/react/index.d.ts +5 -0
  347. package/build/react/index.d.ts.map +1 -0
  348. package/build/react/index.js +4 -0
  349. package/build/react/index.js.map +1 -0
  350. package/build/react/useBluetooth.d.ts +100 -0
  351. package/build/react/useBluetooth.d.ts.map +1 -0
  352. package/build/react/useBluetooth.js +167 -0
  353. package/build/react/useBluetooth.js.map +1 -0
  354. package/build/react/useBluetoothEvent.d.ts +6 -0
  355. package/build/react/useBluetoothEvent.d.ts.map +1 -0
  356. package/build/react/useBluetoothEvent.js +21 -0
  357. package/build/react/useBluetoothEvent.js.map +1 -0
  358. package/build/react/useBluetoothScan.d.ts +22 -0
  359. package/build/react/useBluetoothScan.d.ts.map +1 -0
  360. package/build/react/useBluetoothScan.js +135 -0
  361. package/build/react/useBluetoothScan.js.map +1 -0
  362. package/build/react/useBluetoothStatus.d.ts +16 -0
  363. package/build/react/useBluetoothStatus.d.ts.map +1 -0
  364. package/build/react/useBluetoothStatus.js +137 -0
  365. package/build/react/useBluetoothStatus.js.map +1 -0
  366. package/build/react/useGlassesConnection.d.ts +29 -0
  367. package/build/react/useGlassesConnection.d.ts.map +1 -0
  368. package/build/react/useGlassesConnection.js +153 -0
  369. package/build/react/useGlassesConnection.js.map +1 -0
  370. package/build/types/index.d.ts +3 -0
  371. package/build/types/index.d.ts.map +1 -0
  372. package/build/types/index.js +2 -0
  373. package/build/types/index.js.map +1 -0
  374. package/expo-module.config.json +14 -0
  375. package/ios/BackgroundOtaArtifactDownloader.swift +125 -0
  376. package/ios/BluetoothSdkModule.swift +1034 -0
  377. package/ios/GlasslyBluetoothSDK.podspec +106 -0
  378. package/ios/LocalIPv4.swift +150 -0
  379. package/ios/LocalOtaServer.swift +309 -0
  380. package/ios/LocalPhotoUploadServer.swift +754 -0
  381. package/ios/OtaServerModule.swift +147 -0
  382. package/ios/Packages/CoreObjC/CoreObjC.xcodeproj/project.pbxproj +213 -0
  383. package/ios/Packages/CoreObjC/PcmConverter.h +22 -0
  384. package/ios/Packages/CoreObjC/PcmConverter.m +266 -0
  385. package/ios/Packages/CoreObjC/attdet.c +92 -0
  386. package/ios/Packages/CoreObjC/attdet.h +44 -0
  387. package/ios/Packages/CoreObjC/bits.c +375 -0
  388. package/ios/Packages/CoreObjC/bits.h +315 -0
  389. package/ios/Packages/CoreObjC/bwdet.c +129 -0
  390. package/ios/Packages/CoreObjC/bwdet.h +69 -0
  391. package/ios/Packages/CoreObjC/common.h +151 -0
  392. package/ios/Packages/CoreObjC/energy.c +70 -0
  393. package/ios/Packages/CoreObjC/energy.h +43 -0
  394. package/ios/Packages/CoreObjC/fastmath.h +158 -0
  395. package/ios/Packages/CoreObjC/include/PcmConverter.h +22 -0
  396. package/ios/Packages/CoreObjC/lc3.c +704 -0
  397. package/ios/Packages/CoreObjC/lc3.h +313 -0
  398. package/ios/Packages/CoreObjC/lc3_cpp.h +283 -0
  399. package/ios/Packages/CoreObjC/lc3_private.h +163 -0
  400. package/ios/Packages/CoreObjC/ltpf.c +905 -0
  401. package/ios/Packages/CoreObjC/ltpf.h +111 -0
  402. package/ios/Packages/CoreObjC/ltpf_arm.h +506 -0
  403. package/ios/Packages/CoreObjC/ltpf_neon.h +281 -0
  404. package/ios/Packages/CoreObjC/makefile.mk +35 -0
  405. package/ios/Packages/CoreObjC/mdct.c +469 -0
  406. package/ios/Packages/CoreObjC/mdct.h +57 -0
  407. package/ios/Packages/CoreObjC/mdct_neon.h +296 -0
  408. package/ios/Packages/CoreObjC/meson.build +61 -0
  409. package/ios/Packages/CoreObjC/plc.c +61 -0
  410. package/ios/Packages/CoreObjC/plc.h +57 -0
  411. package/ios/Packages/CoreObjC/rnnoise.h +114 -0
  412. package/ios/Packages/CoreObjC/sns.c +880 -0
  413. package/ios/Packages/CoreObjC/sns.h +103 -0
  414. package/ios/Packages/CoreObjC/spec.c +907 -0
  415. package/ios/Packages/CoreObjC/spec.h +119 -0
  416. package/ios/Packages/CoreObjC/tables.c +3457 -0
  417. package/ios/Packages/CoreObjC/tables.h +94 -0
  418. package/ios/Packages/CoreObjC/tns.c +457 -0
  419. package/ios/Packages/CoreObjC/tns.h +99 -0
  420. package/ios/Packages/SherpaOnnx/Model/joiner.onnx +0 -0
  421. package/ios/Packages/SherpaOnnx/Model/tokens.txt +502 -0
  422. package/ios/Packages/SherpaOnnx/SherpaOnnx.swift +2383 -0
  423. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/Info.plist +48 -0
  424. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64/Headers/sherpa-onnx/c-api/c-api.h +4689 -0
  425. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64/Headers/sherpa-onnx/c-api/cxx-api.h +2036 -0
  426. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64/libsherpa-onnx.a +0 -0
  427. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64_x86_64-simulator/Headers/sherpa-onnx/c-api/c-api.h +4689 -0
  428. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64_x86_64-simulator/Headers/sherpa-onnx/c-api/cxx-api.h +2036 -0
  429. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64_x86_64-simulator/libsherpa-onnx.a +0 -0
  430. package/ios/Packages/libbz2/module.modulemap +5 -0
  431. package/ios/Packages/libbz2/shim.h +1 -0
  432. package/ios/PhotoReceiverModule.swift +129 -0
  433. package/ios/Source/BluetoothSDK.swift +2303 -0
  434. package/ios/Source/BluetoothSDKDebug.swift +12 -0
  435. package/ios/Source/BluetoothSdkDefaults.swift +29 -0
  436. package/ios/Source/Bridge.swift +708 -0
  437. package/ios/Source/Bridging-Header.h +16 -0
  438. package/ios/Source/DeviceManager.swift +2109 -0
  439. package/ios/Source/DeviceStore.swift +336 -0
  440. package/ios/Source/GeneratedChangelogCatalog.swift +7 -0
  441. package/ios/Source/GeneratedReleaseMetadata.swift +11 -0
  442. package/ios/Source/ObservableStore.swift +118 -0
  443. package/ios/Source/OtaManifest.swift +211 -0
  444. package/ios/Source/PrivacyInfo.xcprivacy +23 -0
  445. package/ios/Source/ReleaseChangelog.swift +65 -0
  446. package/ios/Source/Resources/G2Firmware/README.md +10 -0
  447. package/ios/Source/audio/AudioModels.swift +178 -0
  448. package/ios/Source/audio/PcmStreamPlayer.swift +410 -0
  449. package/ios/Source/camera/CameraModels.swift +866 -0
  450. package/ios/Source/connection/ScanSession.swift +27 -0
  451. package/ios/Source/controllers/ControllerManager.swift +184 -0
  452. package/ios/Source/controllers/R1.swift +829 -0
  453. package/ios/Source/errors/BluetoothSdkError.swift +19 -0
  454. package/ios/Source/events/BluetoothEvents.swift +342 -0
  455. package/ios/Source/internal/BleTraceLogger.swift +192 -0
  456. package/ios/Source/internal/BluetoothAvailability.swift +78 -0
  457. package/ios/Source/internal/BluetoothSdkAnalytics.swift +199 -0
  458. package/ios/Source/internal/ValueParsing.swift +99 -0
  459. package/ios/Source/requests/DisplayRequests.swift +82 -0
  460. package/ios/Source/services/PhoneMic.swift +662 -0
  461. package/ios/Source/sgcs/Ar99.swift +2451 -0
  462. package/ios/Source/sgcs/Frame.swift +649 -0
  463. package/ios/Source/sgcs/G1.swift +2554 -0
  464. package/ios/Source/sgcs/G2.swift +6887 -0
  465. package/ios/Source/sgcs/G2CfwClassification.swift +43 -0
  466. package/ios/Source/sgcs/G2CfwRenderer.swift +1279 -0
  467. package/ios/Source/sgcs/G2CfwTextureCache.swift +233 -0
  468. package/ios/Source/sgcs/G2FlashProtocol.swift +312 -0
  469. package/ios/Source/sgcs/G2Flasher.swift +773 -0
  470. package/ios/Source/sgcs/Mach1.swift +541 -0
  471. package/ios/Source/sgcs/MentraLive.swift +7011 -0
  472. package/ios/Source/sgcs/MentraLiveL2capChannel.swift +183 -0
  473. package/ios/Source/sgcs/MentraLivePairingAdvertisement.swift +64 -0
  474. package/ios/Source/sgcs/MentraNex.swift +3221 -0
  475. package/ios/Source/sgcs/Nimo.swift +1886 -0
  476. package/ios/Source/sgcs/SGCManager.swift +608 -0
  477. package/ios/Source/sgcs/Simulated.swift +274 -0
  478. package/ios/Source/sgcs/ar99/ota/Ar99OtaManager.swift +637 -0
  479. package/ios/Source/sgcs/glassly_ble.pb.swift +4354 -0
  480. package/ios/Source/speakerid/SpeakerIdEngine.swift +573 -0
  481. package/ios/Source/status/DeviceStatus.swift +981 -0
  482. package/ios/Source/status/RuntimeState.swift +359 -0
  483. package/ios/Source/status/WifiHotspotStatus.swift +345 -0
  484. package/ios/Source/streaming/StreamModels.swift +693 -0
  485. package/ios/Source/stt/STTTools.swift +191 -0
  486. package/ios/Source/stt/SherpaOnnxTranscriber.swift +466 -0
  487. package/ios/Source/tts/TTSTools.swift +171 -0
  488. package/ios/Source/types/DeviceModels.swift +177 -0
  489. package/ios/Source/utils/AudioSessionMonitor.swift +283 -0
  490. package/ios/Source/utils/BinaryCodec.swift +61 -0
  491. package/ios/Source/utils/BleJsonCompact.swift +405 -0
  492. package/ios/Source/utils/BleWireProtocol.swift +92 -0
  493. package/ios/Source/utils/Constants.swift +78 -0
  494. package/ios/Source/utils/Enums.swift +95 -0
  495. package/ios/Source/utils/G1Text.swift +2096 -0
  496. package/ios/Source/utils/JSCExperiment.swift +241 -0
  497. package/ios/Source/utils/MemoryMonitor.swift +44 -0
  498. package/ios/Source/utils/MessageChunkReassembler.swift +190 -0
  499. package/ios/Source/utils/MessageChunker.swift +294 -0
  500. package/ios/Source/utils/Models.swift +135 -0
  501. package/ios/Source/utils/PhoneAudioMonitor.swift +230 -0
  502. package/ios/Source/utils/TarBz2Extractor.swift +257 -0
  503. package/ios/Tests/BluetoothSDKTests/G2CfwClassificationTests.swift +78 -0
  504. package/ios/Tests/BluetoothSDKTests/G2CfwRendererTests.swift +372 -0
  505. package/ios/Tests/BluetoothSDKTests/G2CfwTextureCacheTests.swift +162 -0
  506. package/ios/Tests/BluetoothSDKTests/G2FlashProtocolTests.swift +182 -0
  507. package/ios/Tests/MentraLivePairingAdvertisementTests.swift +160 -0
  508. package/ios/Tests/ReleaseChangelogTests.swift +13 -0
  509. package/package.json +129 -0
  510. package/plugin/build/index.d.ts +10 -0
  511. package/plugin/build/index.js +12 -0
  512. package/plugin/build/withAndroid.d.ts +3 -0
  513. package/plugin/build/withAndroid.js +190 -0
  514. package/plugin/build/withIos.d.ts +5 -0
  515. package/plugin/build/withIos.js +108 -0
  516. package/scripts/inject-ios-sdk-version.mjs +65 -0
  517. package/scripts/public-ota-api.test.mjs +37 -0
  518. package/scripts/verify-release-package.mjs +45 -0
  519. package/scripts/write-release-metadata.mjs +152 -0
  520. package/scripts/write-release-metadata.test.mjs +37 -0
  521. package/src/BluetoothSdk.types.ts +1623 -0
  522. package/src/_internal.ts +16 -0
  523. package/src/_private/BluetoothSdkModule.ts +684 -0
  524. package/src/_private/LocalNetworkModule.ts +50 -0
  525. package/src/_private/cameraRequestPayload.ts +34 -0
  526. package/src/_private/photoRequestPayload.ts +90 -0
  527. package/src/_private/sdkOtaManifest.ts +18 -0
  528. package/src/changelogs.ts +46 -0
  529. package/src/debug.ts +9 -0
  530. package/src/generated/changelogCatalog.ts +13 -0
  531. package/src/generated/releaseMetadata.ts +20 -0
  532. package/src/index.ts +321 -0
  533. package/src/ota-server/OtaServer.types.ts +10 -0
  534. package/src/ota-server/OtaServerModule.ts +23 -0
  535. package/src/ota-server/OtaServerModule.web.ts +17 -0
  536. package/src/ota-server/index.ts +2 -0
  537. package/src/ota-transport/index.ts +116 -0
  538. package/src/photo-receiver/PhotoReceiver.types.ts +20 -0
  539. package/src/photo-receiver/PhotoReceiverModule.ts +11 -0
  540. package/src/photo-receiver/PhotoReceiverModule.web.ts +17 -0
  541. package/src/photo-receiver/index.ts +2 -0
  542. package/src/react/index.ts +21 -0
  543. package/src/react/useBluetooth.ts +309 -0
  544. package/src/react/useBluetoothEvent.ts +35 -0
  545. package/src/react/useBluetoothScan.ts +173 -0
  546. package/src/react/useBluetoothStatus.ts +180 -0
  547. package/src/react/useGlassesConnection.ts +202 -0
  548. package/src/types/index.ts +12 -0
@@ -0,0 +1,4354 @@
1
+ // Regenerated from Glassly-Zephyr-Glasses-Client proto/glassly_ble.proto
2
+ // branch ya/add-bitmap-rendering-support @ b2ffae8 (canvas system; NOT yet on fw main).
3
+ // Toolchain: protoc 35.1 + protoc-gen-swift 1.38.1 (SwiftProtobuf 1.x, matches podspec ~> 1.0).
4
+ // Android counterpart: sgcs/GlasslyBle.java (protoc 4.29.6, same proto revision).
5
+ // DO NOT EDIT.
6
+ // swift-format-ignore-file
7
+ // swiftlint:disable all
8
+ //
9
+ // Generated by the Swift generator plugin for the protocol buffer compiler.
10
+ // Source: glassly_ble.proto
11
+ //
12
+ // For information on using the generated types, please see the documentation:
13
+ // https://github.com/apple/swift-protobuf/
14
+
15
+ import SwiftProtobuf
16
+
17
+ // If the compiler emits an error on this type, it is because this file
18
+ // was generated by a version of the `protoc` Swift plug-in that is
19
+ // incompatible with the version of SwiftProtobuf to which you are linking.
20
+ // Please ensure that you are building against the same version of the API
21
+ // that was used to generate this file.
22
+ fileprivate nonisolated struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck {
23
+ struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {}
24
+ typealias Version = _2
25
+ }
26
+
27
+ nonisolated enum Glassly_Ble_CanvasComponentType: SwiftProtobuf.Enum, Swift.CaseIterable {
28
+ typealias RawValue = Int
29
+
30
+ /// 1-bit bitmap; pixels streamed via CanvasUpdateImage
31
+ case canvasBitmap // = 0
32
+
33
+ /// single wrapped text box
34
+ case canvasTextbox // = 1
35
+
36
+ /// text box with a phone-driven vertical scroll offset
37
+ case canvasScrollTextbox // = 2
38
+ case UNRECOGNIZED(Int)
39
+
40
+ init() {
41
+ self = .canvasBitmap
42
+ }
43
+
44
+ init?(rawValue: Int) {
45
+ switch rawValue {
46
+ case 0: self = .canvasBitmap
47
+ case 1: self = .canvasTextbox
48
+ case 2: self = .canvasScrollTextbox
49
+ default: self = .UNRECOGNIZED(rawValue)
50
+ }
51
+ }
52
+
53
+ var rawValue: Int {
54
+ switch self {
55
+ case .canvasBitmap: return 0
56
+ case .canvasTextbox: return 1
57
+ case .canvasScrollTextbox: return 2
58
+ case .UNRECOGNIZED(let i): return i
59
+ }
60
+ }
61
+
62
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
63
+ static let allCases: [Glassly_Ble_CanvasComponentType] = [
64
+ .canvasBitmap,
65
+ .canvasTextbox,
66
+ .canvasScrollTextbox,
67
+ ]
68
+
69
+ }
70
+
71
+ /// All messages from phone to glasses
72
+ nonisolated struct Glassly_Ble_PhoneToGlasses: Sendable {
73
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
74
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
75
+ // methods supported on all messages.
76
+
77
+ /// Optional message ID for request/response correlation
78
+ var msgID: String = String()
79
+
80
+ var payload: Glassly_Ble_PhoneToGlasses.OneOf_Payload? = nil
81
+
82
+ /// Connection Management
83
+ var disconnect: Glassly_Ble_DisconnectRequest {
84
+ get {
85
+ if case .disconnect(let v)? = payload {return v}
86
+ return Glassly_Ble_DisconnectRequest()
87
+ }
88
+ set {payload = .disconnect(newValue)}
89
+ }
90
+
91
+ var batteryState: Glassly_Ble_BatteryStateRequest {
92
+ get {
93
+ if case .batteryState(let v)? = payload {return v}
94
+ return Glassly_Ble_BatteryStateRequest()
95
+ }
96
+ set {payload = .batteryState(newValue)}
97
+ }
98
+
99
+ var glassesInfo: Glassly_Ble_GlassesInfoRequest {
100
+ get {
101
+ if case .glassesInfo(let v)? = payload {return v}
102
+ return Glassly_Ble_GlassesInfoRequest()
103
+ }
104
+ set {payload = .glassesInfo(newValue)}
105
+ }
106
+
107
+ var pairingMode: Glassly_Ble_PairingModeRequest {
108
+ get {
109
+ if case .pairingMode(let v)? = payload {return v}
110
+ return Glassly_Ble_PairingModeRequest()
111
+ }
112
+ set {payload = .pairingMode(newValue)}
113
+ }
114
+
115
+ var headPosition: Glassly_Ble_HeadPositionRequest {
116
+ get {
117
+ if case .headPosition(let v)? = payload {return v}
118
+ return Glassly_Ble_HeadPositionRequest()
119
+ }
120
+ set {payload = .headPosition(newValue)}
121
+ }
122
+
123
+ var headUpAngle: Glassly_Ble_HeadUpAngleConfig {
124
+ get {
125
+ if case .headUpAngle(let v)? = payload {return v}
126
+ return Glassly_Ble_HeadUpAngleConfig()
127
+ }
128
+ set {payload = .headUpAngle(newValue)}
129
+ }
130
+
131
+ /// Audio System
132
+ var micState: Glassly_Ble_MicStateConfig {
133
+ get {
134
+ if case .micState(let v)? = payload {return v}
135
+ return Glassly_Ble_MicStateConfig()
136
+ }
137
+ set {payload = .micState(newValue)}
138
+ }
139
+
140
+ var vadEnabled: Glassly_Ble_VadEnabledConfig {
141
+ get {
142
+ if case .vadEnabled(let v)? = payload {return v}
143
+ return Glassly_Ble_VadEnabledConfig()
144
+ }
145
+ set {payload = .vadEnabled(newValue)}
146
+ }
147
+
148
+ var vadConfig: Glassly_Ble_VadConfig {
149
+ get {
150
+ if case .vadConfig(let v)? = payload {return v}
151
+ return Glassly_Ble_VadConfig()
152
+ }
153
+ set {payload = .vadConfig(newValue)}
154
+ }
155
+
156
+ /// Display System
157
+ var displayText: Glassly_Ble_DisplayText {
158
+ get {
159
+ if case .displayText(let v)? = payload {return v}
160
+ return Glassly_Ble_DisplayText()
161
+ }
162
+ set {payload = .displayText(newValue)}
163
+ }
164
+
165
+ var displayImage: Glassly_Ble_DisplayImage {
166
+ get {
167
+ if case .displayImage(let v)? = payload {return v}
168
+ return Glassly_Ble_DisplayImage()
169
+ }
170
+ set {payload = .displayImage(newValue)}
171
+ }
172
+
173
+ var preloadImage: Glassly_Ble_PreloadImage {
174
+ get {
175
+ if case .preloadImage(let v)? = payload {return v}
176
+ return Glassly_Ble_PreloadImage()
177
+ }
178
+ set {payload = .preloadImage(newValue)}
179
+ }
180
+
181
+ var displayCachedImage: Glassly_Ble_DisplayCachedImage {
182
+ get {
183
+ if case .displayCachedImage(let v)? = payload {return v}
184
+ return Glassly_Ble_DisplayCachedImage()
185
+ }
186
+ set {payload = .displayCachedImage(newValue)}
187
+ }
188
+
189
+ var clearCachedImage_p: Glassly_Ble_ClearCachedImage {
190
+ get {
191
+ if case .clearCachedImage_p(let v)? = payload {return v}
192
+ return Glassly_Ble_ClearCachedImage()
193
+ }
194
+ set {payload = .clearCachedImage_p(newValue)}
195
+ }
196
+
197
+ var displayScrollingText: Glassly_Ble_DisplayScrollingText {
198
+ get {
199
+ if case .displayScrollingText(let v)? = payload {return v}
200
+ return Glassly_Ble_DisplayScrollingText()
201
+ }
202
+ set {payload = .displayScrollingText(newValue)}
203
+ }
204
+
205
+ var displayPower: Glassly_Ble_DisplayPowerConfig {
206
+ get {
207
+ if case .displayPower(let v)? = payload {return v}
208
+ return Glassly_Ble_DisplayPowerConfig()
209
+ }
210
+ set {payload = .displayPower(newValue)}
211
+ }
212
+
213
+ var brightness: Glassly_Ble_BrightnessConfig {
214
+ get {
215
+ if case .brightness(let v)? = payload {return v}
216
+ return Glassly_Ble_BrightnessConfig()
217
+ }
218
+ set {payload = .brightness(newValue)}
219
+ }
220
+
221
+ var autoBrightness: Glassly_Ble_AutoBrightnessConfig {
222
+ get {
223
+ if case .autoBrightness(let v)? = payload {return v}
224
+ return Glassly_Ble_AutoBrightnessConfig()
225
+ }
226
+ set {payload = .autoBrightness(newValue)}
227
+ }
228
+
229
+ var autoBrightnessMult: Glassly_Ble_AutoBrightnessMultiplier {
230
+ get {
231
+ if case .autoBrightnessMult(let v)? = payload {return v}
232
+ return Glassly_Ble_AutoBrightnessMultiplier()
233
+ }
234
+ set {payload = .autoBrightnessMult(newValue)}
235
+ }
236
+
237
+ var drawLine: Glassly_Ble_DrawLine {
238
+ get {
239
+ if case .drawLine(let v)? = payload {return v}
240
+ return Glassly_Ble_DrawLine()
241
+ }
242
+ set {payload = .drawLine(newValue)}
243
+ }
244
+
245
+ var drawRect: Glassly_Ble_DrawRect {
246
+ get {
247
+ if case .drawRect(let v)? = payload {return v}
248
+ return Glassly_Ble_DrawRect()
249
+ }
250
+ set {payload = .drawRect(newValue)}
251
+ }
252
+
253
+ var drawCircle: Glassly_Ble_DrawCircle {
254
+ get {
255
+ if case .drawCircle(let v)? = payload {return v}
256
+ return Glassly_Ble_DrawCircle()
257
+ }
258
+ set {payload = .drawCircle(newValue)}
259
+ }
260
+
261
+ var commit: Glassly_Ble_CommitDisplay {
262
+ get {
263
+ if case .commit(let v)? = payload {return v}
264
+ return Glassly_Ble_CommitDisplay()
265
+ }
266
+ set {payload = .commit(newValue)}
267
+ }
268
+
269
+ var displayDistance: Glassly_Ble_DisplayDistanceConfig {
270
+ get {
271
+ if case .displayDistance(let v)? = payload {return v}
272
+ return Glassly_Ble_DisplayDistanceConfig()
273
+ }
274
+ set {payload = .displayDistance(newValue)}
275
+ }
276
+
277
+ var displayHeight: Glassly_Ble_DisplayHeightConfig {
278
+ get {
279
+ if case .displayHeight(let v)? = payload {return v}
280
+ return Glassly_Ble_DisplayHeightConfig()
281
+ }
282
+ set {payload = .displayHeight(newValue)}
283
+ }
284
+
285
+ var clearDisplay_p: Glassly_Ble_ClearDisplay {
286
+ get {
287
+ if case .clearDisplay_p(let v)? = payload {return v}
288
+ return Glassly_Ble_ClearDisplay()
289
+ }
290
+ set {payload = .clearDisplay_p(newValue)}
291
+ }
292
+
293
+ /// User Input
294
+ var imuEnabled: Glassly_Ble_ImuEnabledConfig {
295
+ get {
296
+ if case .imuEnabled(let v)? = payload {return v}
297
+ return Glassly_Ble_ImuEnabledConfig()
298
+ }
299
+ set {payload = .imuEnabled(newValue)}
300
+ }
301
+
302
+ var imuSingle: Glassly_Ble_ImuSingleRequest {
303
+ get {
304
+ if case .imuSingle(let v)? = payload {return v}
305
+ return Glassly_Ble_ImuSingleRequest()
306
+ }
307
+ set {payload = .imuSingle(newValue)}
308
+ }
309
+
310
+ var imuStream: Glassly_Ble_ImuStreamConfig {
311
+ get {
312
+ if case .imuStream(let v)? = payload {return v}
313
+ return Glassly_Ble_ImuStreamConfig()
314
+ }
315
+ set {payload = .imuStream(newValue)}
316
+ }
317
+
318
+ var headGesture: Glassly_Ble_HeadGestureConfig {
319
+ get {
320
+ if case .headGesture(let v)? = payload {return v}
321
+ return Glassly_Ble_HeadGestureConfig()
322
+ }
323
+ set {payload = .headGesture(newValue)}
324
+ }
325
+
326
+ /// System Control
327
+ var restart: Glassly_Ble_RestartRequest {
328
+ get {
329
+ if case .restart(let v)? = payload {return v}
330
+ return Glassly_Ble_RestartRequest()
331
+ }
332
+ set {payload = .restart(newValue)}
333
+ }
334
+
335
+ var factoryReset: Glassly_Ble_FactoryResetRequest {
336
+ get {
337
+ if case .factoryReset(let v)? = payload {return v}
338
+ return Glassly_Ble_FactoryResetRequest()
339
+ }
340
+ set {payload = .factoryReset(newValue)}
341
+ }
342
+
343
+ /// Canvas System — retained components addressed by phone-assigned id
344
+ var canvasCreateComponent: Glassly_Ble_CanvasCreateComponent {
345
+ get {
346
+ if case .canvasCreateComponent(let v)? = payload {return v}
347
+ return Glassly_Ble_CanvasCreateComponent()
348
+ }
349
+ set {payload = .canvasCreateComponent(newValue)}
350
+ }
351
+
352
+ var canvasUpdateText: Glassly_Ble_CanvasUpdateText {
353
+ get {
354
+ if case .canvasUpdateText(let v)? = payload {return v}
355
+ return Glassly_Ble_CanvasUpdateText()
356
+ }
357
+ set {payload = .canvasUpdateText(newValue)}
358
+ }
359
+
360
+ var canvasUpdateImage: Glassly_Ble_CanvasUpdateImage {
361
+ get {
362
+ if case .canvasUpdateImage(let v)? = payload {return v}
363
+ return Glassly_Ble_CanvasUpdateImage()
364
+ }
365
+ set {payload = .canvasUpdateImage(newValue)}
366
+ }
367
+
368
+ var canvasDeleteComponent: Glassly_Ble_CanvasDeleteComponent {
369
+ get {
370
+ if case .canvasDeleteComponent(let v)? = payload {return v}
371
+ return Glassly_Ble_CanvasDeleteComponent()
372
+ }
373
+ set {payload = .canvasDeleteComponent(newValue)}
374
+ }
375
+
376
+ var canvasClear: Glassly_Ble_CanvasClear {
377
+ get {
378
+ if case .canvasClear(let v)? = payload {return v}
379
+ return Glassly_Ble_CanvasClear()
380
+ }
381
+ set {payload = .canvasClear(newValue)}
382
+ }
383
+
384
+ var unknownFields = SwiftProtobuf.UnknownStorage()
385
+
386
+ nonisolated enum OneOf_Payload: Equatable, Sendable {
387
+ /// Connection Management
388
+ case disconnect(Glassly_Ble_DisconnectRequest)
389
+ case batteryState(Glassly_Ble_BatteryStateRequest)
390
+ case glassesInfo(Glassly_Ble_GlassesInfoRequest)
391
+ case pairingMode(Glassly_Ble_PairingModeRequest)
392
+ case headPosition(Glassly_Ble_HeadPositionRequest)
393
+ case headUpAngle(Glassly_Ble_HeadUpAngleConfig)
394
+ /// Audio System
395
+ case micState(Glassly_Ble_MicStateConfig)
396
+ case vadEnabled(Glassly_Ble_VadEnabledConfig)
397
+ case vadConfig(Glassly_Ble_VadConfig)
398
+ /// Display System
399
+ case displayText(Glassly_Ble_DisplayText)
400
+ case displayImage(Glassly_Ble_DisplayImage)
401
+ case preloadImage(Glassly_Ble_PreloadImage)
402
+ case displayCachedImage(Glassly_Ble_DisplayCachedImage)
403
+ case clearCachedImage_p(Glassly_Ble_ClearCachedImage)
404
+ case displayScrollingText(Glassly_Ble_DisplayScrollingText)
405
+ case displayPower(Glassly_Ble_DisplayPowerConfig)
406
+ case brightness(Glassly_Ble_BrightnessConfig)
407
+ case autoBrightness(Glassly_Ble_AutoBrightnessConfig)
408
+ case autoBrightnessMult(Glassly_Ble_AutoBrightnessMultiplier)
409
+ case drawLine(Glassly_Ble_DrawLine)
410
+ case drawRect(Glassly_Ble_DrawRect)
411
+ case drawCircle(Glassly_Ble_DrawCircle)
412
+ case commit(Glassly_Ble_CommitDisplay)
413
+ case displayDistance(Glassly_Ble_DisplayDistanceConfig)
414
+ case displayHeight(Glassly_Ble_DisplayHeightConfig)
415
+ case clearDisplay_p(Glassly_Ble_ClearDisplay)
416
+ /// User Input
417
+ case imuEnabled(Glassly_Ble_ImuEnabledConfig)
418
+ case imuSingle(Glassly_Ble_ImuSingleRequest)
419
+ case imuStream(Glassly_Ble_ImuStreamConfig)
420
+ case headGesture(Glassly_Ble_HeadGestureConfig)
421
+ /// System Control
422
+ case restart(Glassly_Ble_RestartRequest)
423
+ case factoryReset(Glassly_Ble_FactoryResetRequest)
424
+ /// Canvas System — retained components addressed by phone-assigned id
425
+ case canvasCreateComponent(Glassly_Ble_CanvasCreateComponent)
426
+ case canvasUpdateText(Glassly_Ble_CanvasUpdateText)
427
+ case canvasUpdateImage(Glassly_Ble_CanvasUpdateImage)
428
+ case canvasDeleteComponent(Glassly_Ble_CanvasDeleteComponent)
429
+ case canvasClear(Glassly_Ble_CanvasClear)
430
+
431
+ }
432
+
433
+ init() {}
434
+ }
435
+
436
+ /// All messages from glasses to phone
437
+ nonisolated struct Glassly_Ble_GlassesToPhone: Sendable {
438
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
439
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
440
+ // methods supported on all messages.
441
+
442
+ var payload: Glassly_Ble_GlassesToPhone.OneOf_Payload? = nil
443
+
444
+ /// Connection Management
445
+ var batteryStatus: Glassly_Ble_BatteryStatus {
446
+ get {
447
+ if case .batteryStatus(let v)? = payload {return v}
448
+ return Glassly_Ble_BatteryStatus()
449
+ }
450
+ set {payload = .batteryStatus(newValue)}
451
+ }
452
+
453
+ var chargingState: Glassly_Ble_ChargingState {
454
+ get {
455
+ if case .chargingState(let v)? = payload {return v}
456
+ return Glassly_Ble_ChargingState()
457
+ }
458
+ set {payload = .chargingState(newValue)}
459
+ }
460
+
461
+ var deviceInfo: Glassly_Ble_DeviceInfo {
462
+ get {
463
+ if case .deviceInfo(let v)? = payload {return v}
464
+ return Glassly_Ble_DeviceInfo()
465
+ }
466
+ set {payload = .deviceInfo(newValue)}
467
+ }
468
+
469
+ var headPosition: Glassly_Ble_HeadPosition {
470
+ get {
471
+ if case .headPosition(let v)? = payload {return v}
472
+ return Glassly_Ble_HeadPosition()
473
+ }
474
+ set {payload = .headPosition(newValue)}
475
+ }
476
+
477
+ var headUpAngleSet: Glassly_Ble_HeadUpAngleResponse {
478
+ get {
479
+ if case .headUpAngleSet(let v)? = payload {return v}
480
+ return Glassly_Ble_HeadUpAngleResponse()
481
+ }
482
+ set {payload = .headUpAngleSet(newValue)}
483
+ }
484
+
485
+ /// Audio System
486
+ var vadEvent: Glassly_Ble_VadEvent {
487
+ get {
488
+ if case .vadEvent(let v)? = payload {return v}
489
+ return Glassly_Ble_VadEvent()
490
+ }
491
+ set {payload = .vadEvent(newValue)}
492
+ }
493
+
494
+ /// Display System
495
+ var imageTransferComplete: Glassly_Ble_ImageTransferComplete {
496
+ get {
497
+ if case .imageTransferComplete(let v)? = payload {return v}
498
+ return Glassly_Ble_ImageTransferComplete()
499
+ }
500
+ set {payload = .imageTransferComplete(newValue)}
501
+ }
502
+
503
+ var canvasResult: Glassly_Ble_CanvasResult {
504
+ get {
505
+ if case .canvasResult(let v)? = payload {return v}
506
+ return Glassly_Ble_CanvasResult()
507
+ }
508
+ set {payload = .canvasResult(newValue)}
509
+ }
510
+
511
+ /// User Input
512
+ var imuData: Glassly_Ble_ImuData {
513
+ get {
514
+ if case .imuData(let v)? = payload {return v}
515
+ return Glassly_Ble_ImuData()
516
+ }
517
+ set {payload = .imuData(newValue)}
518
+ }
519
+
520
+ var buttonEvent: Glassly_Ble_ButtonEvent {
521
+ get {
522
+ if case .buttonEvent(let v)? = payload {return v}
523
+ return Glassly_Ble_ButtonEvent()
524
+ }
525
+ set {payload = .buttonEvent(newValue)}
526
+ }
527
+
528
+ var headGesture: Glassly_Ble_HeadGesture {
529
+ get {
530
+ if case .headGesture(let v)? = payload {return v}
531
+ return Glassly_Ble_HeadGesture()
532
+ }
533
+ set {payload = .headGesture(newValue)}
534
+ }
535
+
536
+ var unknownFields = SwiftProtobuf.UnknownStorage()
537
+
538
+ nonisolated enum OneOf_Payload: Equatable, Sendable {
539
+ /// Connection Management
540
+ case batteryStatus(Glassly_Ble_BatteryStatus)
541
+ case chargingState(Glassly_Ble_ChargingState)
542
+ case deviceInfo(Glassly_Ble_DeviceInfo)
543
+ case headPosition(Glassly_Ble_HeadPosition)
544
+ case headUpAngleSet(Glassly_Ble_HeadUpAngleResponse)
545
+ /// Audio System
546
+ case vadEvent(Glassly_Ble_VadEvent)
547
+ /// Display System
548
+ case imageTransferComplete(Glassly_Ble_ImageTransferComplete)
549
+ case canvasResult(Glassly_Ble_CanvasResult)
550
+ /// User Input
551
+ case imuData(Glassly_Ble_ImuData)
552
+ case buttonEvent(Glassly_Ble_ButtonEvent)
553
+ case headGesture(Glassly_Ble_HeadGesture)
554
+
555
+ }
556
+
557
+ init() {}
558
+ }
559
+
560
+ nonisolated struct Glassly_Ble_DisconnectRequest: Sendable {
561
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
562
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
563
+ // methods supported on all messages.
564
+
565
+ var unknownFields = SwiftProtobuf.UnknownStorage()
566
+
567
+ init() {}
568
+ }
569
+
570
+ nonisolated struct Glassly_Ble_BatteryStateRequest: Sendable {
571
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
572
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
573
+ // methods supported on all messages.
574
+
575
+ var unknownFields = SwiftProtobuf.UnknownStorage()
576
+
577
+ init() {}
578
+ }
579
+
580
+ nonisolated struct Glassly_Ble_BatteryStatus: Sendable {
581
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
582
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
583
+ // methods supported on all messages.
584
+
585
+ /// 0-100 percentage
586
+ var level: UInt32 = 0
587
+
588
+ var charging: Bool = false
589
+
590
+ var unknownFields = SwiftProtobuf.UnknownStorage()
591
+
592
+ init() {}
593
+ }
594
+
595
+ nonisolated struct Glassly_Ble_ChargingState: Sendable {
596
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
597
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
598
+ // methods supported on all messages.
599
+
600
+ var state: Glassly_Ble_ChargingState.State = .notCharging
601
+
602
+ var unknownFields = SwiftProtobuf.UnknownStorage()
603
+
604
+ nonisolated enum State: SwiftProtobuf.Enum, Swift.CaseIterable {
605
+ typealias RawValue = Int
606
+ case notCharging // = 0
607
+ case charging // = 1
608
+ case UNRECOGNIZED(Int)
609
+
610
+ init() {
611
+ self = .notCharging
612
+ }
613
+
614
+ init?(rawValue: Int) {
615
+ switch rawValue {
616
+ case 0: self = .notCharging
617
+ case 1: self = .charging
618
+ default: self = .UNRECOGNIZED(rawValue)
619
+ }
620
+ }
621
+
622
+ var rawValue: Int {
623
+ switch self {
624
+ case .notCharging: return 0
625
+ case .charging: return 1
626
+ case .UNRECOGNIZED(let i): return i
627
+ }
628
+ }
629
+
630
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
631
+ static let allCases: [Glassly_Ble_ChargingState.State] = [
632
+ .notCharging,
633
+ .charging,
634
+ ]
635
+
636
+ }
637
+
638
+ init() {}
639
+ }
640
+
641
+ nonisolated struct Glassly_Ble_GlassesInfoRequest: Sendable {
642
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
643
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
644
+ // methods supported on all messages.
645
+
646
+ var unknownFields = SwiftProtobuf.UnknownStorage()
647
+
648
+ init() {}
649
+ }
650
+
651
+ nonisolated struct Glassly_Ble_DeviceInfo: Sendable {
652
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
653
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
654
+ // methods supported on all messages.
655
+
656
+ var fwVersion: String = String()
657
+
658
+ var hwModel: String = String()
659
+
660
+ var features: Glassly_Ble_DeviceFeatures {
661
+ get {_features ?? Glassly_Ble_DeviceFeatures()}
662
+ set {_features = newValue}
663
+ }
664
+ /// Returns true if `features` has been explicitly set.
665
+ var hasFeatures: Bool {self._features != nil}
666
+ /// Clears the value of `features`. Subsequent reads from it will return its default value.
667
+ mutating func clearFeatures() {self._features = nil}
668
+
669
+ var unknownFields = SwiftProtobuf.UnknownStorage()
670
+
671
+ init() {}
672
+
673
+ fileprivate var _features: Glassly_Ble_DeviceFeatures? = nil
674
+ }
675
+
676
+ nonisolated struct Glassly_Ble_DeviceFeatures: Sendable {
677
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
678
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
679
+ // methods supported on all messages.
680
+
681
+ var camera: Bool = false
682
+
683
+ var display: Bool = false
684
+
685
+ var audioTx: Bool = false
686
+
687
+ var audioRx: Bool = false
688
+
689
+ var imu: Bool = false
690
+
691
+ var vad: Bool = false
692
+
693
+ var micSwitching: Bool = false
694
+
695
+ /// Max chunks that can be buffered
696
+ var imageChunkBuffer: UInt32 = 0
697
+
698
+ var unknownFields = SwiftProtobuf.UnknownStorage()
699
+
700
+ init() {}
701
+ }
702
+
703
+ nonisolated struct Glassly_Ble_PairingModeRequest: Sendable {
704
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
705
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
706
+ // methods supported on all messages.
707
+
708
+ var unknownFields = SwiftProtobuf.UnknownStorage()
709
+
710
+ init() {}
711
+ }
712
+
713
+ nonisolated struct Glassly_Ble_HeadPositionRequest: Sendable {
714
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
715
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
716
+ // methods supported on all messages.
717
+
718
+ var unknownFields = SwiftProtobuf.UnknownStorage()
719
+
720
+ init() {}
721
+ }
722
+
723
+ nonisolated struct Glassly_Ble_HeadPosition: Sendable {
724
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
725
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
726
+ // methods supported on all messages.
727
+
728
+ /// degrees
729
+ var angle: Int32 = 0
730
+
731
+ var unknownFields = SwiftProtobuf.UnknownStorage()
732
+
733
+ init() {}
734
+ }
735
+
736
+ nonisolated struct Glassly_Ble_HeadUpAngleConfig: Sendable {
737
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
738
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
739
+ // methods supported on all messages.
740
+
741
+ /// degrees
742
+ var angle: UInt32 = 0
743
+
744
+ var unknownFields = SwiftProtobuf.UnknownStorage()
745
+
746
+ init() {}
747
+ }
748
+
749
+ nonisolated struct Glassly_Ble_HeadUpAngleResponse: Sendable {
750
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
751
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
752
+ // methods supported on all messages.
753
+
754
+ var success: Bool = false
755
+
756
+ var unknownFields = SwiftProtobuf.UnknownStorage()
757
+
758
+ init() {}
759
+ }
760
+
761
+ nonisolated struct Glassly_Ble_MicStateConfig: Sendable {
762
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
763
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
764
+ // methods supported on all messages.
765
+
766
+ var enabled: Bool = false
767
+
768
+ var unknownFields = SwiftProtobuf.UnknownStorage()
769
+
770
+ init() {}
771
+ }
772
+
773
+ nonisolated struct Glassly_Ble_VadEnabledConfig: Sendable {
774
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
775
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
776
+ // methods supported on all messages.
777
+
778
+ var enabled: Bool = false
779
+
780
+ var unknownFields = SwiftProtobuf.UnknownStorage()
781
+
782
+ init() {}
783
+ }
784
+
785
+ nonisolated struct Glassly_Ble_VadConfig: Sendable {
786
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
787
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
788
+ // methods supported on all messages.
789
+
790
+ /// 0-100
791
+ var sensitivity: UInt32 = 0
792
+
793
+ var unknownFields = SwiftProtobuf.UnknownStorage()
794
+
795
+ init() {}
796
+ }
797
+
798
+ nonisolated struct Glassly_Ble_VadEvent: Sendable {
799
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
800
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
801
+ // methods supported on all messages.
802
+
803
+ var state: Glassly_Ble_VadEvent.State = .inactive
804
+
805
+ var unknownFields = SwiftProtobuf.UnknownStorage()
806
+
807
+ nonisolated enum State: SwiftProtobuf.Enum, Swift.CaseIterable {
808
+ typealias RawValue = Int
809
+ case inactive // = 0
810
+ case active // = 1
811
+ case UNRECOGNIZED(Int)
812
+
813
+ init() {
814
+ self = .inactive
815
+ }
816
+
817
+ init?(rawValue: Int) {
818
+ switch rawValue {
819
+ case 0: self = .inactive
820
+ case 1: self = .active
821
+ default: self = .UNRECOGNIZED(rawValue)
822
+ }
823
+ }
824
+
825
+ var rawValue: Int {
826
+ switch self {
827
+ case .inactive: return 0
828
+ case .active: return 1
829
+ case .UNRECOGNIZED(let i): return i
830
+ }
831
+ }
832
+
833
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
834
+ static let allCases: [Glassly_Ble_VadEvent.State] = [
835
+ .inactive,
836
+ .active,
837
+ ]
838
+
839
+ }
840
+
841
+ init() {}
842
+ }
843
+
844
+ nonisolated struct Glassly_Ble_DisplayText: Sendable {
845
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
846
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
847
+ // methods supported on all messages.
848
+
849
+ var text: String = String()
850
+
851
+ /// RGB565 format (e.g., 0xF800 for red)
852
+ var color: UInt32 = 0
853
+
854
+ /// Font identifier
855
+ var fontCode: UInt32 = 0
856
+
857
+ var x: UInt32 = 0
858
+
859
+ var y: UInt32 = 0
860
+
861
+ /// Font size multiplier
862
+ var size: UInt32 = 0
863
+
864
+ var unknownFields = SwiftProtobuf.UnknownStorage()
865
+
866
+ init() {}
867
+ }
868
+
869
+ /// Initiates bitmap transfer - actual data comes via binary protocol
870
+ nonisolated struct Glassly_Ble_DisplayImage: Sendable {
871
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
872
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
873
+ // methods supported on all messages.
874
+
875
+ /// 2-byte hex string like "002A"
876
+ var streamID: String = String()
877
+
878
+ var x: UInt32 = 0
879
+
880
+ var y: UInt32 = 0
881
+
882
+ var width: UInt32 = 0
883
+
884
+ var height: UInt32 = 0
885
+
886
+ /// "rle", "webp", etc.
887
+ var encoding: String = String()
888
+
889
+ var totalChunks: UInt32 = 0
890
+
891
+ var unknownFields = SwiftProtobuf.UnknownStorage()
892
+
893
+ init() {}
894
+ }
895
+
896
+ nonisolated struct Glassly_Ble_PreloadImage: Sendable {
897
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
898
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
899
+ // methods supported on all messages.
900
+
901
+ var streamID: String = String()
902
+
903
+ /// ID for later reference
904
+ var imageID: UInt32 = 0
905
+
906
+ var width: UInt32 = 0
907
+
908
+ var height: UInt32 = 0
909
+
910
+ var encoding: String = String()
911
+
912
+ var totalChunks: UInt32 = 0
913
+
914
+ var unknownFields = SwiftProtobuf.UnknownStorage()
915
+
916
+ init() {}
917
+ }
918
+
919
+ nonisolated struct Glassly_Ble_DisplayCachedImage: Sendable {
920
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
921
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
922
+ // methods supported on all messages.
923
+
924
+ var imageID: UInt32 = 0
925
+
926
+ var x: UInt32 = 0
927
+
928
+ var y: UInt32 = 0
929
+
930
+ var width: UInt32 = 0
931
+
932
+ var height: UInt32 = 0
933
+
934
+ var unknownFields = SwiftProtobuf.UnknownStorage()
935
+
936
+ init() {}
937
+ }
938
+
939
+ nonisolated struct Glassly_Ble_ClearCachedImage: Sendable {
940
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
941
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
942
+ // methods supported on all messages.
943
+
944
+ var imageID: UInt32 = 0
945
+
946
+ var unknownFields = SwiftProtobuf.UnknownStorage()
947
+
948
+ init() {}
949
+ }
950
+
951
+ nonisolated struct Glassly_Ble_DisplayScrollingText: Sendable {
952
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
953
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
954
+ // methods supported on all messages.
955
+
956
+ var text: String = String()
957
+
958
+ var color: UInt32 = 0
959
+
960
+ var fontCode: UInt32 = 0
961
+
962
+ var x: UInt32 = 0
963
+
964
+ var y: UInt32 = 0
965
+
966
+ var width: UInt32 = 0
967
+
968
+ var height: UInt32 = 0
969
+
970
+ var align: Glassly_Ble_DisplayScrollingText.Alignment = .left
971
+
972
+ /// pixels between lines
973
+ var lineSpacing: UInt32 = 0
974
+
975
+ /// pixels/sec scrolling up
976
+ var speed: UInt32 = 0
977
+
978
+ /// font size multiplier
979
+ var size: UInt32 = 0
980
+
981
+ /// wrap to top when finished
982
+ var loop: Bool = false
983
+
984
+ /// delay before restart (if looping)
985
+ var pauseMs: UInt32 = 0
986
+
987
+ var unknownFields = SwiftProtobuf.UnknownStorage()
988
+
989
+ nonisolated enum Alignment: SwiftProtobuf.Enum, Swift.CaseIterable {
990
+ typealias RawValue = Int
991
+ case left // = 0
992
+ case center // = 1
993
+ case right // = 2
994
+ case UNRECOGNIZED(Int)
995
+
996
+ init() {
997
+ self = .left
998
+ }
999
+
1000
+ init?(rawValue: Int) {
1001
+ switch rawValue {
1002
+ case 0: self = .left
1003
+ case 1: self = .center
1004
+ case 2: self = .right
1005
+ default: self = .UNRECOGNIZED(rawValue)
1006
+ }
1007
+ }
1008
+
1009
+ var rawValue: Int {
1010
+ switch self {
1011
+ case .left: return 0
1012
+ case .center: return 1
1013
+ case .right: return 2
1014
+ case .UNRECOGNIZED(let i): return i
1015
+ }
1016
+ }
1017
+
1018
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
1019
+ static let allCases: [Glassly_Ble_DisplayScrollingText.Alignment] = [
1020
+ .left,
1021
+ .center,
1022
+ .right,
1023
+ ]
1024
+
1025
+ }
1026
+
1027
+ init() {}
1028
+ }
1029
+
1030
+ nonisolated struct Glassly_Ble_ClearDisplay: Sendable {
1031
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1032
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1033
+ // methods supported on all messages.
1034
+
1035
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1036
+
1037
+ init() {}
1038
+ }
1039
+
1040
+ nonisolated struct Glassly_Ble_DisplayPowerConfig: Sendable {
1041
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1042
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1043
+ // methods supported on all messages.
1044
+
1045
+ /// true = turn on, false = turn off
1046
+ var on: Bool = false
1047
+
1048
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1049
+
1050
+ init() {}
1051
+ }
1052
+
1053
+ nonisolated struct Glassly_Ble_BrightnessConfig: Sendable {
1054
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1055
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1056
+ // methods supported on all messages.
1057
+
1058
+ /// 0-100
1059
+ var value: UInt32 = 0
1060
+
1061
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1062
+
1063
+ init() {}
1064
+ }
1065
+
1066
+ nonisolated struct Glassly_Ble_AutoBrightnessConfig: Sendable {
1067
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1068
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1069
+ // methods supported on all messages.
1070
+
1071
+ var enabled: Bool = false
1072
+
1073
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1074
+
1075
+ init() {}
1076
+ }
1077
+
1078
+ nonisolated struct Glassly_Ble_AutoBrightnessMultiplier: Sendable {
1079
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1080
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1081
+ // methods supported on all messages.
1082
+
1083
+ /// e.g., 0.8 = 80%
1084
+ var multiplier: Float = 0
1085
+
1086
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1087
+
1088
+ init() {}
1089
+ }
1090
+
1091
+ nonisolated struct Glassly_Ble_DrawLine: Sendable {
1092
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1093
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1094
+ // methods supported on all messages.
1095
+
1096
+ var color: UInt32 = 0
1097
+
1098
+ var stroke: UInt32 = 0
1099
+
1100
+ var x1: UInt32 = 0
1101
+
1102
+ var y1: UInt32 = 0
1103
+
1104
+ var x2: UInt32 = 0
1105
+
1106
+ var y2: UInt32 = 0
1107
+
1108
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1109
+
1110
+ init() {}
1111
+ }
1112
+
1113
+ nonisolated struct Glassly_Ble_DrawRect: Sendable {
1114
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1115
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1116
+ // methods supported on all messages.
1117
+
1118
+ var color: UInt32 = 0
1119
+
1120
+ var stroke: UInt32 = 0
1121
+
1122
+ var x: UInt32 = 0
1123
+
1124
+ var y: UInt32 = 0
1125
+
1126
+ var width: UInt32 = 0
1127
+
1128
+ var height: UInt32 = 0
1129
+
1130
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1131
+
1132
+ init() {}
1133
+ }
1134
+
1135
+ nonisolated struct Glassly_Ble_DrawCircle: Sendable {
1136
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1137
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1138
+ // methods supported on all messages.
1139
+
1140
+ var color: UInt32 = 0
1141
+
1142
+ var stroke: UInt32 = 0
1143
+
1144
+ var x: UInt32 = 0
1145
+
1146
+ var y: UInt32 = 0
1147
+
1148
+ var radius: UInt32 = 0
1149
+
1150
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1151
+
1152
+ init() {}
1153
+ }
1154
+
1155
+ nonisolated struct Glassly_Ble_CommitDisplay: Sendable {
1156
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1157
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1158
+ // methods supported on all messages.
1159
+
1160
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1161
+
1162
+ init() {}
1163
+ }
1164
+
1165
+ nonisolated struct Glassly_Ble_DisplayDistanceConfig: Sendable {
1166
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1167
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1168
+ // methods supported on all messages.
1169
+
1170
+ var distanceCm: UInt32 = 0
1171
+
1172
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1173
+
1174
+ init() {}
1175
+ }
1176
+
1177
+ nonisolated struct Glassly_Ble_DisplayHeightConfig: Sendable {
1178
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1179
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1180
+ // methods supported on all messages.
1181
+
1182
+ var height: UInt32 = 0
1183
+
1184
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1185
+
1186
+ init() {}
1187
+ }
1188
+
1189
+ nonisolated struct Glassly_Ble_ImageTransferComplete: Sendable {
1190
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1191
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1192
+ // methods supported on all messages.
1193
+
1194
+ var streamID: String = String()
1195
+
1196
+ var status: Glassly_Ble_ImageTransferComplete.Status = .ok
1197
+
1198
+ /// List of missing chunk indices
1199
+ var missingChunks: [UInt32] = []
1200
+
1201
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1202
+
1203
+ nonisolated enum Status: SwiftProtobuf.Enum, Swift.CaseIterable {
1204
+ typealias RawValue = Int
1205
+ case ok // = 0
1206
+ case incomplete // = 1
1207
+ case UNRECOGNIZED(Int)
1208
+
1209
+ init() {
1210
+ self = .ok
1211
+ }
1212
+
1213
+ init?(rawValue: Int) {
1214
+ switch rawValue {
1215
+ case 0: self = .ok
1216
+ case 1: self = .incomplete
1217
+ default: self = .UNRECOGNIZED(rawValue)
1218
+ }
1219
+ }
1220
+
1221
+ var rawValue: Int {
1222
+ switch self {
1223
+ case .ok: return 0
1224
+ case .incomplete: return 1
1225
+ case .UNRECOGNIZED(let i): return i
1226
+ }
1227
+ }
1228
+
1229
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
1230
+ static let allCases: [Glassly_Ble_ImageTransferComplete.Status] = [
1231
+ .ok,
1232
+ .incomplete,
1233
+ ]
1234
+
1235
+ }
1236
+
1237
+ init() {}
1238
+ }
1239
+
1240
+ /// Create (or replace, if the id already exists) a component on the canvas.
1241
+ nonisolated struct Glassly_Ble_CanvasCreateComponent: Sendable {
1242
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1243
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1244
+ // methods supported on all messages.
1245
+
1246
+ /// phone-assigned; must fall in the pool for `type`
1247
+ var id: UInt32 = 0
1248
+
1249
+ var type: Glassly_Ble_CanvasComponentType = .canvasBitmap
1250
+
1251
+ var x: UInt32 = 0
1252
+
1253
+ var y: UInt32 = 0
1254
+
1255
+ var width: UInt32 = 0
1256
+
1257
+ var height: UInt32 = 0
1258
+
1259
+ /// 0 = no border
1260
+ var borderWidth: UInt32 = 0
1261
+
1262
+ /// corner radius in px
1263
+ var borderRadius: UInt32 = 0
1264
+
1265
+ /// inner padding in px
1266
+ var padding: UInt32 = 0
1267
+
1268
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1269
+
1270
+ init() {}
1271
+ }
1272
+
1273
+ /// Set the text of a TEXTBOX / SCROLL_TEXTBOX component.
1274
+ nonisolated struct Glassly_Ble_CanvasUpdateText: Sendable {
1275
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1276
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1277
+ // methods supported on all messages.
1278
+
1279
+ var id: UInt32 = 0
1280
+
1281
+ var text: String = String()
1282
+
1283
+ /// SCROLL_TEXTBOX only: vertical scroll in px
1284
+ var scrollOffset: UInt32 = 0
1285
+
1286
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1287
+
1288
+ init() {}
1289
+ }
1290
+
1291
+ /// Begin streaming a 1-bit BMP into a BITMAP component. Pixels arrive as
1292
+ /// [0xB0][streamId_hi][streamId_lo][chunkIndex][data...] packets, same as DisplayImage.
1293
+ nonisolated struct Glassly_Ble_CanvasUpdateImage: Sendable {
1294
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1295
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1296
+ // methods supported on all messages.
1297
+
1298
+ var id: UInt32 = 0
1299
+
1300
+ /// 2-byte hex string like "002A"
1301
+ var streamID: String = String()
1302
+
1303
+ var totalChunks: UInt32 = 0
1304
+
1305
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1306
+
1307
+ init() {}
1308
+ }
1309
+
1310
+ nonisolated struct Glassly_Ble_CanvasDeleteComponent: Sendable {
1311
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1312
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1313
+ // methods supported on all messages.
1314
+
1315
+ var id: UInt32 = 0
1316
+
1317
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1318
+
1319
+ init() {}
1320
+ }
1321
+
1322
+ /// Delete all components and exit the canvas view.
1323
+ nonisolated struct Glassly_Ble_CanvasClear: Sendable {
1324
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1325
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1326
+ // methods supported on all messages.
1327
+
1328
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1329
+
1330
+ init() {}
1331
+ }
1332
+
1333
+ /// Ack for CanvasCreateComponent (and CanvasClear). id echoes the component id (0 for clear).
1334
+ nonisolated struct Glassly_Ble_CanvasResult: Sendable {
1335
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1336
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1337
+ // methods supported on all messages.
1338
+
1339
+ var id: UInt32 = 0
1340
+
1341
+ var code: Glassly_Ble_CanvasResult.ResultCode = .ok
1342
+
1343
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1344
+
1345
+ nonisolated enum ResultCode: SwiftProtobuf.Enum, Swift.CaseIterable {
1346
+ typealias RawValue = Int
1347
+ case ok // = 0
1348
+
1349
+ /// bad id for the type, or unknown component
1350
+ case invalid // = 1
1351
+
1352
+ /// bitmap exceeds the max supported dimensions
1353
+ case oversize // = 2
1354
+
1355
+ /// no backing storage available
1356
+ case oom // = 3
1357
+ case UNRECOGNIZED(Int)
1358
+
1359
+ init() {
1360
+ self = .ok
1361
+ }
1362
+
1363
+ init?(rawValue: Int) {
1364
+ switch rawValue {
1365
+ case 0: self = .ok
1366
+ case 1: self = .invalid
1367
+ case 2: self = .oversize
1368
+ case 3: self = .oom
1369
+ default: self = .UNRECOGNIZED(rawValue)
1370
+ }
1371
+ }
1372
+
1373
+ var rawValue: Int {
1374
+ switch self {
1375
+ case .ok: return 0
1376
+ case .invalid: return 1
1377
+ case .oversize: return 2
1378
+ case .oom: return 3
1379
+ case .UNRECOGNIZED(let i): return i
1380
+ }
1381
+ }
1382
+
1383
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
1384
+ static let allCases: [Glassly_Ble_CanvasResult.ResultCode] = [
1385
+ .ok,
1386
+ .invalid,
1387
+ .oversize,
1388
+ .oom,
1389
+ ]
1390
+
1391
+ }
1392
+
1393
+ init() {}
1394
+ }
1395
+
1396
+ nonisolated struct Glassly_Ble_ImuEnabledConfig: Sendable {
1397
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1398
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1399
+ // methods supported on all messages.
1400
+
1401
+ var enabled: Bool = false
1402
+
1403
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1404
+
1405
+ init() {}
1406
+ }
1407
+
1408
+ nonisolated struct Glassly_Ble_ImuSingleRequest: Sendable {
1409
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1410
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1411
+ // methods supported on all messages.
1412
+
1413
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1414
+
1415
+ init() {}
1416
+ }
1417
+
1418
+ nonisolated struct Glassly_Ble_ImuStreamConfig: Sendable {
1419
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1420
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1421
+ // methods supported on all messages.
1422
+
1423
+ var enabled: Bool = false
1424
+
1425
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1426
+
1427
+ init() {}
1428
+ }
1429
+
1430
+ nonisolated struct Glassly_Ble_ImuData: Sendable {
1431
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1432
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1433
+ // methods supported on all messages.
1434
+
1435
+ var accel: Glassly_Ble_Vector3 {
1436
+ get {_accel ?? Glassly_Ble_Vector3()}
1437
+ set {_accel = newValue}
1438
+ }
1439
+ /// Returns true if `accel` has been explicitly set.
1440
+ var hasAccel: Bool {self._accel != nil}
1441
+ /// Clears the value of `accel`. Subsequent reads from it will return its default value.
1442
+ mutating func clearAccel() {self._accel = nil}
1443
+
1444
+ var gyro: Glassly_Ble_Vector3 {
1445
+ get {_gyro ?? Glassly_Ble_Vector3()}
1446
+ set {_gyro = newValue}
1447
+ }
1448
+ /// Returns true if `gyro` has been explicitly set.
1449
+ var hasGyro: Bool {self._gyro != nil}
1450
+ /// Clears the value of `gyro`. Subsequent reads from it will return its default value.
1451
+ mutating func clearGyro() {self._gyro = nil}
1452
+
1453
+ var mag: Glassly_Ble_Vector3 {
1454
+ get {_mag ?? Glassly_Ble_Vector3()}
1455
+ set {_mag = newValue}
1456
+ }
1457
+ /// Returns true if `mag` has been explicitly set.
1458
+ var hasMag: Bool {self._mag != nil}
1459
+ /// Clears the value of `mag`. Subsequent reads from it will return its default value.
1460
+ mutating func clearMag() {self._mag = nil}
1461
+
1462
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1463
+
1464
+ init() {}
1465
+
1466
+ fileprivate var _accel: Glassly_Ble_Vector3? = nil
1467
+ fileprivate var _gyro: Glassly_Ble_Vector3? = nil
1468
+ fileprivate var _mag: Glassly_Ble_Vector3? = nil
1469
+ }
1470
+
1471
+ nonisolated struct Glassly_Ble_Vector3: Sendable {
1472
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1473
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1474
+ // methods supported on all messages.
1475
+
1476
+ var x: Float = 0
1477
+
1478
+ var y: Float = 0
1479
+
1480
+ var z: Float = 0
1481
+
1482
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1483
+
1484
+ init() {}
1485
+ }
1486
+
1487
+ nonisolated struct Glassly_Ble_ButtonEvent: Sendable {
1488
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1489
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1490
+ // methods supported on all messages.
1491
+
1492
+ var button: Glassly_Ble_ButtonEvent.Button = .center
1493
+
1494
+ var state: Glassly_Ble_ButtonEvent.State = .up
1495
+
1496
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1497
+
1498
+ nonisolated enum Button: SwiftProtobuf.Enum, Swift.CaseIterable {
1499
+ typealias RawValue = Int
1500
+ case center // = 0
1501
+ case left // = 1
1502
+ case right // = 2
1503
+ case UNRECOGNIZED(Int)
1504
+
1505
+ init() {
1506
+ self = .center
1507
+ }
1508
+
1509
+ init?(rawValue: Int) {
1510
+ switch rawValue {
1511
+ case 0: self = .center
1512
+ case 1: self = .left
1513
+ case 2: self = .right
1514
+ default: self = .UNRECOGNIZED(rawValue)
1515
+ }
1516
+ }
1517
+
1518
+ var rawValue: Int {
1519
+ switch self {
1520
+ case .center: return 0
1521
+ case .left: return 1
1522
+ case .right: return 2
1523
+ case .UNRECOGNIZED(let i): return i
1524
+ }
1525
+ }
1526
+
1527
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
1528
+ static let allCases: [Glassly_Ble_ButtonEvent.Button] = [
1529
+ .center,
1530
+ .left,
1531
+ .right,
1532
+ ]
1533
+
1534
+ }
1535
+
1536
+ nonisolated enum State: SwiftProtobuf.Enum, Swift.CaseIterable {
1537
+ typealias RawValue = Int
1538
+ case up // = 0
1539
+ case down // = 1
1540
+ case UNRECOGNIZED(Int)
1541
+
1542
+ init() {
1543
+ self = .up
1544
+ }
1545
+
1546
+ init?(rawValue: Int) {
1547
+ switch rawValue {
1548
+ case 0: self = .up
1549
+ case 1: self = .down
1550
+ default: self = .UNRECOGNIZED(rawValue)
1551
+ }
1552
+ }
1553
+
1554
+ var rawValue: Int {
1555
+ switch self {
1556
+ case .up: return 0
1557
+ case .down: return 1
1558
+ case .UNRECOGNIZED(let i): return i
1559
+ }
1560
+ }
1561
+
1562
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
1563
+ static let allCases: [Glassly_Ble_ButtonEvent.State] = [
1564
+ .up,
1565
+ .down,
1566
+ ]
1567
+
1568
+ }
1569
+
1570
+ init() {}
1571
+ }
1572
+
1573
+ nonisolated struct Glassly_Ble_HeadGesture: Sendable {
1574
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1575
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1576
+ // methods supported on all messages.
1577
+
1578
+ var gesture: Glassly_Ble_HeadGesture.Gesture = .nod
1579
+
1580
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1581
+
1582
+ nonisolated enum Gesture: SwiftProtobuf.Enum, Swift.CaseIterable {
1583
+ typealias RawValue = Int
1584
+ case nod // = 0
1585
+ case shake // = 1
1586
+ case headUp // = 2
1587
+ case UNRECOGNIZED(Int)
1588
+
1589
+ init() {
1590
+ self = .nod
1591
+ }
1592
+
1593
+ init?(rawValue: Int) {
1594
+ switch rawValue {
1595
+ case 0: self = .nod
1596
+ case 1: self = .shake
1597
+ case 2: self = .headUp
1598
+ default: self = .UNRECOGNIZED(rawValue)
1599
+ }
1600
+ }
1601
+
1602
+ var rawValue: Int {
1603
+ switch self {
1604
+ case .nod: return 0
1605
+ case .shake: return 1
1606
+ case .headUp: return 2
1607
+ case .UNRECOGNIZED(let i): return i
1608
+ }
1609
+ }
1610
+
1611
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
1612
+ static let allCases: [Glassly_Ble_HeadGesture.Gesture] = [
1613
+ .nod,
1614
+ .shake,
1615
+ .headUp,
1616
+ ]
1617
+
1618
+ }
1619
+
1620
+ init() {}
1621
+ }
1622
+
1623
+ nonisolated struct Glassly_Ble_HeadGestureConfig: Sendable {
1624
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1625
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1626
+ // methods supported on all messages.
1627
+
1628
+ var gesture: Glassly_Ble_HeadGesture.Gesture = .nod
1629
+
1630
+ var enabled: Bool = false
1631
+
1632
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1633
+
1634
+ init() {}
1635
+ }
1636
+
1637
+ nonisolated struct Glassly_Ble_RestartRequest: Sendable {
1638
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1639
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1640
+ // methods supported on all messages.
1641
+
1642
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1643
+
1644
+ init() {}
1645
+ }
1646
+
1647
+ nonisolated struct Glassly_Ble_FactoryResetRequest: Sendable {
1648
+ // SwiftProtobuf.Message conformance is added in an extension below. See the
1649
+ // `Message` and `Message+*Additions` files in the SwiftProtobuf library for
1650
+ // methods supported on all messages.
1651
+
1652
+ var unknownFields = SwiftProtobuf.UnknownStorage()
1653
+
1654
+ init() {}
1655
+ }
1656
+
1657
+ // MARK: - Code below here is support for the SwiftProtobuf runtime.
1658
+
1659
+ fileprivate nonisolated let _protobuf_package = "glassly.ble"
1660
+
1661
+ nonisolated extension Glassly_Ble_CanvasComponentType: SwiftProtobuf._ProtoNameProviding {
1662
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0CANVAS_BITMAP\0\u{1}CANVAS_TEXTBOX\0\u{1}CANVAS_SCROLL_TEXTBOX\0")
1663
+ }
1664
+
1665
+ nonisolated extension Glassly_Ble_PhoneToGlasses: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
1666
+ static let protoMessageName: String = _protobuf_package + ".PhoneToGlasses"
1667
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}msg_id\0\u{2}\u{9}disconnect\0\u{3}battery_state\0\u{3}glasses_info\0\u{3}pairing_mode\0\u{3}head_position\0\u{3}head_up_angle\0\u{4}\u{5}mic_state\0\u{3}vad_enabled\0\u{3}vad_config\0\u{4}\u{8}display_text\0\u{3}display_image\0\u{3}preload_image\0\u{3}display_cached_image\0\u{3}clear_cached_image\0\u{3}display_scrolling_text\0\u{3}display_power\0\u{1}brightness\0\u{3}auto_brightness\0\u{3}auto_brightness_mult\0\u{3}draw_line\0\u{3}draw_rect\0\u{3}draw_circle\0\u{1}commit\0\u{3}display_distance\0\u{3}display_height\0\u{3}clear_display\0\u{4}\u{4}imu_enabled\0\u{3}imu_single\0\u{3}imu_stream\0\u{3}head_gesture\0\u{2}\u{7}restart\0\u{3}factory_reset\0\u{3}canvas_create_component\0\u{3}canvas_update_text\0\u{3}canvas_update_image\0\u{3}canvas_delete_component\0\u{3}canvas_clear\0")
1668
+
1669
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
1670
+ while let fieldNumber = try decoder.nextFieldNumber() {
1671
+ // The use of inline closures is to circumvent an issue where the compiler
1672
+ // allocates stack space for every case branch when no optimizations are
1673
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
1674
+ switch fieldNumber {
1675
+ case 1: try { try decoder.decodeSingularStringField(value: &self.msgID) }()
1676
+ case 10: try {
1677
+ var v: Glassly_Ble_DisconnectRequest?
1678
+ var hadOneofValue = false
1679
+ if let current = self.payload {
1680
+ hadOneofValue = true
1681
+ if case .disconnect(let m) = current {v = m}
1682
+ }
1683
+ try decoder.decodeSingularMessageField(value: &v)
1684
+ if let v = v {
1685
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1686
+ self.payload = .disconnect(v)
1687
+ }
1688
+ }()
1689
+ case 11: try {
1690
+ var v: Glassly_Ble_BatteryStateRequest?
1691
+ var hadOneofValue = false
1692
+ if let current = self.payload {
1693
+ hadOneofValue = true
1694
+ if case .batteryState(let m) = current {v = m}
1695
+ }
1696
+ try decoder.decodeSingularMessageField(value: &v)
1697
+ if let v = v {
1698
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1699
+ self.payload = .batteryState(v)
1700
+ }
1701
+ }()
1702
+ case 12: try {
1703
+ var v: Glassly_Ble_GlassesInfoRequest?
1704
+ var hadOneofValue = false
1705
+ if let current = self.payload {
1706
+ hadOneofValue = true
1707
+ if case .glassesInfo(let m) = current {v = m}
1708
+ }
1709
+ try decoder.decodeSingularMessageField(value: &v)
1710
+ if let v = v {
1711
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1712
+ self.payload = .glassesInfo(v)
1713
+ }
1714
+ }()
1715
+ case 13: try {
1716
+ var v: Glassly_Ble_PairingModeRequest?
1717
+ var hadOneofValue = false
1718
+ if let current = self.payload {
1719
+ hadOneofValue = true
1720
+ if case .pairingMode(let m) = current {v = m}
1721
+ }
1722
+ try decoder.decodeSingularMessageField(value: &v)
1723
+ if let v = v {
1724
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1725
+ self.payload = .pairingMode(v)
1726
+ }
1727
+ }()
1728
+ case 14: try {
1729
+ var v: Glassly_Ble_HeadPositionRequest?
1730
+ var hadOneofValue = false
1731
+ if let current = self.payload {
1732
+ hadOneofValue = true
1733
+ if case .headPosition(let m) = current {v = m}
1734
+ }
1735
+ try decoder.decodeSingularMessageField(value: &v)
1736
+ if let v = v {
1737
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1738
+ self.payload = .headPosition(v)
1739
+ }
1740
+ }()
1741
+ case 15: try {
1742
+ var v: Glassly_Ble_HeadUpAngleConfig?
1743
+ var hadOneofValue = false
1744
+ if let current = self.payload {
1745
+ hadOneofValue = true
1746
+ if case .headUpAngle(let m) = current {v = m}
1747
+ }
1748
+ try decoder.decodeSingularMessageField(value: &v)
1749
+ if let v = v {
1750
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1751
+ self.payload = .headUpAngle(v)
1752
+ }
1753
+ }()
1754
+ case 20: try {
1755
+ var v: Glassly_Ble_MicStateConfig?
1756
+ var hadOneofValue = false
1757
+ if let current = self.payload {
1758
+ hadOneofValue = true
1759
+ if case .micState(let m) = current {v = m}
1760
+ }
1761
+ try decoder.decodeSingularMessageField(value: &v)
1762
+ if let v = v {
1763
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1764
+ self.payload = .micState(v)
1765
+ }
1766
+ }()
1767
+ case 21: try {
1768
+ var v: Glassly_Ble_VadEnabledConfig?
1769
+ var hadOneofValue = false
1770
+ if let current = self.payload {
1771
+ hadOneofValue = true
1772
+ if case .vadEnabled(let m) = current {v = m}
1773
+ }
1774
+ try decoder.decodeSingularMessageField(value: &v)
1775
+ if let v = v {
1776
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1777
+ self.payload = .vadEnabled(v)
1778
+ }
1779
+ }()
1780
+ case 22: try {
1781
+ var v: Glassly_Ble_VadConfig?
1782
+ var hadOneofValue = false
1783
+ if let current = self.payload {
1784
+ hadOneofValue = true
1785
+ if case .vadConfig(let m) = current {v = m}
1786
+ }
1787
+ try decoder.decodeSingularMessageField(value: &v)
1788
+ if let v = v {
1789
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1790
+ self.payload = .vadConfig(v)
1791
+ }
1792
+ }()
1793
+ case 30: try {
1794
+ var v: Glassly_Ble_DisplayText?
1795
+ var hadOneofValue = false
1796
+ if let current = self.payload {
1797
+ hadOneofValue = true
1798
+ if case .displayText(let m) = current {v = m}
1799
+ }
1800
+ try decoder.decodeSingularMessageField(value: &v)
1801
+ if let v = v {
1802
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1803
+ self.payload = .displayText(v)
1804
+ }
1805
+ }()
1806
+ case 31: try {
1807
+ var v: Glassly_Ble_DisplayImage?
1808
+ var hadOneofValue = false
1809
+ if let current = self.payload {
1810
+ hadOneofValue = true
1811
+ if case .displayImage(let m) = current {v = m}
1812
+ }
1813
+ try decoder.decodeSingularMessageField(value: &v)
1814
+ if let v = v {
1815
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1816
+ self.payload = .displayImage(v)
1817
+ }
1818
+ }()
1819
+ case 32: try {
1820
+ var v: Glassly_Ble_PreloadImage?
1821
+ var hadOneofValue = false
1822
+ if let current = self.payload {
1823
+ hadOneofValue = true
1824
+ if case .preloadImage(let m) = current {v = m}
1825
+ }
1826
+ try decoder.decodeSingularMessageField(value: &v)
1827
+ if let v = v {
1828
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1829
+ self.payload = .preloadImage(v)
1830
+ }
1831
+ }()
1832
+ case 33: try {
1833
+ var v: Glassly_Ble_DisplayCachedImage?
1834
+ var hadOneofValue = false
1835
+ if let current = self.payload {
1836
+ hadOneofValue = true
1837
+ if case .displayCachedImage(let m) = current {v = m}
1838
+ }
1839
+ try decoder.decodeSingularMessageField(value: &v)
1840
+ if let v = v {
1841
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1842
+ self.payload = .displayCachedImage(v)
1843
+ }
1844
+ }()
1845
+ case 34: try {
1846
+ var v: Glassly_Ble_ClearCachedImage?
1847
+ var hadOneofValue = false
1848
+ if let current = self.payload {
1849
+ hadOneofValue = true
1850
+ if case .clearCachedImage_p(let m) = current {v = m}
1851
+ }
1852
+ try decoder.decodeSingularMessageField(value: &v)
1853
+ if let v = v {
1854
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1855
+ self.payload = .clearCachedImage_p(v)
1856
+ }
1857
+ }()
1858
+ case 35: try {
1859
+ var v: Glassly_Ble_DisplayScrollingText?
1860
+ var hadOneofValue = false
1861
+ if let current = self.payload {
1862
+ hadOneofValue = true
1863
+ if case .displayScrollingText(let m) = current {v = m}
1864
+ }
1865
+ try decoder.decodeSingularMessageField(value: &v)
1866
+ if let v = v {
1867
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1868
+ self.payload = .displayScrollingText(v)
1869
+ }
1870
+ }()
1871
+ case 36: try {
1872
+ var v: Glassly_Ble_DisplayPowerConfig?
1873
+ var hadOneofValue = false
1874
+ if let current = self.payload {
1875
+ hadOneofValue = true
1876
+ if case .displayPower(let m) = current {v = m}
1877
+ }
1878
+ try decoder.decodeSingularMessageField(value: &v)
1879
+ if let v = v {
1880
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1881
+ self.payload = .displayPower(v)
1882
+ }
1883
+ }()
1884
+ case 37: try {
1885
+ var v: Glassly_Ble_BrightnessConfig?
1886
+ var hadOneofValue = false
1887
+ if let current = self.payload {
1888
+ hadOneofValue = true
1889
+ if case .brightness(let m) = current {v = m}
1890
+ }
1891
+ try decoder.decodeSingularMessageField(value: &v)
1892
+ if let v = v {
1893
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1894
+ self.payload = .brightness(v)
1895
+ }
1896
+ }()
1897
+ case 38: try {
1898
+ var v: Glassly_Ble_AutoBrightnessConfig?
1899
+ var hadOneofValue = false
1900
+ if let current = self.payload {
1901
+ hadOneofValue = true
1902
+ if case .autoBrightness(let m) = current {v = m}
1903
+ }
1904
+ try decoder.decodeSingularMessageField(value: &v)
1905
+ if let v = v {
1906
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1907
+ self.payload = .autoBrightness(v)
1908
+ }
1909
+ }()
1910
+ case 39: try {
1911
+ var v: Glassly_Ble_AutoBrightnessMultiplier?
1912
+ var hadOneofValue = false
1913
+ if let current = self.payload {
1914
+ hadOneofValue = true
1915
+ if case .autoBrightnessMult(let m) = current {v = m}
1916
+ }
1917
+ try decoder.decodeSingularMessageField(value: &v)
1918
+ if let v = v {
1919
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1920
+ self.payload = .autoBrightnessMult(v)
1921
+ }
1922
+ }()
1923
+ case 40: try {
1924
+ var v: Glassly_Ble_DrawLine?
1925
+ var hadOneofValue = false
1926
+ if let current = self.payload {
1927
+ hadOneofValue = true
1928
+ if case .drawLine(let m) = current {v = m}
1929
+ }
1930
+ try decoder.decodeSingularMessageField(value: &v)
1931
+ if let v = v {
1932
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1933
+ self.payload = .drawLine(v)
1934
+ }
1935
+ }()
1936
+ case 41: try {
1937
+ var v: Glassly_Ble_DrawRect?
1938
+ var hadOneofValue = false
1939
+ if let current = self.payload {
1940
+ hadOneofValue = true
1941
+ if case .drawRect(let m) = current {v = m}
1942
+ }
1943
+ try decoder.decodeSingularMessageField(value: &v)
1944
+ if let v = v {
1945
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1946
+ self.payload = .drawRect(v)
1947
+ }
1948
+ }()
1949
+ case 42: try {
1950
+ var v: Glassly_Ble_DrawCircle?
1951
+ var hadOneofValue = false
1952
+ if let current = self.payload {
1953
+ hadOneofValue = true
1954
+ if case .drawCircle(let m) = current {v = m}
1955
+ }
1956
+ try decoder.decodeSingularMessageField(value: &v)
1957
+ if let v = v {
1958
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1959
+ self.payload = .drawCircle(v)
1960
+ }
1961
+ }()
1962
+ case 43: try {
1963
+ var v: Glassly_Ble_CommitDisplay?
1964
+ var hadOneofValue = false
1965
+ if let current = self.payload {
1966
+ hadOneofValue = true
1967
+ if case .commit(let m) = current {v = m}
1968
+ }
1969
+ try decoder.decodeSingularMessageField(value: &v)
1970
+ if let v = v {
1971
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1972
+ self.payload = .commit(v)
1973
+ }
1974
+ }()
1975
+ case 44: try {
1976
+ var v: Glassly_Ble_DisplayDistanceConfig?
1977
+ var hadOneofValue = false
1978
+ if let current = self.payload {
1979
+ hadOneofValue = true
1980
+ if case .displayDistance(let m) = current {v = m}
1981
+ }
1982
+ try decoder.decodeSingularMessageField(value: &v)
1983
+ if let v = v {
1984
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1985
+ self.payload = .displayDistance(v)
1986
+ }
1987
+ }()
1988
+ case 45: try {
1989
+ var v: Glassly_Ble_DisplayHeightConfig?
1990
+ var hadOneofValue = false
1991
+ if let current = self.payload {
1992
+ hadOneofValue = true
1993
+ if case .displayHeight(let m) = current {v = m}
1994
+ }
1995
+ try decoder.decodeSingularMessageField(value: &v)
1996
+ if let v = v {
1997
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
1998
+ self.payload = .displayHeight(v)
1999
+ }
2000
+ }()
2001
+ case 46: try {
2002
+ var v: Glassly_Ble_ClearDisplay?
2003
+ var hadOneofValue = false
2004
+ if let current = self.payload {
2005
+ hadOneofValue = true
2006
+ if case .clearDisplay_p(let m) = current {v = m}
2007
+ }
2008
+ try decoder.decodeSingularMessageField(value: &v)
2009
+ if let v = v {
2010
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2011
+ self.payload = .clearDisplay_p(v)
2012
+ }
2013
+ }()
2014
+ case 50: try {
2015
+ var v: Glassly_Ble_ImuEnabledConfig?
2016
+ var hadOneofValue = false
2017
+ if let current = self.payload {
2018
+ hadOneofValue = true
2019
+ if case .imuEnabled(let m) = current {v = m}
2020
+ }
2021
+ try decoder.decodeSingularMessageField(value: &v)
2022
+ if let v = v {
2023
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2024
+ self.payload = .imuEnabled(v)
2025
+ }
2026
+ }()
2027
+ case 51: try {
2028
+ var v: Glassly_Ble_ImuSingleRequest?
2029
+ var hadOneofValue = false
2030
+ if let current = self.payload {
2031
+ hadOneofValue = true
2032
+ if case .imuSingle(let m) = current {v = m}
2033
+ }
2034
+ try decoder.decodeSingularMessageField(value: &v)
2035
+ if let v = v {
2036
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2037
+ self.payload = .imuSingle(v)
2038
+ }
2039
+ }()
2040
+ case 52: try {
2041
+ var v: Glassly_Ble_ImuStreamConfig?
2042
+ var hadOneofValue = false
2043
+ if let current = self.payload {
2044
+ hadOneofValue = true
2045
+ if case .imuStream(let m) = current {v = m}
2046
+ }
2047
+ try decoder.decodeSingularMessageField(value: &v)
2048
+ if let v = v {
2049
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2050
+ self.payload = .imuStream(v)
2051
+ }
2052
+ }()
2053
+ case 53: try {
2054
+ var v: Glassly_Ble_HeadGestureConfig?
2055
+ var hadOneofValue = false
2056
+ if let current = self.payload {
2057
+ hadOneofValue = true
2058
+ if case .headGesture(let m) = current {v = m}
2059
+ }
2060
+ try decoder.decodeSingularMessageField(value: &v)
2061
+ if let v = v {
2062
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2063
+ self.payload = .headGesture(v)
2064
+ }
2065
+ }()
2066
+ case 60: try {
2067
+ var v: Glassly_Ble_RestartRequest?
2068
+ var hadOneofValue = false
2069
+ if let current = self.payload {
2070
+ hadOneofValue = true
2071
+ if case .restart(let m) = current {v = m}
2072
+ }
2073
+ try decoder.decodeSingularMessageField(value: &v)
2074
+ if let v = v {
2075
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2076
+ self.payload = .restart(v)
2077
+ }
2078
+ }()
2079
+ case 61: try {
2080
+ var v: Glassly_Ble_FactoryResetRequest?
2081
+ var hadOneofValue = false
2082
+ if let current = self.payload {
2083
+ hadOneofValue = true
2084
+ if case .factoryReset(let m) = current {v = m}
2085
+ }
2086
+ try decoder.decodeSingularMessageField(value: &v)
2087
+ if let v = v {
2088
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2089
+ self.payload = .factoryReset(v)
2090
+ }
2091
+ }()
2092
+ case 62: try {
2093
+ var v: Glassly_Ble_CanvasCreateComponent?
2094
+ var hadOneofValue = false
2095
+ if let current = self.payload {
2096
+ hadOneofValue = true
2097
+ if case .canvasCreateComponent(let m) = current {v = m}
2098
+ }
2099
+ try decoder.decodeSingularMessageField(value: &v)
2100
+ if let v = v {
2101
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2102
+ self.payload = .canvasCreateComponent(v)
2103
+ }
2104
+ }()
2105
+ case 63: try {
2106
+ var v: Glassly_Ble_CanvasUpdateText?
2107
+ var hadOneofValue = false
2108
+ if let current = self.payload {
2109
+ hadOneofValue = true
2110
+ if case .canvasUpdateText(let m) = current {v = m}
2111
+ }
2112
+ try decoder.decodeSingularMessageField(value: &v)
2113
+ if let v = v {
2114
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2115
+ self.payload = .canvasUpdateText(v)
2116
+ }
2117
+ }()
2118
+ case 64: try {
2119
+ var v: Glassly_Ble_CanvasUpdateImage?
2120
+ var hadOneofValue = false
2121
+ if let current = self.payload {
2122
+ hadOneofValue = true
2123
+ if case .canvasUpdateImage(let m) = current {v = m}
2124
+ }
2125
+ try decoder.decodeSingularMessageField(value: &v)
2126
+ if let v = v {
2127
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2128
+ self.payload = .canvasUpdateImage(v)
2129
+ }
2130
+ }()
2131
+ case 65: try {
2132
+ var v: Glassly_Ble_CanvasDeleteComponent?
2133
+ var hadOneofValue = false
2134
+ if let current = self.payload {
2135
+ hadOneofValue = true
2136
+ if case .canvasDeleteComponent(let m) = current {v = m}
2137
+ }
2138
+ try decoder.decodeSingularMessageField(value: &v)
2139
+ if let v = v {
2140
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2141
+ self.payload = .canvasDeleteComponent(v)
2142
+ }
2143
+ }()
2144
+ case 66: try {
2145
+ var v: Glassly_Ble_CanvasClear?
2146
+ var hadOneofValue = false
2147
+ if let current = self.payload {
2148
+ hadOneofValue = true
2149
+ if case .canvasClear(let m) = current {v = m}
2150
+ }
2151
+ try decoder.decodeSingularMessageField(value: &v)
2152
+ if let v = v {
2153
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2154
+ self.payload = .canvasClear(v)
2155
+ }
2156
+ }()
2157
+ default: break
2158
+ }
2159
+ }
2160
+ }
2161
+
2162
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2163
+ // The use of inline closures is to circumvent an issue where the compiler
2164
+ // allocates stack space for every if/case branch local when no optimizations
2165
+ // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
2166
+ // https://github.com/apple/swift-protobuf/issues/1182
2167
+ if !self.msgID.isEmpty {
2168
+ try visitor.visitSingularStringField(value: self.msgID, fieldNumber: 1)
2169
+ }
2170
+ switch self.payload {
2171
+ case .disconnect?: try {
2172
+ guard case .disconnect(let v)? = self.payload else { preconditionFailure() }
2173
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 10)
2174
+ }()
2175
+ case .batteryState?: try {
2176
+ guard case .batteryState(let v)? = self.payload else { preconditionFailure() }
2177
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 11)
2178
+ }()
2179
+ case .glassesInfo?: try {
2180
+ guard case .glassesInfo(let v)? = self.payload else { preconditionFailure() }
2181
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 12)
2182
+ }()
2183
+ case .pairingMode?: try {
2184
+ guard case .pairingMode(let v)? = self.payload else { preconditionFailure() }
2185
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 13)
2186
+ }()
2187
+ case .headPosition?: try {
2188
+ guard case .headPosition(let v)? = self.payload else { preconditionFailure() }
2189
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 14)
2190
+ }()
2191
+ case .headUpAngle?: try {
2192
+ guard case .headUpAngle(let v)? = self.payload else { preconditionFailure() }
2193
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 15)
2194
+ }()
2195
+ case .micState?: try {
2196
+ guard case .micState(let v)? = self.payload else { preconditionFailure() }
2197
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 20)
2198
+ }()
2199
+ case .vadEnabled?: try {
2200
+ guard case .vadEnabled(let v)? = self.payload else { preconditionFailure() }
2201
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 21)
2202
+ }()
2203
+ case .vadConfig?: try {
2204
+ guard case .vadConfig(let v)? = self.payload else { preconditionFailure() }
2205
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 22)
2206
+ }()
2207
+ case .displayText?: try {
2208
+ guard case .displayText(let v)? = self.payload else { preconditionFailure() }
2209
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 30)
2210
+ }()
2211
+ case .displayImage?: try {
2212
+ guard case .displayImage(let v)? = self.payload else { preconditionFailure() }
2213
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 31)
2214
+ }()
2215
+ case .preloadImage?: try {
2216
+ guard case .preloadImage(let v)? = self.payload else { preconditionFailure() }
2217
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 32)
2218
+ }()
2219
+ case .displayCachedImage?: try {
2220
+ guard case .displayCachedImage(let v)? = self.payload else { preconditionFailure() }
2221
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 33)
2222
+ }()
2223
+ case .clearCachedImage_p?: try {
2224
+ guard case .clearCachedImage_p(let v)? = self.payload else { preconditionFailure() }
2225
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 34)
2226
+ }()
2227
+ case .displayScrollingText?: try {
2228
+ guard case .displayScrollingText(let v)? = self.payload else { preconditionFailure() }
2229
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 35)
2230
+ }()
2231
+ case .displayPower?: try {
2232
+ guard case .displayPower(let v)? = self.payload else { preconditionFailure() }
2233
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 36)
2234
+ }()
2235
+ case .brightness?: try {
2236
+ guard case .brightness(let v)? = self.payload else { preconditionFailure() }
2237
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 37)
2238
+ }()
2239
+ case .autoBrightness?: try {
2240
+ guard case .autoBrightness(let v)? = self.payload else { preconditionFailure() }
2241
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 38)
2242
+ }()
2243
+ case .autoBrightnessMult?: try {
2244
+ guard case .autoBrightnessMult(let v)? = self.payload else { preconditionFailure() }
2245
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 39)
2246
+ }()
2247
+ case .drawLine?: try {
2248
+ guard case .drawLine(let v)? = self.payload else { preconditionFailure() }
2249
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 40)
2250
+ }()
2251
+ case .drawRect?: try {
2252
+ guard case .drawRect(let v)? = self.payload else { preconditionFailure() }
2253
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 41)
2254
+ }()
2255
+ case .drawCircle?: try {
2256
+ guard case .drawCircle(let v)? = self.payload else { preconditionFailure() }
2257
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 42)
2258
+ }()
2259
+ case .commit?: try {
2260
+ guard case .commit(let v)? = self.payload else { preconditionFailure() }
2261
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 43)
2262
+ }()
2263
+ case .displayDistance?: try {
2264
+ guard case .displayDistance(let v)? = self.payload else { preconditionFailure() }
2265
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 44)
2266
+ }()
2267
+ case .displayHeight?: try {
2268
+ guard case .displayHeight(let v)? = self.payload else { preconditionFailure() }
2269
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 45)
2270
+ }()
2271
+ case .clearDisplay_p?: try {
2272
+ guard case .clearDisplay_p(let v)? = self.payload else { preconditionFailure() }
2273
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 46)
2274
+ }()
2275
+ case .imuEnabled?: try {
2276
+ guard case .imuEnabled(let v)? = self.payload else { preconditionFailure() }
2277
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 50)
2278
+ }()
2279
+ case .imuSingle?: try {
2280
+ guard case .imuSingle(let v)? = self.payload else { preconditionFailure() }
2281
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 51)
2282
+ }()
2283
+ case .imuStream?: try {
2284
+ guard case .imuStream(let v)? = self.payload else { preconditionFailure() }
2285
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 52)
2286
+ }()
2287
+ case .headGesture?: try {
2288
+ guard case .headGesture(let v)? = self.payload else { preconditionFailure() }
2289
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 53)
2290
+ }()
2291
+ case .restart?: try {
2292
+ guard case .restart(let v)? = self.payload else { preconditionFailure() }
2293
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 60)
2294
+ }()
2295
+ case .factoryReset?: try {
2296
+ guard case .factoryReset(let v)? = self.payload else { preconditionFailure() }
2297
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 61)
2298
+ }()
2299
+ case .canvasCreateComponent?: try {
2300
+ guard case .canvasCreateComponent(let v)? = self.payload else { preconditionFailure() }
2301
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 62)
2302
+ }()
2303
+ case .canvasUpdateText?: try {
2304
+ guard case .canvasUpdateText(let v)? = self.payload else { preconditionFailure() }
2305
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 63)
2306
+ }()
2307
+ case .canvasUpdateImage?: try {
2308
+ guard case .canvasUpdateImage(let v)? = self.payload else { preconditionFailure() }
2309
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 64)
2310
+ }()
2311
+ case .canvasDeleteComponent?: try {
2312
+ guard case .canvasDeleteComponent(let v)? = self.payload else { preconditionFailure() }
2313
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 65)
2314
+ }()
2315
+ case .canvasClear?: try {
2316
+ guard case .canvasClear(let v)? = self.payload else { preconditionFailure() }
2317
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 66)
2318
+ }()
2319
+ case nil: break
2320
+ }
2321
+ try unknownFields.traverse(visitor: &visitor)
2322
+ }
2323
+
2324
+ static func ==(lhs: Glassly_Ble_PhoneToGlasses, rhs: Glassly_Ble_PhoneToGlasses) -> Bool {
2325
+ if lhs.msgID != rhs.msgID {return false}
2326
+ if lhs.payload != rhs.payload {return false}
2327
+ if lhs.unknownFields != rhs.unknownFields {return false}
2328
+ return true
2329
+ }
2330
+ }
2331
+
2332
+ nonisolated extension Glassly_Ble_GlassesToPhone: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2333
+ static let protoMessageName: String = _protobuf_package + ".GlassesToPhone"
2334
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{4}\u{a}battery_status\0\u{3}charging_state\0\u{3}device_info\0\u{3}head_position\0\u{3}head_up_angle_set\0\u{4}\u{6}vad_event\0\u{4}\u{a}image_transfer_complete\0\u{3}canvas_result\0\u{4}\u{9}imu_data\0\u{3}button_event\0\u{3}head_gesture\0")
2335
+
2336
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2337
+ while let fieldNumber = try decoder.nextFieldNumber() {
2338
+ // The use of inline closures is to circumvent an issue where the compiler
2339
+ // allocates stack space for every case branch when no optimizations are
2340
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2341
+ switch fieldNumber {
2342
+ case 10: try {
2343
+ var v: Glassly_Ble_BatteryStatus?
2344
+ var hadOneofValue = false
2345
+ if let current = self.payload {
2346
+ hadOneofValue = true
2347
+ if case .batteryStatus(let m) = current {v = m}
2348
+ }
2349
+ try decoder.decodeSingularMessageField(value: &v)
2350
+ if let v = v {
2351
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2352
+ self.payload = .batteryStatus(v)
2353
+ }
2354
+ }()
2355
+ case 11: try {
2356
+ var v: Glassly_Ble_ChargingState?
2357
+ var hadOneofValue = false
2358
+ if let current = self.payload {
2359
+ hadOneofValue = true
2360
+ if case .chargingState(let m) = current {v = m}
2361
+ }
2362
+ try decoder.decodeSingularMessageField(value: &v)
2363
+ if let v = v {
2364
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2365
+ self.payload = .chargingState(v)
2366
+ }
2367
+ }()
2368
+ case 12: try {
2369
+ var v: Glassly_Ble_DeviceInfo?
2370
+ var hadOneofValue = false
2371
+ if let current = self.payload {
2372
+ hadOneofValue = true
2373
+ if case .deviceInfo(let m) = current {v = m}
2374
+ }
2375
+ try decoder.decodeSingularMessageField(value: &v)
2376
+ if let v = v {
2377
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2378
+ self.payload = .deviceInfo(v)
2379
+ }
2380
+ }()
2381
+ case 13: try {
2382
+ var v: Glassly_Ble_HeadPosition?
2383
+ var hadOneofValue = false
2384
+ if let current = self.payload {
2385
+ hadOneofValue = true
2386
+ if case .headPosition(let m) = current {v = m}
2387
+ }
2388
+ try decoder.decodeSingularMessageField(value: &v)
2389
+ if let v = v {
2390
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2391
+ self.payload = .headPosition(v)
2392
+ }
2393
+ }()
2394
+ case 14: try {
2395
+ var v: Glassly_Ble_HeadUpAngleResponse?
2396
+ var hadOneofValue = false
2397
+ if let current = self.payload {
2398
+ hadOneofValue = true
2399
+ if case .headUpAngleSet(let m) = current {v = m}
2400
+ }
2401
+ try decoder.decodeSingularMessageField(value: &v)
2402
+ if let v = v {
2403
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2404
+ self.payload = .headUpAngleSet(v)
2405
+ }
2406
+ }()
2407
+ case 20: try {
2408
+ var v: Glassly_Ble_VadEvent?
2409
+ var hadOneofValue = false
2410
+ if let current = self.payload {
2411
+ hadOneofValue = true
2412
+ if case .vadEvent(let m) = current {v = m}
2413
+ }
2414
+ try decoder.decodeSingularMessageField(value: &v)
2415
+ if let v = v {
2416
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2417
+ self.payload = .vadEvent(v)
2418
+ }
2419
+ }()
2420
+ case 30: try {
2421
+ var v: Glassly_Ble_ImageTransferComplete?
2422
+ var hadOneofValue = false
2423
+ if let current = self.payload {
2424
+ hadOneofValue = true
2425
+ if case .imageTransferComplete(let m) = current {v = m}
2426
+ }
2427
+ try decoder.decodeSingularMessageField(value: &v)
2428
+ if let v = v {
2429
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2430
+ self.payload = .imageTransferComplete(v)
2431
+ }
2432
+ }()
2433
+ case 31: try {
2434
+ var v: Glassly_Ble_CanvasResult?
2435
+ var hadOneofValue = false
2436
+ if let current = self.payload {
2437
+ hadOneofValue = true
2438
+ if case .canvasResult(let m) = current {v = m}
2439
+ }
2440
+ try decoder.decodeSingularMessageField(value: &v)
2441
+ if let v = v {
2442
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2443
+ self.payload = .canvasResult(v)
2444
+ }
2445
+ }()
2446
+ case 40: try {
2447
+ var v: Glassly_Ble_ImuData?
2448
+ var hadOneofValue = false
2449
+ if let current = self.payload {
2450
+ hadOneofValue = true
2451
+ if case .imuData(let m) = current {v = m}
2452
+ }
2453
+ try decoder.decodeSingularMessageField(value: &v)
2454
+ if let v = v {
2455
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2456
+ self.payload = .imuData(v)
2457
+ }
2458
+ }()
2459
+ case 41: try {
2460
+ var v: Glassly_Ble_ButtonEvent?
2461
+ var hadOneofValue = false
2462
+ if let current = self.payload {
2463
+ hadOneofValue = true
2464
+ if case .buttonEvent(let m) = current {v = m}
2465
+ }
2466
+ try decoder.decodeSingularMessageField(value: &v)
2467
+ if let v = v {
2468
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2469
+ self.payload = .buttonEvent(v)
2470
+ }
2471
+ }()
2472
+ case 42: try {
2473
+ var v: Glassly_Ble_HeadGesture?
2474
+ var hadOneofValue = false
2475
+ if let current = self.payload {
2476
+ hadOneofValue = true
2477
+ if case .headGesture(let m) = current {v = m}
2478
+ }
2479
+ try decoder.decodeSingularMessageField(value: &v)
2480
+ if let v = v {
2481
+ if hadOneofValue {try decoder.handleConflictingOneOf()}
2482
+ self.payload = .headGesture(v)
2483
+ }
2484
+ }()
2485
+ default: break
2486
+ }
2487
+ }
2488
+ }
2489
+
2490
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2491
+ // The use of inline closures is to circumvent an issue where the compiler
2492
+ // allocates stack space for every if/case branch local when no optimizations
2493
+ // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
2494
+ // https://github.com/apple/swift-protobuf/issues/1182
2495
+ switch self.payload {
2496
+ case .batteryStatus?: try {
2497
+ guard case .batteryStatus(let v)? = self.payload else { preconditionFailure() }
2498
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 10)
2499
+ }()
2500
+ case .chargingState?: try {
2501
+ guard case .chargingState(let v)? = self.payload else { preconditionFailure() }
2502
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 11)
2503
+ }()
2504
+ case .deviceInfo?: try {
2505
+ guard case .deviceInfo(let v)? = self.payload else { preconditionFailure() }
2506
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 12)
2507
+ }()
2508
+ case .headPosition?: try {
2509
+ guard case .headPosition(let v)? = self.payload else { preconditionFailure() }
2510
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 13)
2511
+ }()
2512
+ case .headUpAngleSet?: try {
2513
+ guard case .headUpAngleSet(let v)? = self.payload else { preconditionFailure() }
2514
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 14)
2515
+ }()
2516
+ case .vadEvent?: try {
2517
+ guard case .vadEvent(let v)? = self.payload else { preconditionFailure() }
2518
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 20)
2519
+ }()
2520
+ case .imageTransferComplete?: try {
2521
+ guard case .imageTransferComplete(let v)? = self.payload else { preconditionFailure() }
2522
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 30)
2523
+ }()
2524
+ case .canvasResult?: try {
2525
+ guard case .canvasResult(let v)? = self.payload else { preconditionFailure() }
2526
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 31)
2527
+ }()
2528
+ case .imuData?: try {
2529
+ guard case .imuData(let v)? = self.payload else { preconditionFailure() }
2530
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 40)
2531
+ }()
2532
+ case .buttonEvent?: try {
2533
+ guard case .buttonEvent(let v)? = self.payload else { preconditionFailure() }
2534
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 41)
2535
+ }()
2536
+ case .headGesture?: try {
2537
+ guard case .headGesture(let v)? = self.payload else { preconditionFailure() }
2538
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 42)
2539
+ }()
2540
+ case nil: break
2541
+ }
2542
+ try unknownFields.traverse(visitor: &visitor)
2543
+ }
2544
+
2545
+ static func ==(lhs: Glassly_Ble_GlassesToPhone, rhs: Glassly_Ble_GlassesToPhone) -> Bool {
2546
+ if lhs.payload != rhs.payload {return false}
2547
+ if lhs.unknownFields != rhs.unknownFields {return false}
2548
+ return true
2549
+ }
2550
+ }
2551
+
2552
+ nonisolated extension Glassly_Ble_DisconnectRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2553
+ static let protoMessageName: String = _protobuf_package + ".DisconnectRequest"
2554
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2555
+
2556
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2557
+ // Load everything into unknown fields
2558
+ while try decoder.nextFieldNumber() != nil {}
2559
+ }
2560
+
2561
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2562
+ try unknownFields.traverse(visitor: &visitor)
2563
+ }
2564
+
2565
+ static func ==(lhs: Glassly_Ble_DisconnectRequest, rhs: Glassly_Ble_DisconnectRequest) -> Bool {
2566
+ if lhs.unknownFields != rhs.unknownFields {return false}
2567
+ return true
2568
+ }
2569
+ }
2570
+
2571
+ nonisolated extension Glassly_Ble_BatteryStateRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2572
+ static let protoMessageName: String = _protobuf_package + ".BatteryStateRequest"
2573
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2574
+
2575
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2576
+ // Load everything into unknown fields
2577
+ while try decoder.nextFieldNumber() != nil {}
2578
+ }
2579
+
2580
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2581
+ try unknownFields.traverse(visitor: &visitor)
2582
+ }
2583
+
2584
+ static func ==(lhs: Glassly_Ble_BatteryStateRequest, rhs: Glassly_Ble_BatteryStateRequest) -> Bool {
2585
+ if lhs.unknownFields != rhs.unknownFields {return false}
2586
+ return true
2587
+ }
2588
+ }
2589
+
2590
+ nonisolated extension Glassly_Ble_BatteryStatus: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2591
+ static let protoMessageName: String = _protobuf_package + ".BatteryStatus"
2592
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}level\0\u{1}charging\0")
2593
+
2594
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2595
+ while let fieldNumber = try decoder.nextFieldNumber() {
2596
+ // The use of inline closures is to circumvent an issue where the compiler
2597
+ // allocates stack space for every case branch when no optimizations are
2598
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2599
+ switch fieldNumber {
2600
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.level) }()
2601
+ case 2: try { try decoder.decodeSingularBoolField(value: &self.charging) }()
2602
+ default: break
2603
+ }
2604
+ }
2605
+ }
2606
+
2607
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2608
+ if self.level != 0 {
2609
+ try visitor.visitSingularUInt32Field(value: self.level, fieldNumber: 1)
2610
+ }
2611
+ if self.charging != false {
2612
+ try visitor.visitSingularBoolField(value: self.charging, fieldNumber: 2)
2613
+ }
2614
+ try unknownFields.traverse(visitor: &visitor)
2615
+ }
2616
+
2617
+ static func ==(lhs: Glassly_Ble_BatteryStatus, rhs: Glassly_Ble_BatteryStatus) -> Bool {
2618
+ if lhs.level != rhs.level {return false}
2619
+ if lhs.charging != rhs.charging {return false}
2620
+ if lhs.unknownFields != rhs.unknownFields {return false}
2621
+ return true
2622
+ }
2623
+ }
2624
+
2625
+ nonisolated extension Glassly_Ble_ChargingState: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2626
+ static let protoMessageName: String = _protobuf_package + ".ChargingState"
2627
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}state\0")
2628
+
2629
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2630
+ while let fieldNumber = try decoder.nextFieldNumber() {
2631
+ // The use of inline closures is to circumvent an issue where the compiler
2632
+ // allocates stack space for every case branch when no optimizations are
2633
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2634
+ switch fieldNumber {
2635
+ case 1: try { try decoder.decodeSingularEnumField(value: &self.state) }()
2636
+ default: break
2637
+ }
2638
+ }
2639
+ }
2640
+
2641
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2642
+ if self.state != .notCharging {
2643
+ try visitor.visitSingularEnumField(value: self.state, fieldNumber: 1)
2644
+ }
2645
+ try unknownFields.traverse(visitor: &visitor)
2646
+ }
2647
+
2648
+ static func ==(lhs: Glassly_Ble_ChargingState, rhs: Glassly_Ble_ChargingState) -> Bool {
2649
+ if lhs.state != rhs.state {return false}
2650
+ if lhs.unknownFields != rhs.unknownFields {return false}
2651
+ return true
2652
+ }
2653
+ }
2654
+
2655
+ nonisolated extension Glassly_Ble_ChargingState.State: SwiftProtobuf._ProtoNameProviding {
2656
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0NOT_CHARGING\0\u{1}CHARGING\0")
2657
+ }
2658
+
2659
+ nonisolated extension Glassly_Ble_GlassesInfoRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2660
+ static let protoMessageName: String = _protobuf_package + ".GlassesInfoRequest"
2661
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2662
+
2663
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2664
+ // Load everything into unknown fields
2665
+ while try decoder.nextFieldNumber() != nil {}
2666
+ }
2667
+
2668
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2669
+ try unknownFields.traverse(visitor: &visitor)
2670
+ }
2671
+
2672
+ static func ==(lhs: Glassly_Ble_GlassesInfoRequest, rhs: Glassly_Ble_GlassesInfoRequest) -> Bool {
2673
+ if lhs.unknownFields != rhs.unknownFields {return false}
2674
+ return true
2675
+ }
2676
+ }
2677
+
2678
+ nonisolated extension Glassly_Ble_DeviceInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2679
+ static let protoMessageName: String = _protobuf_package + ".DeviceInfo"
2680
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}fw_version\0\u{3}hw_model\0\u{1}features\0")
2681
+
2682
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2683
+ while let fieldNumber = try decoder.nextFieldNumber() {
2684
+ // The use of inline closures is to circumvent an issue where the compiler
2685
+ // allocates stack space for every case branch when no optimizations are
2686
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2687
+ switch fieldNumber {
2688
+ case 1: try { try decoder.decodeSingularStringField(value: &self.fwVersion) }()
2689
+ case 2: try { try decoder.decodeSingularStringField(value: &self.hwModel) }()
2690
+ case 3: try { try decoder.decodeSingularMessageField(value: &self._features) }()
2691
+ default: break
2692
+ }
2693
+ }
2694
+ }
2695
+
2696
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2697
+ // The use of inline closures is to circumvent an issue where the compiler
2698
+ // allocates stack space for every if/case branch local when no optimizations
2699
+ // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
2700
+ // https://github.com/apple/swift-protobuf/issues/1182
2701
+ if !self.fwVersion.isEmpty {
2702
+ try visitor.visitSingularStringField(value: self.fwVersion, fieldNumber: 1)
2703
+ }
2704
+ if !self.hwModel.isEmpty {
2705
+ try visitor.visitSingularStringField(value: self.hwModel, fieldNumber: 2)
2706
+ }
2707
+ try { if let v = self._features {
2708
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 3)
2709
+ } }()
2710
+ try unknownFields.traverse(visitor: &visitor)
2711
+ }
2712
+
2713
+ static func ==(lhs: Glassly_Ble_DeviceInfo, rhs: Glassly_Ble_DeviceInfo) -> Bool {
2714
+ if lhs.fwVersion != rhs.fwVersion {return false}
2715
+ if lhs.hwModel != rhs.hwModel {return false}
2716
+ if lhs._features != rhs._features {return false}
2717
+ if lhs.unknownFields != rhs.unknownFields {return false}
2718
+ return true
2719
+ }
2720
+ }
2721
+
2722
+ nonisolated extension Glassly_Ble_DeviceFeatures: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2723
+ static let protoMessageName: String = _protobuf_package + ".DeviceFeatures"
2724
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}camera\0\u{1}display\0\u{3}audio_tx\0\u{3}audio_rx\0\u{1}imu\0\u{1}vad\0\u{3}mic_switching\0\u{3}image_chunk_buffer\0")
2725
+
2726
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2727
+ while let fieldNumber = try decoder.nextFieldNumber() {
2728
+ // The use of inline closures is to circumvent an issue where the compiler
2729
+ // allocates stack space for every case branch when no optimizations are
2730
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2731
+ switch fieldNumber {
2732
+ case 1: try { try decoder.decodeSingularBoolField(value: &self.camera) }()
2733
+ case 2: try { try decoder.decodeSingularBoolField(value: &self.display) }()
2734
+ case 3: try { try decoder.decodeSingularBoolField(value: &self.audioTx) }()
2735
+ case 4: try { try decoder.decodeSingularBoolField(value: &self.audioRx) }()
2736
+ case 5: try { try decoder.decodeSingularBoolField(value: &self.imu) }()
2737
+ case 6: try { try decoder.decodeSingularBoolField(value: &self.vad) }()
2738
+ case 7: try { try decoder.decodeSingularBoolField(value: &self.micSwitching) }()
2739
+ case 8: try { try decoder.decodeSingularUInt32Field(value: &self.imageChunkBuffer) }()
2740
+ default: break
2741
+ }
2742
+ }
2743
+ }
2744
+
2745
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2746
+ if self.camera != false {
2747
+ try visitor.visitSingularBoolField(value: self.camera, fieldNumber: 1)
2748
+ }
2749
+ if self.display != false {
2750
+ try visitor.visitSingularBoolField(value: self.display, fieldNumber: 2)
2751
+ }
2752
+ if self.audioTx != false {
2753
+ try visitor.visitSingularBoolField(value: self.audioTx, fieldNumber: 3)
2754
+ }
2755
+ if self.audioRx != false {
2756
+ try visitor.visitSingularBoolField(value: self.audioRx, fieldNumber: 4)
2757
+ }
2758
+ if self.imu != false {
2759
+ try visitor.visitSingularBoolField(value: self.imu, fieldNumber: 5)
2760
+ }
2761
+ if self.vad != false {
2762
+ try visitor.visitSingularBoolField(value: self.vad, fieldNumber: 6)
2763
+ }
2764
+ if self.micSwitching != false {
2765
+ try visitor.visitSingularBoolField(value: self.micSwitching, fieldNumber: 7)
2766
+ }
2767
+ if self.imageChunkBuffer != 0 {
2768
+ try visitor.visitSingularUInt32Field(value: self.imageChunkBuffer, fieldNumber: 8)
2769
+ }
2770
+ try unknownFields.traverse(visitor: &visitor)
2771
+ }
2772
+
2773
+ static func ==(lhs: Glassly_Ble_DeviceFeatures, rhs: Glassly_Ble_DeviceFeatures) -> Bool {
2774
+ if lhs.camera != rhs.camera {return false}
2775
+ if lhs.display != rhs.display {return false}
2776
+ if lhs.audioTx != rhs.audioTx {return false}
2777
+ if lhs.audioRx != rhs.audioRx {return false}
2778
+ if lhs.imu != rhs.imu {return false}
2779
+ if lhs.vad != rhs.vad {return false}
2780
+ if lhs.micSwitching != rhs.micSwitching {return false}
2781
+ if lhs.imageChunkBuffer != rhs.imageChunkBuffer {return false}
2782
+ if lhs.unknownFields != rhs.unknownFields {return false}
2783
+ return true
2784
+ }
2785
+ }
2786
+
2787
+ nonisolated extension Glassly_Ble_PairingModeRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2788
+ static let protoMessageName: String = _protobuf_package + ".PairingModeRequest"
2789
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2790
+
2791
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2792
+ // Load everything into unknown fields
2793
+ while try decoder.nextFieldNumber() != nil {}
2794
+ }
2795
+
2796
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2797
+ try unknownFields.traverse(visitor: &visitor)
2798
+ }
2799
+
2800
+ static func ==(lhs: Glassly_Ble_PairingModeRequest, rhs: Glassly_Ble_PairingModeRequest) -> Bool {
2801
+ if lhs.unknownFields != rhs.unknownFields {return false}
2802
+ return true
2803
+ }
2804
+ }
2805
+
2806
+ nonisolated extension Glassly_Ble_HeadPositionRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2807
+ static let protoMessageName: String = _protobuf_package + ".HeadPositionRequest"
2808
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
2809
+
2810
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2811
+ // Load everything into unknown fields
2812
+ while try decoder.nextFieldNumber() != nil {}
2813
+ }
2814
+
2815
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2816
+ try unknownFields.traverse(visitor: &visitor)
2817
+ }
2818
+
2819
+ static func ==(lhs: Glassly_Ble_HeadPositionRequest, rhs: Glassly_Ble_HeadPositionRequest) -> Bool {
2820
+ if lhs.unknownFields != rhs.unknownFields {return false}
2821
+ return true
2822
+ }
2823
+ }
2824
+
2825
+ nonisolated extension Glassly_Ble_HeadPosition: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2826
+ static let protoMessageName: String = _protobuf_package + ".HeadPosition"
2827
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}angle\0")
2828
+
2829
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2830
+ while let fieldNumber = try decoder.nextFieldNumber() {
2831
+ // The use of inline closures is to circumvent an issue where the compiler
2832
+ // allocates stack space for every case branch when no optimizations are
2833
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2834
+ switch fieldNumber {
2835
+ case 1: try { try decoder.decodeSingularInt32Field(value: &self.angle) }()
2836
+ default: break
2837
+ }
2838
+ }
2839
+ }
2840
+
2841
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2842
+ if self.angle != 0 {
2843
+ try visitor.visitSingularInt32Field(value: self.angle, fieldNumber: 1)
2844
+ }
2845
+ try unknownFields.traverse(visitor: &visitor)
2846
+ }
2847
+
2848
+ static func ==(lhs: Glassly_Ble_HeadPosition, rhs: Glassly_Ble_HeadPosition) -> Bool {
2849
+ if lhs.angle != rhs.angle {return false}
2850
+ if lhs.unknownFields != rhs.unknownFields {return false}
2851
+ return true
2852
+ }
2853
+ }
2854
+
2855
+ nonisolated extension Glassly_Ble_HeadUpAngleConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2856
+ static let protoMessageName: String = _protobuf_package + ".HeadUpAngleConfig"
2857
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}angle\0")
2858
+
2859
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2860
+ while let fieldNumber = try decoder.nextFieldNumber() {
2861
+ // The use of inline closures is to circumvent an issue where the compiler
2862
+ // allocates stack space for every case branch when no optimizations are
2863
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2864
+ switch fieldNumber {
2865
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.angle) }()
2866
+ default: break
2867
+ }
2868
+ }
2869
+ }
2870
+
2871
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2872
+ if self.angle != 0 {
2873
+ try visitor.visitSingularUInt32Field(value: self.angle, fieldNumber: 1)
2874
+ }
2875
+ try unknownFields.traverse(visitor: &visitor)
2876
+ }
2877
+
2878
+ static func ==(lhs: Glassly_Ble_HeadUpAngleConfig, rhs: Glassly_Ble_HeadUpAngleConfig) -> Bool {
2879
+ if lhs.angle != rhs.angle {return false}
2880
+ if lhs.unknownFields != rhs.unknownFields {return false}
2881
+ return true
2882
+ }
2883
+ }
2884
+
2885
+ nonisolated extension Glassly_Ble_HeadUpAngleResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2886
+ static let protoMessageName: String = _protobuf_package + ".HeadUpAngleResponse"
2887
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}success\0")
2888
+
2889
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2890
+ while let fieldNumber = try decoder.nextFieldNumber() {
2891
+ // The use of inline closures is to circumvent an issue where the compiler
2892
+ // allocates stack space for every case branch when no optimizations are
2893
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2894
+ switch fieldNumber {
2895
+ case 1: try { try decoder.decodeSingularBoolField(value: &self.success) }()
2896
+ default: break
2897
+ }
2898
+ }
2899
+ }
2900
+
2901
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2902
+ if self.success != false {
2903
+ try visitor.visitSingularBoolField(value: self.success, fieldNumber: 1)
2904
+ }
2905
+ try unknownFields.traverse(visitor: &visitor)
2906
+ }
2907
+
2908
+ static func ==(lhs: Glassly_Ble_HeadUpAngleResponse, rhs: Glassly_Ble_HeadUpAngleResponse) -> Bool {
2909
+ if lhs.success != rhs.success {return false}
2910
+ if lhs.unknownFields != rhs.unknownFields {return false}
2911
+ return true
2912
+ }
2913
+ }
2914
+
2915
+ nonisolated extension Glassly_Ble_MicStateConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2916
+ static let protoMessageName: String = _protobuf_package + ".MicStateConfig"
2917
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}enabled\0")
2918
+
2919
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2920
+ while let fieldNumber = try decoder.nextFieldNumber() {
2921
+ // The use of inline closures is to circumvent an issue where the compiler
2922
+ // allocates stack space for every case branch when no optimizations are
2923
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2924
+ switch fieldNumber {
2925
+ case 1: try { try decoder.decodeSingularBoolField(value: &self.enabled) }()
2926
+ default: break
2927
+ }
2928
+ }
2929
+ }
2930
+
2931
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2932
+ if self.enabled != false {
2933
+ try visitor.visitSingularBoolField(value: self.enabled, fieldNumber: 1)
2934
+ }
2935
+ try unknownFields.traverse(visitor: &visitor)
2936
+ }
2937
+
2938
+ static func ==(lhs: Glassly_Ble_MicStateConfig, rhs: Glassly_Ble_MicStateConfig) -> Bool {
2939
+ if lhs.enabled != rhs.enabled {return false}
2940
+ if lhs.unknownFields != rhs.unknownFields {return false}
2941
+ return true
2942
+ }
2943
+ }
2944
+
2945
+ nonisolated extension Glassly_Ble_VadEnabledConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2946
+ static let protoMessageName: String = _protobuf_package + ".VadEnabledConfig"
2947
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}enabled\0")
2948
+
2949
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2950
+ while let fieldNumber = try decoder.nextFieldNumber() {
2951
+ // The use of inline closures is to circumvent an issue where the compiler
2952
+ // allocates stack space for every case branch when no optimizations are
2953
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2954
+ switch fieldNumber {
2955
+ case 1: try { try decoder.decodeSingularBoolField(value: &self.enabled) }()
2956
+ default: break
2957
+ }
2958
+ }
2959
+ }
2960
+
2961
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2962
+ if self.enabled != false {
2963
+ try visitor.visitSingularBoolField(value: self.enabled, fieldNumber: 1)
2964
+ }
2965
+ try unknownFields.traverse(visitor: &visitor)
2966
+ }
2967
+
2968
+ static func ==(lhs: Glassly_Ble_VadEnabledConfig, rhs: Glassly_Ble_VadEnabledConfig) -> Bool {
2969
+ if lhs.enabled != rhs.enabled {return false}
2970
+ if lhs.unknownFields != rhs.unknownFields {return false}
2971
+ return true
2972
+ }
2973
+ }
2974
+
2975
+ nonisolated extension Glassly_Ble_VadConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
2976
+ static let protoMessageName: String = _protobuf_package + ".VadConfig"
2977
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}sensitivity\0")
2978
+
2979
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
2980
+ while let fieldNumber = try decoder.nextFieldNumber() {
2981
+ // The use of inline closures is to circumvent an issue where the compiler
2982
+ // allocates stack space for every case branch when no optimizations are
2983
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
2984
+ switch fieldNumber {
2985
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.sensitivity) }()
2986
+ default: break
2987
+ }
2988
+ }
2989
+ }
2990
+
2991
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
2992
+ if self.sensitivity != 0 {
2993
+ try visitor.visitSingularUInt32Field(value: self.sensitivity, fieldNumber: 1)
2994
+ }
2995
+ try unknownFields.traverse(visitor: &visitor)
2996
+ }
2997
+
2998
+ static func ==(lhs: Glassly_Ble_VadConfig, rhs: Glassly_Ble_VadConfig) -> Bool {
2999
+ if lhs.sensitivity != rhs.sensitivity {return false}
3000
+ if lhs.unknownFields != rhs.unknownFields {return false}
3001
+ return true
3002
+ }
3003
+ }
3004
+
3005
+ nonisolated extension Glassly_Ble_VadEvent: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3006
+ static let protoMessageName: String = _protobuf_package + ".VadEvent"
3007
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}state\0")
3008
+
3009
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3010
+ while let fieldNumber = try decoder.nextFieldNumber() {
3011
+ // The use of inline closures is to circumvent an issue where the compiler
3012
+ // allocates stack space for every case branch when no optimizations are
3013
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3014
+ switch fieldNumber {
3015
+ case 1: try { try decoder.decodeSingularEnumField(value: &self.state) }()
3016
+ default: break
3017
+ }
3018
+ }
3019
+ }
3020
+
3021
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3022
+ if self.state != .inactive {
3023
+ try visitor.visitSingularEnumField(value: self.state, fieldNumber: 1)
3024
+ }
3025
+ try unknownFields.traverse(visitor: &visitor)
3026
+ }
3027
+
3028
+ static func ==(lhs: Glassly_Ble_VadEvent, rhs: Glassly_Ble_VadEvent) -> Bool {
3029
+ if lhs.state != rhs.state {return false}
3030
+ if lhs.unknownFields != rhs.unknownFields {return false}
3031
+ return true
3032
+ }
3033
+ }
3034
+
3035
+ nonisolated extension Glassly_Ble_VadEvent.State: SwiftProtobuf._ProtoNameProviding {
3036
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0INACTIVE\0\u{1}ACTIVE\0")
3037
+ }
3038
+
3039
+ nonisolated extension Glassly_Ble_DisplayText: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3040
+ static let protoMessageName: String = _protobuf_package + ".DisplayText"
3041
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}text\0\u{1}color\0\u{3}font_code\0\u{1}x\0\u{1}y\0\u{1}size\0")
3042
+
3043
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3044
+ while let fieldNumber = try decoder.nextFieldNumber() {
3045
+ // The use of inline closures is to circumvent an issue where the compiler
3046
+ // allocates stack space for every case branch when no optimizations are
3047
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3048
+ switch fieldNumber {
3049
+ case 1: try { try decoder.decodeSingularStringField(value: &self.text) }()
3050
+ case 2: try { try decoder.decodeSingularUInt32Field(value: &self.color) }()
3051
+ case 3: try { try decoder.decodeSingularUInt32Field(value: &self.fontCode) }()
3052
+ case 4: try { try decoder.decodeSingularUInt32Field(value: &self.x) }()
3053
+ case 5: try { try decoder.decodeSingularUInt32Field(value: &self.y) }()
3054
+ case 6: try { try decoder.decodeSingularUInt32Field(value: &self.size) }()
3055
+ default: break
3056
+ }
3057
+ }
3058
+ }
3059
+
3060
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3061
+ if !self.text.isEmpty {
3062
+ try visitor.visitSingularStringField(value: self.text, fieldNumber: 1)
3063
+ }
3064
+ if self.color != 0 {
3065
+ try visitor.visitSingularUInt32Field(value: self.color, fieldNumber: 2)
3066
+ }
3067
+ if self.fontCode != 0 {
3068
+ try visitor.visitSingularUInt32Field(value: self.fontCode, fieldNumber: 3)
3069
+ }
3070
+ if self.x != 0 {
3071
+ try visitor.visitSingularUInt32Field(value: self.x, fieldNumber: 4)
3072
+ }
3073
+ if self.y != 0 {
3074
+ try visitor.visitSingularUInt32Field(value: self.y, fieldNumber: 5)
3075
+ }
3076
+ if self.size != 0 {
3077
+ try visitor.visitSingularUInt32Field(value: self.size, fieldNumber: 6)
3078
+ }
3079
+ try unknownFields.traverse(visitor: &visitor)
3080
+ }
3081
+
3082
+ static func ==(lhs: Glassly_Ble_DisplayText, rhs: Glassly_Ble_DisplayText) -> Bool {
3083
+ if lhs.text != rhs.text {return false}
3084
+ if lhs.color != rhs.color {return false}
3085
+ if lhs.fontCode != rhs.fontCode {return false}
3086
+ if lhs.x != rhs.x {return false}
3087
+ if lhs.y != rhs.y {return false}
3088
+ if lhs.size != rhs.size {return false}
3089
+ if lhs.unknownFields != rhs.unknownFields {return false}
3090
+ return true
3091
+ }
3092
+ }
3093
+
3094
+ nonisolated extension Glassly_Ble_DisplayImage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3095
+ static let protoMessageName: String = _protobuf_package + ".DisplayImage"
3096
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}stream_id\0\u{1}x\0\u{1}y\0\u{1}width\0\u{1}height\0\u{1}encoding\0\u{3}total_chunks\0")
3097
+
3098
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3099
+ while let fieldNumber = try decoder.nextFieldNumber() {
3100
+ // The use of inline closures is to circumvent an issue where the compiler
3101
+ // allocates stack space for every case branch when no optimizations are
3102
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3103
+ switch fieldNumber {
3104
+ case 1: try { try decoder.decodeSingularStringField(value: &self.streamID) }()
3105
+ case 2: try { try decoder.decodeSingularUInt32Field(value: &self.x) }()
3106
+ case 3: try { try decoder.decodeSingularUInt32Field(value: &self.y) }()
3107
+ case 4: try { try decoder.decodeSingularUInt32Field(value: &self.width) }()
3108
+ case 5: try { try decoder.decodeSingularUInt32Field(value: &self.height) }()
3109
+ case 6: try { try decoder.decodeSingularStringField(value: &self.encoding) }()
3110
+ case 7: try { try decoder.decodeSingularUInt32Field(value: &self.totalChunks) }()
3111
+ default: break
3112
+ }
3113
+ }
3114
+ }
3115
+
3116
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3117
+ if !self.streamID.isEmpty {
3118
+ try visitor.visitSingularStringField(value: self.streamID, fieldNumber: 1)
3119
+ }
3120
+ if self.x != 0 {
3121
+ try visitor.visitSingularUInt32Field(value: self.x, fieldNumber: 2)
3122
+ }
3123
+ if self.y != 0 {
3124
+ try visitor.visitSingularUInt32Field(value: self.y, fieldNumber: 3)
3125
+ }
3126
+ if self.width != 0 {
3127
+ try visitor.visitSingularUInt32Field(value: self.width, fieldNumber: 4)
3128
+ }
3129
+ if self.height != 0 {
3130
+ try visitor.visitSingularUInt32Field(value: self.height, fieldNumber: 5)
3131
+ }
3132
+ if !self.encoding.isEmpty {
3133
+ try visitor.visitSingularStringField(value: self.encoding, fieldNumber: 6)
3134
+ }
3135
+ if self.totalChunks != 0 {
3136
+ try visitor.visitSingularUInt32Field(value: self.totalChunks, fieldNumber: 7)
3137
+ }
3138
+ try unknownFields.traverse(visitor: &visitor)
3139
+ }
3140
+
3141
+ static func ==(lhs: Glassly_Ble_DisplayImage, rhs: Glassly_Ble_DisplayImage) -> Bool {
3142
+ if lhs.streamID != rhs.streamID {return false}
3143
+ if lhs.x != rhs.x {return false}
3144
+ if lhs.y != rhs.y {return false}
3145
+ if lhs.width != rhs.width {return false}
3146
+ if lhs.height != rhs.height {return false}
3147
+ if lhs.encoding != rhs.encoding {return false}
3148
+ if lhs.totalChunks != rhs.totalChunks {return false}
3149
+ if lhs.unknownFields != rhs.unknownFields {return false}
3150
+ return true
3151
+ }
3152
+ }
3153
+
3154
+ nonisolated extension Glassly_Ble_PreloadImage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3155
+ static let protoMessageName: String = _protobuf_package + ".PreloadImage"
3156
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}stream_id\0\u{3}image_id\0\u{1}width\0\u{1}height\0\u{1}encoding\0\u{3}total_chunks\0")
3157
+
3158
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3159
+ while let fieldNumber = try decoder.nextFieldNumber() {
3160
+ // The use of inline closures is to circumvent an issue where the compiler
3161
+ // allocates stack space for every case branch when no optimizations are
3162
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3163
+ switch fieldNumber {
3164
+ case 1: try { try decoder.decodeSingularStringField(value: &self.streamID) }()
3165
+ case 2: try { try decoder.decodeSingularUInt32Field(value: &self.imageID) }()
3166
+ case 3: try { try decoder.decodeSingularUInt32Field(value: &self.width) }()
3167
+ case 4: try { try decoder.decodeSingularUInt32Field(value: &self.height) }()
3168
+ case 5: try { try decoder.decodeSingularStringField(value: &self.encoding) }()
3169
+ case 6: try { try decoder.decodeSingularUInt32Field(value: &self.totalChunks) }()
3170
+ default: break
3171
+ }
3172
+ }
3173
+ }
3174
+
3175
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3176
+ if !self.streamID.isEmpty {
3177
+ try visitor.visitSingularStringField(value: self.streamID, fieldNumber: 1)
3178
+ }
3179
+ if self.imageID != 0 {
3180
+ try visitor.visitSingularUInt32Field(value: self.imageID, fieldNumber: 2)
3181
+ }
3182
+ if self.width != 0 {
3183
+ try visitor.visitSingularUInt32Field(value: self.width, fieldNumber: 3)
3184
+ }
3185
+ if self.height != 0 {
3186
+ try visitor.visitSingularUInt32Field(value: self.height, fieldNumber: 4)
3187
+ }
3188
+ if !self.encoding.isEmpty {
3189
+ try visitor.visitSingularStringField(value: self.encoding, fieldNumber: 5)
3190
+ }
3191
+ if self.totalChunks != 0 {
3192
+ try visitor.visitSingularUInt32Field(value: self.totalChunks, fieldNumber: 6)
3193
+ }
3194
+ try unknownFields.traverse(visitor: &visitor)
3195
+ }
3196
+
3197
+ static func ==(lhs: Glassly_Ble_PreloadImage, rhs: Glassly_Ble_PreloadImage) -> Bool {
3198
+ if lhs.streamID != rhs.streamID {return false}
3199
+ if lhs.imageID != rhs.imageID {return false}
3200
+ if lhs.width != rhs.width {return false}
3201
+ if lhs.height != rhs.height {return false}
3202
+ if lhs.encoding != rhs.encoding {return false}
3203
+ if lhs.totalChunks != rhs.totalChunks {return false}
3204
+ if lhs.unknownFields != rhs.unknownFields {return false}
3205
+ return true
3206
+ }
3207
+ }
3208
+
3209
+ nonisolated extension Glassly_Ble_DisplayCachedImage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3210
+ static let protoMessageName: String = _protobuf_package + ".DisplayCachedImage"
3211
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}image_id\0\u{1}x\0\u{1}y\0\u{1}width\0\u{1}height\0")
3212
+
3213
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3214
+ while let fieldNumber = try decoder.nextFieldNumber() {
3215
+ // The use of inline closures is to circumvent an issue where the compiler
3216
+ // allocates stack space for every case branch when no optimizations are
3217
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3218
+ switch fieldNumber {
3219
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.imageID) }()
3220
+ case 2: try { try decoder.decodeSingularUInt32Field(value: &self.x) }()
3221
+ case 3: try { try decoder.decodeSingularUInt32Field(value: &self.y) }()
3222
+ case 4: try { try decoder.decodeSingularUInt32Field(value: &self.width) }()
3223
+ case 5: try { try decoder.decodeSingularUInt32Field(value: &self.height) }()
3224
+ default: break
3225
+ }
3226
+ }
3227
+ }
3228
+
3229
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3230
+ if self.imageID != 0 {
3231
+ try visitor.visitSingularUInt32Field(value: self.imageID, fieldNumber: 1)
3232
+ }
3233
+ if self.x != 0 {
3234
+ try visitor.visitSingularUInt32Field(value: self.x, fieldNumber: 2)
3235
+ }
3236
+ if self.y != 0 {
3237
+ try visitor.visitSingularUInt32Field(value: self.y, fieldNumber: 3)
3238
+ }
3239
+ if self.width != 0 {
3240
+ try visitor.visitSingularUInt32Field(value: self.width, fieldNumber: 4)
3241
+ }
3242
+ if self.height != 0 {
3243
+ try visitor.visitSingularUInt32Field(value: self.height, fieldNumber: 5)
3244
+ }
3245
+ try unknownFields.traverse(visitor: &visitor)
3246
+ }
3247
+
3248
+ static func ==(lhs: Glassly_Ble_DisplayCachedImage, rhs: Glassly_Ble_DisplayCachedImage) -> Bool {
3249
+ if lhs.imageID != rhs.imageID {return false}
3250
+ if lhs.x != rhs.x {return false}
3251
+ if lhs.y != rhs.y {return false}
3252
+ if lhs.width != rhs.width {return false}
3253
+ if lhs.height != rhs.height {return false}
3254
+ if lhs.unknownFields != rhs.unknownFields {return false}
3255
+ return true
3256
+ }
3257
+ }
3258
+
3259
+ nonisolated extension Glassly_Ble_ClearCachedImage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3260
+ static let protoMessageName: String = _protobuf_package + ".ClearCachedImage"
3261
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}image_id\0")
3262
+
3263
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3264
+ while let fieldNumber = try decoder.nextFieldNumber() {
3265
+ // The use of inline closures is to circumvent an issue where the compiler
3266
+ // allocates stack space for every case branch when no optimizations are
3267
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3268
+ switch fieldNumber {
3269
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.imageID) }()
3270
+ default: break
3271
+ }
3272
+ }
3273
+ }
3274
+
3275
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3276
+ if self.imageID != 0 {
3277
+ try visitor.visitSingularUInt32Field(value: self.imageID, fieldNumber: 1)
3278
+ }
3279
+ try unknownFields.traverse(visitor: &visitor)
3280
+ }
3281
+
3282
+ static func ==(lhs: Glassly_Ble_ClearCachedImage, rhs: Glassly_Ble_ClearCachedImage) -> Bool {
3283
+ if lhs.imageID != rhs.imageID {return false}
3284
+ if lhs.unknownFields != rhs.unknownFields {return false}
3285
+ return true
3286
+ }
3287
+ }
3288
+
3289
+ nonisolated extension Glassly_Ble_DisplayScrollingText: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3290
+ static let protoMessageName: String = _protobuf_package + ".DisplayScrollingText"
3291
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}text\0\u{1}color\0\u{3}font_code\0\u{1}x\0\u{1}y\0\u{1}width\0\u{1}height\0\u{1}align\0\u{3}line_spacing\0\u{1}speed\0\u{1}size\0\u{1}loop\0\u{3}pause_ms\0")
3292
+
3293
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3294
+ while let fieldNumber = try decoder.nextFieldNumber() {
3295
+ // The use of inline closures is to circumvent an issue where the compiler
3296
+ // allocates stack space for every case branch when no optimizations are
3297
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3298
+ switch fieldNumber {
3299
+ case 1: try { try decoder.decodeSingularStringField(value: &self.text) }()
3300
+ case 2: try { try decoder.decodeSingularUInt32Field(value: &self.color) }()
3301
+ case 3: try { try decoder.decodeSingularUInt32Field(value: &self.fontCode) }()
3302
+ case 4: try { try decoder.decodeSingularUInt32Field(value: &self.x) }()
3303
+ case 5: try { try decoder.decodeSingularUInt32Field(value: &self.y) }()
3304
+ case 6: try { try decoder.decodeSingularUInt32Field(value: &self.width) }()
3305
+ case 7: try { try decoder.decodeSingularUInt32Field(value: &self.height) }()
3306
+ case 8: try { try decoder.decodeSingularEnumField(value: &self.align) }()
3307
+ case 9: try { try decoder.decodeSingularUInt32Field(value: &self.lineSpacing) }()
3308
+ case 10: try { try decoder.decodeSingularUInt32Field(value: &self.speed) }()
3309
+ case 11: try { try decoder.decodeSingularUInt32Field(value: &self.size) }()
3310
+ case 12: try { try decoder.decodeSingularBoolField(value: &self.loop) }()
3311
+ case 13: try { try decoder.decodeSingularUInt32Field(value: &self.pauseMs) }()
3312
+ default: break
3313
+ }
3314
+ }
3315
+ }
3316
+
3317
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3318
+ if !self.text.isEmpty {
3319
+ try visitor.visitSingularStringField(value: self.text, fieldNumber: 1)
3320
+ }
3321
+ if self.color != 0 {
3322
+ try visitor.visitSingularUInt32Field(value: self.color, fieldNumber: 2)
3323
+ }
3324
+ if self.fontCode != 0 {
3325
+ try visitor.visitSingularUInt32Field(value: self.fontCode, fieldNumber: 3)
3326
+ }
3327
+ if self.x != 0 {
3328
+ try visitor.visitSingularUInt32Field(value: self.x, fieldNumber: 4)
3329
+ }
3330
+ if self.y != 0 {
3331
+ try visitor.visitSingularUInt32Field(value: self.y, fieldNumber: 5)
3332
+ }
3333
+ if self.width != 0 {
3334
+ try visitor.visitSingularUInt32Field(value: self.width, fieldNumber: 6)
3335
+ }
3336
+ if self.height != 0 {
3337
+ try visitor.visitSingularUInt32Field(value: self.height, fieldNumber: 7)
3338
+ }
3339
+ if self.align != .left {
3340
+ try visitor.visitSingularEnumField(value: self.align, fieldNumber: 8)
3341
+ }
3342
+ if self.lineSpacing != 0 {
3343
+ try visitor.visitSingularUInt32Field(value: self.lineSpacing, fieldNumber: 9)
3344
+ }
3345
+ if self.speed != 0 {
3346
+ try visitor.visitSingularUInt32Field(value: self.speed, fieldNumber: 10)
3347
+ }
3348
+ if self.size != 0 {
3349
+ try visitor.visitSingularUInt32Field(value: self.size, fieldNumber: 11)
3350
+ }
3351
+ if self.loop != false {
3352
+ try visitor.visitSingularBoolField(value: self.loop, fieldNumber: 12)
3353
+ }
3354
+ if self.pauseMs != 0 {
3355
+ try visitor.visitSingularUInt32Field(value: self.pauseMs, fieldNumber: 13)
3356
+ }
3357
+ try unknownFields.traverse(visitor: &visitor)
3358
+ }
3359
+
3360
+ static func ==(lhs: Glassly_Ble_DisplayScrollingText, rhs: Glassly_Ble_DisplayScrollingText) -> Bool {
3361
+ if lhs.text != rhs.text {return false}
3362
+ if lhs.color != rhs.color {return false}
3363
+ if lhs.fontCode != rhs.fontCode {return false}
3364
+ if lhs.x != rhs.x {return false}
3365
+ if lhs.y != rhs.y {return false}
3366
+ if lhs.width != rhs.width {return false}
3367
+ if lhs.height != rhs.height {return false}
3368
+ if lhs.align != rhs.align {return false}
3369
+ if lhs.lineSpacing != rhs.lineSpacing {return false}
3370
+ if lhs.speed != rhs.speed {return false}
3371
+ if lhs.size != rhs.size {return false}
3372
+ if lhs.loop != rhs.loop {return false}
3373
+ if lhs.pauseMs != rhs.pauseMs {return false}
3374
+ if lhs.unknownFields != rhs.unknownFields {return false}
3375
+ return true
3376
+ }
3377
+ }
3378
+
3379
+ nonisolated extension Glassly_Ble_DisplayScrollingText.Alignment: SwiftProtobuf._ProtoNameProviding {
3380
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0LEFT\0\u{1}CENTER\0\u{1}RIGHT\0")
3381
+ }
3382
+
3383
+ nonisolated extension Glassly_Ble_ClearDisplay: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3384
+ static let protoMessageName: String = _protobuf_package + ".ClearDisplay"
3385
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
3386
+
3387
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3388
+ // Load everything into unknown fields
3389
+ while try decoder.nextFieldNumber() != nil {}
3390
+ }
3391
+
3392
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3393
+ try unknownFields.traverse(visitor: &visitor)
3394
+ }
3395
+
3396
+ static func ==(lhs: Glassly_Ble_ClearDisplay, rhs: Glassly_Ble_ClearDisplay) -> Bool {
3397
+ if lhs.unknownFields != rhs.unknownFields {return false}
3398
+ return true
3399
+ }
3400
+ }
3401
+
3402
+ nonisolated extension Glassly_Ble_DisplayPowerConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3403
+ static let protoMessageName: String = _protobuf_package + ".DisplayPowerConfig"
3404
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}on\0")
3405
+
3406
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3407
+ while let fieldNumber = try decoder.nextFieldNumber() {
3408
+ // The use of inline closures is to circumvent an issue where the compiler
3409
+ // allocates stack space for every case branch when no optimizations are
3410
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3411
+ switch fieldNumber {
3412
+ case 1: try { try decoder.decodeSingularBoolField(value: &self.on) }()
3413
+ default: break
3414
+ }
3415
+ }
3416
+ }
3417
+
3418
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3419
+ if self.on != false {
3420
+ try visitor.visitSingularBoolField(value: self.on, fieldNumber: 1)
3421
+ }
3422
+ try unknownFields.traverse(visitor: &visitor)
3423
+ }
3424
+
3425
+ static func ==(lhs: Glassly_Ble_DisplayPowerConfig, rhs: Glassly_Ble_DisplayPowerConfig) -> Bool {
3426
+ if lhs.on != rhs.on {return false}
3427
+ if lhs.unknownFields != rhs.unknownFields {return false}
3428
+ return true
3429
+ }
3430
+ }
3431
+
3432
+ nonisolated extension Glassly_Ble_BrightnessConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3433
+ static let protoMessageName: String = _protobuf_package + ".BrightnessConfig"
3434
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}value\0")
3435
+
3436
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3437
+ while let fieldNumber = try decoder.nextFieldNumber() {
3438
+ // The use of inline closures is to circumvent an issue where the compiler
3439
+ // allocates stack space for every case branch when no optimizations are
3440
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3441
+ switch fieldNumber {
3442
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.value) }()
3443
+ default: break
3444
+ }
3445
+ }
3446
+ }
3447
+
3448
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3449
+ if self.value != 0 {
3450
+ try visitor.visitSingularUInt32Field(value: self.value, fieldNumber: 1)
3451
+ }
3452
+ try unknownFields.traverse(visitor: &visitor)
3453
+ }
3454
+
3455
+ static func ==(lhs: Glassly_Ble_BrightnessConfig, rhs: Glassly_Ble_BrightnessConfig) -> Bool {
3456
+ if lhs.value != rhs.value {return false}
3457
+ if lhs.unknownFields != rhs.unknownFields {return false}
3458
+ return true
3459
+ }
3460
+ }
3461
+
3462
+ nonisolated extension Glassly_Ble_AutoBrightnessConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3463
+ static let protoMessageName: String = _protobuf_package + ".AutoBrightnessConfig"
3464
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}enabled\0")
3465
+
3466
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3467
+ while let fieldNumber = try decoder.nextFieldNumber() {
3468
+ // The use of inline closures is to circumvent an issue where the compiler
3469
+ // allocates stack space for every case branch when no optimizations are
3470
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3471
+ switch fieldNumber {
3472
+ case 1: try { try decoder.decodeSingularBoolField(value: &self.enabled) }()
3473
+ default: break
3474
+ }
3475
+ }
3476
+ }
3477
+
3478
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3479
+ if self.enabled != false {
3480
+ try visitor.visitSingularBoolField(value: self.enabled, fieldNumber: 1)
3481
+ }
3482
+ try unknownFields.traverse(visitor: &visitor)
3483
+ }
3484
+
3485
+ static func ==(lhs: Glassly_Ble_AutoBrightnessConfig, rhs: Glassly_Ble_AutoBrightnessConfig) -> Bool {
3486
+ if lhs.enabled != rhs.enabled {return false}
3487
+ if lhs.unknownFields != rhs.unknownFields {return false}
3488
+ return true
3489
+ }
3490
+ }
3491
+
3492
+ nonisolated extension Glassly_Ble_AutoBrightnessMultiplier: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3493
+ static let protoMessageName: String = _protobuf_package + ".AutoBrightnessMultiplier"
3494
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}multiplier\0")
3495
+
3496
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3497
+ while let fieldNumber = try decoder.nextFieldNumber() {
3498
+ // The use of inline closures is to circumvent an issue where the compiler
3499
+ // allocates stack space for every case branch when no optimizations are
3500
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3501
+ switch fieldNumber {
3502
+ case 1: try { try decoder.decodeSingularFloatField(value: &self.multiplier) }()
3503
+ default: break
3504
+ }
3505
+ }
3506
+ }
3507
+
3508
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3509
+ if self.multiplier.bitPattern != 0 {
3510
+ try visitor.visitSingularFloatField(value: self.multiplier, fieldNumber: 1)
3511
+ }
3512
+ try unknownFields.traverse(visitor: &visitor)
3513
+ }
3514
+
3515
+ static func ==(lhs: Glassly_Ble_AutoBrightnessMultiplier, rhs: Glassly_Ble_AutoBrightnessMultiplier) -> Bool {
3516
+ if lhs.multiplier != rhs.multiplier {return false}
3517
+ if lhs.unknownFields != rhs.unknownFields {return false}
3518
+ return true
3519
+ }
3520
+ }
3521
+
3522
+ nonisolated extension Glassly_Ble_DrawLine: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3523
+ static let protoMessageName: String = _protobuf_package + ".DrawLine"
3524
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}color\0\u{1}stroke\0\u{1}x1\0\u{1}y1\0\u{1}x2\0\u{1}y2\0")
3525
+
3526
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3527
+ while let fieldNumber = try decoder.nextFieldNumber() {
3528
+ // The use of inline closures is to circumvent an issue where the compiler
3529
+ // allocates stack space for every case branch when no optimizations are
3530
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3531
+ switch fieldNumber {
3532
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.color) }()
3533
+ case 2: try { try decoder.decodeSingularUInt32Field(value: &self.stroke) }()
3534
+ case 3: try { try decoder.decodeSingularUInt32Field(value: &self.x1) }()
3535
+ case 4: try { try decoder.decodeSingularUInt32Field(value: &self.y1) }()
3536
+ case 5: try { try decoder.decodeSingularUInt32Field(value: &self.x2) }()
3537
+ case 6: try { try decoder.decodeSingularUInt32Field(value: &self.y2) }()
3538
+ default: break
3539
+ }
3540
+ }
3541
+ }
3542
+
3543
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3544
+ if self.color != 0 {
3545
+ try visitor.visitSingularUInt32Field(value: self.color, fieldNumber: 1)
3546
+ }
3547
+ if self.stroke != 0 {
3548
+ try visitor.visitSingularUInt32Field(value: self.stroke, fieldNumber: 2)
3549
+ }
3550
+ if self.x1 != 0 {
3551
+ try visitor.visitSingularUInt32Field(value: self.x1, fieldNumber: 3)
3552
+ }
3553
+ if self.y1 != 0 {
3554
+ try visitor.visitSingularUInt32Field(value: self.y1, fieldNumber: 4)
3555
+ }
3556
+ if self.x2 != 0 {
3557
+ try visitor.visitSingularUInt32Field(value: self.x2, fieldNumber: 5)
3558
+ }
3559
+ if self.y2 != 0 {
3560
+ try visitor.visitSingularUInt32Field(value: self.y2, fieldNumber: 6)
3561
+ }
3562
+ try unknownFields.traverse(visitor: &visitor)
3563
+ }
3564
+
3565
+ static func ==(lhs: Glassly_Ble_DrawLine, rhs: Glassly_Ble_DrawLine) -> Bool {
3566
+ if lhs.color != rhs.color {return false}
3567
+ if lhs.stroke != rhs.stroke {return false}
3568
+ if lhs.x1 != rhs.x1 {return false}
3569
+ if lhs.y1 != rhs.y1 {return false}
3570
+ if lhs.x2 != rhs.x2 {return false}
3571
+ if lhs.y2 != rhs.y2 {return false}
3572
+ if lhs.unknownFields != rhs.unknownFields {return false}
3573
+ return true
3574
+ }
3575
+ }
3576
+
3577
+ nonisolated extension Glassly_Ble_DrawRect: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3578
+ static let protoMessageName: String = _protobuf_package + ".DrawRect"
3579
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}color\0\u{1}stroke\0\u{1}x\0\u{1}y\0\u{1}width\0\u{1}height\0")
3580
+
3581
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3582
+ while let fieldNumber = try decoder.nextFieldNumber() {
3583
+ // The use of inline closures is to circumvent an issue where the compiler
3584
+ // allocates stack space for every case branch when no optimizations are
3585
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3586
+ switch fieldNumber {
3587
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.color) }()
3588
+ case 2: try { try decoder.decodeSingularUInt32Field(value: &self.stroke) }()
3589
+ case 3: try { try decoder.decodeSingularUInt32Field(value: &self.x) }()
3590
+ case 4: try { try decoder.decodeSingularUInt32Field(value: &self.y) }()
3591
+ case 5: try { try decoder.decodeSingularUInt32Field(value: &self.width) }()
3592
+ case 6: try { try decoder.decodeSingularUInt32Field(value: &self.height) }()
3593
+ default: break
3594
+ }
3595
+ }
3596
+ }
3597
+
3598
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3599
+ if self.color != 0 {
3600
+ try visitor.visitSingularUInt32Field(value: self.color, fieldNumber: 1)
3601
+ }
3602
+ if self.stroke != 0 {
3603
+ try visitor.visitSingularUInt32Field(value: self.stroke, fieldNumber: 2)
3604
+ }
3605
+ if self.x != 0 {
3606
+ try visitor.visitSingularUInt32Field(value: self.x, fieldNumber: 3)
3607
+ }
3608
+ if self.y != 0 {
3609
+ try visitor.visitSingularUInt32Field(value: self.y, fieldNumber: 4)
3610
+ }
3611
+ if self.width != 0 {
3612
+ try visitor.visitSingularUInt32Field(value: self.width, fieldNumber: 5)
3613
+ }
3614
+ if self.height != 0 {
3615
+ try visitor.visitSingularUInt32Field(value: self.height, fieldNumber: 6)
3616
+ }
3617
+ try unknownFields.traverse(visitor: &visitor)
3618
+ }
3619
+
3620
+ static func ==(lhs: Glassly_Ble_DrawRect, rhs: Glassly_Ble_DrawRect) -> Bool {
3621
+ if lhs.color != rhs.color {return false}
3622
+ if lhs.stroke != rhs.stroke {return false}
3623
+ if lhs.x != rhs.x {return false}
3624
+ if lhs.y != rhs.y {return false}
3625
+ if lhs.width != rhs.width {return false}
3626
+ if lhs.height != rhs.height {return false}
3627
+ if lhs.unknownFields != rhs.unknownFields {return false}
3628
+ return true
3629
+ }
3630
+ }
3631
+
3632
+ nonisolated extension Glassly_Ble_DrawCircle: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3633
+ static let protoMessageName: String = _protobuf_package + ".DrawCircle"
3634
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}color\0\u{1}stroke\0\u{1}x\0\u{1}y\0\u{1}radius\0")
3635
+
3636
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3637
+ while let fieldNumber = try decoder.nextFieldNumber() {
3638
+ // The use of inline closures is to circumvent an issue where the compiler
3639
+ // allocates stack space for every case branch when no optimizations are
3640
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3641
+ switch fieldNumber {
3642
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.color) }()
3643
+ case 2: try { try decoder.decodeSingularUInt32Field(value: &self.stroke) }()
3644
+ case 3: try { try decoder.decodeSingularUInt32Field(value: &self.x) }()
3645
+ case 4: try { try decoder.decodeSingularUInt32Field(value: &self.y) }()
3646
+ case 5: try { try decoder.decodeSingularUInt32Field(value: &self.radius) }()
3647
+ default: break
3648
+ }
3649
+ }
3650
+ }
3651
+
3652
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3653
+ if self.color != 0 {
3654
+ try visitor.visitSingularUInt32Field(value: self.color, fieldNumber: 1)
3655
+ }
3656
+ if self.stroke != 0 {
3657
+ try visitor.visitSingularUInt32Field(value: self.stroke, fieldNumber: 2)
3658
+ }
3659
+ if self.x != 0 {
3660
+ try visitor.visitSingularUInt32Field(value: self.x, fieldNumber: 3)
3661
+ }
3662
+ if self.y != 0 {
3663
+ try visitor.visitSingularUInt32Field(value: self.y, fieldNumber: 4)
3664
+ }
3665
+ if self.radius != 0 {
3666
+ try visitor.visitSingularUInt32Field(value: self.radius, fieldNumber: 5)
3667
+ }
3668
+ try unknownFields.traverse(visitor: &visitor)
3669
+ }
3670
+
3671
+ static func ==(lhs: Glassly_Ble_DrawCircle, rhs: Glassly_Ble_DrawCircle) -> Bool {
3672
+ if lhs.color != rhs.color {return false}
3673
+ if lhs.stroke != rhs.stroke {return false}
3674
+ if lhs.x != rhs.x {return false}
3675
+ if lhs.y != rhs.y {return false}
3676
+ if lhs.radius != rhs.radius {return false}
3677
+ if lhs.unknownFields != rhs.unknownFields {return false}
3678
+ return true
3679
+ }
3680
+ }
3681
+
3682
+ nonisolated extension Glassly_Ble_CommitDisplay: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3683
+ static let protoMessageName: String = _protobuf_package + ".CommitDisplay"
3684
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
3685
+
3686
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3687
+ // Load everything into unknown fields
3688
+ while try decoder.nextFieldNumber() != nil {}
3689
+ }
3690
+
3691
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3692
+ try unknownFields.traverse(visitor: &visitor)
3693
+ }
3694
+
3695
+ static func ==(lhs: Glassly_Ble_CommitDisplay, rhs: Glassly_Ble_CommitDisplay) -> Bool {
3696
+ if lhs.unknownFields != rhs.unknownFields {return false}
3697
+ return true
3698
+ }
3699
+ }
3700
+
3701
+ nonisolated extension Glassly_Ble_DisplayDistanceConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3702
+ static let protoMessageName: String = _protobuf_package + ".DisplayDistanceConfig"
3703
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}distance_cm\0")
3704
+
3705
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3706
+ while let fieldNumber = try decoder.nextFieldNumber() {
3707
+ // The use of inline closures is to circumvent an issue where the compiler
3708
+ // allocates stack space for every case branch when no optimizations are
3709
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3710
+ switch fieldNumber {
3711
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.distanceCm) }()
3712
+ default: break
3713
+ }
3714
+ }
3715
+ }
3716
+
3717
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3718
+ if self.distanceCm != 0 {
3719
+ try visitor.visitSingularUInt32Field(value: self.distanceCm, fieldNumber: 1)
3720
+ }
3721
+ try unknownFields.traverse(visitor: &visitor)
3722
+ }
3723
+
3724
+ static func ==(lhs: Glassly_Ble_DisplayDistanceConfig, rhs: Glassly_Ble_DisplayDistanceConfig) -> Bool {
3725
+ if lhs.distanceCm != rhs.distanceCm {return false}
3726
+ if lhs.unknownFields != rhs.unknownFields {return false}
3727
+ return true
3728
+ }
3729
+ }
3730
+
3731
+ nonisolated extension Glassly_Ble_DisplayHeightConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3732
+ static let protoMessageName: String = _protobuf_package + ".DisplayHeightConfig"
3733
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}height\0")
3734
+
3735
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3736
+ while let fieldNumber = try decoder.nextFieldNumber() {
3737
+ // The use of inline closures is to circumvent an issue where the compiler
3738
+ // allocates stack space for every case branch when no optimizations are
3739
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3740
+ switch fieldNumber {
3741
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.height) }()
3742
+ default: break
3743
+ }
3744
+ }
3745
+ }
3746
+
3747
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3748
+ if self.height != 0 {
3749
+ try visitor.visitSingularUInt32Field(value: self.height, fieldNumber: 1)
3750
+ }
3751
+ try unknownFields.traverse(visitor: &visitor)
3752
+ }
3753
+
3754
+ static func ==(lhs: Glassly_Ble_DisplayHeightConfig, rhs: Glassly_Ble_DisplayHeightConfig) -> Bool {
3755
+ if lhs.height != rhs.height {return false}
3756
+ if lhs.unknownFields != rhs.unknownFields {return false}
3757
+ return true
3758
+ }
3759
+ }
3760
+
3761
+ nonisolated extension Glassly_Ble_ImageTransferComplete: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3762
+ static let protoMessageName: String = _protobuf_package + ".ImageTransferComplete"
3763
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}stream_id\0\u{1}status\0\u{3}missing_chunks\0")
3764
+
3765
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3766
+ while let fieldNumber = try decoder.nextFieldNumber() {
3767
+ // The use of inline closures is to circumvent an issue where the compiler
3768
+ // allocates stack space for every case branch when no optimizations are
3769
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3770
+ switch fieldNumber {
3771
+ case 1: try { try decoder.decodeSingularStringField(value: &self.streamID) }()
3772
+ case 2: try { try decoder.decodeSingularEnumField(value: &self.status) }()
3773
+ case 3: try { try decoder.decodeRepeatedUInt32Field(value: &self.missingChunks) }()
3774
+ default: break
3775
+ }
3776
+ }
3777
+ }
3778
+
3779
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3780
+ if !self.streamID.isEmpty {
3781
+ try visitor.visitSingularStringField(value: self.streamID, fieldNumber: 1)
3782
+ }
3783
+ if self.status != .ok {
3784
+ try visitor.visitSingularEnumField(value: self.status, fieldNumber: 2)
3785
+ }
3786
+ if !self.missingChunks.isEmpty {
3787
+ try visitor.visitPackedUInt32Field(value: self.missingChunks, fieldNumber: 3)
3788
+ }
3789
+ try unknownFields.traverse(visitor: &visitor)
3790
+ }
3791
+
3792
+ static func ==(lhs: Glassly_Ble_ImageTransferComplete, rhs: Glassly_Ble_ImageTransferComplete) -> Bool {
3793
+ if lhs.streamID != rhs.streamID {return false}
3794
+ if lhs.status != rhs.status {return false}
3795
+ if lhs.missingChunks != rhs.missingChunks {return false}
3796
+ if lhs.unknownFields != rhs.unknownFields {return false}
3797
+ return true
3798
+ }
3799
+ }
3800
+
3801
+ nonisolated extension Glassly_Ble_ImageTransferComplete.Status: SwiftProtobuf._ProtoNameProviding {
3802
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0OK\0\u{1}INCOMPLETE\0")
3803
+ }
3804
+
3805
+ nonisolated extension Glassly_Ble_CanvasCreateComponent: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3806
+ static let protoMessageName: String = _protobuf_package + ".CanvasCreateComponent"
3807
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}id\0\u{1}type\0\u{1}x\0\u{1}y\0\u{1}width\0\u{1}height\0\u{3}border_width\0\u{3}border_radius\0\u{1}padding\0")
3808
+
3809
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3810
+ while let fieldNumber = try decoder.nextFieldNumber() {
3811
+ // The use of inline closures is to circumvent an issue where the compiler
3812
+ // allocates stack space for every case branch when no optimizations are
3813
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3814
+ switch fieldNumber {
3815
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.id) }()
3816
+ case 2: try { try decoder.decodeSingularEnumField(value: &self.type) }()
3817
+ case 3: try { try decoder.decodeSingularUInt32Field(value: &self.x) }()
3818
+ case 4: try { try decoder.decodeSingularUInt32Field(value: &self.y) }()
3819
+ case 5: try { try decoder.decodeSingularUInt32Field(value: &self.width) }()
3820
+ case 6: try { try decoder.decodeSingularUInt32Field(value: &self.height) }()
3821
+ case 7: try { try decoder.decodeSingularUInt32Field(value: &self.borderWidth) }()
3822
+ case 8: try { try decoder.decodeSingularUInt32Field(value: &self.borderRadius) }()
3823
+ case 9: try { try decoder.decodeSingularUInt32Field(value: &self.padding) }()
3824
+ default: break
3825
+ }
3826
+ }
3827
+ }
3828
+
3829
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3830
+ if self.id != 0 {
3831
+ try visitor.visitSingularUInt32Field(value: self.id, fieldNumber: 1)
3832
+ }
3833
+ if self.type != .canvasBitmap {
3834
+ try visitor.visitSingularEnumField(value: self.type, fieldNumber: 2)
3835
+ }
3836
+ if self.x != 0 {
3837
+ try visitor.visitSingularUInt32Field(value: self.x, fieldNumber: 3)
3838
+ }
3839
+ if self.y != 0 {
3840
+ try visitor.visitSingularUInt32Field(value: self.y, fieldNumber: 4)
3841
+ }
3842
+ if self.width != 0 {
3843
+ try visitor.visitSingularUInt32Field(value: self.width, fieldNumber: 5)
3844
+ }
3845
+ if self.height != 0 {
3846
+ try visitor.visitSingularUInt32Field(value: self.height, fieldNumber: 6)
3847
+ }
3848
+ if self.borderWidth != 0 {
3849
+ try visitor.visitSingularUInt32Field(value: self.borderWidth, fieldNumber: 7)
3850
+ }
3851
+ if self.borderRadius != 0 {
3852
+ try visitor.visitSingularUInt32Field(value: self.borderRadius, fieldNumber: 8)
3853
+ }
3854
+ if self.padding != 0 {
3855
+ try visitor.visitSingularUInt32Field(value: self.padding, fieldNumber: 9)
3856
+ }
3857
+ try unknownFields.traverse(visitor: &visitor)
3858
+ }
3859
+
3860
+ static func ==(lhs: Glassly_Ble_CanvasCreateComponent, rhs: Glassly_Ble_CanvasCreateComponent) -> Bool {
3861
+ if lhs.id != rhs.id {return false}
3862
+ if lhs.type != rhs.type {return false}
3863
+ if lhs.x != rhs.x {return false}
3864
+ if lhs.y != rhs.y {return false}
3865
+ if lhs.width != rhs.width {return false}
3866
+ if lhs.height != rhs.height {return false}
3867
+ if lhs.borderWidth != rhs.borderWidth {return false}
3868
+ if lhs.borderRadius != rhs.borderRadius {return false}
3869
+ if lhs.padding != rhs.padding {return false}
3870
+ if lhs.unknownFields != rhs.unknownFields {return false}
3871
+ return true
3872
+ }
3873
+ }
3874
+
3875
+ nonisolated extension Glassly_Ble_CanvasUpdateText: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3876
+ static let protoMessageName: String = _protobuf_package + ".CanvasUpdateText"
3877
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}id\0\u{1}text\0\u{3}scroll_offset\0")
3878
+
3879
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3880
+ while let fieldNumber = try decoder.nextFieldNumber() {
3881
+ // The use of inline closures is to circumvent an issue where the compiler
3882
+ // allocates stack space for every case branch when no optimizations are
3883
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3884
+ switch fieldNumber {
3885
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.id) }()
3886
+ case 2: try { try decoder.decodeSingularStringField(value: &self.text) }()
3887
+ case 3: try { try decoder.decodeSingularUInt32Field(value: &self.scrollOffset) }()
3888
+ default: break
3889
+ }
3890
+ }
3891
+ }
3892
+
3893
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3894
+ if self.id != 0 {
3895
+ try visitor.visitSingularUInt32Field(value: self.id, fieldNumber: 1)
3896
+ }
3897
+ if !self.text.isEmpty {
3898
+ try visitor.visitSingularStringField(value: self.text, fieldNumber: 2)
3899
+ }
3900
+ if self.scrollOffset != 0 {
3901
+ try visitor.visitSingularUInt32Field(value: self.scrollOffset, fieldNumber: 3)
3902
+ }
3903
+ try unknownFields.traverse(visitor: &visitor)
3904
+ }
3905
+
3906
+ static func ==(lhs: Glassly_Ble_CanvasUpdateText, rhs: Glassly_Ble_CanvasUpdateText) -> Bool {
3907
+ if lhs.id != rhs.id {return false}
3908
+ if lhs.text != rhs.text {return false}
3909
+ if lhs.scrollOffset != rhs.scrollOffset {return false}
3910
+ if lhs.unknownFields != rhs.unknownFields {return false}
3911
+ return true
3912
+ }
3913
+ }
3914
+
3915
+ nonisolated extension Glassly_Ble_CanvasUpdateImage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3916
+ static let protoMessageName: String = _protobuf_package + ".CanvasUpdateImage"
3917
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}id\0\u{3}stream_id\0\u{3}total_chunks\0")
3918
+
3919
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3920
+ while let fieldNumber = try decoder.nextFieldNumber() {
3921
+ // The use of inline closures is to circumvent an issue where the compiler
3922
+ // allocates stack space for every case branch when no optimizations are
3923
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3924
+ switch fieldNumber {
3925
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.id) }()
3926
+ case 2: try { try decoder.decodeSingularStringField(value: &self.streamID) }()
3927
+ case 3: try { try decoder.decodeSingularUInt32Field(value: &self.totalChunks) }()
3928
+ default: break
3929
+ }
3930
+ }
3931
+ }
3932
+
3933
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3934
+ if self.id != 0 {
3935
+ try visitor.visitSingularUInt32Field(value: self.id, fieldNumber: 1)
3936
+ }
3937
+ if !self.streamID.isEmpty {
3938
+ try visitor.visitSingularStringField(value: self.streamID, fieldNumber: 2)
3939
+ }
3940
+ if self.totalChunks != 0 {
3941
+ try visitor.visitSingularUInt32Field(value: self.totalChunks, fieldNumber: 3)
3942
+ }
3943
+ try unknownFields.traverse(visitor: &visitor)
3944
+ }
3945
+
3946
+ static func ==(lhs: Glassly_Ble_CanvasUpdateImage, rhs: Glassly_Ble_CanvasUpdateImage) -> Bool {
3947
+ if lhs.id != rhs.id {return false}
3948
+ if lhs.streamID != rhs.streamID {return false}
3949
+ if lhs.totalChunks != rhs.totalChunks {return false}
3950
+ if lhs.unknownFields != rhs.unknownFields {return false}
3951
+ return true
3952
+ }
3953
+ }
3954
+
3955
+ nonisolated extension Glassly_Ble_CanvasDeleteComponent: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3956
+ static let protoMessageName: String = _protobuf_package + ".CanvasDeleteComponent"
3957
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}id\0")
3958
+
3959
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3960
+ while let fieldNumber = try decoder.nextFieldNumber() {
3961
+ // The use of inline closures is to circumvent an issue where the compiler
3962
+ // allocates stack space for every case branch when no optimizations are
3963
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
3964
+ switch fieldNumber {
3965
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.id) }()
3966
+ default: break
3967
+ }
3968
+ }
3969
+ }
3970
+
3971
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3972
+ if self.id != 0 {
3973
+ try visitor.visitSingularUInt32Field(value: self.id, fieldNumber: 1)
3974
+ }
3975
+ try unknownFields.traverse(visitor: &visitor)
3976
+ }
3977
+
3978
+ static func ==(lhs: Glassly_Ble_CanvasDeleteComponent, rhs: Glassly_Ble_CanvasDeleteComponent) -> Bool {
3979
+ if lhs.id != rhs.id {return false}
3980
+ if lhs.unknownFields != rhs.unknownFields {return false}
3981
+ return true
3982
+ }
3983
+ }
3984
+
3985
+ nonisolated extension Glassly_Ble_CanvasClear: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
3986
+ static let protoMessageName: String = _protobuf_package + ".CanvasClear"
3987
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
3988
+
3989
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
3990
+ // Load everything into unknown fields
3991
+ while try decoder.nextFieldNumber() != nil {}
3992
+ }
3993
+
3994
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
3995
+ try unknownFields.traverse(visitor: &visitor)
3996
+ }
3997
+
3998
+ static func ==(lhs: Glassly_Ble_CanvasClear, rhs: Glassly_Ble_CanvasClear) -> Bool {
3999
+ if lhs.unknownFields != rhs.unknownFields {return false}
4000
+ return true
4001
+ }
4002
+ }
4003
+
4004
+ nonisolated extension Glassly_Ble_CanvasResult: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
4005
+ static let protoMessageName: String = _protobuf_package + ".CanvasResult"
4006
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}id\0\u{1}code\0")
4007
+
4008
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
4009
+ while let fieldNumber = try decoder.nextFieldNumber() {
4010
+ // The use of inline closures is to circumvent an issue where the compiler
4011
+ // allocates stack space for every case branch when no optimizations are
4012
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
4013
+ switch fieldNumber {
4014
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.id) }()
4015
+ case 2: try { try decoder.decodeSingularEnumField(value: &self.code) }()
4016
+ default: break
4017
+ }
4018
+ }
4019
+ }
4020
+
4021
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
4022
+ if self.id != 0 {
4023
+ try visitor.visitSingularUInt32Field(value: self.id, fieldNumber: 1)
4024
+ }
4025
+ if self.code != .ok {
4026
+ try visitor.visitSingularEnumField(value: self.code, fieldNumber: 2)
4027
+ }
4028
+ try unknownFields.traverse(visitor: &visitor)
4029
+ }
4030
+
4031
+ static func ==(lhs: Glassly_Ble_CanvasResult, rhs: Glassly_Ble_CanvasResult) -> Bool {
4032
+ if lhs.id != rhs.id {return false}
4033
+ if lhs.code != rhs.code {return false}
4034
+ if lhs.unknownFields != rhs.unknownFields {return false}
4035
+ return true
4036
+ }
4037
+ }
4038
+
4039
+ nonisolated extension Glassly_Ble_CanvasResult.ResultCode: SwiftProtobuf._ProtoNameProviding {
4040
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0OK\0\u{1}INVALID\0\u{1}OVERSIZE\0\u{1}OOM\0")
4041
+ }
4042
+
4043
+ nonisolated extension Glassly_Ble_ImuEnabledConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
4044
+ static let protoMessageName: String = _protobuf_package + ".ImuEnabledConfig"
4045
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}enabled\0")
4046
+
4047
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
4048
+ while let fieldNumber = try decoder.nextFieldNumber() {
4049
+ // The use of inline closures is to circumvent an issue where the compiler
4050
+ // allocates stack space for every case branch when no optimizations are
4051
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
4052
+ switch fieldNumber {
4053
+ case 1: try { try decoder.decodeSingularBoolField(value: &self.enabled) }()
4054
+ default: break
4055
+ }
4056
+ }
4057
+ }
4058
+
4059
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
4060
+ if self.enabled != false {
4061
+ try visitor.visitSingularBoolField(value: self.enabled, fieldNumber: 1)
4062
+ }
4063
+ try unknownFields.traverse(visitor: &visitor)
4064
+ }
4065
+
4066
+ static func ==(lhs: Glassly_Ble_ImuEnabledConfig, rhs: Glassly_Ble_ImuEnabledConfig) -> Bool {
4067
+ if lhs.enabled != rhs.enabled {return false}
4068
+ if lhs.unknownFields != rhs.unknownFields {return false}
4069
+ return true
4070
+ }
4071
+ }
4072
+
4073
+ nonisolated extension Glassly_Ble_ImuSingleRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
4074
+ static let protoMessageName: String = _protobuf_package + ".ImuSingleRequest"
4075
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
4076
+
4077
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
4078
+ // Load everything into unknown fields
4079
+ while try decoder.nextFieldNumber() != nil {}
4080
+ }
4081
+
4082
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
4083
+ try unknownFields.traverse(visitor: &visitor)
4084
+ }
4085
+
4086
+ static func ==(lhs: Glassly_Ble_ImuSingleRequest, rhs: Glassly_Ble_ImuSingleRequest) -> Bool {
4087
+ if lhs.unknownFields != rhs.unknownFields {return false}
4088
+ return true
4089
+ }
4090
+ }
4091
+
4092
+ nonisolated extension Glassly_Ble_ImuStreamConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
4093
+ static let protoMessageName: String = _protobuf_package + ".ImuStreamConfig"
4094
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}enabled\0")
4095
+
4096
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
4097
+ while let fieldNumber = try decoder.nextFieldNumber() {
4098
+ // The use of inline closures is to circumvent an issue where the compiler
4099
+ // allocates stack space for every case branch when no optimizations are
4100
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
4101
+ switch fieldNumber {
4102
+ case 1: try { try decoder.decodeSingularBoolField(value: &self.enabled) }()
4103
+ default: break
4104
+ }
4105
+ }
4106
+ }
4107
+
4108
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
4109
+ if self.enabled != false {
4110
+ try visitor.visitSingularBoolField(value: self.enabled, fieldNumber: 1)
4111
+ }
4112
+ try unknownFields.traverse(visitor: &visitor)
4113
+ }
4114
+
4115
+ static func ==(lhs: Glassly_Ble_ImuStreamConfig, rhs: Glassly_Ble_ImuStreamConfig) -> Bool {
4116
+ if lhs.enabled != rhs.enabled {return false}
4117
+ if lhs.unknownFields != rhs.unknownFields {return false}
4118
+ return true
4119
+ }
4120
+ }
4121
+
4122
+ nonisolated extension Glassly_Ble_ImuData: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
4123
+ static let protoMessageName: String = _protobuf_package + ".ImuData"
4124
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}accel\0\u{1}gyro\0\u{1}mag\0")
4125
+
4126
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
4127
+ while let fieldNumber = try decoder.nextFieldNumber() {
4128
+ // The use of inline closures is to circumvent an issue where the compiler
4129
+ // allocates stack space for every case branch when no optimizations are
4130
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
4131
+ switch fieldNumber {
4132
+ case 1: try { try decoder.decodeSingularMessageField(value: &self._accel) }()
4133
+ case 2: try { try decoder.decodeSingularMessageField(value: &self._gyro) }()
4134
+ case 3: try { try decoder.decodeSingularMessageField(value: &self._mag) }()
4135
+ default: break
4136
+ }
4137
+ }
4138
+ }
4139
+
4140
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
4141
+ // The use of inline closures is to circumvent an issue where the compiler
4142
+ // allocates stack space for every if/case branch local when no optimizations
4143
+ // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and
4144
+ // https://github.com/apple/swift-protobuf/issues/1182
4145
+ try { if let v = self._accel {
4146
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 1)
4147
+ } }()
4148
+ try { if let v = self._gyro {
4149
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 2)
4150
+ } }()
4151
+ try { if let v = self._mag {
4152
+ try visitor.visitSingularMessageField(value: v, fieldNumber: 3)
4153
+ } }()
4154
+ try unknownFields.traverse(visitor: &visitor)
4155
+ }
4156
+
4157
+ static func ==(lhs: Glassly_Ble_ImuData, rhs: Glassly_Ble_ImuData) -> Bool {
4158
+ if lhs._accel != rhs._accel {return false}
4159
+ if lhs._gyro != rhs._gyro {return false}
4160
+ if lhs._mag != rhs._mag {return false}
4161
+ if lhs.unknownFields != rhs.unknownFields {return false}
4162
+ return true
4163
+ }
4164
+ }
4165
+
4166
+ nonisolated extension Glassly_Ble_Vector3: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
4167
+ static let protoMessageName: String = _protobuf_package + ".Vector3"
4168
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}x\0\u{1}y\0\u{1}z\0")
4169
+
4170
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
4171
+ while let fieldNumber = try decoder.nextFieldNumber() {
4172
+ // The use of inline closures is to circumvent an issue where the compiler
4173
+ // allocates stack space for every case branch when no optimizations are
4174
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
4175
+ switch fieldNumber {
4176
+ case 1: try { try decoder.decodeSingularFloatField(value: &self.x) }()
4177
+ case 2: try { try decoder.decodeSingularFloatField(value: &self.y) }()
4178
+ case 3: try { try decoder.decodeSingularFloatField(value: &self.z) }()
4179
+ default: break
4180
+ }
4181
+ }
4182
+ }
4183
+
4184
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
4185
+ if self.x.bitPattern != 0 {
4186
+ try visitor.visitSingularFloatField(value: self.x, fieldNumber: 1)
4187
+ }
4188
+ if self.y.bitPattern != 0 {
4189
+ try visitor.visitSingularFloatField(value: self.y, fieldNumber: 2)
4190
+ }
4191
+ if self.z.bitPattern != 0 {
4192
+ try visitor.visitSingularFloatField(value: self.z, fieldNumber: 3)
4193
+ }
4194
+ try unknownFields.traverse(visitor: &visitor)
4195
+ }
4196
+
4197
+ static func ==(lhs: Glassly_Ble_Vector3, rhs: Glassly_Ble_Vector3) -> Bool {
4198
+ if lhs.x != rhs.x {return false}
4199
+ if lhs.y != rhs.y {return false}
4200
+ if lhs.z != rhs.z {return false}
4201
+ if lhs.unknownFields != rhs.unknownFields {return false}
4202
+ return true
4203
+ }
4204
+ }
4205
+
4206
+ nonisolated extension Glassly_Ble_ButtonEvent: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
4207
+ static let protoMessageName: String = _protobuf_package + ".ButtonEvent"
4208
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}button\0\u{1}state\0")
4209
+
4210
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
4211
+ while let fieldNumber = try decoder.nextFieldNumber() {
4212
+ // The use of inline closures is to circumvent an issue where the compiler
4213
+ // allocates stack space for every case branch when no optimizations are
4214
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
4215
+ switch fieldNumber {
4216
+ case 1: try { try decoder.decodeSingularEnumField(value: &self.button) }()
4217
+ case 2: try { try decoder.decodeSingularEnumField(value: &self.state) }()
4218
+ default: break
4219
+ }
4220
+ }
4221
+ }
4222
+
4223
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
4224
+ if self.button != .center {
4225
+ try visitor.visitSingularEnumField(value: self.button, fieldNumber: 1)
4226
+ }
4227
+ if self.state != .up {
4228
+ try visitor.visitSingularEnumField(value: self.state, fieldNumber: 2)
4229
+ }
4230
+ try unknownFields.traverse(visitor: &visitor)
4231
+ }
4232
+
4233
+ static func ==(lhs: Glassly_Ble_ButtonEvent, rhs: Glassly_Ble_ButtonEvent) -> Bool {
4234
+ if lhs.button != rhs.button {return false}
4235
+ if lhs.state != rhs.state {return false}
4236
+ if lhs.unknownFields != rhs.unknownFields {return false}
4237
+ return true
4238
+ }
4239
+ }
4240
+
4241
+ nonisolated extension Glassly_Ble_ButtonEvent.Button: SwiftProtobuf._ProtoNameProviding {
4242
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0CENTER\0\u{1}LEFT\0\u{1}RIGHT\0")
4243
+ }
4244
+
4245
+ nonisolated extension Glassly_Ble_ButtonEvent.State: SwiftProtobuf._ProtoNameProviding {
4246
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0UP\0\u{1}DOWN\0")
4247
+ }
4248
+
4249
+ nonisolated extension Glassly_Ble_HeadGesture: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
4250
+ static let protoMessageName: String = _protobuf_package + ".HeadGesture"
4251
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}gesture\0")
4252
+
4253
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
4254
+ while let fieldNumber = try decoder.nextFieldNumber() {
4255
+ // The use of inline closures is to circumvent an issue where the compiler
4256
+ // allocates stack space for every case branch when no optimizations are
4257
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
4258
+ switch fieldNumber {
4259
+ case 1: try { try decoder.decodeSingularEnumField(value: &self.gesture) }()
4260
+ default: break
4261
+ }
4262
+ }
4263
+ }
4264
+
4265
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
4266
+ if self.gesture != .nod {
4267
+ try visitor.visitSingularEnumField(value: self.gesture, fieldNumber: 1)
4268
+ }
4269
+ try unknownFields.traverse(visitor: &visitor)
4270
+ }
4271
+
4272
+ static func ==(lhs: Glassly_Ble_HeadGesture, rhs: Glassly_Ble_HeadGesture) -> Bool {
4273
+ if lhs.gesture != rhs.gesture {return false}
4274
+ if lhs.unknownFields != rhs.unknownFields {return false}
4275
+ return true
4276
+ }
4277
+ }
4278
+
4279
+ nonisolated extension Glassly_Ble_HeadGesture.Gesture: SwiftProtobuf._ProtoNameProviding {
4280
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0NOD\0\u{1}SHAKE\0\u{1}HEAD_UP\0")
4281
+ }
4282
+
4283
+ nonisolated extension Glassly_Ble_HeadGestureConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
4284
+ static let protoMessageName: String = _protobuf_package + ".HeadGestureConfig"
4285
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}gesture\0\u{1}enabled\0")
4286
+
4287
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
4288
+ while let fieldNumber = try decoder.nextFieldNumber() {
4289
+ // The use of inline closures is to circumvent an issue where the compiler
4290
+ // allocates stack space for every case branch when no optimizations are
4291
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
4292
+ switch fieldNumber {
4293
+ case 1: try { try decoder.decodeSingularEnumField(value: &self.gesture) }()
4294
+ case 2: try { try decoder.decodeSingularBoolField(value: &self.enabled) }()
4295
+ default: break
4296
+ }
4297
+ }
4298
+ }
4299
+
4300
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
4301
+ if self.gesture != .nod {
4302
+ try visitor.visitSingularEnumField(value: self.gesture, fieldNumber: 1)
4303
+ }
4304
+ if self.enabled != false {
4305
+ try visitor.visitSingularBoolField(value: self.enabled, fieldNumber: 2)
4306
+ }
4307
+ try unknownFields.traverse(visitor: &visitor)
4308
+ }
4309
+
4310
+ static func ==(lhs: Glassly_Ble_HeadGestureConfig, rhs: Glassly_Ble_HeadGestureConfig) -> Bool {
4311
+ if lhs.gesture != rhs.gesture {return false}
4312
+ if lhs.enabled != rhs.enabled {return false}
4313
+ if lhs.unknownFields != rhs.unknownFields {return false}
4314
+ return true
4315
+ }
4316
+ }
4317
+
4318
+ nonisolated extension Glassly_Ble_RestartRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
4319
+ static let protoMessageName: String = _protobuf_package + ".RestartRequest"
4320
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
4321
+
4322
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
4323
+ // Load everything into unknown fields
4324
+ while try decoder.nextFieldNumber() != nil {}
4325
+ }
4326
+
4327
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
4328
+ try unknownFields.traverse(visitor: &visitor)
4329
+ }
4330
+
4331
+ static func ==(lhs: Glassly_Ble_RestartRequest, rhs: Glassly_Ble_RestartRequest) -> Bool {
4332
+ if lhs.unknownFields != rhs.unknownFields {return false}
4333
+ return true
4334
+ }
4335
+ }
4336
+
4337
+ nonisolated extension Glassly_Ble_FactoryResetRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
4338
+ static let protoMessageName: String = _protobuf_package + ".FactoryResetRequest"
4339
+ static let _protobuf_nameMap = SwiftProtobuf._NameMap()
4340
+
4341
+ mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
4342
+ // Load everything into unknown fields
4343
+ while try decoder.nextFieldNumber() != nil {}
4344
+ }
4345
+
4346
+ func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
4347
+ try unknownFields.traverse(visitor: &visitor)
4348
+ }
4349
+
4350
+ static func ==(lhs: Glassly_Ble_FactoryResetRequest, rhs: Glassly_Ble_FactoryResetRequest) -> Bool {
4351
+ if lhs.unknownFields != rhs.unknownFields {return false}
4352
+ return true
4353
+ }
4354
+ }