1 // automatically generated by the FlatBuffers compiler, do not modify
2
3
4 #ifndef FLATBUFFERS_GENERATED_HOSTMESSAGES_CHRE_FBS_H_
5 #define FLATBUFFERS_GENERATED_HOSTMESSAGES_CHRE_FBS_H_
6
7 #include "flatbuffers/flatbuffers.h"
8
9 namespace chre {
10 namespace fbs {
11
12 struct NanoappMessage;
13 struct NanoappMessageBuilder;
14 struct NanoappMessageT;
15
16 struct HubInfoRequest;
17 struct HubInfoRequestBuilder;
18 struct HubInfoRequestT;
19
20 struct HubInfoResponse;
21 struct HubInfoResponseBuilder;
22 struct HubInfoResponseT;
23
24 struct NanoappListRequest;
25 struct NanoappListRequestBuilder;
26 struct NanoappListRequestT;
27
28 struct NanoappRpcService;
29 struct NanoappRpcServiceBuilder;
30 struct NanoappRpcServiceT;
31
32 struct NanoappListEntry;
33 struct NanoappListEntryBuilder;
34 struct NanoappListEntryT;
35
36 struct NanoappListResponse;
37 struct NanoappListResponseBuilder;
38 struct NanoappListResponseT;
39
40 struct LoadNanoappRequest;
41 struct LoadNanoappRequestBuilder;
42 struct LoadNanoappRequestT;
43
44 struct LoadNanoappResponse;
45 struct LoadNanoappResponseBuilder;
46 struct LoadNanoappResponseT;
47
48 struct UnloadNanoappRequest;
49 struct UnloadNanoappRequestBuilder;
50 struct UnloadNanoappRequestT;
51
52 struct UnloadNanoappResponse;
53 struct UnloadNanoappResponseBuilder;
54 struct UnloadNanoappResponseT;
55
56 struct LogMessage;
57 struct LogMessageBuilder;
58 struct LogMessageT;
59
60 struct TimeSyncMessage;
61 struct TimeSyncMessageBuilder;
62 struct TimeSyncMessageT;
63
64 struct DebugDumpRequest;
65 struct DebugDumpRequestBuilder;
66 struct DebugDumpRequestT;
67
68 struct DebugDumpData;
69 struct DebugDumpDataBuilder;
70 struct DebugDumpDataT;
71
72 struct DebugDumpResponse;
73 struct DebugDumpResponseBuilder;
74 struct DebugDumpResponseT;
75
76 struct TimeSyncRequest;
77 struct TimeSyncRequestBuilder;
78 struct TimeSyncRequestT;
79
80 struct LowPowerMicAccessRequest;
81 struct LowPowerMicAccessRequestBuilder;
82 struct LowPowerMicAccessRequestT;
83
84 struct LowPowerMicAccessRelease;
85 struct LowPowerMicAccessReleaseBuilder;
86 struct LowPowerMicAccessReleaseT;
87
88 struct SettingChangeMessage;
89 struct SettingChangeMessageBuilder;
90 struct SettingChangeMessageT;
91
92 struct LogMessageV2;
93 struct LogMessageV2Builder;
94 struct LogMessageV2T;
95
96 struct SelfTestRequest;
97 struct SelfTestRequestBuilder;
98 struct SelfTestRequestT;
99
100 struct SelfTestResponse;
101 struct SelfTestResponseBuilder;
102 struct SelfTestResponseT;
103
104 struct HostEndpointConnected;
105 struct HostEndpointConnectedBuilder;
106 struct HostEndpointConnectedT;
107
108 struct HostEndpointDisconnected;
109 struct HostEndpointDisconnectedBuilder;
110 struct HostEndpointDisconnectedT;
111
112 struct MetricLog;
113 struct MetricLogBuilder;
114 struct MetricLogT;
115
116 struct BatchedMetricLog;
117 struct BatchedMetricLogBuilder;
118 struct BatchedMetricLogT;
119
120 struct NanConfigurationRequest;
121 struct NanConfigurationRequestBuilder;
122 struct NanConfigurationRequestT;
123
124 struct NanConfigurationUpdate;
125 struct NanConfigurationUpdateBuilder;
126 struct NanConfigurationUpdateT;
127
128 struct DebugConfiguration;
129 struct DebugConfigurationBuilder;
130 struct DebugConfigurationT;
131
132 struct HostAddress;
133
134 struct MessageContainer;
135 struct MessageContainerBuilder;
136 struct MessageContainerT;
137
138 /// An enum describing the setting type.
139 enum class Setting : int8_t {
140 LOCATION = 0,
141 WIFI_AVAILABLE = 1,
142 AIRPLANE_MODE = 2,
143 MICROPHONE = 3,
144 BLE_AVAILABLE = 4,
145 MIN = LOCATION,
146 MAX = BLE_AVAILABLE
147 };
148
EnumValuesSetting()149 inline const Setting (&EnumValuesSetting())[5] {
150 static const Setting values[] = {
151 Setting::LOCATION,
152 Setting::WIFI_AVAILABLE,
153 Setting::AIRPLANE_MODE,
154 Setting::MICROPHONE,
155 Setting::BLE_AVAILABLE
156 };
157 return values;
158 }
159
EnumNamesSetting()160 inline const char * const *EnumNamesSetting() {
161 static const char * const names[6] = {
162 "LOCATION",
163 "WIFI_AVAILABLE",
164 "AIRPLANE_MODE",
165 "MICROPHONE",
166 "BLE_AVAILABLE",
167 nullptr
168 };
169 return names;
170 }
171
EnumNameSetting(Setting e)172 inline const char *EnumNameSetting(Setting e) {
173 if (flatbuffers::IsOutRange(e, Setting::LOCATION, Setting::BLE_AVAILABLE)) return "";
174 const size_t index = static_cast<size_t>(e);
175 return EnumNamesSetting()[index];
176 }
177
178 /// An enum describing the state of a setting.
179 enum class SettingState : int8_t {
180 DISABLED = 0,
181 ENABLED = 1,
182 MIN = DISABLED,
183 MAX = ENABLED
184 };
185
EnumValuesSettingState()186 inline const SettingState (&EnumValuesSettingState())[2] {
187 static const SettingState values[] = {
188 SettingState::DISABLED,
189 SettingState::ENABLED
190 };
191 return values;
192 }
193
EnumNamesSettingState()194 inline const char * const *EnumNamesSettingState() {
195 static const char * const names[3] = {
196 "DISABLED",
197 "ENABLED",
198 nullptr
199 };
200 return names;
201 }
202
EnumNameSettingState(SettingState e)203 inline const char *EnumNameSettingState(SettingState e) {
204 if (flatbuffers::IsOutRange(e, SettingState::DISABLED, SettingState::ENABLED)) return "";
205 const size_t index = static_cast<size_t>(e);
206 return EnumNamesSettingState()[index];
207 }
208
209 enum class LogLevel : int8_t {
210 ERROR = 1,
211 WARNING = 2,
212 INFO = 3,
213 DEBUG = 4,
214 VERBOSE = 5,
215 MIN = ERROR,
216 MAX = VERBOSE
217 };
218
EnumValuesLogLevel()219 inline const LogLevel (&EnumValuesLogLevel())[5] {
220 static const LogLevel values[] = {
221 LogLevel::ERROR,
222 LogLevel::WARNING,
223 LogLevel::INFO,
224 LogLevel::DEBUG,
225 LogLevel::VERBOSE
226 };
227 return values;
228 }
229
EnumNamesLogLevel()230 inline const char * const *EnumNamesLogLevel() {
231 static const char * const names[6] = {
232 "ERROR",
233 "WARNING",
234 "INFO",
235 "DEBUG",
236 "VERBOSE",
237 nullptr
238 };
239 return names;
240 }
241
EnumNameLogLevel(LogLevel e)242 inline const char *EnumNameLogLevel(LogLevel e) {
243 if (flatbuffers::IsOutRange(e, LogLevel::ERROR, LogLevel::VERBOSE)) return "";
244 const size_t index = static_cast<size_t>(e) - static_cast<size_t>(LogLevel::ERROR);
245 return EnumNamesLogLevel()[index];
246 }
247
248 enum class LogType : int8_t {
249 STRING = 0,
250 TOKENIZED = 1,
251 BLUETOOTH = 2,
252 MIN = STRING,
253 MAX = BLUETOOTH
254 };
255
EnumValuesLogType()256 inline const LogType (&EnumValuesLogType())[3] {
257 static const LogType values[] = {
258 LogType::STRING,
259 LogType::TOKENIZED,
260 LogType::BLUETOOTH
261 };
262 return values;
263 }
264
EnumNamesLogType()265 inline const char * const *EnumNamesLogType() {
266 static const char * const names[4] = {
267 "STRING",
268 "TOKENIZED",
269 "BLUETOOTH",
270 nullptr
271 };
272 return names;
273 }
274
EnumNameLogType(LogType e)275 inline const char *EnumNameLogType(LogType e) {
276 if (flatbuffers::IsOutRange(e, LogType::STRING, LogType::BLUETOOTH)) return "";
277 const size_t index = static_cast<size_t>(e);
278 return EnumNamesLogType()[index];
279 }
280
281 enum class BtSnoopDirection : int8_t {
282 INCOMING_FROM_BT_CONTROLLER = 0,
283 OUTGOING_TO_ARBITER = 1,
284 MIN = INCOMING_FROM_BT_CONTROLLER,
285 MAX = OUTGOING_TO_ARBITER
286 };
287
EnumValuesBtSnoopDirection()288 inline const BtSnoopDirection (&EnumValuesBtSnoopDirection())[2] {
289 static const BtSnoopDirection values[] = {
290 BtSnoopDirection::INCOMING_FROM_BT_CONTROLLER,
291 BtSnoopDirection::OUTGOING_TO_ARBITER
292 };
293 return values;
294 }
295
EnumNamesBtSnoopDirection()296 inline const char * const *EnumNamesBtSnoopDirection() {
297 static const char * const names[3] = {
298 "INCOMING_FROM_BT_CONTROLLER",
299 "OUTGOING_TO_ARBITER",
300 nullptr
301 };
302 return names;
303 }
304
EnumNameBtSnoopDirection(BtSnoopDirection e)305 inline const char *EnumNameBtSnoopDirection(BtSnoopDirection e) {
306 if (flatbuffers::IsOutRange(e, BtSnoopDirection::INCOMING_FROM_BT_CONTROLLER, BtSnoopDirection::OUTGOING_TO_ARBITER)) return "";
307 const size_t index = static_cast<size_t>(e);
308 return EnumNamesBtSnoopDirection()[index];
309 }
310
311 /// A union that joins together all possible messages. Note that in FlatBuffers,
312 /// unions have an implicit type
313 enum class ChreMessage : uint8_t {
314 NONE = 0,
315 NanoappMessage = 1,
316 HubInfoRequest = 2,
317 HubInfoResponse = 3,
318 NanoappListRequest = 4,
319 NanoappListResponse = 5,
320 LoadNanoappRequest = 6,
321 LoadNanoappResponse = 7,
322 UnloadNanoappRequest = 8,
323 UnloadNanoappResponse = 9,
324 LogMessage = 10,
325 TimeSyncMessage = 11,
326 DebugDumpRequest = 12,
327 DebugDumpData = 13,
328 DebugDumpResponse = 14,
329 TimeSyncRequest = 15,
330 LowPowerMicAccessRequest = 16,
331 LowPowerMicAccessRelease = 17,
332 SettingChangeMessage = 18,
333 LogMessageV2 = 19,
334 SelfTestRequest = 20,
335 SelfTestResponse = 21,
336 HostEndpointConnected = 22,
337 HostEndpointDisconnected = 23,
338 MetricLog = 24,
339 BatchedMetricLog = 25,
340 NanConfigurationRequest = 26,
341 NanConfigurationUpdate = 27,
342 DebugConfiguration = 28,
343 MIN = NONE,
344 MAX = DebugConfiguration
345 };
346
EnumValuesChreMessage()347 inline const ChreMessage (&EnumValuesChreMessage())[29] {
348 static const ChreMessage values[] = {
349 ChreMessage::NONE,
350 ChreMessage::NanoappMessage,
351 ChreMessage::HubInfoRequest,
352 ChreMessage::HubInfoResponse,
353 ChreMessage::NanoappListRequest,
354 ChreMessage::NanoappListResponse,
355 ChreMessage::LoadNanoappRequest,
356 ChreMessage::LoadNanoappResponse,
357 ChreMessage::UnloadNanoappRequest,
358 ChreMessage::UnloadNanoappResponse,
359 ChreMessage::LogMessage,
360 ChreMessage::TimeSyncMessage,
361 ChreMessage::DebugDumpRequest,
362 ChreMessage::DebugDumpData,
363 ChreMessage::DebugDumpResponse,
364 ChreMessage::TimeSyncRequest,
365 ChreMessage::LowPowerMicAccessRequest,
366 ChreMessage::LowPowerMicAccessRelease,
367 ChreMessage::SettingChangeMessage,
368 ChreMessage::LogMessageV2,
369 ChreMessage::SelfTestRequest,
370 ChreMessage::SelfTestResponse,
371 ChreMessage::HostEndpointConnected,
372 ChreMessage::HostEndpointDisconnected,
373 ChreMessage::MetricLog,
374 ChreMessage::BatchedMetricLog,
375 ChreMessage::NanConfigurationRequest,
376 ChreMessage::NanConfigurationUpdate,
377 ChreMessage::DebugConfiguration
378 };
379 return values;
380 }
381
EnumNamesChreMessage()382 inline const char * const *EnumNamesChreMessage() {
383 static const char * const names[30] = {
384 "NONE",
385 "NanoappMessage",
386 "HubInfoRequest",
387 "HubInfoResponse",
388 "NanoappListRequest",
389 "NanoappListResponse",
390 "LoadNanoappRequest",
391 "LoadNanoappResponse",
392 "UnloadNanoappRequest",
393 "UnloadNanoappResponse",
394 "LogMessage",
395 "TimeSyncMessage",
396 "DebugDumpRequest",
397 "DebugDumpData",
398 "DebugDumpResponse",
399 "TimeSyncRequest",
400 "LowPowerMicAccessRequest",
401 "LowPowerMicAccessRelease",
402 "SettingChangeMessage",
403 "LogMessageV2",
404 "SelfTestRequest",
405 "SelfTestResponse",
406 "HostEndpointConnected",
407 "HostEndpointDisconnected",
408 "MetricLog",
409 "BatchedMetricLog",
410 "NanConfigurationRequest",
411 "NanConfigurationUpdate",
412 "DebugConfiguration",
413 nullptr
414 };
415 return names;
416 }
417
EnumNameChreMessage(ChreMessage e)418 inline const char *EnumNameChreMessage(ChreMessage e) {
419 if (flatbuffers::IsOutRange(e, ChreMessage::NONE, ChreMessage::DebugConfiguration)) return "";
420 const size_t index = static_cast<size_t>(e);
421 return EnumNamesChreMessage()[index];
422 }
423
424 template<typename T> struct ChreMessageTraits {
425 static const ChreMessage enum_value = ChreMessage::NONE;
426 };
427
428 template<> struct ChreMessageTraits<chre::fbs::NanoappMessage> {
429 static const ChreMessage enum_value = ChreMessage::NanoappMessage;
430 };
431
432 template<> struct ChreMessageTraits<chre::fbs::HubInfoRequest> {
433 static const ChreMessage enum_value = ChreMessage::HubInfoRequest;
434 };
435
436 template<> struct ChreMessageTraits<chre::fbs::HubInfoResponse> {
437 static const ChreMessage enum_value = ChreMessage::HubInfoResponse;
438 };
439
440 template<> struct ChreMessageTraits<chre::fbs::NanoappListRequest> {
441 static const ChreMessage enum_value = ChreMessage::NanoappListRequest;
442 };
443
444 template<> struct ChreMessageTraits<chre::fbs::NanoappListResponse> {
445 static const ChreMessage enum_value = ChreMessage::NanoappListResponse;
446 };
447
448 template<> struct ChreMessageTraits<chre::fbs::LoadNanoappRequest> {
449 static const ChreMessage enum_value = ChreMessage::LoadNanoappRequest;
450 };
451
452 template<> struct ChreMessageTraits<chre::fbs::LoadNanoappResponse> {
453 static const ChreMessage enum_value = ChreMessage::LoadNanoappResponse;
454 };
455
456 template<> struct ChreMessageTraits<chre::fbs::UnloadNanoappRequest> {
457 static const ChreMessage enum_value = ChreMessage::UnloadNanoappRequest;
458 };
459
460 template<> struct ChreMessageTraits<chre::fbs::UnloadNanoappResponse> {
461 static const ChreMessage enum_value = ChreMessage::UnloadNanoappResponse;
462 };
463
464 template<> struct ChreMessageTraits<chre::fbs::LogMessage> {
465 static const ChreMessage enum_value = ChreMessage::LogMessage;
466 };
467
468 template<> struct ChreMessageTraits<chre::fbs::TimeSyncMessage> {
469 static const ChreMessage enum_value = ChreMessage::TimeSyncMessage;
470 };
471
472 template<> struct ChreMessageTraits<chre::fbs::DebugDumpRequest> {
473 static const ChreMessage enum_value = ChreMessage::DebugDumpRequest;
474 };
475
476 template<> struct ChreMessageTraits<chre::fbs::DebugDumpData> {
477 static const ChreMessage enum_value = ChreMessage::DebugDumpData;
478 };
479
480 template<> struct ChreMessageTraits<chre::fbs::DebugDumpResponse> {
481 static const ChreMessage enum_value = ChreMessage::DebugDumpResponse;
482 };
483
484 template<> struct ChreMessageTraits<chre::fbs::TimeSyncRequest> {
485 static const ChreMessage enum_value = ChreMessage::TimeSyncRequest;
486 };
487
488 template<> struct ChreMessageTraits<chre::fbs::LowPowerMicAccessRequest> {
489 static const ChreMessage enum_value = ChreMessage::LowPowerMicAccessRequest;
490 };
491
492 template<> struct ChreMessageTraits<chre::fbs::LowPowerMicAccessRelease> {
493 static const ChreMessage enum_value = ChreMessage::LowPowerMicAccessRelease;
494 };
495
496 template<> struct ChreMessageTraits<chre::fbs::SettingChangeMessage> {
497 static const ChreMessage enum_value = ChreMessage::SettingChangeMessage;
498 };
499
500 template<> struct ChreMessageTraits<chre::fbs::LogMessageV2> {
501 static const ChreMessage enum_value = ChreMessage::LogMessageV2;
502 };
503
504 template<> struct ChreMessageTraits<chre::fbs::SelfTestRequest> {
505 static const ChreMessage enum_value = ChreMessage::SelfTestRequest;
506 };
507
508 template<> struct ChreMessageTraits<chre::fbs::SelfTestResponse> {
509 static const ChreMessage enum_value = ChreMessage::SelfTestResponse;
510 };
511
512 template<> struct ChreMessageTraits<chre::fbs::HostEndpointConnected> {
513 static const ChreMessage enum_value = ChreMessage::HostEndpointConnected;
514 };
515
516 template<> struct ChreMessageTraits<chre::fbs::HostEndpointDisconnected> {
517 static const ChreMessage enum_value = ChreMessage::HostEndpointDisconnected;
518 };
519
520 template<> struct ChreMessageTraits<chre::fbs::MetricLog> {
521 static const ChreMessage enum_value = ChreMessage::MetricLog;
522 };
523
524 template<> struct ChreMessageTraits<chre::fbs::BatchedMetricLog> {
525 static const ChreMessage enum_value = ChreMessage::BatchedMetricLog;
526 };
527
528 template<> struct ChreMessageTraits<chre::fbs::NanConfigurationRequest> {
529 static const ChreMessage enum_value = ChreMessage::NanConfigurationRequest;
530 };
531
532 template<> struct ChreMessageTraits<chre::fbs::NanConfigurationUpdate> {
533 static const ChreMessage enum_value = ChreMessage::NanConfigurationUpdate;
534 };
535
536 template<> struct ChreMessageTraits<chre::fbs::DebugConfiguration> {
537 static const ChreMessage enum_value = ChreMessage::DebugConfiguration;
538 };
539
540 struct ChreMessageUnion {
541 ChreMessage type;
542 void *value;
543
544 ChreMessageUnion() : type(ChreMessage::NONE), value(nullptr) {}
545 ChreMessageUnion(ChreMessageUnion&& u) FLATBUFFERS_NOEXCEPT :
546 type(ChreMessage::NONE), value(nullptr)
547 { std::swap(type, u.type); std::swap(value, u.value); }
548 ChreMessageUnion(const ChreMessageUnion &);
549 ChreMessageUnion &operator=(const ChreMessageUnion &u)
550 { ChreMessageUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; }
551 ChreMessageUnion &operator=(ChreMessageUnion &&u) FLATBUFFERS_NOEXCEPT
552 { std::swap(type, u.type); std::swap(value, u.value); return *this; }
553 ~ChreMessageUnion() { Reset(); }
554
555 void Reset();
556
557 #ifndef FLATBUFFERS_CPP98_STL
558 template <typename T>
559 void Set(T&& val) {
560 using RT = typename std::remove_reference<T>::type;
561 Reset();
562 type = ChreMessageTraits<typename RT::TableType>::enum_value;
563 if (type != ChreMessage::NONE) {
564 value = new RT(std::forward<T>(val));
565 }
566 }
567 #endif // FLATBUFFERS_CPP98_STL
568
569 static void *UnPack(const void *obj, ChreMessage type, const flatbuffers::resolver_function_t *resolver);
570 flatbuffers::Offset<void> Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const;
571
572 chre::fbs::NanoappMessageT *AsNanoappMessage() {
573 return type == ChreMessage::NanoappMessage ?
574 reinterpret_cast<chre::fbs::NanoappMessageT *>(value) : nullptr;
575 }
576 const chre::fbs::NanoappMessageT *AsNanoappMessage() const {
577 return type == ChreMessage::NanoappMessage ?
578 reinterpret_cast<const chre::fbs::NanoappMessageT *>(value) : nullptr;
579 }
580 chre::fbs::HubInfoRequestT *AsHubInfoRequest() {
581 return type == ChreMessage::HubInfoRequest ?
582 reinterpret_cast<chre::fbs::HubInfoRequestT *>(value) : nullptr;
583 }
584 const chre::fbs::HubInfoRequestT *AsHubInfoRequest() const {
585 return type == ChreMessage::HubInfoRequest ?
586 reinterpret_cast<const chre::fbs::HubInfoRequestT *>(value) : nullptr;
587 }
588 chre::fbs::HubInfoResponseT *AsHubInfoResponse() {
589 return type == ChreMessage::HubInfoResponse ?
590 reinterpret_cast<chre::fbs::HubInfoResponseT *>(value) : nullptr;
591 }
592 const chre::fbs::HubInfoResponseT *AsHubInfoResponse() const {
593 return type == ChreMessage::HubInfoResponse ?
594 reinterpret_cast<const chre::fbs::HubInfoResponseT *>(value) : nullptr;
595 }
596 chre::fbs::NanoappListRequestT *AsNanoappListRequest() {
597 return type == ChreMessage::NanoappListRequest ?
598 reinterpret_cast<chre::fbs::NanoappListRequestT *>(value) : nullptr;
599 }
600 const chre::fbs::NanoappListRequestT *AsNanoappListRequest() const {
601 return type == ChreMessage::NanoappListRequest ?
602 reinterpret_cast<const chre::fbs::NanoappListRequestT *>(value) : nullptr;
603 }
604 chre::fbs::NanoappListResponseT *AsNanoappListResponse() {
605 return type == ChreMessage::NanoappListResponse ?
606 reinterpret_cast<chre::fbs::NanoappListResponseT *>(value) : nullptr;
607 }
608 const chre::fbs::NanoappListResponseT *AsNanoappListResponse() const {
609 return type == ChreMessage::NanoappListResponse ?
610 reinterpret_cast<const chre::fbs::NanoappListResponseT *>(value) : nullptr;
611 }
612 chre::fbs::LoadNanoappRequestT *AsLoadNanoappRequest() {
613 return type == ChreMessage::LoadNanoappRequest ?
614 reinterpret_cast<chre::fbs::LoadNanoappRequestT *>(value) : nullptr;
615 }
616 const chre::fbs::LoadNanoappRequestT *AsLoadNanoappRequest() const {
617 return type == ChreMessage::LoadNanoappRequest ?
618 reinterpret_cast<const chre::fbs::LoadNanoappRequestT *>(value) : nullptr;
619 }
620 chre::fbs::LoadNanoappResponseT *AsLoadNanoappResponse() {
621 return type == ChreMessage::LoadNanoappResponse ?
622 reinterpret_cast<chre::fbs::LoadNanoappResponseT *>(value) : nullptr;
623 }
624 const chre::fbs::LoadNanoappResponseT *AsLoadNanoappResponse() const {
625 return type == ChreMessage::LoadNanoappResponse ?
626 reinterpret_cast<const chre::fbs::LoadNanoappResponseT *>(value) : nullptr;
627 }
628 chre::fbs::UnloadNanoappRequestT *AsUnloadNanoappRequest() {
629 return type == ChreMessage::UnloadNanoappRequest ?
630 reinterpret_cast<chre::fbs::UnloadNanoappRequestT *>(value) : nullptr;
631 }
632 const chre::fbs::UnloadNanoappRequestT *AsUnloadNanoappRequest() const {
633 return type == ChreMessage::UnloadNanoappRequest ?
634 reinterpret_cast<const chre::fbs::UnloadNanoappRequestT *>(value) : nullptr;
635 }
636 chre::fbs::UnloadNanoappResponseT *AsUnloadNanoappResponse() {
637 return type == ChreMessage::UnloadNanoappResponse ?
638 reinterpret_cast<chre::fbs::UnloadNanoappResponseT *>(value) : nullptr;
639 }
640 const chre::fbs::UnloadNanoappResponseT *AsUnloadNanoappResponse() const {
641 return type == ChreMessage::UnloadNanoappResponse ?
642 reinterpret_cast<const chre::fbs::UnloadNanoappResponseT *>(value) : nullptr;
643 }
644 chre::fbs::LogMessageT *AsLogMessage() {
645 return type == ChreMessage::LogMessage ?
646 reinterpret_cast<chre::fbs::LogMessageT *>(value) : nullptr;
647 }
648 const chre::fbs::LogMessageT *AsLogMessage() const {
649 return type == ChreMessage::LogMessage ?
650 reinterpret_cast<const chre::fbs::LogMessageT *>(value) : nullptr;
651 }
652 chre::fbs::TimeSyncMessageT *AsTimeSyncMessage() {
653 return type == ChreMessage::TimeSyncMessage ?
654 reinterpret_cast<chre::fbs::TimeSyncMessageT *>(value) : nullptr;
655 }
656 const chre::fbs::TimeSyncMessageT *AsTimeSyncMessage() const {
657 return type == ChreMessage::TimeSyncMessage ?
658 reinterpret_cast<const chre::fbs::TimeSyncMessageT *>(value) : nullptr;
659 }
660 chre::fbs::DebugDumpRequestT *AsDebugDumpRequest() {
661 return type == ChreMessage::DebugDumpRequest ?
662 reinterpret_cast<chre::fbs::DebugDumpRequestT *>(value) : nullptr;
663 }
664 const chre::fbs::DebugDumpRequestT *AsDebugDumpRequest() const {
665 return type == ChreMessage::DebugDumpRequest ?
666 reinterpret_cast<const chre::fbs::DebugDumpRequestT *>(value) : nullptr;
667 }
668 chre::fbs::DebugDumpDataT *AsDebugDumpData() {
669 return type == ChreMessage::DebugDumpData ?
670 reinterpret_cast<chre::fbs::DebugDumpDataT *>(value) : nullptr;
671 }
672 const chre::fbs::DebugDumpDataT *AsDebugDumpData() const {
673 return type == ChreMessage::DebugDumpData ?
674 reinterpret_cast<const chre::fbs::DebugDumpDataT *>(value) : nullptr;
675 }
676 chre::fbs::DebugDumpResponseT *AsDebugDumpResponse() {
677 return type == ChreMessage::DebugDumpResponse ?
678 reinterpret_cast<chre::fbs::DebugDumpResponseT *>(value) : nullptr;
679 }
680 const chre::fbs::DebugDumpResponseT *AsDebugDumpResponse() const {
681 return type == ChreMessage::DebugDumpResponse ?
682 reinterpret_cast<const chre::fbs::DebugDumpResponseT *>(value) : nullptr;
683 }
684 chre::fbs::TimeSyncRequestT *AsTimeSyncRequest() {
685 return type == ChreMessage::TimeSyncRequest ?
686 reinterpret_cast<chre::fbs::TimeSyncRequestT *>(value) : nullptr;
687 }
688 const chre::fbs::TimeSyncRequestT *AsTimeSyncRequest() const {
689 return type == ChreMessage::TimeSyncRequest ?
690 reinterpret_cast<const chre::fbs::TimeSyncRequestT *>(value) : nullptr;
691 }
692 chre::fbs::LowPowerMicAccessRequestT *AsLowPowerMicAccessRequest() {
693 return type == ChreMessage::LowPowerMicAccessRequest ?
694 reinterpret_cast<chre::fbs::LowPowerMicAccessRequestT *>(value) : nullptr;
695 }
696 const chre::fbs::LowPowerMicAccessRequestT *AsLowPowerMicAccessRequest() const {
697 return type == ChreMessage::LowPowerMicAccessRequest ?
698 reinterpret_cast<const chre::fbs::LowPowerMicAccessRequestT *>(value) : nullptr;
699 }
700 chre::fbs::LowPowerMicAccessReleaseT *AsLowPowerMicAccessRelease() {
701 return type == ChreMessage::LowPowerMicAccessRelease ?
702 reinterpret_cast<chre::fbs::LowPowerMicAccessReleaseT *>(value) : nullptr;
703 }
704 const chre::fbs::LowPowerMicAccessReleaseT *AsLowPowerMicAccessRelease() const {
705 return type == ChreMessage::LowPowerMicAccessRelease ?
706 reinterpret_cast<const chre::fbs::LowPowerMicAccessReleaseT *>(value) : nullptr;
707 }
708 chre::fbs::SettingChangeMessageT *AsSettingChangeMessage() {
709 return type == ChreMessage::SettingChangeMessage ?
710 reinterpret_cast<chre::fbs::SettingChangeMessageT *>(value) : nullptr;
711 }
712 const chre::fbs::SettingChangeMessageT *AsSettingChangeMessage() const {
713 return type == ChreMessage::SettingChangeMessage ?
714 reinterpret_cast<const chre::fbs::SettingChangeMessageT *>(value) : nullptr;
715 }
716 chre::fbs::LogMessageV2T *AsLogMessageV2() {
717 return type == ChreMessage::LogMessageV2 ?
718 reinterpret_cast<chre::fbs::LogMessageV2T *>(value) : nullptr;
719 }
720 const chre::fbs::LogMessageV2T *AsLogMessageV2() const {
721 return type == ChreMessage::LogMessageV2 ?
722 reinterpret_cast<const chre::fbs::LogMessageV2T *>(value) : nullptr;
723 }
724 chre::fbs::SelfTestRequestT *AsSelfTestRequest() {
725 return type == ChreMessage::SelfTestRequest ?
726 reinterpret_cast<chre::fbs::SelfTestRequestT *>(value) : nullptr;
727 }
728 const chre::fbs::SelfTestRequestT *AsSelfTestRequest() const {
729 return type == ChreMessage::SelfTestRequest ?
730 reinterpret_cast<const chre::fbs::SelfTestRequestT *>(value) : nullptr;
731 }
732 chre::fbs::SelfTestResponseT *AsSelfTestResponse() {
733 return type == ChreMessage::SelfTestResponse ?
734 reinterpret_cast<chre::fbs::SelfTestResponseT *>(value) : nullptr;
735 }
736 const chre::fbs::SelfTestResponseT *AsSelfTestResponse() const {
737 return type == ChreMessage::SelfTestResponse ?
738 reinterpret_cast<const chre::fbs::SelfTestResponseT *>(value) : nullptr;
739 }
740 chre::fbs::HostEndpointConnectedT *AsHostEndpointConnected() {
741 return type == ChreMessage::HostEndpointConnected ?
742 reinterpret_cast<chre::fbs::HostEndpointConnectedT *>(value) : nullptr;
743 }
744 const chre::fbs::HostEndpointConnectedT *AsHostEndpointConnected() const {
745 return type == ChreMessage::HostEndpointConnected ?
746 reinterpret_cast<const chre::fbs::HostEndpointConnectedT *>(value) : nullptr;
747 }
748 chre::fbs::HostEndpointDisconnectedT *AsHostEndpointDisconnected() {
749 return type == ChreMessage::HostEndpointDisconnected ?
750 reinterpret_cast<chre::fbs::HostEndpointDisconnectedT *>(value) : nullptr;
751 }
752 const chre::fbs::HostEndpointDisconnectedT *AsHostEndpointDisconnected() const {
753 return type == ChreMessage::HostEndpointDisconnected ?
754 reinterpret_cast<const chre::fbs::HostEndpointDisconnectedT *>(value) : nullptr;
755 }
756 chre::fbs::MetricLogT *AsMetricLog() {
757 return type == ChreMessage::MetricLog ?
758 reinterpret_cast<chre::fbs::MetricLogT *>(value) : nullptr;
759 }
760 const chre::fbs::MetricLogT *AsMetricLog() const {
761 return type == ChreMessage::MetricLog ?
762 reinterpret_cast<const chre::fbs::MetricLogT *>(value) : nullptr;
763 }
764 chre::fbs::BatchedMetricLogT *AsBatchedMetricLog() {
765 return type == ChreMessage::BatchedMetricLog ?
766 reinterpret_cast<chre::fbs::BatchedMetricLogT *>(value) : nullptr;
767 }
768 const chre::fbs::BatchedMetricLogT *AsBatchedMetricLog() const {
769 return type == ChreMessage::BatchedMetricLog ?
770 reinterpret_cast<const chre::fbs::BatchedMetricLogT *>(value) : nullptr;
771 }
772 chre::fbs::NanConfigurationRequestT *AsNanConfigurationRequest() {
773 return type == ChreMessage::NanConfigurationRequest ?
774 reinterpret_cast<chre::fbs::NanConfigurationRequestT *>(value) : nullptr;
775 }
776 const chre::fbs::NanConfigurationRequestT *AsNanConfigurationRequest() const {
777 return type == ChreMessage::NanConfigurationRequest ?
778 reinterpret_cast<const chre::fbs::NanConfigurationRequestT *>(value) : nullptr;
779 }
780 chre::fbs::NanConfigurationUpdateT *AsNanConfigurationUpdate() {
781 return type == ChreMessage::NanConfigurationUpdate ?
782 reinterpret_cast<chre::fbs::NanConfigurationUpdateT *>(value) : nullptr;
783 }
784 const chre::fbs::NanConfigurationUpdateT *AsNanConfigurationUpdate() const {
785 return type == ChreMessage::NanConfigurationUpdate ?
786 reinterpret_cast<const chre::fbs::NanConfigurationUpdateT *>(value) : nullptr;
787 }
788 chre::fbs::DebugConfigurationT *AsDebugConfiguration() {
789 return type == ChreMessage::DebugConfiguration ?
790 reinterpret_cast<chre::fbs::DebugConfigurationT *>(value) : nullptr;
791 }
792 const chre::fbs::DebugConfigurationT *AsDebugConfiguration() const {
793 return type == ChreMessage::DebugConfiguration ?
794 reinterpret_cast<const chre::fbs::DebugConfigurationT *>(value) : nullptr;
795 }
796 };
797
798 bool VerifyChreMessage(flatbuffers::Verifier &verifier, const void *obj, ChreMessage type);
799 bool VerifyChreMessageVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
800
801 FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(2) HostAddress FLATBUFFERS_FINAL_CLASS {
802 private:
803 uint16_t client_id_;
804
805 public:
806 HostAddress() {
807 memset(static_cast<void *>(this), 0, sizeof(HostAddress));
808 }
809 HostAddress(uint16_t _client_id)
810 : client_id_(flatbuffers::EndianScalar(_client_id)) {
811 }
812 uint16_t client_id() const {
813 return flatbuffers::EndianScalar(client_id_);
814 }
815 void mutate_client_id(uint16_t _client_id) {
816 flatbuffers::WriteScalar(&client_id_, _client_id);
817 }
818 };
819 FLATBUFFERS_STRUCT_END(HostAddress, 2);
820
821 struct NanoappMessageT : public flatbuffers::NativeTable {
822 typedef NanoappMessage TableType;
823 uint64_t app_id;
824 uint32_t message_type;
825 uint16_t host_endpoint;
826 std::vector<uint8_t> message;
827 uint32_t message_permissions;
828 uint32_t permissions;
829 bool woke_host;
830 NanoappMessageT()
831 : app_id(0),
832 message_type(0),
833 host_endpoint(65534),
834 message_permissions(0),
835 permissions(0),
836 woke_host(false) {
837 }
838 };
839
840 /// Represents a message sent to/from a nanoapp from/to a client on the host
841 struct NanoappMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
842 typedef NanoappMessageT NativeTableType;
843 typedef NanoappMessageBuilder Builder;
844 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
845 VT_APP_ID = 4,
846 VT_MESSAGE_TYPE = 6,
847 VT_HOST_ENDPOINT = 8,
848 VT_MESSAGE = 10,
849 VT_MESSAGE_PERMISSIONS = 12,
850 VT_PERMISSIONS = 14,
851 VT_WOKE_HOST = 16
852 };
853 uint64_t app_id() const {
854 return GetField<uint64_t>(VT_APP_ID, 0);
855 }
856 bool mutate_app_id(uint64_t _app_id) {
857 return SetField<uint64_t>(VT_APP_ID, _app_id, 0);
858 }
859 uint32_t message_type() const {
860 return GetField<uint32_t>(VT_MESSAGE_TYPE, 0);
861 }
862 bool mutate_message_type(uint32_t _message_type) {
863 return SetField<uint32_t>(VT_MESSAGE_TYPE, _message_type, 0);
864 }
865 /// Identifies the host-side endpoint on the host that sent or should receive
866 /// this message. The default value is a special value defined in the HAL and
867 /// elsewhere that indicates that the endpoint is unspecified.
868 uint16_t host_endpoint() const {
869 return GetField<uint16_t>(VT_HOST_ENDPOINT, 65534);
870 }
871 bool mutate_host_endpoint(uint16_t _host_endpoint) {
872 return SetField<uint16_t>(VT_HOST_ENDPOINT, _host_endpoint, 65534);
873 }
874 /// Vector containing arbitrary application-specific message data
875 const flatbuffers::Vector<uint8_t> *message() const {
876 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_MESSAGE);
877 }
878 flatbuffers::Vector<uint8_t> *mutable_message() {
879 return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_MESSAGE);
880 }
881 /// List of Android permissions that cover the contents of a message from a
882 /// nanoapp to the host.
883 /// These permissions are used to record and attribute access to
884 /// permissions-controlled resources.
885 uint32_t message_permissions() const {
886 return GetField<uint32_t>(VT_MESSAGE_PERMISSIONS, 0);
887 }
888 bool mutate_message_permissions(uint32_t _message_permissions) {
889 return SetField<uint32_t>(VT_MESSAGE_PERMISSIONS, _message_permissions, 0);
890 }
891 /// List of Android permissions declared by the nanoapp / granted to the host.
892 /// For messages from a nanoaapp to the host, this must be a superset of
893 /// message_permissions.
894 uint32_t permissions() const {
895 return GetField<uint32_t>(VT_PERMISSIONS, 0);
896 }
897 bool mutate_permissions(uint32_t _permissions) {
898 return SetField<uint32_t>(VT_PERMISSIONS, _permissions, 0);
899 }
900 bool woke_host() const {
901 return GetField<uint8_t>(VT_WOKE_HOST, 0) != 0;
902 }
903 bool mutate_woke_host(bool _woke_host) {
904 return SetField<uint8_t>(VT_WOKE_HOST, static_cast<uint8_t>(_woke_host), 0);
905 }
906 bool Verify(flatbuffers::Verifier &verifier) const {
907 return VerifyTableStart(verifier) &&
908 VerifyField<uint64_t>(verifier, VT_APP_ID) &&
909 VerifyField<uint32_t>(verifier, VT_MESSAGE_TYPE) &&
910 VerifyField<uint16_t>(verifier, VT_HOST_ENDPOINT) &&
911 VerifyOffsetRequired(verifier, VT_MESSAGE) &&
912 verifier.VerifyVector(message()) &&
913 VerifyField<uint32_t>(verifier, VT_MESSAGE_PERMISSIONS) &&
914 VerifyField<uint32_t>(verifier, VT_PERMISSIONS) &&
915 VerifyField<uint8_t>(verifier, VT_WOKE_HOST) &&
916 verifier.EndTable();
917 }
918 NanoappMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
919 void UnPackTo(NanoappMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
920 static flatbuffers::Offset<NanoappMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
921 };
922
923 struct NanoappMessageBuilder {
924 typedef NanoappMessage Table;
925 flatbuffers::FlatBufferBuilder &fbb_;
926 flatbuffers::uoffset_t start_;
927 void add_app_id(uint64_t app_id) {
928 fbb_.AddElement<uint64_t>(NanoappMessage::VT_APP_ID, app_id, 0);
929 }
930 void add_message_type(uint32_t message_type) {
931 fbb_.AddElement<uint32_t>(NanoappMessage::VT_MESSAGE_TYPE, message_type, 0);
932 }
933 void add_host_endpoint(uint16_t host_endpoint) {
934 fbb_.AddElement<uint16_t>(NanoappMessage::VT_HOST_ENDPOINT, host_endpoint, 65534);
935 }
936 void add_message(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> message) {
937 fbb_.AddOffset(NanoappMessage::VT_MESSAGE, message);
938 }
939 void add_message_permissions(uint32_t message_permissions) {
940 fbb_.AddElement<uint32_t>(NanoappMessage::VT_MESSAGE_PERMISSIONS, message_permissions, 0);
941 }
942 void add_permissions(uint32_t permissions) {
943 fbb_.AddElement<uint32_t>(NanoappMessage::VT_PERMISSIONS, permissions, 0);
944 }
945 void add_woke_host(bool woke_host) {
946 fbb_.AddElement<uint8_t>(NanoappMessage::VT_WOKE_HOST, static_cast<uint8_t>(woke_host), 0);
947 }
948 explicit NanoappMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
949 : fbb_(_fbb) {
950 start_ = fbb_.StartTable();
951 }
952 NanoappMessageBuilder &operator=(const NanoappMessageBuilder &);
953 flatbuffers::Offset<NanoappMessage> Finish() {
954 const auto end = fbb_.EndTable(start_);
955 auto o = flatbuffers::Offset<NanoappMessage>(end);
956 fbb_.Required(o, NanoappMessage::VT_MESSAGE);
957 return o;
958 }
959 };
960
961 inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessage(
962 flatbuffers::FlatBufferBuilder &_fbb,
963 uint64_t app_id = 0,
964 uint32_t message_type = 0,
965 uint16_t host_endpoint = 65534,
966 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> message = 0,
967 uint32_t message_permissions = 0,
968 uint32_t permissions = 0,
969 bool woke_host = false) {
970 NanoappMessageBuilder builder_(_fbb);
971 builder_.add_app_id(app_id);
972 builder_.add_permissions(permissions);
973 builder_.add_message_permissions(message_permissions);
974 builder_.add_message(message);
975 builder_.add_message_type(message_type);
976 builder_.add_host_endpoint(host_endpoint);
977 builder_.add_woke_host(woke_host);
978 return builder_.Finish();
979 }
980
981 inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessageDirect(
982 flatbuffers::FlatBufferBuilder &_fbb,
983 uint64_t app_id = 0,
984 uint32_t message_type = 0,
985 uint16_t host_endpoint = 65534,
986 const std::vector<uint8_t> *message = nullptr,
987 uint32_t message_permissions = 0,
988 uint32_t permissions = 0,
989 bool woke_host = false) {
990 auto message__ = message ? _fbb.CreateVector<uint8_t>(*message) : 0;
991 return chre::fbs::CreateNanoappMessage(
992 _fbb,
993 app_id,
994 message_type,
995 host_endpoint,
996 message__,
997 message_permissions,
998 permissions,
999 woke_host);
1000 }
1001
1002 flatbuffers::Offset<NanoappMessage> CreateNanoappMessage(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1003
1004 struct HubInfoRequestT : public flatbuffers::NativeTable {
1005 typedef HubInfoRequest TableType;
1006 HubInfoRequestT() {
1007 }
1008 };
1009
1010 struct HubInfoRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1011 typedef HubInfoRequestT NativeTableType;
1012 typedef HubInfoRequestBuilder Builder;
1013 bool Verify(flatbuffers::Verifier &verifier) const {
1014 return VerifyTableStart(verifier) &&
1015 verifier.EndTable();
1016 }
1017 HubInfoRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1018 void UnPackTo(HubInfoRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1019 static flatbuffers::Offset<HubInfoRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1020 };
1021
1022 struct HubInfoRequestBuilder {
1023 typedef HubInfoRequest Table;
1024 flatbuffers::FlatBufferBuilder &fbb_;
1025 flatbuffers::uoffset_t start_;
1026 explicit HubInfoRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1027 : fbb_(_fbb) {
1028 start_ = fbb_.StartTable();
1029 }
1030 HubInfoRequestBuilder &operator=(const HubInfoRequestBuilder &);
1031 flatbuffers::Offset<HubInfoRequest> Finish() {
1032 const auto end = fbb_.EndTable(start_);
1033 auto o = flatbuffers::Offset<HubInfoRequest>(end);
1034 return o;
1035 }
1036 };
1037
1038 inline flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest(
1039 flatbuffers::FlatBufferBuilder &_fbb) {
1040 HubInfoRequestBuilder builder_(_fbb);
1041 return builder_.Finish();
1042 }
1043
1044 flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1045
1046 struct HubInfoResponseT : public flatbuffers::NativeTable {
1047 typedef HubInfoResponse TableType;
1048 std::vector<int8_t> name;
1049 std::vector<int8_t> vendor;
1050 std::vector<int8_t> toolchain;
1051 uint32_t platform_version;
1052 uint32_t toolchain_version;
1053 float peak_mips;
1054 float stopped_power;
1055 float sleep_power;
1056 float peak_power;
1057 uint32_t max_msg_len;
1058 uint64_t platform_id;
1059 uint32_t chre_platform_version;
1060 HubInfoResponseT()
1061 : platform_version(0),
1062 toolchain_version(0),
1063 peak_mips(0.0f),
1064 stopped_power(0.0f),
1065 sleep_power(0.0f),
1066 peak_power(0.0f),
1067 max_msg_len(0),
1068 platform_id(0),
1069 chre_platform_version(0) {
1070 }
1071 };
1072
1073 struct HubInfoResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1074 typedef HubInfoResponseT NativeTableType;
1075 typedef HubInfoResponseBuilder Builder;
1076 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1077 VT_NAME = 4,
1078 VT_VENDOR = 6,
1079 VT_TOOLCHAIN = 8,
1080 VT_PLATFORM_VERSION = 10,
1081 VT_TOOLCHAIN_VERSION = 12,
1082 VT_PEAK_MIPS = 14,
1083 VT_STOPPED_POWER = 16,
1084 VT_SLEEP_POWER = 18,
1085 VT_PEAK_POWER = 20,
1086 VT_MAX_MSG_LEN = 22,
1087 VT_PLATFORM_ID = 24,
1088 VT_CHRE_PLATFORM_VERSION = 26
1089 };
1090 /// The name of the hub. Nominally a UTF-8 string, but note that we're not
1091 /// using the built-in "string" data type from FlatBuffers here, because the
1092 /// generated C++ uses std::string which is not well-supported in CHRE. This
1093 /// applies for vendor and toolchain as well.
1094 const flatbuffers::Vector<int8_t> *name() const {
1095 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_NAME);
1096 }
1097 flatbuffers::Vector<int8_t> *mutable_name() {
1098 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_NAME);
1099 }
1100 const flatbuffers::Vector<int8_t> *vendor() const {
1101 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_VENDOR);
1102 }
1103 flatbuffers::Vector<int8_t> *mutable_vendor() {
1104 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_VENDOR);
1105 }
1106 const flatbuffers::Vector<int8_t> *toolchain() const {
1107 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_TOOLCHAIN);
1108 }
1109 flatbuffers::Vector<int8_t> *mutable_toolchain() {
1110 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_TOOLCHAIN);
1111 }
1112 /// Legacy platform version reported in the HAL; semantics not strictly
1113 /// defined
1114 uint32_t platform_version() const {
1115 return GetField<uint32_t>(VT_PLATFORM_VERSION, 0);
1116 }
1117 bool mutate_platform_version(uint32_t _platform_version) {
1118 return SetField<uint32_t>(VT_PLATFORM_VERSION, _platform_version, 0);
1119 }
1120 /// Toolchain version reported in the HAL; semantics not strictly defined
1121 uint32_t toolchain_version() const {
1122 return GetField<uint32_t>(VT_TOOLCHAIN_VERSION, 0);
1123 }
1124 bool mutate_toolchain_version(uint32_t _toolchain_version) {
1125 return SetField<uint32_t>(VT_TOOLCHAIN_VERSION, _toolchain_version, 0);
1126 }
1127 float peak_mips() const {
1128 return GetField<float>(VT_PEAK_MIPS, 0.0f);
1129 }
1130 bool mutate_peak_mips(float _peak_mips) {
1131 return SetField<float>(VT_PEAK_MIPS, _peak_mips, 0.0f);
1132 }
1133 float stopped_power() const {
1134 return GetField<float>(VT_STOPPED_POWER, 0.0f);
1135 }
1136 bool mutate_stopped_power(float _stopped_power) {
1137 return SetField<float>(VT_STOPPED_POWER, _stopped_power, 0.0f);
1138 }
1139 float sleep_power() const {
1140 return GetField<float>(VT_SLEEP_POWER, 0.0f);
1141 }
1142 bool mutate_sleep_power(float _sleep_power) {
1143 return SetField<float>(VT_SLEEP_POWER, _sleep_power, 0.0f);
1144 }
1145 float peak_power() const {
1146 return GetField<float>(VT_PEAK_POWER, 0.0f);
1147 }
1148 bool mutate_peak_power(float _peak_power) {
1149 return SetField<float>(VT_PEAK_POWER, _peak_power, 0.0f);
1150 }
1151 /// Maximum size message that can be sent to a nanoapp
1152 uint32_t max_msg_len() const {
1153 return GetField<uint32_t>(VT_MAX_MSG_LEN, 0);
1154 }
1155 bool mutate_max_msg_len(uint32_t _max_msg_len) {
1156 return SetField<uint32_t>(VT_MAX_MSG_LEN, _max_msg_len, 0);
1157 }
1158 /// @see chreGetPlatformId()
1159 uint64_t platform_id() const {
1160 return GetField<uint64_t>(VT_PLATFORM_ID, 0);
1161 }
1162 bool mutate_platform_id(uint64_t _platform_id) {
1163 return SetField<uint64_t>(VT_PLATFORM_ID, _platform_id, 0);
1164 }
1165 /// @see chreGetVersion()
1166 uint32_t chre_platform_version() const {
1167 return GetField<uint32_t>(VT_CHRE_PLATFORM_VERSION, 0);
1168 }
1169 bool mutate_chre_platform_version(uint32_t _chre_platform_version) {
1170 return SetField<uint32_t>(VT_CHRE_PLATFORM_VERSION, _chre_platform_version, 0);
1171 }
1172 bool Verify(flatbuffers::Verifier &verifier) const {
1173 return VerifyTableStart(verifier) &&
1174 VerifyOffset(verifier, VT_NAME) &&
1175 verifier.VerifyVector(name()) &&
1176 VerifyOffset(verifier, VT_VENDOR) &&
1177 verifier.VerifyVector(vendor()) &&
1178 VerifyOffset(verifier, VT_TOOLCHAIN) &&
1179 verifier.VerifyVector(toolchain()) &&
1180 VerifyField<uint32_t>(verifier, VT_PLATFORM_VERSION) &&
1181 VerifyField<uint32_t>(verifier, VT_TOOLCHAIN_VERSION) &&
1182 VerifyField<float>(verifier, VT_PEAK_MIPS) &&
1183 VerifyField<float>(verifier, VT_STOPPED_POWER) &&
1184 VerifyField<float>(verifier, VT_SLEEP_POWER) &&
1185 VerifyField<float>(verifier, VT_PEAK_POWER) &&
1186 VerifyField<uint32_t>(verifier, VT_MAX_MSG_LEN) &&
1187 VerifyField<uint64_t>(verifier, VT_PLATFORM_ID) &&
1188 VerifyField<uint32_t>(verifier, VT_CHRE_PLATFORM_VERSION) &&
1189 verifier.EndTable();
1190 }
1191 HubInfoResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1192 void UnPackTo(HubInfoResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1193 static flatbuffers::Offset<HubInfoResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1194 };
1195
1196 struct HubInfoResponseBuilder {
1197 typedef HubInfoResponse Table;
1198 flatbuffers::FlatBufferBuilder &fbb_;
1199 flatbuffers::uoffset_t start_;
1200 void add_name(flatbuffers::Offset<flatbuffers::Vector<int8_t>> name) {
1201 fbb_.AddOffset(HubInfoResponse::VT_NAME, name);
1202 }
1203 void add_vendor(flatbuffers::Offset<flatbuffers::Vector<int8_t>> vendor) {
1204 fbb_.AddOffset(HubInfoResponse::VT_VENDOR, vendor);
1205 }
1206 void add_toolchain(flatbuffers::Offset<flatbuffers::Vector<int8_t>> toolchain) {
1207 fbb_.AddOffset(HubInfoResponse::VT_TOOLCHAIN, toolchain);
1208 }
1209 void add_platform_version(uint32_t platform_version) {
1210 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_PLATFORM_VERSION, platform_version, 0);
1211 }
1212 void add_toolchain_version(uint32_t toolchain_version) {
1213 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_TOOLCHAIN_VERSION, toolchain_version, 0);
1214 }
1215 void add_peak_mips(float peak_mips) {
1216 fbb_.AddElement<float>(HubInfoResponse::VT_PEAK_MIPS, peak_mips, 0.0f);
1217 }
1218 void add_stopped_power(float stopped_power) {
1219 fbb_.AddElement<float>(HubInfoResponse::VT_STOPPED_POWER, stopped_power, 0.0f);
1220 }
1221 void add_sleep_power(float sleep_power) {
1222 fbb_.AddElement<float>(HubInfoResponse::VT_SLEEP_POWER, sleep_power, 0.0f);
1223 }
1224 void add_peak_power(float peak_power) {
1225 fbb_.AddElement<float>(HubInfoResponse::VT_PEAK_POWER, peak_power, 0.0f);
1226 }
1227 void add_max_msg_len(uint32_t max_msg_len) {
1228 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_MAX_MSG_LEN, max_msg_len, 0);
1229 }
1230 void add_platform_id(uint64_t platform_id) {
1231 fbb_.AddElement<uint64_t>(HubInfoResponse::VT_PLATFORM_ID, platform_id, 0);
1232 }
1233 void add_chre_platform_version(uint32_t chre_platform_version) {
1234 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_CHRE_PLATFORM_VERSION, chre_platform_version, 0);
1235 }
1236 explicit HubInfoResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1237 : fbb_(_fbb) {
1238 start_ = fbb_.StartTable();
1239 }
1240 HubInfoResponseBuilder &operator=(const HubInfoResponseBuilder &);
1241 flatbuffers::Offset<HubInfoResponse> Finish() {
1242 const auto end = fbb_.EndTable(start_);
1243 auto o = flatbuffers::Offset<HubInfoResponse>(end);
1244 return o;
1245 }
1246 };
1247
1248 inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse(
1249 flatbuffers::FlatBufferBuilder &_fbb,
1250 flatbuffers::Offset<flatbuffers::Vector<int8_t>> name = 0,
1251 flatbuffers::Offset<flatbuffers::Vector<int8_t>> vendor = 0,
1252 flatbuffers::Offset<flatbuffers::Vector<int8_t>> toolchain = 0,
1253 uint32_t platform_version = 0,
1254 uint32_t toolchain_version = 0,
1255 float peak_mips = 0.0f,
1256 float stopped_power = 0.0f,
1257 float sleep_power = 0.0f,
1258 float peak_power = 0.0f,
1259 uint32_t max_msg_len = 0,
1260 uint64_t platform_id = 0,
1261 uint32_t chre_platform_version = 0) {
1262 HubInfoResponseBuilder builder_(_fbb);
1263 builder_.add_platform_id(platform_id);
1264 builder_.add_chre_platform_version(chre_platform_version);
1265 builder_.add_max_msg_len(max_msg_len);
1266 builder_.add_peak_power(peak_power);
1267 builder_.add_sleep_power(sleep_power);
1268 builder_.add_stopped_power(stopped_power);
1269 builder_.add_peak_mips(peak_mips);
1270 builder_.add_toolchain_version(toolchain_version);
1271 builder_.add_platform_version(platform_version);
1272 builder_.add_toolchain(toolchain);
1273 builder_.add_vendor(vendor);
1274 builder_.add_name(name);
1275 return builder_.Finish();
1276 }
1277
1278 inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponseDirect(
1279 flatbuffers::FlatBufferBuilder &_fbb,
1280 const std::vector<int8_t> *name = nullptr,
1281 const std::vector<int8_t> *vendor = nullptr,
1282 const std::vector<int8_t> *toolchain = nullptr,
1283 uint32_t platform_version = 0,
1284 uint32_t toolchain_version = 0,
1285 float peak_mips = 0.0f,
1286 float stopped_power = 0.0f,
1287 float sleep_power = 0.0f,
1288 float peak_power = 0.0f,
1289 uint32_t max_msg_len = 0,
1290 uint64_t platform_id = 0,
1291 uint32_t chre_platform_version = 0) {
1292 auto name__ = name ? _fbb.CreateVector<int8_t>(*name) : 0;
1293 auto vendor__ = vendor ? _fbb.CreateVector<int8_t>(*vendor) : 0;
1294 auto toolchain__ = toolchain ? _fbb.CreateVector<int8_t>(*toolchain) : 0;
1295 return chre::fbs::CreateHubInfoResponse(
1296 _fbb,
1297 name__,
1298 vendor__,
1299 toolchain__,
1300 platform_version,
1301 toolchain_version,
1302 peak_mips,
1303 stopped_power,
1304 sleep_power,
1305 peak_power,
1306 max_msg_len,
1307 platform_id,
1308 chre_platform_version);
1309 }
1310
1311 flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1312
1313 struct NanoappListRequestT : public flatbuffers::NativeTable {
1314 typedef NanoappListRequest TableType;
1315 NanoappListRequestT() {
1316 }
1317 };
1318
1319 struct NanoappListRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1320 typedef NanoappListRequestT NativeTableType;
1321 typedef NanoappListRequestBuilder Builder;
1322 bool Verify(flatbuffers::Verifier &verifier) const {
1323 return VerifyTableStart(verifier) &&
1324 verifier.EndTable();
1325 }
1326 NanoappListRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1327 void UnPackTo(NanoappListRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1328 static flatbuffers::Offset<NanoappListRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1329 };
1330
1331 struct NanoappListRequestBuilder {
1332 typedef NanoappListRequest Table;
1333 flatbuffers::FlatBufferBuilder &fbb_;
1334 flatbuffers::uoffset_t start_;
1335 explicit NanoappListRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1336 : fbb_(_fbb) {
1337 start_ = fbb_.StartTable();
1338 }
1339 NanoappListRequestBuilder &operator=(const NanoappListRequestBuilder &);
1340 flatbuffers::Offset<NanoappListRequest> Finish() {
1341 const auto end = fbb_.EndTable(start_);
1342 auto o = flatbuffers::Offset<NanoappListRequest>(end);
1343 return o;
1344 }
1345 };
1346
1347 inline flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest(
1348 flatbuffers::FlatBufferBuilder &_fbb) {
1349 NanoappListRequestBuilder builder_(_fbb);
1350 return builder_.Finish();
1351 }
1352
1353 flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1354
1355 struct NanoappRpcServiceT : public flatbuffers::NativeTable {
1356 typedef NanoappRpcService TableType;
1357 uint64_t id;
1358 uint32_t version;
1359 NanoappRpcServiceT()
1360 : id(0),
1361 version(0) {
1362 }
1363 };
1364
1365 /// Metadata regarding a Nanoapp RPC service. See the Android API
1366 /// core/java/android/hardware/location/NanoAppRpcService.java for more details
1367 /// on how this value is used by the Android application.
1368 struct NanoappRpcService FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1369 typedef NanoappRpcServiceT NativeTableType;
1370 typedef NanoappRpcServiceBuilder Builder;
1371 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1372 VT_ID = 4,
1373 VT_VERSION = 6
1374 };
1375 uint64_t id() const {
1376 return GetField<uint64_t>(VT_ID, 0);
1377 }
1378 bool mutate_id(uint64_t _id) {
1379 return SetField<uint64_t>(VT_ID, _id, 0);
1380 }
1381 uint32_t version() const {
1382 return GetField<uint32_t>(VT_VERSION, 0);
1383 }
1384 bool mutate_version(uint32_t _version) {
1385 return SetField<uint32_t>(VT_VERSION, _version, 0);
1386 }
1387 bool Verify(flatbuffers::Verifier &verifier) const {
1388 return VerifyTableStart(verifier) &&
1389 VerifyField<uint64_t>(verifier, VT_ID) &&
1390 VerifyField<uint32_t>(verifier, VT_VERSION) &&
1391 verifier.EndTable();
1392 }
1393 NanoappRpcServiceT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1394 void UnPackTo(NanoappRpcServiceT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1395 static flatbuffers::Offset<NanoappRpcService> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappRpcServiceT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1396 };
1397
1398 struct NanoappRpcServiceBuilder {
1399 typedef NanoappRpcService Table;
1400 flatbuffers::FlatBufferBuilder &fbb_;
1401 flatbuffers::uoffset_t start_;
1402 void add_id(uint64_t id) {
1403 fbb_.AddElement<uint64_t>(NanoappRpcService::VT_ID, id, 0);
1404 }
1405 void add_version(uint32_t version) {
1406 fbb_.AddElement<uint32_t>(NanoappRpcService::VT_VERSION, version, 0);
1407 }
1408 explicit NanoappRpcServiceBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1409 : fbb_(_fbb) {
1410 start_ = fbb_.StartTable();
1411 }
1412 NanoappRpcServiceBuilder &operator=(const NanoappRpcServiceBuilder &);
1413 flatbuffers::Offset<NanoappRpcService> Finish() {
1414 const auto end = fbb_.EndTable(start_);
1415 auto o = flatbuffers::Offset<NanoappRpcService>(end);
1416 return o;
1417 }
1418 };
1419
1420 inline flatbuffers::Offset<NanoappRpcService> CreateNanoappRpcService(
1421 flatbuffers::FlatBufferBuilder &_fbb,
1422 uint64_t id = 0,
1423 uint32_t version = 0) {
1424 NanoappRpcServiceBuilder builder_(_fbb);
1425 builder_.add_id(id);
1426 builder_.add_version(version);
1427 return builder_.Finish();
1428 }
1429
1430 flatbuffers::Offset<NanoappRpcService> CreateNanoappRpcService(flatbuffers::FlatBufferBuilder &_fbb, const NanoappRpcServiceT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1431
1432 struct NanoappListEntryT : public flatbuffers::NativeTable {
1433 typedef NanoappListEntry TableType;
1434 uint64_t app_id;
1435 uint32_t version;
1436 bool enabled;
1437 bool is_system;
1438 uint32_t permissions;
1439 std::vector<std::unique_ptr<chre::fbs::NanoappRpcServiceT>> rpc_services;
1440 NanoappListEntryT()
1441 : app_id(0),
1442 version(0),
1443 enabled(true),
1444 is_system(false),
1445 permissions(0) {
1446 }
1447 };
1448
1449 struct NanoappListEntry FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1450 typedef NanoappListEntryT NativeTableType;
1451 typedef NanoappListEntryBuilder Builder;
1452 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1453 VT_APP_ID = 4,
1454 VT_VERSION = 6,
1455 VT_ENABLED = 8,
1456 VT_IS_SYSTEM = 10,
1457 VT_PERMISSIONS = 12,
1458 VT_RPC_SERVICES = 14
1459 };
1460 uint64_t app_id() const {
1461 return GetField<uint64_t>(VT_APP_ID, 0);
1462 }
1463 bool mutate_app_id(uint64_t _app_id) {
1464 return SetField<uint64_t>(VT_APP_ID, _app_id, 0);
1465 }
1466 uint32_t version() const {
1467 return GetField<uint32_t>(VT_VERSION, 0);
1468 }
1469 bool mutate_version(uint32_t _version) {
1470 return SetField<uint32_t>(VT_VERSION, _version, 0);
1471 }
1472 bool enabled() const {
1473 return GetField<uint8_t>(VT_ENABLED, 1) != 0;
1474 }
1475 bool mutate_enabled(bool _enabled) {
1476 return SetField<uint8_t>(VT_ENABLED, static_cast<uint8_t>(_enabled), 1);
1477 }
1478 /// Whether the nanoapp is a pre-loaded "system" nanoapp, i.e. one that should
1479 /// not show up in the list of nanoapps in the context hub HAL. System
1480 /// nanoapps are typically used to leverage CHRE for some device functionality
1481 /// and do not interact via the context hub HAL.
1482 bool is_system() const {
1483 return GetField<uint8_t>(VT_IS_SYSTEM, 0) != 0;
1484 }
1485 bool mutate_is_system(bool _is_system) {
1486 return SetField<uint8_t>(VT_IS_SYSTEM, static_cast<uint8_t>(_is_system), 0);
1487 }
1488 /// Nanoapp permissions, if supported. Nanoapp permissions are required on
1489 /// CHRE API v1.5+, and are defined in chre/util/system/napp_permissions.h
1490 uint32_t permissions() const {
1491 return GetField<uint32_t>(VT_PERMISSIONS, 0);
1492 }
1493 bool mutate_permissions(uint32_t _permissions) {
1494 return SetField<uint32_t>(VT_PERMISSIONS, _permissions, 0);
1495 }
1496 /// The list of RPC services supported by this nanoapp.
1497 const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>> *rpc_services() const {
1498 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>> *>(VT_RPC_SERVICES);
1499 }
1500 flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>> *mutable_rpc_services() {
1501 return GetPointer<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>> *>(VT_RPC_SERVICES);
1502 }
1503 bool Verify(flatbuffers::Verifier &verifier) const {
1504 return VerifyTableStart(verifier) &&
1505 VerifyField<uint64_t>(verifier, VT_APP_ID) &&
1506 VerifyField<uint32_t>(verifier, VT_VERSION) &&
1507 VerifyField<uint8_t>(verifier, VT_ENABLED) &&
1508 VerifyField<uint8_t>(verifier, VT_IS_SYSTEM) &&
1509 VerifyField<uint32_t>(verifier, VT_PERMISSIONS) &&
1510 VerifyOffset(verifier, VT_RPC_SERVICES) &&
1511 verifier.VerifyVector(rpc_services()) &&
1512 verifier.VerifyVectorOfTables(rpc_services()) &&
1513 verifier.EndTable();
1514 }
1515 NanoappListEntryT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1516 void UnPackTo(NanoappListEntryT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1517 static flatbuffers::Offset<NanoappListEntry> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1518 };
1519
1520 struct NanoappListEntryBuilder {
1521 typedef NanoappListEntry Table;
1522 flatbuffers::FlatBufferBuilder &fbb_;
1523 flatbuffers::uoffset_t start_;
1524 void add_app_id(uint64_t app_id) {
1525 fbb_.AddElement<uint64_t>(NanoappListEntry::VT_APP_ID, app_id, 0);
1526 }
1527 void add_version(uint32_t version) {
1528 fbb_.AddElement<uint32_t>(NanoappListEntry::VT_VERSION, version, 0);
1529 }
1530 void add_enabled(bool enabled) {
1531 fbb_.AddElement<uint8_t>(NanoappListEntry::VT_ENABLED, static_cast<uint8_t>(enabled), 1);
1532 }
1533 void add_is_system(bool is_system) {
1534 fbb_.AddElement<uint8_t>(NanoappListEntry::VT_IS_SYSTEM, static_cast<uint8_t>(is_system), 0);
1535 }
1536 void add_permissions(uint32_t permissions) {
1537 fbb_.AddElement<uint32_t>(NanoappListEntry::VT_PERMISSIONS, permissions, 0);
1538 }
1539 void add_rpc_services(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>>> rpc_services) {
1540 fbb_.AddOffset(NanoappListEntry::VT_RPC_SERVICES, rpc_services);
1541 }
1542 explicit NanoappListEntryBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1543 : fbb_(_fbb) {
1544 start_ = fbb_.StartTable();
1545 }
1546 NanoappListEntryBuilder &operator=(const NanoappListEntryBuilder &);
1547 flatbuffers::Offset<NanoappListEntry> Finish() {
1548 const auto end = fbb_.EndTable(start_);
1549 auto o = flatbuffers::Offset<NanoappListEntry>(end);
1550 return o;
1551 }
1552 };
1553
1554 inline flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry(
1555 flatbuffers::FlatBufferBuilder &_fbb,
1556 uint64_t app_id = 0,
1557 uint32_t version = 0,
1558 bool enabled = true,
1559 bool is_system = false,
1560 uint32_t permissions = 0,
1561 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>>> rpc_services = 0) {
1562 NanoappListEntryBuilder builder_(_fbb);
1563 builder_.add_app_id(app_id);
1564 builder_.add_rpc_services(rpc_services);
1565 builder_.add_permissions(permissions);
1566 builder_.add_version(version);
1567 builder_.add_is_system(is_system);
1568 builder_.add_enabled(enabled);
1569 return builder_.Finish();
1570 }
1571
1572 inline flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntryDirect(
1573 flatbuffers::FlatBufferBuilder &_fbb,
1574 uint64_t app_id = 0,
1575 uint32_t version = 0,
1576 bool enabled = true,
1577 bool is_system = false,
1578 uint32_t permissions = 0,
1579 const std::vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>> *rpc_services = nullptr) {
1580 auto rpc_services__ = rpc_services ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::NanoappRpcService>>(*rpc_services) : 0;
1581 return chre::fbs::CreateNanoappListEntry(
1582 _fbb,
1583 app_id,
1584 version,
1585 enabled,
1586 is_system,
1587 permissions,
1588 rpc_services__);
1589 }
1590
1591 flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1592
1593 struct NanoappListResponseT : public flatbuffers::NativeTable {
1594 typedef NanoappListResponse TableType;
1595 std::vector<std::unique_ptr<chre::fbs::NanoappListEntryT>> nanoapps;
1596 NanoappListResponseT() {
1597 }
1598 };
1599
1600 struct NanoappListResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1601 typedef NanoappListResponseT NativeTableType;
1602 typedef NanoappListResponseBuilder Builder;
1603 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1604 VT_NANOAPPS = 4
1605 };
1606 const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>> *nanoapps() const {
1607 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>> *>(VT_NANOAPPS);
1608 }
1609 flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>> *mutable_nanoapps() {
1610 return GetPointer<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>> *>(VT_NANOAPPS);
1611 }
1612 bool Verify(flatbuffers::Verifier &verifier) const {
1613 return VerifyTableStart(verifier) &&
1614 VerifyOffsetRequired(verifier, VT_NANOAPPS) &&
1615 verifier.VerifyVector(nanoapps()) &&
1616 verifier.VerifyVectorOfTables(nanoapps()) &&
1617 verifier.EndTable();
1618 }
1619 NanoappListResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1620 void UnPackTo(NanoappListResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1621 static flatbuffers::Offset<NanoappListResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1622 };
1623
1624 struct NanoappListResponseBuilder {
1625 typedef NanoappListResponse Table;
1626 flatbuffers::FlatBufferBuilder &fbb_;
1627 flatbuffers::uoffset_t start_;
1628 void add_nanoapps(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>>> nanoapps) {
1629 fbb_.AddOffset(NanoappListResponse::VT_NANOAPPS, nanoapps);
1630 }
1631 explicit NanoappListResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1632 : fbb_(_fbb) {
1633 start_ = fbb_.StartTable();
1634 }
1635 NanoappListResponseBuilder &operator=(const NanoappListResponseBuilder &);
1636 flatbuffers::Offset<NanoappListResponse> Finish() {
1637 const auto end = fbb_.EndTable(start_);
1638 auto o = flatbuffers::Offset<NanoappListResponse>(end);
1639 fbb_.Required(o, NanoappListResponse::VT_NANOAPPS);
1640 return o;
1641 }
1642 };
1643
1644 inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse(
1645 flatbuffers::FlatBufferBuilder &_fbb,
1646 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>>> nanoapps = 0) {
1647 NanoappListResponseBuilder builder_(_fbb);
1648 builder_.add_nanoapps(nanoapps);
1649 return builder_.Finish();
1650 }
1651
1652 inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponseDirect(
1653 flatbuffers::FlatBufferBuilder &_fbb,
1654 const std::vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>> *nanoapps = nullptr) {
1655 auto nanoapps__ = nanoapps ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::NanoappListEntry>>(*nanoapps) : 0;
1656 return chre::fbs::CreateNanoappListResponse(
1657 _fbb,
1658 nanoapps__);
1659 }
1660
1661 flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1662
1663 struct LoadNanoappRequestT : public flatbuffers::NativeTable {
1664 typedef LoadNanoappRequest TableType;
1665 uint32_t transaction_id;
1666 uint64_t app_id;
1667 uint32_t app_version;
1668 uint32_t target_api_version;
1669 std::vector<uint8_t> app_binary;
1670 uint32_t fragment_id;
1671 uint32_t total_app_size;
1672 std::vector<int8_t> app_binary_file_name;
1673 uint32_t app_flags;
1674 bool respond_before_start;
1675 LoadNanoappRequestT()
1676 : transaction_id(0),
1677 app_id(0),
1678 app_version(0),
1679 target_api_version(0),
1680 fragment_id(0),
1681 total_app_size(0),
1682 app_flags(0),
1683 respond_before_start(false) {
1684 }
1685 };
1686
1687 /// Represents a request for loading a nanoapp.
1688 /// The nanaopp can either be requested to be loaded via a file or via a buffer.
1689 /// For loading via a file, the following steps will be taken:
1690 /// 1. The loader sends a LoadNanoappRequest message to CHRE. app_binary must
1691 /// be set for legacy purposes, but should be empty. Additionally,
1692 /// fragment_id and total_app_size are unused in this request. The loading
1693 /// that happens as part of this request is serialized, but asynchronous
1694 /// meaning that load requests will be processed in the order they are sent
1695 /// but multiple requests can be outstanding at any given time.
1696 /// 2. CHRE stores the filename and waits until its event loop is able to
1697 /// process the request.
1698 /// 3. Once ready, the nanoapp will be loaded from the file specified in the
1699 /// original request and will send a callback indicating the
1700 /// completion/failure of the request.
1701 /// For loading via a buffer, loading may optionally be fragmented into multiple
1702 /// sequential requests, which will follow the following steps:
1703 /// 1. The loader sends a LoadNanoappRequest message to CHRE. If the request
1704 /// is fragmented, then the fields fragment_id and total_app_size must
1705 /// be defined. Once the first fragment is sent to CHRE, all subsequent
1706 /// fragments must be delivered before a new LoadNanoappRequest can be
1707 /// issued. If a new request is received while a current request has
1708 /// outstanding fragments, the current request will be overridden with the
1709 /// new one.
1710 /// 2. CHRE preallocates the required amount of memory, and loads app_binary,
1711 /// appending to already loaded fragments as appropriate.
1712 /// 3. If the request is fragmented, then the requestor must sequentially send
1713 /// multiple LoadNanoappRequest with incremental nanoapp binary fragments.
1714 /// CHRE will respond with LoadNanoappResponse for each request. For
1715 /// requests starting from the second fragment, all fields except
1716 /// fragment_id and app_binary should be ignored by CHRE.
1717 ///
1718 /// Once the LoadNanoappRepsonse for the last fragment is received
1719 /// by the HAL, the HAL client will receive a callback indicating the
1720 /// completion/failure of a load request.
1721 ///
1722 /// If any request fragment is lost, then the entire load request will be
1723 /// considered to have failed. If the request times out (e.g. the requestor
1724 /// process crashes), then the load request will be cancelled at CHRE and fail.
1725 struct LoadNanoappRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1726 typedef LoadNanoappRequestT NativeTableType;
1727 typedef LoadNanoappRequestBuilder Builder;
1728 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1729 VT_TRANSACTION_ID = 4,
1730 VT_APP_ID = 6,
1731 VT_APP_VERSION = 8,
1732 VT_TARGET_API_VERSION = 10,
1733 VT_APP_BINARY = 12,
1734 VT_FRAGMENT_ID = 14,
1735 VT_TOTAL_APP_SIZE = 16,
1736 VT_APP_BINARY_FILE_NAME = 18,
1737 VT_APP_FLAGS = 20,
1738 VT_RESPOND_BEFORE_START = 22
1739 };
1740 uint32_t transaction_id() const {
1741 return GetField<uint32_t>(VT_TRANSACTION_ID, 0);
1742 }
1743 bool mutate_transaction_id(uint32_t _transaction_id) {
1744 return SetField<uint32_t>(VT_TRANSACTION_ID, _transaction_id, 0);
1745 }
1746 uint64_t app_id() const {
1747 return GetField<uint64_t>(VT_APP_ID, 0);
1748 }
1749 bool mutate_app_id(uint64_t _app_id) {
1750 return SetField<uint64_t>(VT_APP_ID, _app_id, 0);
1751 }
1752 uint32_t app_version() const {
1753 return GetField<uint32_t>(VT_APP_VERSION, 0);
1754 }
1755 bool mutate_app_version(uint32_t _app_version) {
1756 return SetField<uint32_t>(VT_APP_VERSION, _app_version, 0);
1757 }
1758 uint32_t target_api_version() const {
1759 return GetField<uint32_t>(VT_TARGET_API_VERSION, 0);
1760 }
1761 bool mutate_target_api_version(uint32_t _target_api_version) {
1762 return SetField<uint32_t>(VT_TARGET_API_VERSION, _target_api_version, 0);
1763 }
1764 const flatbuffers::Vector<uint8_t> *app_binary() const {
1765 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_APP_BINARY);
1766 }
1767 flatbuffers::Vector<uint8_t> *mutable_app_binary() {
1768 return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_APP_BINARY);
1769 }
1770 /// Fields that are relevant for fragmented loading
1771 /// The framgent count starts at 1 and should end at the total number of
1772 /// fragments. For clients that do not support fragmented loading, the
1773 /// default behavior should be to assume one fragment.
1774 uint32_t fragment_id() const {
1775 return GetField<uint32_t>(VT_FRAGMENT_ID, 0);
1776 }
1777 bool mutate_fragment_id(uint32_t _fragment_id) {
1778 return SetField<uint32_t>(VT_FRAGMENT_ID, _fragment_id, 0);
1779 }
1780 uint32_t total_app_size() const {
1781 return GetField<uint32_t>(VT_TOTAL_APP_SIZE, 0);
1782 }
1783 bool mutate_total_app_size(uint32_t _total_app_size) {
1784 return SetField<uint32_t>(VT_TOTAL_APP_SIZE, _total_app_size, 0);
1785 }
1786 /// Null-terminated ASCII string containing the file name that contains the
1787 /// app binary to be loaded.
1788 const flatbuffers::Vector<int8_t> *app_binary_file_name() const {
1789 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_APP_BINARY_FILE_NAME);
1790 }
1791 flatbuffers::Vector<int8_t> *mutable_app_binary_file_name() {
1792 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_APP_BINARY_FILE_NAME);
1793 }
1794 /// The nanoapp flag values from the nanoapp header defined in
1795 /// build/build_template.mk. Refer to that file for more details.
1796 uint32_t app_flags() const {
1797 return GetField<uint32_t>(VT_APP_FLAGS, 0);
1798 }
1799 bool mutate_app_flags(uint32_t _app_flags) {
1800 return SetField<uint32_t>(VT_APP_FLAGS, _app_flags, 0);
1801 }
1802 /// If true and fragmented loading is requested, the LoadNanoappResponse
1803 /// for the last fragment will be sent after the fragment was confirmed
1804 /// to be placed in memory and no additional response will be sent after
1805 /// the nanoapp is linked and started in the framework.
1806 bool respond_before_start() const {
1807 return GetField<uint8_t>(VT_RESPOND_BEFORE_START, 0) != 0;
1808 }
1809 bool mutate_respond_before_start(bool _respond_before_start) {
1810 return SetField<uint8_t>(VT_RESPOND_BEFORE_START, static_cast<uint8_t>(_respond_before_start), 0);
1811 }
1812 bool Verify(flatbuffers::Verifier &verifier) const {
1813 return VerifyTableStart(verifier) &&
1814 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) &&
1815 VerifyField<uint64_t>(verifier, VT_APP_ID) &&
1816 VerifyField<uint32_t>(verifier, VT_APP_VERSION) &&
1817 VerifyField<uint32_t>(verifier, VT_TARGET_API_VERSION) &&
1818 VerifyOffsetRequired(verifier, VT_APP_BINARY) &&
1819 verifier.VerifyVector(app_binary()) &&
1820 VerifyField<uint32_t>(verifier, VT_FRAGMENT_ID) &&
1821 VerifyField<uint32_t>(verifier, VT_TOTAL_APP_SIZE) &&
1822 VerifyOffset(verifier, VT_APP_BINARY_FILE_NAME) &&
1823 verifier.VerifyVector(app_binary_file_name()) &&
1824 VerifyField<uint32_t>(verifier, VT_APP_FLAGS) &&
1825 VerifyField<uint8_t>(verifier, VT_RESPOND_BEFORE_START) &&
1826 verifier.EndTable();
1827 }
1828 LoadNanoappRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1829 void UnPackTo(LoadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1830 static flatbuffers::Offset<LoadNanoappRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1831 };
1832
1833 struct LoadNanoappRequestBuilder {
1834 typedef LoadNanoappRequest Table;
1835 flatbuffers::FlatBufferBuilder &fbb_;
1836 flatbuffers::uoffset_t start_;
1837 void add_transaction_id(uint32_t transaction_id) {
1838 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_TRANSACTION_ID, transaction_id, 0);
1839 }
1840 void add_app_id(uint64_t app_id) {
1841 fbb_.AddElement<uint64_t>(LoadNanoappRequest::VT_APP_ID, app_id, 0);
1842 }
1843 void add_app_version(uint32_t app_version) {
1844 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_APP_VERSION, app_version, 0);
1845 }
1846 void add_target_api_version(uint32_t target_api_version) {
1847 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_TARGET_API_VERSION, target_api_version, 0);
1848 }
1849 void add_app_binary(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> app_binary) {
1850 fbb_.AddOffset(LoadNanoappRequest::VT_APP_BINARY, app_binary);
1851 }
1852 void add_fragment_id(uint32_t fragment_id) {
1853 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_FRAGMENT_ID, fragment_id, 0);
1854 }
1855 void add_total_app_size(uint32_t total_app_size) {
1856 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_TOTAL_APP_SIZE, total_app_size, 0);
1857 }
1858 void add_app_binary_file_name(flatbuffers::Offset<flatbuffers::Vector<int8_t>> app_binary_file_name) {
1859 fbb_.AddOffset(LoadNanoappRequest::VT_APP_BINARY_FILE_NAME, app_binary_file_name);
1860 }
1861 void add_app_flags(uint32_t app_flags) {
1862 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_APP_FLAGS, app_flags, 0);
1863 }
1864 void add_respond_before_start(bool respond_before_start) {
1865 fbb_.AddElement<uint8_t>(LoadNanoappRequest::VT_RESPOND_BEFORE_START, static_cast<uint8_t>(respond_before_start), 0);
1866 }
1867 explicit LoadNanoappRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1868 : fbb_(_fbb) {
1869 start_ = fbb_.StartTable();
1870 }
1871 LoadNanoappRequestBuilder &operator=(const LoadNanoappRequestBuilder &);
1872 flatbuffers::Offset<LoadNanoappRequest> Finish() {
1873 const auto end = fbb_.EndTable(start_);
1874 auto o = flatbuffers::Offset<LoadNanoappRequest>(end);
1875 fbb_.Required(o, LoadNanoappRequest::VT_APP_BINARY);
1876 return o;
1877 }
1878 };
1879
1880 inline flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequest(
1881 flatbuffers::FlatBufferBuilder &_fbb,
1882 uint32_t transaction_id = 0,
1883 uint64_t app_id = 0,
1884 uint32_t app_version = 0,
1885 uint32_t target_api_version = 0,
1886 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> app_binary = 0,
1887 uint32_t fragment_id = 0,
1888 uint32_t total_app_size = 0,
1889 flatbuffers::Offset<flatbuffers::Vector<int8_t>> app_binary_file_name = 0,
1890 uint32_t app_flags = 0,
1891 bool respond_before_start = false) {
1892 LoadNanoappRequestBuilder builder_(_fbb);
1893 builder_.add_app_id(app_id);
1894 builder_.add_app_flags(app_flags);
1895 builder_.add_app_binary_file_name(app_binary_file_name);
1896 builder_.add_total_app_size(total_app_size);
1897 builder_.add_fragment_id(fragment_id);
1898 builder_.add_app_binary(app_binary);
1899 builder_.add_target_api_version(target_api_version);
1900 builder_.add_app_version(app_version);
1901 builder_.add_transaction_id(transaction_id);
1902 builder_.add_respond_before_start(respond_before_start);
1903 return builder_.Finish();
1904 }
1905
1906 inline flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequestDirect(
1907 flatbuffers::FlatBufferBuilder &_fbb,
1908 uint32_t transaction_id = 0,
1909 uint64_t app_id = 0,
1910 uint32_t app_version = 0,
1911 uint32_t target_api_version = 0,
1912 const std::vector<uint8_t> *app_binary = nullptr,
1913 uint32_t fragment_id = 0,
1914 uint32_t total_app_size = 0,
1915 const std::vector<int8_t> *app_binary_file_name = nullptr,
1916 uint32_t app_flags = 0,
1917 bool respond_before_start = false) {
1918 auto app_binary__ = app_binary ? _fbb.CreateVector<uint8_t>(*app_binary) : 0;
1919 auto app_binary_file_name__ = app_binary_file_name ? _fbb.CreateVector<int8_t>(*app_binary_file_name) : 0;
1920 return chre::fbs::CreateLoadNanoappRequest(
1921 _fbb,
1922 transaction_id,
1923 app_id,
1924 app_version,
1925 target_api_version,
1926 app_binary__,
1927 fragment_id,
1928 total_app_size,
1929 app_binary_file_name__,
1930 app_flags,
1931 respond_before_start);
1932 }
1933
1934 flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1935
1936 struct LoadNanoappResponseT : public flatbuffers::NativeTable {
1937 typedef LoadNanoappResponse TableType;
1938 uint32_t transaction_id;
1939 bool success;
1940 uint32_t fragment_id;
1941 LoadNanoappResponseT()
1942 : transaction_id(0),
1943 success(false),
1944 fragment_id(0) {
1945 }
1946 };
1947
1948 struct LoadNanoappResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1949 typedef LoadNanoappResponseT NativeTableType;
1950 typedef LoadNanoappResponseBuilder Builder;
1951 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1952 VT_TRANSACTION_ID = 4,
1953 VT_SUCCESS = 6,
1954 VT_FRAGMENT_ID = 8
1955 };
1956 uint32_t transaction_id() const {
1957 return GetField<uint32_t>(VT_TRANSACTION_ID, 0);
1958 }
1959 bool mutate_transaction_id(uint32_t _transaction_id) {
1960 return SetField<uint32_t>(VT_TRANSACTION_ID, _transaction_id, 0);
1961 }
1962 /// Denotes whether a load request succeeded or failed.
1963 /// If any fragment of a load request fails, the entire load request for
1964 /// the same transaction will fail.
1965 bool success() const {
1966 return GetField<uint8_t>(VT_SUCCESS, 0) != 0;
1967 }
1968 bool mutate_success(bool _success) {
1969 return SetField<uint8_t>(VT_SUCCESS, static_cast<uint8_t>(_success), 0);
1970 }
1971 /// The fragment count of the load reponse is for.
1972 uint32_t fragment_id() const {
1973 return GetField<uint32_t>(VT_FRAGMENT_ID, 0);
1974 }
1975 bool mutate_fragment_id(uint32_t _fragment_id) {
1976 return SetField<uint32_t>(VT_FRAGMENT_ID, _fragment_id, 0);
1977 }
1978 bool Verify(flatbuffers::Verifier &verifier) const {
1979 return VerifyTableStart(verifier) &&
1980 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) &&
1981 VerifyField<uint8_t>(verifier, VT_SUCCESS) &&
1982 VerifyField<uint32_t>(verifier, VT_FRAGMENT_ID) &&
1983 verifier.EndTable();
1984 }
1985 LoadNanoappResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1986 void UnPackTo(LoadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1987 static flatbuffers::Offset<LoadNanoappResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1988 };
1989
1990 struct LoadNanoappResponseBuilder {
1991 typedef LoadNanoappResponse Table;
1992 flatbuffers::FlatBufferBuilder &fbb_;
1993 flatbuffers::uoffset_t start_;
1994 void add_transaction_id(uint32_t transaction_id) {
1995 fbb_.AddElement<uint32_t>(LoadNanoappResponse::VT_TRANSACTION_ID, transaction_id, 0);
1996 }
1997 void add_success(bool success) {
1998 fbb_.AddElement<uint8_t>(LoadNanoappResponse::VT_SUCCESS, static_cast<uint8_t>(success), 0);
1999 }
2000 void add_fragment_id(uint32_t fragment_id) {
2001 fbb_.AddElement<uint32_t>(LoadNanoappResponse::VT_FRAGMENT_ID, fragment_id, 0);
2002 }
2003 explicit LoadNanoappResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2004 : fbb_(_fbb) {
2005 start_ = fbb_.StartTable();
2006 }
2007 LoadNanoappResponseBuilder &operator=(const LoadNanoappResponseBuilder &);
2008 flatbuffers::Offset<LoadNanoappResponse> Finish() {
2009 const auto end = fbb_.EndTable(start_);
2010 auto o = flatbuffers::Offset<LoadNanoappResponse>(end);
2011 return o;
2012 }
2013 };
2014
2015 inline flatbuffers::Offset<LoadNanoappResponse> CreateLoadNanoappResponse(
2016 flatbuffers::FlatBufferBuilder &_fbb,
2017 uint32_t transaction_id = 0,
2018 bool success = false,
2019 uint32_t fragment_id = 0) {
2020 LoadNanoappResponseBuilder builder_(_fbb);
2021 builder_.add_fragment_id(fragment_id);
2022 builder_.add_transaction_id(transaction_id);
2023 builder_.add_success(success);
2024 return builder_.Finish();
2025 }
2026
2027 flatbuffers::Offset<LoadNanoappResponse> CreateLoadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2028
2029 struct UnloadNanoappRequestT : public flatbuffers::NativeTable {
2030 typedef UnloadNanoappRequest TableType;
2031 uint32_t transaction_id;
2032 uint64_t app_id;
2033 bool allow_system_nanoapp_unload;
2034 UnloadNanoappRequestT()
2035 : transaction_id(0),
2036 app_id(0),
2037 allow_system_nanoapp_unload(false) {
2038 }
2039 };
2040
2041 struct UnloadNanoappRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2042 typedef UnloadNanoappRequestT NativeTableType;
2043 typedef UnloadNanoappRequestBuilder Builder;
2044 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2045 VT_TRANSACTION_ID = 4,
2046 VT_APP_ID = 6,
2047 VT_ALLOW_SYSTEM_NANOAPP_UNLOAD = 8
2048 };
2049 uint32_t transaction_id() const {
2050 return GetField<uint32_t>(VT_TRANSACTION_ID, 0);
2051 }
2052 bool mutate_transaction_id(uint32_t _transaction_id) {
2053 return SetField<uint32_t>(VT_TRANSACTION_ID, _transaction_id, 0);
2054 }
2055 uint64_t app_id() const {
2056 return GetField<uint64_t>(VT_APP_ID, 0);
2057 }
2058 bool mutate_app_id(uint64_t _app_id) {
2059 return SetField<uint64_t>(VT_APP_ID, _app_id, 0);
2060 }
2061 /// Set to true to allow this request to unload nanoapps identified as "system
2062 /// nanoapps", i.e. ones with is_system set to true in NanoappListResponse.
2063 bool allow_system_nanoapp_unload() const {
2064 return GetField<uint8_t>(VT_ALLOW_SYSTEM_NANOAPP_UNLOAD, 0) != 0;
2065 }
2066 bool mutate_allow_system_nanoapp_unload(bool _allow_system_nanoapp_unload) {
2067 return SetField<uint8_t>(VT_ALLOW_SYSTEM_NANOAPP_UNLOAD, static_cast<uint8_t>(_allow_system_nanoapp_unload), 0);
2068 }
2069 bool Verify(flatbuffers::Verifier &verifier) const {
2070 return VerifyTableStart(verifier) &&
2071 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) &&
2072 VerifyField<uint64_t>(verifier, VT_APP_ID) &&
2073 VerifyField<uint8_t>(verifier, VT_ALLOW_SYSTEM_NANOAPP_UNLOAD) &&
2074 verifier.EndTable();
2075 }
2076 UnloadNanoappRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2077 void UnPackTo(UnloadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2078 static flatbuffers::Offset<UnloadNanoappRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2079 };
2080
2081 struct UnloadNanoappRequestBuilder {
2082 typedef UnloadNanoappRequest Table;
2083 flatbuffers::FlatBufferBuilder &fbb_;
2084 flatbuffers::uoffset_t start_;
2085 void add_transaction_id(uint32_t transaction_id) {
2086 fbb_.AddElement<uint32_t>(UnloadNanoappRequest::VT_TRANSACTION_ID, transaction_id, 0);
2087 }
2088 void add_app_id(uint64_t app_id) {
2089 fbb_.AddElement<uint64_t>(UnloadNanoappRequest::VT_APP_ID, app_id, 0);
2090 }
2091 void add_allow_system_nanoapp_unload(bool allow_system_nanoapp_unload) {
2092 fbb_.AddElement<uint8_t>(UnloadNanoappRequest::VT_ALLOW_SYSTEM_NANOAPP_UNLOAD, static_cast<uint8_t>(allow_system_nanoapp_unload), 0);
2093 }
2094 explicit UnloadNanoappRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2095 : fbb_(_fbb) {
2096 start_ = fbb_.StartTable();
2097 }
2098 UnloadNanoappRequestBuilder &operator=(const UnloadNanoappRequestBuilder &);
2099 flatbuffers::Offset<UnloadNanoappRequest> Finish() {
2100 const auto end = fbb_.EndTable(start_);
2101 auto o = flatbuffers::Offset<UnloadNanoappRequest>(end);
2102 return o;
2103 }
2104 };
2105
2106 inline flatbuffers::Offset<UnloadNanoappRequest> CreateUnloadNanoappRequest(
2107 flatbuffers::FlatBufferBuilder &_fbb,
2108 uint32_t transaction_id = 0,
2109 uint64_t app_id = 0,
2110 bool allow_system_nanoapp_unload = false) {
2111 UnloadNanoappRequestBuilder builder_(_fbb);
2112 builder_.add_app_id(app_id);
2113 builder_.add_transaction_id(transaction_id);
2114 builder_.add_allow_system_nanoapp_unload(allow_system_nanoapp_unload);
2115 return builder_.Finish();
2116 }
2117
2118 flatbuffers::Offset<UnloadNanoappRequest> CreateUnloadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2119
2120 struct UnloadNanoappResponseT : public flatbuffers::NativeTable {
2121 typedef UnloadNanoappResponse TableType;
2122 uint32_t transaction_id;
2123 bool success;
2124 UnloadNanoappResponseT()
2125 : transaction_id(0),
2126 success(false) {
2127 }
2128 };
2129
2130 struct UnloadNanoappResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2131 typedef UnloadNanoappResponseT NativeTableType;
2132 typedef UnloadNanoappResponseBuilder Builder;
2133 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2134 VT_TRANSACTION_ID = 4,
2135 VT_SUCCESS = 6
2136 };
2137 uint32_t transaction_id() const {
2138 return GetField<uint32_t>(VT_TRANSACTION_ID, 0);
2139 }
2140 bool mutate_transaction_id(uint32_t _transaction_id) {
2141 return SetField<uint32_t>(VT_TRANSACTION_ID, _transaction_id, 0);
2142 }
2143 bool success() const {
2144 return GetField<uint8_t>(VT_SUCCESS, 0) != 0;
2145 }
2146 bool mutate_success(bool _success) {
2147 return SetField<uint8_t>(VT_SUCCESS, static_cast<uint8_t>(_success), 0);
2148 }
2149 bool Verify(flatbuffers::Verifier &verifier) const {
2150 return VerifyTableStart(verifier) &&
2151 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) &&
2152 VerifyField<uint8_t>(verifier, VT_SUCCESS) &&
2153 verifier.EndTable();
2154 }
2155 UnloadNanoappResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2156 void UnPackTo(UnloadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2157 static flatbuffers::Offset<UnloadNanoappResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2158 };
2159
2160 struct UnloadNanoappResponseBuilder {
2161 typedef UnloadNanoappResponse Table;
2162 flatbuffers::FlatBufferBuilder &fbb_;
2163 flatbuffers::uoffset_t start_;
2164 void add_transaction_id(uint32_t transaction_id) {
2165 fbb_.AddElement<uint32_t>(UnloadNanoappResponse::VT_TRANSACTION_ID, transaction_id, 0);
2166 }
2167 void add_success(bool success) {
2168 fbb_.AddElement<uint8_t>(UnloadNanoappResponse::VT_SUCCESS, static_cast<uint8_t>(success), 0);
2169 }
2170 explicit UnloadNanoappResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2171 : fbb_(_fbb) {
2172 start_ = fbb_.StartTable();
2173 }
2174 UnloadNanoappResponseBuilder &operator=(const UnloadNanoappResponseBuilder &);
2175 flatbuffers::Offset<UnloadNanoappResponse> Finish() {
2176 const auto end = fbb_.EndTable(start_);
2177 auto o = flatbuffers::Offset<UnloadNanoappResponse>(end);
2178 return o;
2179 }
2180 };
2181
2182 inline flatbuffers::Offset<UnloadNanoappResponse> CreateUnloadNanoappResponse(
2183 flatbuffers::FlatBufferBuilder &_fbb,
2184 uint32_t transaction_id = 0,
2185 bool success = false) {
2186 UnloadNanoappResponseBuilder builder_(_fbb);
2187 builder_.add_transaction_id(transaction_id);
2188 builder_.add_success(success);
2189 return builder_.Finish();
2190 }
2191
2192 flatbuffers::Offset<UnloadNanoappResponse> CreateUnloadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2193
2194 struct LogMessageT : public flatbuffers::NativeTable {
2195 typedef LogMessage TableType;
2196 std::vector<int8_t> buffer;
2197 LogMessageT() {
2198 }
2199 };
2200
2201 /// Represents log messages from CHRE.
2202 struct LogMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2203 typedef LogMessageT NativeTableType;
2204 typedef LogMessageBuilder Builder;
2205 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2206 VT_BUFFER = 4
2207 };
2208 /// A buffer containing formatted log data. A flat array is used here to avoid
2209 /// overhead in serializing and deserializing. The format is as follows:
2210 ///
2211 /// uint8_t - log level (1 = error, 2 = warning,
2212 /// 3 = info, 4 = debug)
2213 /// uint64_t, little-endian - timestamp in nanoseconds
2214 /// char[] - message to log
2215 /// char, \0 - null-terminator
2216 ///
2217 /// This pattern repeats until the end of the buffer for multiple log
2218 /// messages. The last byte will always be a null-terminator. There are no
2219 /// padding bytes between these fields. Treat this like a packed struct and be
2220 /// cautious with unaligned access when reading/writing this buffer.
2221 const flatbuffers::Vector<int8_t> *buffer() const {
2222 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_BUFFER);
2223 }
2224 flatbuffers::Vector<int8_t> *mutable_buffer() {
2225 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_BUFFER);
2226 }
2227 bool Verify(flatbuffers::Verifier &verifier) const {
2228 return VerifyTableStart(verifier) &&
2229 VerifyOffset(verifier, VT_BUFFER) &&
2230 verifier.VerifyVector(buffer()) &&
2231 verifier.EndTable();
2232 }
2233 LogMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2234 void UnPackTo(LogMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2235 static flatbuffers::Offset<LogMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2236 };
2237
2238 struct LogMessageBuilder {
2239 typedef LogMessage Table;
2240 flatbuffers::FlatBufferBuilder &fbb_;
2241 flatbuffers::uoffset_t start_;
2242 void add_buffer(flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer) {
2243 fbb_.AddOffset(LogMessage::VT_BUFFER, buffer);
2244 }
2245 explicit LogMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2246 : fbb_(_fbb) {
2247 start_ = fbb_.StartTable();
2248 }
2249 LogMessageBuilder &operator=(const LogMessageBuilder &);
2250 flatbuffers::Offset<LogMessage> Finish() {
2251 const auto end = fbb_.EndTable(start_);
2252 auto o = flatbuffers::Offset<LogMessage>(end);
2253 return o;
2254 }
2255 };
2256
2257 inline flatbuffers::Offset<LogMessage> CreateLogMessage(
2258 flatbuffers::FlatBufferBuilder &_fbb,
2259 flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer = 0) {
2260 LogMessageBuilder builder_(_fbb);
2261 builder_.add_buffer(buffer);
2262 return builder_.Finish();
2263 }
2264
2265 inline flatbuffers::Offset<LogMessage> CreateLogMessageDirect(
2266 flatbuffers::FlatBufferBuilder &_fbb,
2267 const std::vector<int8_t> *buffer = nullptr) {
2268 auto buffer__ = buffer ? _fbb.CreateVector<int8_t>(*buffer) : 0;
2269 return chre::fbs::CreateLogMessage(
2270 _fbb,
2271 buffer__);
2272 }
2273
2274 flatbuffers::Offset<LogMessage> CreateLogMessage(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2275
2276 struct TimeSyncMessageT : public flatbuffers::NativeTable {
2277 typedef TimeSyncMessage TableType;
2278 int64_t offset;
2279 TimeSyncMessageT()
2280 : offset(0) {
2281 }
2282 };
2283
2284 /// Represents a message sent to CHRE to indicate AP timestamp for time sync
2285 struct TimeSyncMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2286 typedef TimeSyncMessageT NativeTableType;
2287 typedef TimeSyncMessageBuilder Builder;
2288 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2289 VT_OFFSET = 4
2290 };
2291 /// Offset between AP and CHRE timestamp
2292 int64_t offset() const {
2293 return GetField<int64_t>(VT_OFFSET, 0);
2294 }
2295 bool mutate_offset(int64_t _offset) {
2296 return SetField<int64_t>(VT_OFFSET, _offset, 0);
2297 }
2298 bool Verify(flatbuffers::Verifier &verifier) const {
2299 return VerifyTableStart(verifier) &&
2300 VerifyField<int64_t>(verifier, VT_OFFSET) &&
2301 verifier.EndTable();
2302 }
2303 TimeSyncMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2304 void UnPackTo(TimeSyncMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2305 static flatbuffers::Offset<TimeSyncMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2306 };
2307
2308 struct TimeSyncMessageBuilder {
2309 typedef TimeSyncMessage Table;
2310 flatbuffers::FlatBufferBuilder &fbb_;
2311 flatbuffers::uoffset_t start_;
2312 void add_offset(int64_t offset) {
2313 fbb_.AddElement<int64_t>(TimeSyncMessage::VT_OFFSET, offset, 0);
2314 }
2315 explicit TimeSyncMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2316 : fbb_(_fbb) {
2317 start_ = fbb_.StartTable();
2318 }
2319 TimeSyncMessageBuilder &operator=(const TimeSyncMessageBuilder &);
2320 flatbuffers::Offset<TimeSyncMessage> Finish() {
2321 const auto end = fbb_.EndTable(start_);
2322 auto o = flatbuffers::Offset<TimeSyncMessage>(end);
2323 return o;
2324 }
2325 };
2326
2327 inline flatbuffers::Offset<TimeSyncMessage> CreateTimeSyncMessage(
2328 flatbuffers::FlatBufferBuilder &_fbb,
2329 int64_t offset = 0) {
2330 TimeSyncMessageBuilder builder_(_fbb);
2331 builder_.add_offset(offset);
2332 return builder_.Finish();
2333 }
2334
2335 flatbuffers::Offset<TimeSyncMessage> CreateTimeSyncMessage(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2336
2337 struct DebugDumpRequestT : public flatbuffers::NativeTable {
2338 typedef DebugDumpRequest TableType;
2339 DebugDumpRequestT() {
2340 }
2341 };
2342
2343 /// A request to gather and return debugging information. Only one debug dump
2344 /// session can be active at a time. Upon accepting a request, zero or more
2345 /// DebugDumpData messages are generated, followed by a DebugDumpResponse
2346 /// indicating the completion of the operation.
2347 struct DebugDumpRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2348 typedef DebugDumpRequestT NativeTableType;
2349 typedef DebugDumpRequestBuilder Builder;
2350 bool Verify(flatbuffers::Verifier &verifier) const {
2351 return VerifyTableStart(verifier) &&
2352 verifier.EndTable();
2353 }
2354 DebugDumpRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2355 void UnPackTo(DebugDumpRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2356 static flatbuffers::Offset<DebugDumpRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2357 };
2358
2359 struct DebugDumpRequestBuilder {
2360 typedef DebugDumpRequest Table;
2361 flatbuffers::FlatBufferBuilder &fbb_;
2362 flatbuffers::uoffset_t start_;
2363 explicit DebugDumpRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2364 : fbb_(_fbb) {
2365 start_ = fbb_.StartTable();
2366 }
2367 DebugDumpRequestBuilder &operator=(const DebugDumpRequestBuilder &);
2368 flatbuffers::Offset<DebugDumpRequest> Finish() {
2369 const auto end = fbb_.EndTable(start_);
2370 auto o = flatbuffers::Offset<DebugDumpRequest>(end);
2371 return o;
2372 }
2373 };
2374
2375 inline flatbuffers::Offset<DebugDumpRequest> CreateDebugDumpRequest(
2376 flatbuffers::FlatBufferBuilder &_fbb) {
2377 DebugDumpRequestBuilder builder_(_fbb);
2378 return builder_.Finish();
2379 }
2380
2381 flatbuffers::Offset<DebugDumpRequest> CreateDebugDumpRequest(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2382
2383 struct DebugDumpDataT : public flatbuffers::NativeTable {
2384 typedef DebugDumpData TableType;
2385 std::vector<int8_t> debug_str;
2386 DebugDumpDataT() {
2387 }
2388 };
2389
2390 struct DebugDumpData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2391 typedef DebugDumpDataT NativeTableType;
2392 typedef DebugDumpDataBuilder Builder;
2393 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2394 VT_DEBUG_STR = 4
2395 };
2396 /// Null-terminated ASCII string containing debugging information
2397 const flatbuffers::Vector<int8_t> *debug_str() const {
2398 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_DEBUG_STR);
2399 }
2400 flatbuffers::Vector<int8_t> *mutable_debug_str() {
2401 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_DEBUG_STR);
2402 }
2403 bool Verify(flatbuffers::Verifier &verifier) const {
2404 return VerifyTableStart(verifier) &&
2405 VerifyOffset(verifier, VT_DEBUG_STR) &&
2406 verifier.VerifyVector(debug_str()) &&
2407 verifier.EndTable();
2408 }
2409 DebugDumpDataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2410 void UnPackTo(DebugDumpDataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2411 static flatbuffers::Offset<DebugDumpData> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2412 };
2413
2414 struct DebugDumpDataBuilder {
2415 typedef DebugDumpData Table;
2416 flatbuffers::FlatBufferBuilder &fbb_;
2417 flatbuffers::uoffset_t start_;
2418 void add_debug_str(flatbuffers::Offset<flatbuffers::Vector<int8_t>> debug_str) {
2419 fbb_.AddOffset(DebugDumpData::VT_DEBUG_STR, debug_str);
2420 }
2421 explicit DebugDumpDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2422 : fbb_(_fbb) {
2423 start_ = fbb_.StartTable();
2424 }
2425 DebugDumpDataBuilder &operator=(const DebugDumpDataBuilder &);
2426 flatbuffers::Offset<DebugDumpData> Finish() {
2427 const auto end = fbb_.EndTable(start_);
2428 auto o = flatbuffers::Offset<DebugDumpData>(end);
2429 return o;
2430 }
2431 };
2432
2433 inline flatbuffers::Offset<DebugDumpData> CreateDebugDumpData(
2434 flatbuffers::FlatBufferBuilder &_fbb,
2435 flatbuffers::Offset<flatbuffers::Vector<int8_t>> debug_str = 0) {
2436 DebugDumpDataBuilder builder_(_fbb);
2437 builder_.add_debug_str(debug_str);
2438 return builder_.Finish();
2439 }
2440
2441 inline flatbuffers::Offset<DebugDumpData> CreateDebugDumpDataDirect(
2442 flatbuffers::FlatBufferBuilder &_fbb,
2443 const std::vector<int8_t> *debug_str = nullptr) {
2444 auto debug_str__ = debug_str ? _fbb.CreateVector<int8_t>(*debug_str) : 0;
2445 return chre::fbs::CreateDebugDumpData(
2446 _fbb,
2447 debug_str__);
2448 }
2449
2450 flatbuffers::Offset<DebugDumpData> CreateDebugDumpData(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2451
2452 struct DebugDumpResponseT : public flatbuffers::NativeTable {
2453 typedef DebugDumpResponse TableType;
2454 bool success;
2455 uint32_t data_count;
2456 DebugDumpResponseT()
2457 : success(false),
2458 data_count(0) {
2459 }
2460 };
2461
2462 struct DebugDumpResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2463 typedef DebugDumpResponseT NativeTableType;
2464 typedef DebugDumpResponseBuilder Builder;
2465 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2466 VT_SUCCESS = 4,
2467 VT_DATA_COUNT = 6
2468 };
2469 /// true if the request was accepted and a dump was performed, false if it was
2470 /// rejected or failed to complete for some reason
2471 bool success() const {
2472 return GetField<uint8_t>(VT_SUCCESS, 0) != 0;
2473 }
2474 bool mutate_success(bool _success) {
2475 return SetField<uint8_t>(VT_SUCCESS, static_cast<uint8_t>(_success), 0);
2476 }
2477 /// The number of DebugDumpData messages sent in this session
2478 uint32_t data_count() const {
2479 return GetField<uint32_t>(VT_DATA_COUNT, 0);
2480 }
2481 bool mutate_data_count(uint32_t _data_count) {
2482 return SetField<uint32_t>(VT_DATA_COUNT, _data_count, 0);
2483 }
2484 bool Verify(flatbuffers::Verifier &verifier) const {
2485 return VerifyTableStart(verifier) &&
2486 VerifyField<uint8_t>(verifier, VT_SUCCESS) &&
2487 VerifyField<uint32_t>(verifier, VT_DATA_COUNT) &&
2488 verifier.EndTable();
2489 }
2490 DebugDumpResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2491 void UnPackTo(DebugDumpResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2492 static flatbuffers::Offset<DebugDumpResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2493 };
2494
2495 struct DebugDumpResponseBuilder {
2496 typedef DebugDumpResponse Table;
2497 flatbuffers::FlatBufferBuilder &fbb_;
2498 flatbuffers::uoffset_t start_;
2499 void add_success(bool success) {
2500 fbb_.AddElement<uint8_t>(DebugDumpResponse::VT_SUCCESS, static_cast<uint8_t>(success), 0);
2501 }
2502 void add_data_count(uint32_t data_count) {
2503 fbb_.AddElement<uint32_t>(DebugDumpResponse::VT_DATA_COUNT, data_count, 0);
2504 }
2505 explicit DebugDumpResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2506 : fbb_(_fbb) {
2507 start_ = fbb_.StartTable();
2508 }
2509 DebugDumpResponseBuilder &operator=(const DebugDumpResponseBuilder &);
2510 flatbuffers::Offset<DebugDumpResponse> Finish() {
2511 const auto end = fbb_.EndTable(start_);
2512 auto o = flatbuffers::Offset<DebugDumpResponse>(end);
2513 return o;
2514 }
2515 };
2516
2517 inline flatbuffers::Offset<DebugDumpResponse> CreateDebugDumpResponse(
2518 flatbuffers::FlatBufferBuilder &_fbb,
2519 bool success = false,
2520 uint32_t data_count = 0) {
2521 DebugDumpResponseBuilder builder_(_fbb);
2522 builder_.add_data_count(data_count);
2523 builder_.add_success(success);
2524 return builder_.Finish();
2525 }
2526
2527 flatbuffers::Offset<DebugDumpResponse> CreateDebugDumpResponse(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2528
2529 struct TimeSyncRequestT : public flatbuffers::NativeTable {
2530 typedef TimeSyncRequest TableType;
2531 TimeSyncRequestT() {
2532 }
2533 };
2534
2535 /// A request from CHRE for host to initiate a time sync message
2536 /// (system feature, platform-specific - not all platforms necessarily use this)
2537 struct TimeSyncRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2538 typedef TimeSyncRequestT NativeTableType;
2539 typedef TimeSyncRequestBuilder Builder;
2540 bool Verify(flatbuffers::Verifier &verifier) const {
2541 return VerifyTableStart(verifier) &&
2542 verifier.EndTable();
2543 }
2544 TimeSyncRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2545 void UnPackTo(TimeSyncRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2546 static flatbuffers::Offset<TimeSyncRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2547 };
2548
2549 struct TimeSyncRequestBuilder {
2550 typedef TimeSyncRequest Table;
2551 flatbuffers::FlatBufferBuilder &fbb_;
2552 flatbuffers::uoffset_t start_;
2553 explicit TimeSyncRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2554 : fbb_(_fbb) {
2555 start_ = fbb_.StartTable();
2556 }
2557 TimeSyncRequestBuilder &operator=(const TimeSyncRequestBuilder &);
2558 flatbuffers::Offset<TimeSyncRequest> Finish() {
2559 const auto end = fbb_.EndTable(start_);
2560 auto o = flatbuffers::Offset<TimeSyncRequest>(end);
2561 return o;
2562 }
2563 };
2564
2565 inline flatbuffers::Offset<TimeSyncRequest> CreateTimeSyncRequest(
2566 flatbuffers::FlatBufferBuilder &_fbb) {
2567 TimeSyncRequestBuilder builder_(_fbb);
2568 return builder_.Finish();
2569 }
2570
2571 flatbuffers::Offset<TimeSyncRequest> CreateTimeSyncRequest(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2572
2573 struct LowPowerMicAccessRequestT : public flatbuffers::NativeTable {
2574 typedef LowPowerMicAccessRequest TableType;
2575 LowPowerMicAccessRequestT() {
2576 }
2577 };
2578
2579 /// Request from CHRE to enable direct access to data from the low-power
2580 /// microphone. On some systems, coordination via the AP (e.g. with
2581 /// SoundTrigger HAL) is needed to ensure this capability is powered up when
2582 /// CHRE needs it. The host does not send a response.
2583 struct LowPowerMicAccessRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2584 typedef LowPowerMicAccessRequestT NativeTableType;
2585 typedef LowPowerMicAccessRequestBuilder Builder;
2586 bool Verify(flatbuffers::Verifier &verifier) const {
2587 return VerifyTableStart(verifier) &&
2588 verifier.EndTable();
2589 }
2590 LowPowerMicAccessRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2591 void UnPackTo(LowPowerMicAccessRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2592 static flatbuffers::Offset<LowPowerMicAccessRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2593 };
2594
2595 struct LowPowerMicAccessRequestBuilder {
2596 typedef LowPowerMicAccessRequest Table;
2597 flatbuffers::FlatBufferBuilder &fbb_;
2598 flatbuffers::uoffset_t start_;
2599 explicit LowPowerMicAccessRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2600 : fbb_(_fbb) {
2601 start_ = fbb_.StartTable();
2602 }
2603 LowPowerMicAccessRequestBuilder &operator=(const LowPowerMicAccessRequestBuilder &);
2604 flatbuffers::Offset<LowPowerMicAccessRequest> Finish() {
2605 const auto end = fbb_.EndTable(start_);
2606 auto o = flatbuffers::Offset<LowPowerMicAccessRequest>(end);
2607 return o;
2608 }
2609 };
2610
2611 inline flatbuffers::Offset<LowPowerMicAccessRequest> CreateLowPowerMicAccessRequest(
2612 flatbuffers::FlatBufferBuilder &_fbb) {
2613 LowPowerMicAccessRequestBuilder builder_(_fbb);
2614 return builder_.Finish();
2615 }
2616
2617 flatbuffers::Offset<LowPowerMicAccessRequest> CreateLowPowerMicAccessRequest(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2618
2619 struct LowPowerMicAccessReleaseT : public flatbuffers::NativeTable {
2620 typedef LowPowerMicAccessRelease TableType;
2621 LowPowerMicAccessReleaseT() {
2622 }
2623 };
2624
2625 /// Notification from CHRE that it no longer needs direct access to low-power
2626 /// microphone data.
2627 struct LowPowerMicAccessRelease FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2628 typedef LowPowerMicAccessReleaseT NativeTableType;
2629 typedef LowPowerMicAccessReleaseBuilder Builder;
2630 bool Verify(flatbuffers::Verifier &verifier) const {
2631 return VerifyTableStart(verifier) &&
2632 verifier.EndTable();
2633 }
2634 LowPowerMicAccessReleaseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2635 void UnPackTo(LowPowerMicAccessReleaseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2636 static flatbuffers::Offset<LowPowerMicAccessRelease> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessReleaseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2637 };
2638
2639 struct LowPowerMicAccessReleaseBuilder {
2640 typedef LowPowerMicAccessRelease Table;
2641 flatbuffers::FlatBufferBuilder &fbb_;
2642 flatbuffers::uoffset_t start_;
2643 explicit LowPowerMicAccessReleaseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2644 : fbb_(_fbb) {
2645 start_ = fbb_.StartTable();
2646 }
2647 LowPowerMicAccessReleaseBuilder &operator=(const LowPowerMicAccessReleaseBuilder &);
2648 flatbuffers::Offset<LowPowerMicAccessRelease> Finish() {
2649 const auto end = fbb_.EndTable(start_);
2650 auto o = flatbuffers::Offset<LowPowerMicAccessRelease>(end);
2651 return o;
2652 }
2653 };
2654
2655 inline flatbuffers::Offset<LowPowerMicAccessRelease> CreateLowPowerMicAccessRelease(
2656 flatbuffers::FlatBufferBuilder &_fbb) {
2657 LowPowerMicAccessReleaseBuilder builder_(_fbb);
2658 return builder_.Finish();
2659 }
2660
2661 flatbuffers::Offset<LowPowerMicAccessRelease> CreateLowPowerMicAccessRelease(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessReleaseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2662
2663 struct SettingChangeMessageT : public flatbuffers::NativeTable {
2664 typedef SettingChangeMessage TableType;
2665 chre::fbs::Setting setting;
2666 chre::fbs::SettingState state;
2667 SettingChangeMessageT()
2668 : setting(chre::fbs::Setting::LOCATION),
2669 state(chre::fbs::SettingState::DISABLED) {
2670 }
2671 };
2672
2673 /// Notification from the host that a system setting has changed
2674 struct SettingChangeMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2675 typedef SettingChangeMessageT NativeTableType;
2676 typedef SettingChangeMessageBuilder Builder;
2677 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2678 VT_SETTING = 4,
2679 VT_STATE = 6
2680 };
2681 /// The setting that has changed
2682 chre::fbs::Setting setting() const {
2683 return static_cast<chre::fbs::Setting>(GetField<int8_t>(VT_SETTING, 0));
2684 }
2685 bool mutate_setting(chre::fbs::Setting _setting) {
2686 return SetField<int8_t>(VT_SETTING, static_cast<int8_t>(_setting), 0);
2687 }
2688 /// The new setting value
2689 chre::fbs::SettingState state() const {
2690 return static_cast<chre::fbs::SettingState>(GetField<int8_t>(VT_STATE, 0));
2691 }
2692 bool mutate_state(chre::fbs::SettingState _state) {
2693 return SetField<int8_t>(VT_STATE, static_cast<int8_t>(_state), 0);
2694 }
2695 bool Verify(flatbuffers::Verifier &verifier) const {
2696 return VerifyTableStart(verifier) &&
2697 VerifyField<int8_t>(verifier, VT_SETTING) &&
2698 VerifyField<int8_t>(verifier, VT_STATE) &&
2699 verifier.EndTable();
2700 }
2701 SettingChangeMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2702 void UnPackTo(SettingChangeMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2703 static flatbuffers::Offset<SettingChangeMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const SettingChangeMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2704 };
2705
2706 struct SettingChangeMessageBuilder {
2707 typedef SettingChangeMessage Table;
2708 flatbuffers::FlatBufferBuilder &fbb_;
2709 flatbuffers::uoffset_t start_;
2710 void add_setting(chre::fbs::Setting setting) {
2711 fbb_.AddElement<int8_t>(SettingChangeMessage::VT_SETTING, static_cast<int8_t>(setting), 0);
2712 }
2713 void add_state(chre::fbs::SettingState state) {
2714 fbb_.AddElement<int8_t>(SettingChangeMessage::VT_STATE, static_cast<int8_t>(state), 0);
2715 }
2716 explicit SettingChangeMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2717 : fbb_(_fbb) {
2718 start_ = fbb_.StartTable();
2719 }
2720 SettingChangeMessageBuilder &operator=(const SettingChangeMessageBuilder &);
2721 flatbuffers::Offset<SettingChangeMessage> Finish() {
2722 const auto end = fbb_.EndTable(start_);
2723 auto o = flatbuffers::Offset<SettingChangeMessage>(end);
2724 return o;
2725 }
2726 };
2727
2728 inline flatbuffers::Offset<SettingChangeMessage> CreateSettingChangeMessage(
2729 flatbuffers::FlatBufferBuilder &_fbb,
2730 chre::fbs::Setting setting = chre::fbs::Setting::LOCATION,
2731 chre::fbs::SettingState state = chre::fbs::SettingState::DISABLED) {
2732 SettingChangeMessageBuilder builder_(_fbb);
2733 builder_.add_state(state);
2734 builder_.add_setting(setting);
2735 return builder_.Finish();
2736 }
2737
2738 flatbuffers::Offset<SettingChangeMessage> CreateSettingChangeMessage(flatbuffers::FlatBufferBuilder &_fbb, const SettingChangeMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2739
2740 struct LogMessageV2T : public flatbuffers::NativeTable {
2741 typedef LogMessageV2 TableType;
2742 std::vector<int8_t> buffer;
2743 uint32_t num_logs_dropped;
2744 LogMessageV2T()
2745 : num_logs_dropped(0) {
2746 }
2747 };
2748
2749 /// Represents V2 log messages from CHRE.
2750 struct LogMessageV2 FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2751 typedef LogMessageV2T NativeTableType;
2752 typedef LogMessageV2Builder Builder;
2753 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2754 VT_BUFFER = 4,
2755 VT_NUM_LOGS_DROPPED = 6
2756 };
2757 /// A buffer containing formatted log data. A flat array is used here to avoid
2758 /// overhead in serializing and deserializing. The format is as follows:
2759 ///
2760 /// uint8_t - Log metadata, encoded as follows:
2761 /// [EI(Upper nibble) | Level(Lower nibble)]
2762 /// * Log Type
2763 /// (0 = No encoding, 1 = Tokenized log, 2 = BT snoop log)
2764 /// * LogBuffer log level (1 = error, 2 = warn,
2765 /// 3 = info, 4 = debug,
2766 /// 5 = verbose)
2767 /// uint32_t, little-endian - timestamp in milliseconds
2768 /// char[] - Log data buffer
2769 ///
2770 /// The log data buffer format is as follows:
2771 /// * Unencoded (string) logs: The log buffer can be interpreted as a NULL
2772 /// terminated string (eg: pass to string manipulation functions, get its
2773 /// size via strlen(), etc.).
2774 ///
2775 /// * Encoded logs: The first byte of the log buffer indicates the size of
2776 /// the actual encoded data to follow. For example, if a tokenized log of
2777 /// size 24 bytes were to be represented, a buffer of size 25 bytes would
2778 /// be needed to encode this as: [Size(1B) | Data(24B)]. A decoder would
2779 /// then have to decode this starting from a 1 byte offset from the
2780 /// received buffer.
2781 ///
2782 /// * Bt Snoop logs: The first byte of the log buffer indicates the direction
2783 /// of the bt snoop log, depending on whether it is incoming for the BT
2784 /// controller or outgoing to the arbiter. The second byte indicates the size
2785 /// of the actual BT payload followed. For example, if a bt snoop log of
2786 /// size 24 bytes were to be represented, a buffer of size 26 bytes would
2787 /// be needed to encode this as: [Direction(1B) | Size(1B) | Data(24B)].
2788 ///
2789 /// This pattern repeats until the end of the buffer for multiple log
2790 /// messages. The last byte will always be a null-terminator. There are no
2791 /// padding bytes between these fields. Treat this like a packed struct and be
2792 /// cautious with unaligned access when reading/writing this buffer.
2793 /// Note that the log message might not be null-terminated if an encoding is
2794 /// used.
2795 const flatbuffers::Vector<int8_t> *buffer() const {
2796 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_BUFFER);
2797 }
2798 flatbuffers::Vector<int8_t> *mutable_buffer() {
2799 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_BUFFER);
2800 }
2801 /// The number of logs dropped since CHRE started
2802 uint32_t num_logs_dropped() const {
2803 return GetField<uint32_t>(VT_NUM_LOGS_DROPPED, 0);
2804 }
2805 bool mutate_num_logs_dropped(uint32_t _num_logs_dropped) {
2806 return SetField<uint32_t>(VT_NUM_LOGS_DROPPED, _num_logs_dropped, 0);
2807 }
2808 bool Verify(flatbuffers::Verifier &verifier) const {
2809 return VerifyTableStart(verifier) &&
2810 VerifyOffset(verifier, VT_BUFFER) &&
2811 verifier.VerifyVector(buffer()) &&
2812 VerifyField<uint32_t>(verifier, VT_NUM_LOGS_DROPPED) &&
2813 verifier.EndTable();
2814 }
2815 LogMessageV2T *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2816 void UnPackTo(LogMessageV2T *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2817 static flatbuffers::Offset<LogMessageV2> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageV2T* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2818 };
2819
2820 struct LogMessageV2Builder {
2821 typedef LogMessageV2 Table;
2822 flatbuffers::FlatBufferBuilder &fbb_;
2823 flatbuffers::uoffset_t start_;
2824 void add_buffer(flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer) {
2825 fbb_.AddOffset(LogMessageV2::VT_BUFFER, buffer);
2826 }
2827 void add_num_logs_dropped(uint32_t num_logs_dropped) {
2828 fbb_.AddElement<uint32_t>(LogMessageV2::VT_NUM_LOGS_DROPPED, num_logs_dropped, 0);
2829 }
2830 explicit LogMessageV2Builder(flatbuffers::FlatBufferBuilder &_fbb)
2831 : fbb_(_fbb) {
2832 start_ = fbb_.StartTable();
2833 }
2834 LogMessageV2Builder &operator=(const LogMessageV2Builder &);
2835 flatbuffers::Offset<LogMessageV2> Finish() {
2836 const auto end = fbb_.EndTable(start_);
2837 auto o = flatbuffers::Offset<LogMessageV2>(end);
2838 return o;
2839 }
2840 };
2841
2842 inline flatbuffers::Offset<LogMessageV2> CreateLogMessageV2(
2843 flatbuffers::FlatBufferBuilder &_fbb,
2844 flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer = 0,
2845 uint32_t num_logs_dropped = 0) {
2846 LogMessageV2Builder builder_(_fbb);
2847 builder_.add_num_logs_dropped(num_logs_dropped);
2848 builder_.add_buffer(buffer);
2849 return builder_.Finish();
2850 }
2851
2852 inline flatbuffers::Offset<LogMessageV2> CreateLogMessageV2Direct(
2853 flatbuffers::FlatBufferBuilder &_fbb,
2854 const std::vector<int8_t> *buffer = nullptr,
2855 uint32_t num_logs_dropped = 0) {
2856 auto buffer__ = buffer ? _fbb.CreateVector<int8_t>(*buffer) : 0;
2857 return chre::fbs::CreateLogMessageV2(
2858 _fbb,
2859 buffer__,
2860 num_logs_dropped);
2861 }
2862
2863 flatbuffers::Offset<LogMessageV2> CreateLogMessageV2(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageV2T *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2864
2865 struct SelfTestRequestT : public flatbuffers::NativeTable {
2866 typedef SelfTestRequest TableType;
2867 SelfTestRequestT() {
2868 }
2869 };
2870
2871 struct SelfTestRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2872 typedef SelfTestRequestT NativeTableType;
2873 typedef SelfTestRequestBuilder Builder;
2874 bool Verify(flatbuffers::Verifier &verifier) const {
2875 return VerifyTableStart(verifier) &&
2876 verifier.EndTable();
2877 }
2878 SelfTestRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2879 void UnPackTo(SelfTestRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2880 static flatbuffers::Offset<SelfTestRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2881 };
2882
2883 struct SelfTestRequestBuilder {
2884 typedef SelfTestRequest Table;
2885 flatbuffers::FlatBufferBuilder &fbb_;
2886 flatbuffers::uoffset_t start_;
2887 explicit SelfTestRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2888 : fbb_(_fbb) {
2889 start_ = fbb_.StartTable();
2890 }
2891 SelfTestRequestBuilder &operator=(const SelfTestRequestBuilder &);
2892 flatbuffers::Offset<SelfTestRequest> Finish() {
2893 const auto end = fbb_.EndTable(start_);
2894 auto o = flatbuffers::Offset<SelfTestRequest>(end);
2895 return o;
2896 }
2897 };
2898
2899 inline flatbuffers::Offset<SelfTestRequest> CreateSelfTestRequest(
2900 flatbuffers::FlatBufferBuilder &_fbb) {
2901 SelfTestRequestBuilder builder_(_fbb);
2902 return builder_.Finish();
2903 }
2904
2905 flatbuffers::Offset<SelfTestRequest> CreateSelfTestRequest(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2906
2907 struct SelfTestResponseT : public flatbuffers::NativeTable {
2908 typedef SelfTestResponse TableType;
2909 bool success;
2910 SelfTestResponseT()
2911 : success(false) {
2912 }
2913 };
2914
2915 struct SelfTestResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2916 typedef SelfTestResponseT NativeTableType;
2917 typedef SelfTestResponseBuilder Builder;
2918 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2919 VT_SUCCESS = 4
2920 };
2921 bool success() const {
2922 return GetField<uint8_t>(VT_SUCCESS, 0) != 0;
2923 }
2924 bool mutate_success(bool _success) {
2925 return SetField<uint8_t>(VT_SUCCESS, static_cast<uint8_t>(_success), 0);
2926 }
2927 bool Verify(flatbuffers::Verifier &verifier) const {
2928 return VerifyTableStart(verifier) &&
2929 VerifyField<uint8_t>(verifier, VT_SUCCESS) &&
2930 verifier.EndTable();
2931 }
2932 SelfTestResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2933 void UnPackTo(SelfTestResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2934 static flatbuffers::Offset<SelfTestResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2935 };
2936
2937 struct SelfTestResponseBuilder {
2938 typedef SelfTestResponse Table;
2939 flatbuffers::FlatBufferBuilder &fbb_;
2940 flatbuffers::uoffset_t start_;
2941 void add_success(bool success) {
2942 fbb_.AddElement<uint8_t>(SelfTestResponse::VT_SUCCESS, static_cast<uint8_t>(success), 0);
2943 }
2944 explicit SelfTestResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2945 : fbb_(_fbb) {
2946 start_ = fbb_.StartTable();
2947 }
2948 SelfTestResponseBuilder &operator=(const SelfTestResponseBuilder &);
2949 flatbuffers::Offset<SelfTestResponse> Finish() {
2950 const auto end = fbb_.EndTable(start_);
2951 auto o = flatbuffers::Offset<SelfTestResponse>(end);
2952 return o;
2953 }
2954 };
2955
2956 inline flatbuffers::Offset<SelfTestResponse> CreateSelfTestResponse(
2957 flatbuffers::FlatBufferBuilder &_fbb,
2958 bool success = false) {
2959 SelfTestResponseBuilder builder_(_fbb);
2960 builder_.add_success(success);
2961 return builder_.Finish();
2962 }
2963
2964 flatbuffers::Offset<SelfTestResponse> CreateSelfTestResponse(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2965
2966 struct HostEndpointConnectedT : public flatbuffers::NativeTable {
2967 typedef HostEndpointConnected TableType;
2968 uint16_t host_endpoint;
2969 uint8_t type;
2970 std::vector<int8_t> package_name;
2971 std::vector<int8_t> attribution_tag;
2972 HostEndpointConnectedT()
2973 : host_endpoint(0),
2974 type(0) {
2975 }
2976 };
2977
2978 struct HostEndpointConnected FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2979 typedef HostEndpointConnectedT NativeTableType;
2980 typedef HostEndpointConnectedBuilder Builder;
2981 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2982 VT_HOST_ENDPOINT = 4,
2983 VT_TYPE = 6,
2984 VT_PACKAGE_NAME = 8,
2985 VT_ATTRIBUTION_TAG = 10
2986 };
2987 /// The host-side endpoint that has connected to the framework.
2988 uint16_t host_endpoint() const {
2989 return GetField<uint16_t>(VT_HOST_ENDPOINT, 0);
2990 }
2991 bool mutate_host_endpoint(uint16_t _host_endpoint) {
2992 return SetField<uint16_t>(VT_HOST_ENDPOINT, _host_endpoint, 0);
2993 }
2994 /// The type of host endpoint, which should be any of the CHRE_HOST_ENDPOINT_TYPE_*
2995 /// values defined in the chre_api/chre/event.h.
2996 uint8_t type() const {
2997 return GetField<uint8_t>(VT_TYPE, 0);
2998 }
2999 bool mutate_type(uint8_t _type) {
3000 return SetField<uint8_t>(VT_TYPE, _type, 0);
3001 }
3002 /// The (optional) package name associated with the host endpoint.
3003 const flatbuffers::Vector<int8_t> *package_name() const {
3004 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_PACKAGE_NAME);
3005 }
3006 flatbuffers::Vector<int8_t> *mutable_package_name() {
3007 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_PACKAGE_NAME);
3008 }
3009 /// The (optional) attribution tag associated with this host.
3010 const flatbuffers::Vector<int8_t> *attribution_tag() const {
3011 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_ATTRIBUTION_TAG);
3012 }
3013 flatbuffers::Vector<int8_t> *mutable_attribution_tag() {
3014 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_ATTRIBUTION_TAG);
3015 }
3016 bool Verify(flatbuffers::Verifier &verifier) const {
3017 return VerifyTableStart(verifier) &&
3018 VerifyField<uint16_t>(verifier, VT_HOST_ENDPOINT) &&
3019 VerifyField<uint8_t>(verifier, VT_TYPE) &&
3020 VerifyOffset(verifier, VT_PACKAGE_NAME) &&
3021 verifier.VerifyVector(package_name()) &&
3022 VerifyOffset(verifier, VT_ATTRIBUTION_TAG) &&
3023 verifier.VerifyVector(attribution_tag()) &&
3024 verifier.EndTable();
3025 }
3026 HostEndpointConnectedT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3027 void UnPackTo(HostEndpointConnectedT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3028 static flatbuffers::Offset<HostEndpointConnected> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointConnectedT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3029 };
3030
3031 struct HostEndpointConnectedBuilder {
3032 typedef HostEndpointConnected Table;
3033 flatbuffers::FlatBufferBuilder &fbb_;
3034 flatbuffers::uoffset_t start_;
3035 void add_host_endpoint(uint16_t host_endpoint) {
3036 fbb_.AddElement<uint16_t>(HostEndpointConnected::VT_HOST_ENDPOINT, host_endpoint, 0);
3037 }
3038 void add_type(uint8_t type) {
3039 fbb_.AddElement<uint8_t>(HostEndpointConnected::VT_TYPE, type, 0);
3040 }
3041 void add_package_name(flatbuffers::Offset<flatbuffers::Vector<int8_t>> package_name) {
3042 fbb_.AddOffset(HostEndpointConnected::VT_PACKAGE_NAME, package_name);
3043 }
3044 void add_attribution_tag(flatbuffers::Offset<flatbuffers::Vector<int8_t>> attribution_tag) {
3045 fbb_.AddOffset(HostEndpointConnected::VT_ATTRIBUTION_TAG, attribution_tag);
3046 }
3047 explicit HostEndpointConnectedBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3048 : fbb_(_fbb) {
3049 start_ = fbb_.StartTable();
3050 }
3051 HostEndpointConnectedBuilder &operator=(const HostEndpointConnectedBuilder &);
3052 flatbuffers::Offset<HostEndpointConnected> Finish() {
3053 const auto end = fbb_.EndTable(start_);
3054 auto o = flatbuffers::Offset<HostEndpointConnected>(end);
3055 return o;
3056 }
3057 };
3058
3059 inline flatbuffers::Offset<HostEndpointConnected> CreateHostEndpointConnected(
3060 flatbuffers::FlatBufferBuilder &_fbb,
3061 uint16_t host_endpoint = 0,
3062 uint8_t type = 0,
3063 flatbuffers::Offset<flatbuffers::Vector<int8_t>> package_name = 0,
3064 flatbuffers::Offset<flatbuffers::Vector<int8_t>> attribution_tag = 0) {
3065 HostEndpointConnectedBuilder builder_(_fbb);
3066 builder_.add_attribution_tag(attribution_tag);
3067 builder_.add_package_name(package_name);
3068 builder_.add_host_endpoint(host_endpoint);
3069 builder_.add_type(type);
3070 return builder_.Finish();
3071 }
3072
3073 inline flatbuffers::Offset<HostEndpointConnected> CreateHostEndpointConnectedDirect(
3074 flatbuffers::FlatBufferBuilder &_fbb,
3075 uint16_t host_endpoint = 0,
3076 uint8_t type = 0,
3077 const std::vector<int8_t> *package_name = nullptr,
3078 const std::vector<int8_t> *attribution_tag = nullptr) {
3079 auto package_name__ = package_name ? _fbb.CreateVector<int8_t>(*package_name) : 0;
3080 auto attribution_tag__ = attribution_tag ? _fbb.CreateVector<int8_t>(*attribution_tag) : 0;
3081 return chre::fbs::CreateHostEndpointConnected(
3082 _fbb,
3083 host_endpoint,
3084 type,
3085 package_name__,
3086 attribution_tag__);
3087 }
3088
3089 flatbuffers::Offset<HostEndpointConnected> CreateHostEndpointConnected(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointConnectedT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3090
3091 struct HostEndpointDisconnectedT : public flatbuffers::NativeTable {
3092 typedef HostEndpointDisconnected TableType;
3093 uint16_t host_endpoint;
3094 HostEndpointDisconnectedT()
3095 : host_endpoint(0) {
3096 }
3097 };
3098
3099 struct HostEndpointDisconnected FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3100 typedef HostEndpointDisconnectedT NativeTableType;
3101 typedef HostEndpointDisconnectedBuilder Builder;
3102 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3103 VT_HOST_ENDPOINT = 4
3104 };
3105 /// The host-side endpoint that has disconnected from the framework.
3106 uint16_t host_endpoint() const {
3107 return GetField<uint16_t>(VT_HOST_ENDPOINT, 0);
3108 }
3109 bool mutate_host_endpoint(uint16_t _host_endpoint) {
3110 return SetField<uint16_t>(VT_HOST_ENDPOINT, _host_endpoint, 0);
3111 }
3112 bool Verify(flatbuffers::Verifier &verifier) const {
3113 return VerifyTableStart(verifier) &&
3114 VerifyField<uint16_t>(verifier, VT_HOST_ENDPOINT) &&
3115 verifier.EndTable();
3116 }
3117 HostEndpointDisconnectedT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3118 void UnPackTo(HostEndpointDisconnectedT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3119 static flatbuffers::Offset<HostEndpointDisconnected> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointDisconnectedT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3120 };
3121
3122 struct HostEndpointDisconnectedBuilder {
3123 typedef HostEndpointDisconnected Table;
3124 flatbuffers::FlatBufferBuilder &fbb_;
3125 flatbuffers::uoffset_t start_;
3126 void add_host_endpoint(uint16_t host_endpoint) {
3127 fbb_.AddElement<uint16_t>(HostEndpointDisconnected::VT_HOST_ENDPOINT, host_endpoint, 0);
3128 }
3129 explicit HostEndpointDisconnectedBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3130 : fbb_(_fbb) {
3131 start_ = fbb_.StartTable();
3132 }
3133 HostEndpointDisconnectedBuilder &operator=(const HostEndpointDisconnectedBuilder &);
3134 flatbuffers::Offset<HostEndpointDisconnected> Finish() {
3135 const auto end = fbb_.EndTable(start_);
3136 auto o = flatbuffers::Offset<HostEndpointDisconnected>(end);
3137 return o;
3138 }
3139 };
3140
3141 inline flatbuffers::Offset<HostEndpointDisconnected> CreateHostEndpointDisconnected(
3142 flatbuffers::FlatBufferBuilder &_fbb,
3143 uint16_t host_endpoint = 0) {
3144 HostEndpointDisconnectedBuilder builder_(_fbb);
3145 builder_.add_host_endpoint(host_endpoint);
3146 return builder_.Finish();
3147 }
3148
3149 flatbuffers::Offset<HostEndpointDisconnected> CreateHostEndpointDisconnected(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointDisconnectedT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3150
3151 struct MetricLogT : public flatbuffers::NativeTable {
3152 typedef MetricLog TableType;
3153 uint32_t id;
3154 std::vector<int8_t> encoded_metric;
3155 MetricLogT()
3156 : id(0) {
3157 }
3158 };
3159
3160 struct MetricLog FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3161 typedef MetricLogT NativeTableType;
3162 typedef MetricLogBuilder Builder;
3163 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3164 VT_ID = 4,
3165 VT_ENCODED_METRIC = 6
3166 };
3167 uint32_t id() const {
3168 return GetField<uint32_t>(VT_ID, 0);
3169 }
3170 bool mutate_id(uint32_t _id) {
3171 return SetField<uint32_t>(VT_ID, _id, 0);
3172 }
3173 const flatbuffers::Vector<int8_t> *encoded_metric() const {
3174 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_ENCODED_METRIC);
3175 }
3176 flatbuffers::Vector<int8_t> *mutable_encoded_metric() {
3177 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_ENCODED_METRIC);
3178 }
3179 bool Verify(flatbuffers::Verifier &verifier) const {
3180 return VerifyTableStart(verifier) &&
3181 VerifyField<uint32_t>(verifier, VT_ID) &&
3182 VerifyOffset(verifier, VT_ENCODED_METRIC) &&
3183 verifier.VerifyVector(encoded_metric()) &&
3184 verifier.EndTable();
3185 }
3186 MetricLogT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3187 void UnPackTo(MetricLogT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3188 static flatbuffers::Offset<MetricLog> Pack(flatbuffers::FlatBufferBuilder &_fbb, const MetricLogT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3189 };
3190
3191 struct MetricLogBuilder {
3192 typedef MetricLog Table;
3193 flatbuffers::FlatBufferBuilder &fbb_;
3194 flatbuffers::uoffset_t start_;
3195 void add_id(uint32_t id) {
3196 fbb_.AddElement<uint32_t>(MetricLog::VT_ID, id, 0);
3197 }
3198 void add_encoded_metric(flatbuffers::Offset<flatbuffers::Vector<int8_t>> encoded_metric) {
3199 fbb_.AddOffset(MetricLog::VT_ENCODED_METRIC, encoded_metric);
3200 }
3201 explicit MetricLogBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3202 : fbb_(_fbb) {
3203 start_ = fbb_.StartTable();
3204 }
3205 MetricLogBuilder &operator=(const MetricLogBuilder &);
3206 flatbuffers::Offset<MetricLog> Finish() {
3207 const auto end = fbb_.EndTable(start_);
3208 auto o = flatbuffers::Offset<MetricLog>(end);
3209 return o;
3210 }
3211 };
3212
3213 inline flatbuffers::Offset<MetricLog> CreateMetricLog(
3214 flatbuffers::FlatBufferBuilder &_fbb,
3215 uint32_t id = 0,
3216 flatbuffers::Offset<flatbuffers::Vector<int8_t>> encoded_metric = 0) {
3217 MetricLogBuilder builder_(_fbb);
3218 builder_.add_encoded_metric(encoded_metric);
3219 builder_.add_id(id);
3220 return builder_.Finish();
3221 }
3222
3223 inline flatbuffers::Offset<MetricLog> CreateMetricLogDirect(
3224 flatbuffers::FlatBufferBuilder &_fbb,
3225 uint32_t id = 0,
3226 const std::vector<int8_t> *encoded_metric = nullptr) {
3227 auto encoded_metric__ = encoded_metric ? _fbb.CreateVector<int8_t>(*encoded_metric) : 0;
3228 return chre::fbs::CreateMetricLog(
3229 _fbb,
3230 id,
3231 encoded_metric__);
3232 }
3233
3234 flatbuffers::Offset<MetricLog> CreateMetricLog(flatbuffers::FlatBufferBuilder &_fbb, const MetricLogT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3235
3236 struct BatchedMetricLogT : public flatbuffers::NativeTable {
3237 typedef BatchedMetricLog TableType;
3238 std::vector<std::unique_ptr<chre::fbs::MetricLogT>> metrics;
3239 BatchedMetricLogT() {
3240 }
3241 };
3242
3243 struct BatchedMetricLog FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3244 typedef BatchedMetricLogT NativeTableType;
3245 typedef BatchedMetricLogBuilder Builder;
3246 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3247 VT_METRICS = 4
3248 };
3249 const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>> *metrics() const {
3250 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>> *>(VT_METRICS);
3251 }
3252 flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>> *mutable_metrics() {
3253 return GetPointer<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>> *>(VT_METRICS);
3254 }
3255 bool Verify(flatbuffers::Verifier &verifier) const {
3256 return VerifyTableStart(verifier) &&
3257 VerifyOffset(verifier, VT_METRICS) &&
3258 verifier.VerifyVector(metrics()) &&
3259 verifier.VerifyVectorOfTables(metrics()) &&
3260 verifier.EndTable();
3261 }
3262 BatchedMetricLogT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3263 void UnPackTo(BatchedMetricLogT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3264 static flatbuffers::Offset<BatchedMetricLog> Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchedMetricLogT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3265 };
3266
3267 struct BatchedMetricLogBuilder {
3268 typedef BatchedMetricLog Table;
3269 flatbuffers::FlatBufferBuilder &fbb_;
3270 flatbuffers::uoffset_t start_;
3271 void add_metrics(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>>> metrics) {
3272 fbb_.AddOffset(BatchedMetricLog::VT_METRICS, metrics);
3273 }
3274 explicit BatchedMetricLogBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3275 : fbb_(_fbb) {
3276 start_ = fbb_.StartTable();
3277 }
3278 BatchedMetricLogBuilder &operator=(const BatchedMetricLogBuilder &);
3279 flatbuffers::Offset<BatchedMetricLog> Finish() {
3280 const auto end = fbb_.EndTable(start_);
3281 auto o = flatbuffers::Offset<BatchedMetricLog>(end);
3282 return o;
3283 }
3284 };
3285
3286 inline flatbuffers::Offset<BatchedMetricLog> CreateBatchedMetricLog(
3287 flatbuffers::FlatBufferBuilder &_fbb,
3288 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>>> metrics = 0) {
3289 BatchedMetricLogBuilder builder_(_fbb);
3290 builder_.add_metrics(metrics);
3291 return builder_.Finish();
3292 }
3293
3294 inline flatbuffers::Offset<BatchedMetricLog> CreateBatchedMetricLogDirect(
3295 flatbuffers::FlatBufferBuilder &_fbb,
3296 const std::vector<flatbuffers::Offset<chre::fbs::MetricLog>> *metrics = nullptr) {
3297 auto metrics__ = metrics ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::MetricLog>>(*metrics) : 0;
3298 return chre::fbs::CreateBatchedMetricLog(
3299 _fbb,
3300 metrics__);
3301 }
3302
3303 flatbuffers::Offset<BatchedMetricLog> CreateBatchedMetricLog(flatbuffers::FlatBufferBuilder &_fbb, const BatchedMetricLogT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3304
3305 struct NanConfigurationRequestT : public flatbuffers::NativeTable {
3306 typedef NanConfigurationRequest TableType;
3307 bool enable;
3308 NanConfigurationRequestT()
3309 : enable(false) {
3310 }
3311 };
3312
3313 struct NanConfigurationRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3314 typedef NanConfigurationRequestT NativeTableType;
3315 typedef NanConfigurationRequestBuilder Builder;
3316 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3317 VT_ENABLE = 4
3318 };
3319 bool enable() const {
3320 return GetField<uint8_t>(VT_ENABLE, 0) != 0;
3321 }
3322 bool mutate_enable(bool _enable) {
3323 return SetField<uint8_t>(VT_ENABLE, static_cast<uint8_t>(_enable), 0);
3324 }
3325 bool Verify(flatbuffers::Verifier &verifier) const {
3326 return VerifyTableStart(verifier) &&
3327 VerifyField<uint8_t>(verifier, VT_ENABLE) &&
3328 verifier.EndTable();
3329 }
3330 NanConfigurationRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3331 void UnPackTo(NanConfigurationRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3332 static flatbuffers::Offset<NanConfigurationRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3333 };
3334
3335 struct NanConfigurationRequestBuilder {
3336 typedef NanConfigurationRequest Table;
3337 flatbuffers::FlatBufferBuilder &fbb_;
3338 flatbuffers::uoffset_t start_;
3339 void add_enable(bool enable) {
3340 fbb_.AddElement<uint8_t>(NanConfigurationRequest::VT_ENABLE, static_cast<uint8_t>(enable), 0);
3341 }
3342 explicit NanConfigurationRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3343 : fbb_(_fbb) {
3344 start_ = fbb_.StartTable();
3345 }
3346 NanConfigurationRequestBuilder &operator=(const NanConfigurationRequestBuilder &);
3347 flatbuffers::Offset<NanConfigurationRequest> Finish() {
3348 const auto end = fbb_.EndTable(start_);
3349 auto o = flatbuffers::Offset<NanConfigurationRequest>(end);
3350 return o;
3351 }
3352 };
3353
3354 inline flatbuffers::Offset<NanConfigurationRequest> CreateNanConfigurationRequest(
3355 flatbuffers::FlatBufferBuilder &_fbb,
3356 bool enable = false) {
3357 NanConfigurationRequestBuilder builder_(_fbb);
3358 builder_.add_enable(enable);
3359 return builder_.Finish();
3360 }
3361
3362 flatbuffers::Offset<NanConfigurationRequest> CreateNanConfigurationRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3363
3364 struct NanConfigurationUpdateT : public flatbuffers::NativeTable {
3365 typedef NanConfigurationUpdate TableType;
3366 bool enabled;
3367 NanConfigurationUpdateT()
3368 : enabled(false) {
3369 }
3370 };
3371
3372 struct NanConfigurationUpdate FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3373 typedef NanConfigurationUpdateT NativeTableType;
3374 typedef NanConfigurationUpdateBuilder Builder;
3375 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3376 VT_ENABLED = 4
3377 };
3378 bool enabled() const {
3379 return GetField<uint8_t>(VT_ENABLED, 0) != 0;
3380 }
3381 bool mutate_enabled(bool _enabled) {
3382 return SetField<uint8_t>(VT_ENABLED, static_cast<uint8_t>(_enabled), 0);
3383 }
3384 bool Verify(flatbuffers::Verifier &verifier) const {
3385 return VerifyTableStart(verifier) &&
3386 VerifyField<uint8_t>(verifier, VT_ENABLED) &&
3387 verifier.EndTable();
3388 }
3389 NanConfigurationUpdateT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3390 void UnPackTo(NanConfigurationUpdateT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3391 static flatbuffers::Offset<NanConfigurationUpdate> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationUpdateT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3392 };
3393
3394 struct NanConfigurationUpdateBuilder {
3395 typedef NanConfigurationUpdate Table;
3396 flatbuffers::FlatBufferBuilder &fbb_;
3397 flatbuffers::uoffset_t start_;
3398 void add_enabled(bool enabled) {
3399 fbb_.AddElement<uint8_t>(NanConfigurationUpdate::VT_ENABLED, static_cast<uint8_t>(enabled), 0);
3400 }
3401 explicit NanConfigurationUpdateBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3402 : fbb_(_fbb) {
3403 start_ = fbb_.StartTable();
3404 }
3405 NanConfigurationUpdateBuilder &operator=(const NanConfigurationUpdateBuilder &);
3406 flatbuffers::Offset<NanConfigurationUpdate> Finish() {
3407 const auto end = fbb_.EndTable(start_);
3408 auto o = flatbuffers::Offset<NanConfigurationUpdate>(end);
3409 return o;
3410 }
3411 };
3412
3413 inline flatbuffers::Offset<NanConfigurationUpdate> CreateNanConfigurationUpdate(
3414 flatbuffers::FlatBufferBuilder &_fbb,
3415 bool enabled = false) {
3416 NanConfigurationUpdateBuilder builder_(_fbb);
3417 builder_.add_enabled(enabled);
3418 return builder_.Finish();
3419 }
3420
3421 flatbuffers::Offset<NanConfigurationUpdate> CreateNanConfigurationUpdate(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationUpdateT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3422
3423 struct DebugConfigurationT : public flatbuffers::NativeTable {
3424 typedef DebugConfiguration TableType;
3425 bool health_monitor_failure_crash;
3426 DebugConfigurationT()
3427 : health_monitor_failure_crash(false) {
3428 }
3429 };
3430
3431 struct DebugConfiguration FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3432 typedef DebugConfigurationT NativeTableType;
3433 typedef DebugConfigurationBuilder Builder;
3434 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3435 VT_HEALTH_MONITOR_FAILURE_CRASH = 4
3436 };
3437 bool health_monitor_failure_crash() const {
3438 return GetField<uint8_t>(VT_HEALTH_MONITOR_FAILURE_CRASH, 0) != 0;
3439 }
3440 bool mutate_health_monitor_failure_crash(bool _health_monitor_failure_crash) {
3441 return SetField<uint8_t>(VT_HEALTH_MONITOR_FAILURE_CRASH, static_cast<uint8_t>(_health_monitor_failure_crash), 0);
3442 }
3443 bool Verify(flatbuffers::Verifier &verifier) const {
3444 return VerifyTableStart(verifier) &&
3445 VerifyField<uint8_t>(verifier, VT_HEALTH_MONITOR_FAILURE_CRASH) &&
3446 verifier.EndTable();
3447 }
3448 DebugConfigurationT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3449 void UnPackTo(DebugConfigurationT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3450 static flatbuffers::Offset<DebugConfiguration> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugConfigurationT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3451 };
3452
3453 struct DebugConfigurationBuilder {
3454 typedef DebugConfiguration Table;
3455 flatbuffers::FlatBufferBuilder &fbb_;
3456 flatbuffers::uoffset_t start_;
3457 void add_health_monitor_failure_crash(bool health_monitor_failure_crash) {
3458 fbb_.AddElement<uint8_t>(DebugConfiguration::VT_HEALTH_MONITOR_FAILURE_CRASH, static_cast<uint8_t>(health_monitor_failure_crash), 0);
3459 }
3460 explicit DebugConfigurationBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3461 : fbb_(_fbb) {
3462 start_ = fbb_.StartTable();
3463 }
3464 DebugConfigurationBuilder &operator=(const DebugConfigurationBuilder &);
3465 flatbuffers::Offset<DebugConfiguration> Finish() {
3466 const auto end = fbb_.EndTable(start_);
3467 auto o = flatbuffers::Offset<DebugConfiguration>(end);
3468 return o;
3469 }
3470 };
3471
3472 inline flatbuffers::Offset<DebugConfiguration> CreateDebugConfiguration(
3473 flatbuffers::FlatBufferBuilder &_fbb,
3474 bool health_monitor_failure_crash = false) {
3475 DebugConfigurationBuilder builder_(_fbb);
3476 builder_.add_health_monitor_failure_crash(health_monitor_failure_crash);
3477 return builder_.Finish();
3478 }
3479
3480 flatbuffers::Offset<DebugConfiguration> CreateDebugConfiguration(flatbuffers::FlatBufferBuilder &_fbb, const DebugConfigurationT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3481
3482 struct MessageContainerT : public flatbuffers::NativeTable {
3483 typedef MessageContainer TableType;
3484 chre::fbs::ChreMessageUnion message;
3485 std::unique_ptr<chre::fbs::HostAddress> host_addr;
3486 MessageContainerT() {
3487 }
3488 };
3489
3490 /// The top-level container that encapsulates all possible messages. Note that
3491 /// per FlatBuffers requirements, we can't use a union as the top-level
3492 /// structure (root type), so we must wrap it in a table.
3493 struct MessageContainer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3494 typedef MessageContainerT NativeTableType;
3495 typedef MessageContainerBuilder Builder;
3496 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3497 VT_MESSAGE_TYPE = 4,
3498 VT_MESSAGE = 6,
3499 VT_HOST_ADDR = 8
3500 };
3501 chre::fbs::ChreMessage message_type() const {
3502 return static_cast<chre::fbs::ChreMessage>(GetField<uint8_t>(VT_MESSAGE_TYPE, 0));
3503 }
3504 const void *message() const {
3505 return GetPointer<const void *>(VT_MESSAGE);
3506 }
3507 template<typename T> const T *message_as() const;
3508 const chre::fbs::NanoappMessage *message_as_NanoappMessage() const {
3509 return message_type() == chre::fbs::ChreMessage::NanoappMessage ? static_cast<const chre::fbs::NanoappMessage *>(message()) : nullptr;
3510 }
3511 const chre::fbs::HubInfoRequest *message_as_HubInfoRequest() const {
3512 return message_type() == chre::fbs::ChreMessage::HubInfoRequest ? static_cast<const chre::fbs::HubInfoRequest *>(message()) : nullptr;
3513 }
3514 const chre::fbs::HubInfoResponse *message_as_HubInfoResponse() const {
3515 return message_type() == chre::fbs::ChreMessage::HubInfoResponse ? static_cast<const chre::fbs::HubInfoResponse *>(message()) : nullptr;
3516 }
3517 const chre::fbs::NanoappListRequest *message_as_NanoappListRequest() const {
3518 return message_type() == chre::fbs::ChreMessage::NanoappListRequest ? static_cast<const chre::fbs::NanoappListRequest *>(message()) : nullptr;
3519 }
3520 const chre::fbs::NanoappListResponse *message_as_NanoappListResponse() const {
3521 return message_type() == chre::fbs::ChreMessage::NanoappListResponse ? static_cast<const chre::fbs::NanoappListResponse *>(message()) : nullptr;
3522 }
3523 const chre::fbs::LoadNanoappRequest *message_as_LoadNanoappRequest() const {
3524 return message_type() == chre::fbs::ChreMessage::LoadNanoappRequest ? static_cast<const chre::fbs::LoadNanoappRequest *>(message()) : nullptr;
3525 }
3526 const chre::fbs::LoadNanoappResponse *message_as_LoadNanoappResponse() const {
3527 return message_type() == chre::fbs::ChreMessage::LoadNanoappResponse ? static_cast<const chre::fbs::LoadNanoappResponse *>(message()) : nullptr;
3528 }
3529 const chre::fbs::UnloadNanoappRequest *message_as_UnloadNanoappRequest() const {
3530 return message_type() == chre::fbs::ChreMessage::UnloadNanoappRequest ? static_cast<const chre::fbs::UnloadNanoappRequest *>(message()) : nullptr;
3531 }
3532 const chre::fbs::UnloadNanoappResponse *message_as_UnloadNanoappResponse() const {
3533 return message_type() == chre::fbs::ChreMessage::UnloadNanoappResponse ? static_cast<const chre::fbs::UnloadNanoappResponse *>(message()) : nullptr;
3534 }
3535 const chre::fbs::LogMessage *message_as_LogMessage() const {
3536 return message_type() == chre::fbs::ChreMessage::LogMessage ? static_cast<const chre::fbs::LogMessage *>(message()) : nullptr;
3537 }
3538 const chre::fbs::TimeSyncMessage *message_as_TimeSyncMessage() const {
3539 return message_type() == chre::fbs::ChreMessage::TimeSyncMessage ? static_cast<const chre::fbs::TimeSyncMessage *>(message()) : nullptr;
3540 }
3541 const chre::fbs::DebugDumpRequest *message_as_DebugDumpRequest() const {
3542 return message_type() == chre::fbs::ChreMessage::DebugDumpRequest ? static_cast<const chre::fbs::DebugDumpRequest *>(message()) : nullptr;
3543 }
3544 const chre::fbs::DebugDumpData *message_as_DebugDumpData() const {
3545 return message_type() == chre::fbs::ChreMessage::DebugDumpData ? static_cast<const chre::fbs::DebugDumpData *>(message()) : nullptr;
3546 }
3547 const chre::fbs::DebugDumpResponse *message_as_DebugDumpResponse() const {
3548 return message_type() == chre::fbs::ChreMessage::DebugDumpResponse ? static_cast<const chre::fbs::DebugDumpResponse *>(message()) : nullptr;
3549 }
3550 const chre::fbs::TimeSyncRequest *message_as_TimeSyncRequest() const {
3551 return message_type() == chre::fbs::ChreMessage::TimeSyncRequest ? static_cast<const chre::fbs::TimeSyncRequest *>(message()) : nullptr;
3552 }
3553 const chre::fbs::LowPowerMicAccessRequest *message_as_LowPowerMicAccessRequest() const {
3554 return message_type() == chre::fbs::ChreMessage::LowPowerMicAccessRequest ? static_cast<const chre::fbs::LowPowerMicAccessRequest *>(message()) : nullptr;
3555 }
3556 const chre::fbs::LowPowerMicAccessRelease *message_as_LowPowerMicAccessRelease() const {
3557 return message_type() == chre::fbs::ChreMessage::LowPowerMicAccessRelease ? static_cast<const chre::fbs::LowPowerMicAccessRelease *>(message()) : nullptr;
3558 }
3559 const chre::fbs::SettingChangeMessage *message_as_SettingChangeMessage() const {
3560 return message_type() == chre::fbs::ChreMessage::SettingChangeMessage ? static_cast<const chre::fbs::SettingChangeMessage *>(message()) : nullptr;
3561 }
3562 const chre::fbs::LogMessageV2 *message_as_LogMessageV2() const {
3563 return message_type() == chre::fbs::ChreMessage::LogMessageV2 ? static_cast<const chre::fbs::LogMessageV2 *>(message()) : nullptr;
3564 }
3565 const chre::fbs::SelfTestRequest *message_as_SelfTestRequest() const {
3566 return message_type() == chre::fbs::ChreMessage::SelfTestRequest ? static_cast<const chre::fbs::SelfTestRequest *>(message()) : nullptr;
3567 }
3568 const chre::fbs::SelfTestResponse *message_as_SelfTestResponse() const {
3569 return message_type() == chre::fbs::ChreMessage::SelfTestResponse ? static_cast<const chre::fbs::SelfTestResponse *>(message()) : nullptr;
3570 }
3571 const chre::fbs::HostEndpointConnected *message_as_HostEndpointConnected() const {
3572 return message_type() == chre::fbs::ChreMessage::HostEndpointConnected ? static_cast<const chre::fbs::HostEndpointConnected *>(message()) : nullptr;
3573 }
3574 const chre::fbs::HostEndpointDisconnected *message_as_HostEndpointDisconnected() const {
3575 return message_type() == chre::fbs::ChreMessage::HostEndpointDisconnected ? static_cast<const chre::fbs::HostEndpointDisconnected *>(message()) : nullptr;
3576 }
3577 const chre::fbs::MetricLog *message_as_MetricLog() const {
3578 return message_type() == chre::fbs::ChreMessage::MetricLog ? static_cast<const chre::fbs::MetricLog *>(message()) : nullptr;
3579 }
3580 const chre::fbs::BatchedMetricLog *message_as_BatchedMetricLog() const {
3581 return message_type() == chre::fbs::ChreMessage::BatchedMetricLog ? static_cast<const chre::fbs::BatchedMetricLog *>(message()) : nullptr;
3582 }
3583 const chre::fbs::NanConfigurationRequest *message_as_NanConfigurationRequest() const {
3584 return message_type() == chre::fbs::ChreMessage::NanConfigurationRequest ? static_cast<const chre::fbs::NanConfigurationRequest *>(message()) : nullptr;
3585 }
3586 const chre::fbs::NanConfigurationUpdate *message_as_NanConfigurationUpdate() const {
3587 return message_type() == chre::fbs::ChreMessage::NanConfigurationUpdate ? static_cast<const chre::fbs::NanConfigurationUpdate *>(message()) : nullptr;
3588 }
3589 const chre::fbs::DebugConfiguration *message_as_DebugConfiguration() const {
3590 return message_type() == chre::fbs::ChreMessage::DebugConfiguration ? static_cast<const chre::fbs::DebugConfiguration *>(message()) : nullptr;
3591 }
3592 void *mutable_message() {
3593 return GetPointer<void *>(VT_MESSAGE);
3594 }
3595 /// The originating or destination client ID on the host side, used to direct
3596 /// responses only to the client that sent the request. Although initially
3597 /// populated by the requesting client, this is enforced to be the correct
3598 /// value by the entity guarding access to CHRE.
3599 /// This is wrapped in a struct to ensure that it is always included when
3600 /// encoding the message, so it can be mutated by the host daemon.
3601 const chre::fbs::HostAddress *host_addr() const {
3602 return GetStruct<const chre::fbs::HostAddress *>(VT_HOST_ADDR);
3603 }
3604 chre::fbs::HostAddress *mutable_host_addr() {
3605 return GetStruct<chre::fbs::HostAddress *>(VT_HOST_ADDR);
3606 }
3607 bool Verify(flatbuffers::Verifier &verifier) const {
3608 return VerifyTableStart(verifier) &&
3609 VerifyField<uint8_t>(verifier, VT_MESSAGE_TYPE) &&
3610 VerifyOffsetRequired(verifier, VT_MESSAGE) &&
3611 VerifyChreMessage(verifier, message(), message_type()) &&
3612 VerifyFieldRequired<chre::fbs::HostAddress>(verifier, VT_HOST_ADDR) &&
3613 verifier.EndTable();
3614 }
3615 MessageContainerT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3616 void UnPackTo(MessageContainerT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3617 static flatbuffers::Offset<MessageContainer> Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3618 };
3619
3620 template<> inline const chre::fbs::NanoappMessage *MessageContainer::message_as<chre::fbs::NanoappMessage>() const {
3621 return message_as_NanoappMessage();
3622 }
3623
3624 template<> inline const chre::fbs::HubInfoRequest *MessageContainer::message_as<chre::fbs::HubInfoRequest>() const {
3625 return message_as_HubInfoRequest();
3626 }
3627
3628 template<> inline const chre::fbs::HubInfoResponse *MessageContainer::message_as<chre::fbs::HubInfoResponse>() const {
3629 return message_as_HubInfoResponse();
3630 }
3631
3632 template<> inline const chre::fbs::NanoappListRequest *MessageContainer::message_as<chre::fbs::NanoappListRequest>() const {
3633 return message_as_NanoappListRequest();
3634 }
3635
3636 template<> inline const chre::fbs::NanoappListResponse *MessageContainer::message_as<chre::fbs::NanoappListResponse>() const {
3637 return message_as_NanoappListResponse();
3638 }
3639
3640 template<> inline const chre::fbs::LoadNanoappRequest *MessageContainer::message_as<chre::fbs::LoadNanoappRequest>() const {
3641 return message_as_LoadNanoappRequest();
3642 }
3643
3644 template<> inline const chre::fbs::LoadNanoappResponse *MessageContainer::message_as<chre::fbs::LoadNanoappResponse>() const {
3645 return message_as_LoadNanoappResponse();
3646 }
3647
3648 template<> inline const chre::fbs::UnloadNanoappRequest *MessageContainer::message_as<chre::fbs::UnloadNanoappRequest>() const {
3649 return message_as_UnloadNanoappRequest();
3650 }
3651
3652 template<> inline const chre::fbs::UnloadNanoappResponse *MessageContainer::message_as<chre::fbs::UnloadNanoappResponse>() const {
3653 return message_as_UnloadNanoappResponse();
3654 }
3655
3656 template<> inline const chre::fbs::LogMessage *MessageContainer::message_as<chre::fbs::LogMessage>() const {
3657 return message_as_LogMessage();
3658 }
3659
3660 template<> inline const chre::fbs::TimeSyncMessage *MessageContainer::message_as<chre::fbs::TimeSyncMessage>() const {
3661 return message_as_TimeSyncMessage();
3662 }
3663
3664 template<> inline const chre::fbs::DebugDumpRequest *MessageContainer::message_as<chre::fbs::DebugDumpRequest>() const {
3665 return message_as_DebugDumpRequest();
3666 }
3667
3668 template<> inline const chre::fbs::DebugDumpData *MessageContainer::message_as<chre::fbs::DebugDumpData>() const {
3669 return message_as_DebugDumpData();
3670 }
3671
3672 template<> inline const chre::fbs::DebugDumpResponse *MessageContainer::message_as<chre::fbs::DebugDumpResponse>() const {
3673 return message_as_DebugDumpResponse();
3674 }
3675
3676 template<> inline const chre::fbs::TimeSyncRequest *MessageContainer::message_as<chre::fbs::TimeSyncRequest>() const {
3677 return message_as_TimeSyncRequest();
3678 }
3679
3680 template<> inline const chre::fbs::LowPowerMicAccessRequest *MessageContainer::message_as<chre::fbs::LowPowerMicAccessRequest>() const {
3681 return message_as_LowPowerMicAccessRequest();
3682 }
3683
3684 template<> inline const chre::fbs::LowPowerMicAccessRelease *MessageContainer::message_as<chre::fbs::LowPowerMicAccessRelease>() const {
3685 return message_as_LowPowerMicAccessRelease();
3686 }
3687
3688 template<> inline const chre::fbs::SettingChangeMessage *MessageContainer::message_as<chre::fbs::SettingChangeMessage>() const {
3689 return message_as_SettingChangeMessage();
3690 }
3691
3692 template<> inline const chre::fbs::LogMessageV2 *MessageContainer::message_as<chre::fbs::LogMessageV2>() const {
3693 return message_as_LogMessageV2();
3694 }
3695
3696 template<> inline const chre::fbs::SelfTestRequest *MessageContainer::message_as<chre::fbs::SelfTestRequest>() const {
3697 return message_as_SelfTestRequest();
3698 }
3699
3700 template<> inline const chre::fbs::SelfTestResponse *MessageContainer::message_as<chre::fbs::SelfTestResponse>() const {
3701 return message_as_SelfTestResponse();
3702 }
3703
3704 template<> inline const chre::fbs::HostEndpointConnected *MessageContainer::message_as<chre::fbs::HostEndpointConnected>() const {
3705 return message_as_HostEndpointConnected();
3706 }
3707
3708 template<> inline const chre::fbs::HostEndpointDisconnected *MessageContainer::message_as<chre::fbs::HostEndpointDisconnected>() const {
3709 return message_as_HostEndpointDisconnected();
3710 }
3711
3712 template<> inline const chre::fbs::MetricLog *MessageContainer::message_as<chre::fbs::MetricLog>() const {
3713 return message_as_MetricLog();
3714 }
3715
3716 template<> inline const chre::fbs::BatchedMetricLog *MessageContainer::message_as<chre::fbs::BatchedMetricLog>() const {
3717 return message_as_BatchedMetricLog();
3718 }
3719
3720 template<> inline const chre::fbs::NanConfigurationRequest *MessageContainer::message_as<chre::fbs::NanConfigurationRequest>() const {
3721 return message_as_NanConfigurationRequest();
3722 }
3723
3724 template<> inline const chre::fbs::NanConfigurationUpdate *MessageContainer::message_as<chre::fbs::NanConfigurationUpdate>() const {
3725 return message_as_NanConfigurationUpdate();
3726 }
3727
3728 template<> inline const chre::fbs::DebugConfiguration *MessageContainer::message_as<chre::fbs::DebugConfiguration>() const {
3729 return message_as_DebugConfiguration();
3730 }
3731
3732 struct MessageContainerBuilder {
3733 typedef MessageContainer Table;
3734 flatbuffers::FlatBufferBuilder &fbb_;
3735 flatbuffers::uoffset_t start_;
3736 void add_message_type(chre::fbs::ChreMessage message_type) {
3737 fbb_.AddElement<uint8_t>(MessageContainer::VT_MESSAGE_TYPE, static_cast<uint8_t>(message_type), 0);
3738 }
3739 void add_message(flatbuffers::Offset<void> message) {
3740 fbb_.AddOffset(MessageContainer::VT_MESSAGE, message);
3741 }
3742 void add_host_addr(const chre::fbs::HostAddress *host_addr) {
3743 fbb_.AddStruct(MessageContainer::VT_HOST_ADDR, host_addr);
3744 }
3745 explicit MessageContainerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3746 : fbb_(_fbb) {
3747 start_ = fbb_.StartTable();
3748 }
3749 MessageContainerBuilder &operator=(const MessageContainerBuilder &);
3750 flatbuffers::Offset<MessageContainer> Finish() {
3751 const auto end = fbb_.EndTable(start_);
3752 auto o = flatbuffers::Offset<MessageContainer>(end);
3753 fbb_.Required(o, MessageContainer::VT_MESSAGE);
3754 fbb_.Required(o, MessageContainer::VT_HOST_ADDR);
3755 return o;
3756 }
3757 };
3758
3759 inline flatbuffers::Offset<MessageContainer> CreateMessageContainer(
3760 flatbuffers::FlatBufferBuilder &_fbb,
3761 chre::fbs::ChreMessage message_type = chre::fbs::ChreMessage::NONE,
3762 flatbuffers::Offset<void> message = 0,
3763 const chre::fbs::HostAddress *host_addr = 0) {
3764 MessageContainerBuilder builder_(_fbb);
3765 builder_.add_host_addr(host_addr);
3766 builder_.add_message(message);
3767 builder_.add_message_type(message_type);
3768 return builder_.Finish();
3769 }
3770
3771 flatbuffers::Offset<MessageContainer> CreateMessageContainer(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3772
3773 inline NanoappMessageT *NanoappMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
3774 std::unique_ptr<chre::fbs::NanoappMessageT> _o = std::unique_ptr<chre::fbs::NanoappMessageT>(new NanoappMessageT());
3775 UnPackTo(_o.get(), _resolver);
3776 return _o.release();
3777 }
3778
3779 inline void NanoappMessage::UnPackTo(NanoappMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const {
3780 (void)_o;
3781 (void)_resolver;
3782 { auto _e = app_id(); _o->app_id = _e; }
3783 { auto _e = message_type(); _o->message_type = _e; }
3784 { auto _e = host_endpoint(); _o->host_endpoint = _e; }
3785 { auto _e = message(); if (_e) { _o->message.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->message[_i] = _e->Get(_i); } } }
3786 { auto _e = message_permissions(); _o->message_permissions = _e; }
3787 { auto _e = permissions(); _o->permissions = _e; }
3788 { auto _e = woke_host(); _o->woke_host = _e; }
3789 }
3790
3791 inline flatbuffers::Offset<NanoappMessage> NanoappMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
3792 return CreateNanoappMessage(_fbb, _o, _rehasher);
3793 }
3794
3795 inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessage(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
3796 (void)_rehasher;
3797 (void)_o;
3798 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanoappMessageT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
3799 auto _app_id = _o->app_id;
3800 auto _message_type = _o->message_type;
3801 auto _host_endpoint = _o->host_endpoint;
3802 auto _message = _fbb.CreateVector(_o->message);
3803 auto _message_permissions = _o->message_permissions;
3804 auto _permissions = _o->permissions;
3805 auto _woke_host = _o->woke_host;
3806 return chre::fbs::CreateNanoappMessage(
3807 _fbb,
3808 _app_id,
3809 _message_type,
3810 _host_endpoint,
3811 _message,
3812 _message_permissions,
3813 _permissions,
3814 _woke_host);
3815 }
3816
3817 inline HubInfoRequestT *HubInfoRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
3818 std::unique_ptr<chre::fbs::HubInfoRequestT> _o = std::unique_ptr<chre::fbs::HubInfoRequestT>(new HubInfoRequestT());
3819 UnPackTo(_o.get(), _resolver);
3820 return _o.release();
3821 }
3822
3823 inline void HubInfoRequest::UnPackTo(HubInfoRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
3824 (void)_o;
3825 (void)_resolver;
3826 }
3827
3828 inline flatbuffers::Offset<HubInfoRequest> HubInfoRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
3829 return CreateHubInfoRequest(_fbb, _o, _rehasher);
3830 }
3831
3832 inline flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
3833 (void)_rehasher;
3834 (void)_o;
3835 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const HubInfoRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
3836 return chre::fbs::CreateHubInfoRequest(
3837 _fbb);
3838 }
3839
3840 inline HubInfoResponseT *HubInfoResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
3841 std::unique_ptr<chre::fbs::HubInfoResponseT> _o = std::unique_ptr<chre::fbs::HubInfoResponseT>(new HubInfoResponseT());
3842 UnPackTo(_o.get(), _resolver);
3843 return _o.release();
3844 }
3845
3846 inline void HubInfoResponse::UnPackTo(HubInfoResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
3847 (void)_o;
3848 (void)_resolver;
3849 { auto _e = name(); if (_e) { _o->name.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->name[_i] = _e->Get(_i); } } }
3850 { auto _e = vendor(); if (_e) { _o->vendor.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->vendor[_i] = _e->Get(_i); } } }
3851 { auto _e = toolchain(); if (_e) { _o->toolchain.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->toolchain[_i] = _e->Get(_i); } } }
3852 { auto _e = platform_version(); _o->platform_version = _e; }
3853 { auto _e = toolchain_version(); _o->toolchain_version = _e; }
3854 { auto _e = peak_mips(); _o->peak_mips = _e; }
3855 { auto _e = stopped_power(); _o->stopped_power = _e; }
3856 { auto _e = sleep_power(); _o->sleep_power = _e; }
3857 { auto _e = peak_power(); _o->peak_power = _e; }
3858 { auto _e = max_msg_len(); _o->max_msg_len = _e; }
3859 { auto _e = platform_id(); _o->platform_id = _e; }
3860 { auto _e = chre_platform_version(); _o->chre_platform_version = _e; }
3861 }
3862
3863 inline flatbuffers::Offset<HubInfoResponse> HubInfoResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
3864 return CreateHubInfoResponse(_fbb, _o, _rehasher);
3865 }
3866
3867 inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
3868 (void)_rehasher;
3869 (void)_o;
3870 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const HubInfoResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
3871 auto _name = _o->name.size() ? _fbb.CreateVector(_o->name) : 0;
3872 auto _vendor = _o->vendor.size() ? _fbb.CreateVector(_o->vendor) : 0;
3873 auto _toolchain = _o->toolchain.size() ? _fbb.CreateVector(_o->toolchain) : 0;
3874 auto _platform_version = _o->platform_version;
3875 auto _toolchain_version = _o->toolchain_version;
3876 auto _peak_mips = _o->peak_mips;
3877 auto _stopped_power = _o->stopped_power;
3878 auto _sleep_power = _o->sleep_power;
3879 auto _peak_power = _o->peak_power;
3880 auto _max_msg_len = _o->max_msg_len;
3881 auto _platform_id = _o->platform_id;
3882 auto _chre_platform_version = _o->chre_platform_version;
3883 return chre::fbs::CreateHubInfoResponse(
3884 _fbb,
3885 _name,
3886 _vendor,
3887 _toolchain,
3888 _platform_version,
3889 _toolchain_version,
3890 _peak_mips,
3891 _stopped_power,
3892 _sleep_power,
3893 _peak_power,
3894 _max_msg_len,
3895 _platform_id,
3896 _chre_platform_version);
3897 }
3898
3899 inline NanoappListRequestT *NanoappListRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
3900 std::unique_ptr<chre::fbs::NanoappListRequestT> _o = std::unique_ptr<chre::fbs::NanoappListRequestT>(new NanoappListRequestT());
3901 UnPackTo(_o.get(), _resolver);
3902 return _o.release();
3903 }
3904
3905 inline void NanoappListRequest::UnPackTo(NanoappListRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
3906 (void)_o;
3907 (void)_resolver;
3908 }
3909
3910 inline flatbuffers::Offset<NanoappListRequest> NanoappListRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
3911 return CreateNanoappListRequest(_fbb, _o, _rehasher);
3912 }
3913
3914 inline flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
3915 (void)_rehasher;
3916 (void)_o;
3917 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanoappListRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
3918 return chre::fbs::CreateNanoappListRequest(
3919 _fbb);
3920 }
3921
3922 inline NanoappRpcServiceT *NanoappRpcService::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
3923 std::unique_ptr<chre::fbs::NanoappRpcServiceT> _o = std::unique_ptr<chre::fbs::NanoappRpcServiceT>(new NanoappRpcServiceT());
3924 UnPackTo(_o.get(), _resolver);
3925 return _o.release();
3926 }
3927
3928 inline void NanoappRpcService::UnPackTo(NanoappRpcServiceT *_o, const flatbuffers::resolver_function_t *_resolver) const {
3929 (void)_o;
3930 (void)_resolver;
3931 { auto _e = id(); _o->id = _e; }
3932 { auto _e = version(); _o->version = _e; }
3933 }
3934
3935 inline flatbuffers::Offset<NanoappRpcService> NanoappRpcService::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappRpcServiceT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
3936 return CreateNanoappRpcService(_fbb, _o, _rehasher);
3937 }
3938
3939 inline flatbuffers::Offset<NanoappRpcService> CreateNanoappRpcService(flatbuffers::FlatBufferBuilder &_fbb, const NanoappRpcServiceT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
3940 (void)_rehasher;
3941 (void)_o;
3942 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanoappRpcServiceT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
3943 auto _id = _o->id;
3944 auto _version = _o->version;
3945 return chre::fbs::CreateNanoappRpcService(
3946 _fbb,
3947 _id,
3948 _version);
3949 }
3950
3951 inline NanoappListEntryT *NanoappListEntry::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
3952 std::unique_ptr<chre::fbs::NanoappListEntryT> _o = std::unique_ptr<chre::fbs::NanoappListEntryT>(new NanoappListEntryT());
3953 UnPackTo(_o.get(), _resolver);
3954 return _o.release();
3955 }
3956
3957 inline void NanoappListEntry::UnPackTo(NanoappListEntryT *_o, const flatbuffers::resolver_function_t *_resolver) const {
3958 (void)_o;
3959 (void)_resolver;
3960 { auto _e = app_id(); _o->app_id = _e; }
3961 { auto _e = version(); _o->version = _e; }
3962 { auto _e = enabled(); _o->enabled = _e; }
3963 { auto _e = is_system(); _o->is_system = _e; }
3964 { auto _e = permissions(); _o->permissions = _e; }
3965 { auto _e = rpc_services(); if (_e) { _o->rpc_services.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->rpc_services[_i] = std::unique_ptr<chre::fbs::NanoappRpcServiceT>(_e->Get(_i)->UnPack(_resolver)); } } }
3966 }
3967
3968 inline flatbuffers::Offset<NanoappListEntry> NanoappListEntry::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
3969 return CreateNanoappListEntry(_fbb, _o, _rehasher);
3970 }
3971
3972 inline flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
3973 (void)_rehasher;
3974 (void)_o;
3975 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanoappListEntryT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
3976 auto _app_id = _o->app_id;
3977 auto _version = _o->version;
3978 auto _enabled = _o->enabled;
3979 auto _is_system = _o->is_system;
3980 auto _permissions = _o->permissions;
3981 auto _rpc_services = _o->rpc_services.size() ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::NanoappRpcService>> (_o->rpc_services.size(), [](size_t i, _VectorArgs *__va) { return CreateNanoappRpcService(*__va->__fbb, __va->__o->rpc_services[i].get(), __va->__rehasher); }, &_va ) : 0;
3982 return chre::fbs::CreateNanoappListEntry(
3983 _fbb,
3984 _app_id,
3985 _version,
3986 _enabled,
3987 _is_system,
3988 _permissions,
3989 _rpc_services);
3990 }
3991
3992 inline NanoappListResponseT *NanoappListResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
3993 std::unique_ptr<chre::fbs::NanoappListResponseT> _o = std::unique_ptr<chre::fbs::NanoappListResponseT>(new NanoappListResponseT());
3994 UnPackTo(_o.get(), _resolver);
3995 return _o.release();
3996 }
3997
3998 inline void NanoappListResponse::UnPackTo(NanoappListResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
3999 (void)_o;
4000 (void)_resolver;
4001 { auto _e = nanoapps(); if (_e) { _o->nanoapps.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->nanoapps[_i] = std::unique_ptr<chre::fbs::NanoappListEntryT>(_e->Get(_i)->UnPack(_resolver)); } } }
4002 }
4003
4004 inline flatbuffers::Offset<NanoappListResponse> NanoappListResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4005 return CreateNanoappListResponse(_fbb, _o, _rehasher);
4006 }
4007
4008 inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4009 (void)_rehasher;
4010 (void)_o;
4011 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanoappListResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4012 auto _nanoapps = _fbb.CreateVector<flatbuffers::Offset<chre::fbs::NanoappListEntry>> (_o->nanoapps.size(), [](size_t i, _VectorArgs *__va) { return CreateNanoappListEntry(*__va->__fbb, __va->__o->nanoapps[i].get(), __va->__rehasher); }, &_va );
4013 return chre::fbs::CreateNanoappListResponse(
4014 _fbb,
4015 _nanoapps);
4016 }
4017
4018 inline LoadNanoappRequestT *LoadNanoappRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4019 std::unique_ptr<chre::fbs::LoadNanoappRequestT> _o = std::unique_ptr<chre::fbs::LoadNanoappRequestT>(new LoadNanoappRequestT());
4020 UnPackTo(_o.get(), _resolver);
4021 return _o.release();
4022 }
4023
4024 inline void LoadNanoappRequest::UnPackTo(LoadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4025 (void)_o;
4026 (void)_resolver;
4027 { auto _e = transaction_id(); _o->transaction_id = _e; }
4028 { auto _e = app_id(); _o->app_id = _e; }
4029 { auto _e = app_version(); _o->app_version = _e; }
4030 { auto _e = target_api_version(); _o->target_api_version = _e; }
4031 { auto _e = app_binary(); if (_e) { _o->app_binary.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->app_binary[_i] = _e->Get(_i); } } }
4032 { auto _e = fragment_id(); _o->fragment_id = _e; }
4033 { auto _e = total_app_size(); _o->total_app_size = _e; }
4034 { auto _e = app_binary_file_name(); if (_e) { _o->app_binary_file_name.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->app_binary_file_name[_i] = _e->Get(_i); } } }
4035 { auto _e = app_flags(); _o->app_flags = _e; }
4036 { auto _e = respond_before_start(); _o->respond_before_start = _e; }
4037 }
4038
4039 inline flatbuffers::Offset<LoadNanoappRequest> LoadNanoappRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4040 return CreateLoadNanoappRequest(_fbb, _o, _rehasher);
4041 }
4042
4043 inline flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4044 (void)_rehasher;
4045 (void)_o;
4046 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LoadNanoappRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4047 auto _transaction_id = _o->transaction_id;
4048 auto _app_id = _o->app_id;
4049 auto _app_version = _o->app_version;
4050 auto _target_api_version = _o->target_api_version;
4051 auto _app_binary = _fbb.CreateVector(_o->app_binary);
4052 auto _fragment_id = _o->fragment_id;
4053 auto _total_app_size = _o->total_app_size;
4054 auto _app_binary_file_name = _o->app_binary_file_name.size() ? _fbb.CreateVector(_o->app_binary_file_name) : 0;
4055 auto _app_flags = _o->app_flags;
4056 auto _respond_before_start = _o->respond_before_start;
4057 return chre::fbs::CreateLoadNanoappRequest(
4058 _fbb,
4059 _transaction_id,
4060 _app_id,
4061 _app_version,
4062 _target_api_version,
4063 _app_binary,
4064 _fragment_id,
4065 _total_app_size,
4066 _app_binary_file_name,
4067 _app_flags,
4068 _respond_before_start);
4069 }
4070
4071 inline LoadNanoappResponseT *LoadNanoappResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4072 std::unique_ptr<chre::fbs::LoadNanoappResponseT> _o = std::unique_ptr<chre::fbs::LoadNanoappResponseT>(new LoadNanoappResponseT());
4073 UnPackTo(_o.get(), _resolver);
4074 return _o.release();
4075 }
4076
4077 inline void LoadNanoappResponse::UnPackTo(LoadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4078 (void)_o;
4079 (void)_resolver;
4080 { auto _e = transaction_id(); _o->transaction_id = _e; }
4081 { auto _e = success(); _o->success = _e; }
4082 { auto _e = fragment_id(); _o->fragment_id = _e; }
4083 }
4084
4085 inline flatbuffers::Offset<LoadNanoappResponse> LoadNanoappResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4086 return CreateLoadNanoappResponse(_fbb, _o, _rehasher);
4087 }
4088
4089 inline flatbuffers::Offset<LoadNanoappResponse> CreateLoadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4090 (void)_rehasher;
4091 (void)_o;
4092 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LoadNanoappResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4093 auto _transaction_id = _o->transaction_id;
4094 auto _success = _o->success;
4095 auto _fragment_id = _o->fragment_id;
4096 return chre::fbs::CreateLoadNanoappResponse(
4097 _fbb,
4098 _transaction_id,
4099 _success,
4100 _fragment_id);
4101 }
4102
4103 inline UnloadNanoappRequestT *UnloadNanoappRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4104 std::unique_ptr<chre::fbs::UnloadNanoappRequestT> _o = std::unique_ptr<chre::fbs::UnloadNanoappRequestT>(new UnloadNanoappRequestT());
4105 UnPackTo(_o.get(), _resolver);
4106 return _o.release();
4107 }
4108
4109 inline void UnloadNanoappRequest::UnPackTo(UnloadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4110 (void)_o;
4111 (void)_resolver;
4112 { auto _e = transaction_id(); _o->transaction_id = _e; }
4113 { auto _e = app_id(); _o->app_id = _e; }
4114 { auto _e = allow_system_nanoapp_unload(); _o->allow_system_nanoapp_unload = _e; }
4115 }
4116
4117 inline flatbuffers::Offset<UnloadNanoappRequest> UnloadNanoappRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4118 return CreateUnloadNanoappRequest(_fbb, _o, _rehasher);
4119 }
4120
4121 inline flatbuffers::Offset<UnloadNanoappRequest> CreateUnloadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4122 (void)_rehasher;
4123 (void)_o;
4124 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const UnloadNanoappRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4125 auto _transaction_id = _o->transaction_id;
4126 auto _app_id = _o->app_id;
4127 auto _allow_system_nanoapp_unload = _o->allow_system_nanoapp_unload;
4128 return chre::fbs::CreateUnloadNanoappRequest(
4129 _fbb,
4130 _transaction_id,
4131 _app_id,
4132 _allow_system_nanoapp_unload);
4133 }
4134
4135 inline UnloadNanoappResponseT *UnloadNanoappResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4136 std::unique_ptr<chre::fbs::UnloadNanoappResponseT> _o = std::unique_ptr<chre::fbs::UnloadNanoappResponseT>(new UnloadNanoappResponseT());
4137 UnPackTo(_o.get(), _resolver);
4138 return _o.release();
4139 }
4140
4141 inline void UnloadNanoappResponse::UnPackTo(UnloadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4142 (void)_o;
4143 (void)_resolver;
4144 { auto _e = transaction_id(); _o->transaction_id = _e; }
4145 { auto _e = success(); _o->success = _e; }
4146 }
4147
4148 inline flatbuffers::Offset<UnloadNanoappResponse> UnloadNanoappResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4149 return CreateUnloadNanoappResponse(_fbb, _o, _rehasher);
4150 }
4151
4152 inline flatbuffers::Offset<UnloadNanoappResponse> CreateUnloadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4153 (void)_rehasher;
4154 (void)_o;
4155 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const UnloadNanoappResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4156 auto _transaction_id = _o->transaction_id;
4157 auto _success = _o->success;
4158 return chre::fbs::CreateUnloadNanoappResponse(
4159 _fbb,
4160 _transaction_id,
4161 _success);
4162 }
4163
4164 inline LogMessageT *LogMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4165 std::unique_ptr<chre::fbs::LogMessageT> _o = std::unique_ptr<chre::fbs::LogMessageT>(new LogMessageT());
4166 UnPackTo(_o.get(), _resolver);
4167 return _o.release();
4168 }
4169
4170 inline void LogMessage::UnPackTo(LogMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4171 (void)_o;
4172 (void)_resolver;
4173 { auto _e = buffer(); if (_e) { _o->buffer.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->buffer[_i] = _e->Get(_i); } } }
4174 }
4175
4176 inline flatbuffers::Offset<LogMessage> LogMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4177 return CreateLogMessage(_fbb, _o, _rehasher);
4178 }
4179
4180 inline flatbuffers::Offset<LogMessage> CreateLogMessage(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4181 (void)_rehasher;
4182 (void)_o;
4183 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LogMessageT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4184 auto _buffer = _o->buffer.size() ? _fbb.CreateVector(_o->buffer) : 0;
4185 return chre::fbs::CreateLogMessage(
4186 _fbb,
4187 _buffer);
4188 }
4189
4190 inline TimeSyncMessageT *TimeSyncMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4191 std::unique_ptr<chre::fbs::TimeSyncMessageT> _o = std::unique_ptr<chre::fbs::TimeSyncMessageT>(new TimeSyncMessageT());
4192 UnPackTo(_o.get(), _resolver);
4193 return _o.release();
4194 }
4195
4196 inline void TimeSyncMessage::UnPackTo(TimeSyncMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4197 (void)_o;
4198 (void)_resolver;
4199 { auto _e = offset(); _o->offset = _e; }
4200 }
4201
4202 inline flatbuffers::Offset<TimeSyncMessage> TimeSyncMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4203 return CreateTimeSyncMessage(_fbb, _o, _rehasher);
4204 }
4205
4206 inline flatbuffers::Offset<TimeSyncMessage> CreateTimeSyncMessage(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4207 (void)_rehasher;
4208 (void)_o;
4209 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TimeSyncMessageT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4210 auto _offset = _o->offset;
4211 return chre::fbs::CreateTimeSyncMessage(
4212 _fbb,
4213 _offset);
4214 }
4215
4216 inline DebugDumpRequestT *DebugDumpRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4217 std::unique_ptr<chre::fbs::DebugDumpRequestT> _o = std::unique_ptr<chre::fbs::DebugDumpRequestT>(new DebugDumpRequestT());
4218 UnPackTo(_o.get(), _resolver);
4219 return _o.release();
4220 }
4221
4222 inline void DebugDumpRequest::UnPackTo(DebugDumpRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4223 (void)_o;
4224 (void)_resolver;
4225 }
4226
4227 inline flatbuffers::Offset<DebugDumpRequest> DebugDumpRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4228 return CreateDebugDumpRequest(_fbb, _o, _rehasher);
4229 }
4230
4231 inline flatbuffers::Offset<DebugDumpRequest> CreateDebugDumpRequest(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4232 (void)_rehasher;
4233 (void)_o;
4234 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DebugDumpRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4235 return chre::fbs::CreateDebugDumpRequest(
4236 _fbb);
4237 }
4238
4239 inline DebugDumpDataT *DebugDumpData::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4240 std::unique_ptr<chre::fbs::DebugDumpDataT> _o = std::unique_ptr<chre::fbs::DebugDumpDataT>(new DebugDumpDataT());
4241 UnPackTo(_o.get(), _resolver);
4242 return _o.release();
4243 }
4244
4245 inline void DebugDumpData::UnPackTo(DebugDumpDataT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4246 (void)_o;
4247 (void)_resolver;
4248 { auto _e = debug_str(); if (_e) { _o->debug_str.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->debug_str[_i] = _e->Get(_i); } } }
4249 }
4250
4251 inline flatbuffers::Offset<DebugDumpData> DebugDumpData::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4252 return CreateDebugDumpData(_fbb, _o, _rehasher);
4253 }
4254
4255 inline flatbuffers::Offset<DebugDumpData> CreateDebugDumpData(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4256 (void)_rehasher;
4257 (void)_o;
4258 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DebugDumpDataT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4259 auto _debug_str = _o->debug_str.size() ? _fbb.CreateVector(_o->debug_str) : 0;
4260 return chre::fbs::CreateDebugDumpData(
4261 _fbb,
4262 _debug_str);
4263 }
4264
4265 inline DebugDumpResponseT *DebugDumpResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4266 std::unique_ptr<chre::fbs::DebugDumpResponseT> _o = std::unique_ptr<chre::fbs::DebugDumpResponseT>(new DebugDumpResponseT());
4267 UnPackTo(_o.get(), _resolver);
4268 return _o.release();
4269 }
4270
4271 inline void DebugDumpResponse::UnPackTo(DebugDumpResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4272 (void)_o;
4273 (void)_resolver;
4274 { auto _e = success(); _o->success = _e; }
4275 { auto _e = data_count(); _o->data_count = _e; }
4276 }
4277
4278 inline flatbuffers::Offset<DebugDumpResponse> DebugDumpResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4279 return CreateDebugDumpResponse(_fbb, _o, _rehasher);
4280 }
4281
4282 inline flatbuffers::Offset<DebugDumpResponse> CreateDebugDumpResponse(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4283 (void)_rehasher;
4284 (void)_o;
4285 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DebugDumpResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4286 auto _success = _o->success;
4287 auto _data_count = _o->data_count;
4288 return chre::fbs::CreateDebugDumpResponse(
4289 _fbb,
4290 _success,
4291 _data_count);
4292 }
4293
4294 inline TimeSyncRequestT *TimeSyncRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4295 std::unique_ptr<chre::fbs::TimeSyncRequestT> _o = std::unique_ptr<chre::fbs::TimeSyncRequestT>(new TimeSyncRequestT());
4296 UnPackTo(_o.get(), _resolver);
4297 return _o.release();
4298 }
4299
4300 inline void TimeSyncRequest::UnPackTo(TimeSyncRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4301 (void)_o;
4302 (void)_resolver;
4303 }
4304
4305 inline flatbuffers::Offset<TimeSyncRequest> TimeSyncRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4306 return CreateTimeSyncRequest(_fbb, _o, _rehasher);
4307 }
4308
4309 inline flatbuffers::Offset<TimeSyncRequest> CreateTimeSyncRequest(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4310 (void)_rehasher;
4311 (void)_o;
4312 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TimeSyncRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4313 return chre::fbs::CreateTimeSyncRequest(
4314 _fbb);
4315 }
4316
4317 inline LowPowerMicAccessRequestT *LowPowerMicAccessRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4318 std::unique_ptr<chre::fbs::LowPowerMicAccessRequestT> _o = std::unique_ptr<chre::fbs::LowPowerMicAccessRequestT>(new LowPowerMicAccessRequestT());
4319 UnPackTo(_o.get(), _resolver);
4320 return _o.release();
4321 }
4322
4323 inline void LowPowerMicAccessRequest::UnPackTo(LowPowerMicAccessRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4324 (void)_o;
4325 (void)_resolver;
4326 }
4327
4328 inline flatbuffers::Offset<LowPowerMicAccessRequest> LowPowerMicAccessRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4329 return CreateLowPowerMicAccessRequest(_fbb, _o, _rehasher);
4330 }
4331
4332 inline flatbuffers::Offset<LowPowerMicAccessRequest> CreateLowPowerMicAccessRequest(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4333 (void)_rehasher;
4334 (void)_o;
4335 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LowPowerMicAccessRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4336 return chre::fbs::CreateLowPowerMicAccessRequest(
4337 _fbb);
4338 }
4339
4340 inline LowPowerMicAccessReleaseT *LowPowerMicAccessRelease::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4341 std::unique_ptr<chre::fbs::LowPowerMicAccessReleaseT> _o = std::unique_ptr<chre::fbs::LowPowerMicAccessReleaseT>(new LowPowerMicAccessReleaseT());
4342 UnPackTo(_o.get(), _resolver);
4343 return _o.release();
4344 }
4345
4346 inline void LowPowerMicAccessRelease::UnPackTo(LowPowerMicAccessReleaseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4347 (void)_o;
4348 (void)_resolver;
4349 }
4350
4351 inline flatbuffers::Offset<LowPowerMicAccessRelease> LowPowerMicAccessRelease::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessReleaseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4352 return CreateLowPowerMicAccessRelease(_fbb, _o, _rehasher);
4353 }
4354
4355 inline flatbuffers::Offset<LowPowerMicAccessRelease> CreateLowPowerMicAccessRelease(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessReleaseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4356 (void)_rehasher;
4357 (void)_o;
4358 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LowPowerMicAccessReleaseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4359 return chre::fbs::CreateLowPowerMicAccessRelease(
4360 _fbb);
4361 }
4362
4363 inline SettingChangeMessageT *SettingChangeMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4364 std::unique_ptr<chre::fbs::SettingChangeMessageT> _o = std::unique_ptr<chre::fbs::SettingChangeMessageT>(new SettingChangeMessageT());
4365 UnPackTo(_o.get(), _resolver);
4366 return _o.release();
4367 }
4368
4369 inline void SettingChangeMessage::UnPackTo(SettingChangeMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4370 (void)_o;
4371 (void)_resolver;
4372 { auto _e = setting(); _o->setting = _e; }
4373 { auto _e = state(); _o->state = _e; }
4374 }
4375
4376 inline flatbuffers::Offset<SettingChangeMessage> SettingChangeMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SettingChangeMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4377 return CreateSettingChangeMessage(_fbb, _o, _rehasher);
4378 }
4379
4380 inline flatbuffers::Offset<SettingChangeMessage> CreateSettingChangeMessage(flatbuffers::FlatBufferBuilder &_fbb, const SettingChangeMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4381 (void)_rehasher;
4382 (void)_o;
4383 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SettingChangeMessageT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4384 auto _setting = _o->setting;
4385 auto _state = _o->state;
4386 return chre::fbs::CreateSettingChangeMessage(
4387 _fbb,
4388 _setting,
4389 _state);
4390 }
4391
4392 inline LogMessageV2T *LogMessageV2::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4393 std::unique_ptr<chre::fbs::LogMessageV2T> _o = std::unique_ptr<chre::fbs::LogMessageV2T>(new LogMessageV2T());
4394 UnPackTo(_o.get(), _resolver);
4395 return _o.release();
4396 }
4397
4398 inline void LogMessageV2::UnPackTo(LogMessageV2T *_o, const flatbuffers::resolver_function_t *_resolver) const {
4399 (void)_o;
4400 (void)_resolver;
4401 { auto _e = buffer(); if (_e) { _o->buffer.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->buffer[_i] = _e->Get(_i); } } }
4402 { auto _e = num_logs_dropped(); _o->num_logs_dropped = _e; }
4403 }
4404
4405 inline flatbuffers::Offset<LogMessageV2> LogMessageV2::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageV2T* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4406 return CreateLogMessageV2(_fbb, _o, _rehasher);
4407 }
4408
4409 inline flatbuffers::Offset<LogMessageV2> CreateLogMessageV2(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageV2T *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4410 (void)_rehasher;
4411 (void)_o;
4412 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LogMessageV2T* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4413 auto _buffer = _o->buffer.size() ? _fbb.CreateVector(_o->buffer) : 0;
4414 auto _num_logs_dropped = _o->num_logs_dropped;
4415 return chre::fbs::CreateLogMessageV2(
4416 _fbb,
4417 _buffer,
4418 _num_logs_dropped);
4419 }
4420
4421 inline SelfTestRequestT *SelfTestRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4422 std::unique_ptr<chre::fbs::SelfTestRequestT> _o = std::unique_ptr<chre::fbs::SelfTestRequestT>(new SelfTestRequestT());
4423 UnPackTo(_o.get(), _resolver);
4424 return _o.release();
4425 }
4426
4427 inline void SelfTestRequest::UnPackTo(SelfTestRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4428 (void)_o;
4429 (void)_resolver;
4430 }
4431
4432 inline flatbuffers::Offset<SelfTestRequest> SelfTestRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4433 return CreateSelfTestRequest(_fbb, _o, _rehasher);
4434 }
4435
4436 inline flatbuffers::Offset<SelfTestRequest> CreateSelfTestRequest(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4437 (void)_rehasher;
4438 (void)_o;
4439 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SelfTestRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4440 return chre::fbs::CreateSelfTestRequest(
4441 _fbb);
4442 }
4443
4444 inline SelfTestResponseT *SelfTestResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4445 std::unique_ptr<chre::fbs::SelfTestResponseT> _o = std::unique_ptr<chre::fbs::SelfTestResponseT>(new SelfTestResponseT());
4446 UnPackTo(_o.get(), _resolver);
4447 return _o.release();
4448 }
4449
4450 inline void SelfTestResponse::UnPackTo(SelfTestResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4451 (void)_o;
4452 (void)_resolver;
4453 { auto _e = success(); _o->success = _e; }
4454 }
4455
4456 inline flatbuffers::Offset<SelfTestResponse> SelfTestResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4457 return CreateSelfTestResponse(_fbb, _o, _rehasher);
4458 }
4459
4460 inline flatbuffers::Offset<SelfTestResponse> CreateSelfTestResponse(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4461 (void)_rehasher;
4462 (void)_o;
4463 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SelfTestResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4464 auto _success = _o->success;
4465 return chre::fbs::CreateSelfTestResponse(
4466 _fbb,
4467 _success);
4468 }
4469
4470 inline HostEndpointConnectedT *HostEndpointConnected::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4471 std::unique_ptr<chre::fbs::HostEndpointConnectedT> _o = std::unique_ptr<chre::fbs::HostEndpointConnectedT>(new HostEndpointConnectedT());
4472 UnPackTo(_o.get(), _resolver);
4473 return _o.release();
4474 }
4475
4476 inline void HostEndpointConnected::UnPackTo(HostEndpointConnectedT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4477 (void)_o;
4478 (void)_resolver;
4479 { auto _e = host_endpoint(); _o->host_endpoint = _e; }
4480 { auto _e = type(); _o->type = _e; }
4481 { auto _e = package_name(); if (_e) { _o->package_name.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->package_name[_i] = _e->Get(_i); } } }
4482 { auto _e = attribution_tag(); if (_e) { _o->attribution_tag.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->attribution_tag[_i] = _e->Get(_i); } } }
4483 }
4484
4485 inline flatbuffers::Offset<HostEndpointConnected> HostEndpointConnected::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointConnectedT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4486 return CreateHostEndpointConnected(_fbb, _o, _rehasher);
4487 }
4488
4489 inline flatbuffers::Offset<HostEndpointConnected> CreateHostEndpointConnected(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointConnectedT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4490 (void)_rehasher;
4491 (void)_o;
4492 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const HostEndpointConnectedT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4493 auto _host_endpoint = _o->host_endpoint;
4494 auto _type = _o->type;
4495 auto _package_name = _o->package_name.size() ? _fbb.CreateVector(_o->package_name) : 0;
4496 auto _attribution_tag = _o->attribution_tag.size() ? _fbb.CreateVector(_o->attribution_tag) : 0;
4497 return chre::fbs::CreateHostEndpointConnected(
4498 _fbb,
4499 _host_endpoint,
4500 _type,
4501 _package_name,
4502 _attribution_tag);
4503 }
4504
4505 inline HostEndpointDisconnectedT *HostEndpointDisconnected::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4506 std::unique_ptr<chre::fbs::HostEndpointDisconnectedT> _o = std::unique_ptr<chre::fbs::HostEndpointDisconnectedT>(new HostEndpointDisconnectedT());
4507 UnPackTo(_o.get(), _resolver);
4508 return _o.release();
4509 }
4510
4511 inline void HostEndpointDisconnected::UnPackTo(HostEndpointDisconnectedT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4512 (void)_o;
4513 (void)_resolver;
4514 { auto _e = host_endpoint(); _o->host_endpoint = _e; }
4515 }
4516
4517 inline flatbuffers::Offset<HostEndpointDisconnected> HostEndpointDisconnected::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointDisconnectedT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4518 return CreateHostEndpointDisconnected(_fbb, _o, _rehasher);
4519 }
4520
4521 inline flatbuffers::Offset<HostEndpointDisconnected> CreateHostEndpointDisconnected(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointDisconnectedT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4522 (void)_rehasher;
4523 (void)_o;
4524 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const HostEndpointDisconnectedT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4525 auto _host_endpoint = _o->host_endpoint;
4526 return chre::fbs::CreateHostEndpointDisconnected(
4527 _fbb,
4528 _host_endpoint);
4529 }
4530
4531 inline MetricLogT *MetricLog::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4532 std::unique_ptr<chre::fbs::MetricLogT> _o = std::unique_ptr<chre::fbs::MetricLogT>(new MetricLogT());
4533 UnPackTo(_o.get(), _resolver);
4534 return _o.release();
4535 }
4536
4537 inline void MetricLog::UnPackTo(MetricLogT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4538 (void)_o;
4539 (void)_resolver;
4540 { auto _e = id(); _o->id = _e; }
4541 { auto _e = encoded_metric(); if (_e) { _o->encoded_metric.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->encoded_metric[_i] = _e->Get(_i); } } }
4542 }
4543
4544 inline flatbuffers::Offset<MetricLog> MetricLog::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MetricLogT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4545 return CreateMetricLog(_fbb, _o, _rehasher);
4546 }
4547
4548 inline flatbuffers::Offset<MetricLog> CreateMetricLog(flatbuffers::FlatBufferBuilder &_fbb, const MetricLogT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4549 (void)_rehasher;
4550 (void)_o;
4551 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MetricLogT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4552 auto _id = _o->id;
4553 auto _encoded_metric = _o->encoded_metric.size() ? _fbb.CreateVector(_o->encoded_metric) : 0;
4554 return chre::fbs::CreateMetricLog(
4555 _fbb,
4556 _id,
4557 _encoded_metric);
4558 }
4559
4560 inline BatchedMetricLogT *BatchedMetricLog::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4561 std::unique_ptr<chre::fbs::BatchedMetricLogT> _o = std::unique_ptr<chre::fbs::BatchedMetricLogT>(new BatchedMetricLogT());
4562 UnPackTo(_o.get(), _resolver);
4563 return _o.release();
4564 }
4565
4566 inline void BatchedMetricLog::UnPackTo(BatchedMetricLogT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4567 (void)_o;
4568 (void)_resolver;
4569 { auto _e = metrics(); if (_e) { _o->metrics.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->metrics[_i] = std::unique_ptr<chre::fbs::MetricLogT>(_e->Get(_i)->UnPack(_resolver)); } } }
4570 }
4571
4572 inline flatbuffers::Offset<BatchedMetricLog> BatchedMetricLog::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchedMetricLogT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4573 return CreateBatchedMetricLog(_fbb, _o, _rehasher);
4574 }
4575
4576 inline flatbuffers::Offset<BatchedMetricLog> CreateBatchedMetricLog(flatbuffers::FlatBufferBuilder &_fbb, const BatchedMetricLogT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4577 (void)_rehasher;
4578 (void)_o;
4579 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BatchedMetricLogT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4580 auto _metrics = _o->metrics.size() ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::MetricLog>> (_o->metrics.size(), [](size_t i, _VectorArgs *__va) { return CreateMetricLog(*__va->__fbb, __va->__o->metrics[i].get(), __va->__rehasher); }, &_va ) : 0;
4581 return chre::fbs::CreateBatchedMetricLog(
4582 _fbb,
4583 _metrics);
4584 }
4585
4586 inline NanConfigurationRequestT *NanConfigurationRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4587 std::unique_ptr<chre::fbs::NanConfigurationRequestT> _o = std::unique_ptr<chre::fbs::NanConfigurationRequestT>(new NanConfigurationRequestT());
4588 UnPackTo(_o.get(), _resolver);
4589 return _o.release();
4590 }
4591
4592 inline void NanConfigurationRequest::UnPackTo(NanConfigurationRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4593 (void)_o;
4594 (void)_resolver;
4595 { auto _e = enable(); _o->enable = _e; }
4596 }
4597
4598 inline flatbuffers::Offset<NanConfigurationRequest> NanConfigurationRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4599 return CreateNanConfigurationRequest(_fbb, _o, _rehasher);
4600 }
4601
4602 inline flatbuffers::Offset<NanConfigurationRequest> CreateNanConfigurationRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4603 (void)_rehasher;
4604 (void)_o;
4605 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanConfigurationRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4606 auto _enable = _o->enable;
4607 return chre::fbs::CreateNanConfigurationRequest(
4608 _fbb,
4609 _enable);
4610 }
4611
4612 inline NanConfigurationUpdateT *NanConfigurationUpdate::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4613 std::unique_ptr<chre::fbs::NanConfigurationUpdateT> _o = std::unique_ptr<chre::fbs::NanConfigurationUpdateT>(new NanConfigurationUpdateT());
4614 UnPackTo(_o.get(), _resolver);
4615 return _o.release();
4616 }
4617
4618 inline void NanConfigurationUpdate::UnPackTo(NanConfigurationUpdateT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4619 (void)_o;
4620 (void)_resolver;
4621 { auto _e = enabled(); _o->enabled = _e; }
4622 }
4623
4624 inline flatbuffers::Offset<NanConfigurationUpdate> NanConfigurationUpdate::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationUpdateT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4625 return CreateNanConfigurationUpdate(_fbb, _o, _rehasher);
4626 }
4627
4628 inline flatbuffers::Offset<NanConfigurationUpdate> CreateNanConfigurationUpdate(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationUpdateT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4629 (void)_rehasher;
4630 (void)_o;
4631 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanConfigurationUpdateT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4632 auto _enabled = _o->enabled;
4633 return chre::fbs::CreateNanConfigurationUpdate(
4634 _fbb,
4635 _enabled);
4636 }
4637
4638 inline DebugConfigurationT *DebugConfiguration::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4639 std::unique_ptr<chre::fbs::DebugConfigurationT> _o = std::unique_ptr<chre::fbs::DebugConfigurationT>(new DebugConfigurationT());
4640 UnPackTo(_o.get(), _resolver);
4641 return _o.release();
4642 }
4643
4644 inline void DebugConfiguration::UnPackTo(DebugConfigurationT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4645 (void)_o;
4646 (void)_resolver;
4647 { auto _e = health_monitor_failure_crash(); _o->health_monitor_failure_crash = _e; }
4648 }
4649
4650 inline flatbuffers::Offset<DebugConfiguration> DebugConfiguration::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugConfigurationT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4651 return CreateDebugConfiguration(_fbb, _o, _rehasher);
4652 }
4653
4654 inline flatbuffers::Offset<DebugConfiguration> CreateDebugConfiguration(flatbuffers::FlatBufferBuilder &_fbb, const DebugConfigurationT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4655 (void)_rehasher;
4656 (void)_o;
4657 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DebugConfigurationT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4658 auto _health_monitor_failure_crash = _o->health_monitor_failure_crash;
4659 return chre::fbs::CreateDebugConfiguration(
4660 _fbb,
4661 _health_monitor_failure_crash);
4662 }
4663
4664 inline MessageContainerT *MessageContainer::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
4665 std::unique_ptr<chre::fbs::MessageContainerT> _o = std::unique_ptr<chre::fbs::MessageContainerT>(new MessageContainerT());
4666 UnPackTo(_o.get(), _resolver);
4667 return _o.release();
4668 }
4669
4670 inline void MessageContainer::UnPackTo(MessageContainerT *_o, const flatbuffers::resolver_function_t *_resolver) const {
4671 (void)_o;
4672 (void)_resolver;
4673 { auto _e = message_type(); _o->message.type = _e; }
4674 { auto _e = message(); if (_e) _o->message.value = chre::fbs::ChreMessageUnion::UnPack(_e, message_type(), _resolver); }
4675 { auto _e = host_addr(); if (_e) _o->host_addr = std::unique_ptr<chre::fbs::HostAddress>(new chre::fbs::HostAddress(*_e)); }
4676 }
4677
4678 inline flatbuffers::Offset<MessageContainer> MessageContainer::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
4679 return CreateMessageContainer(_fbb, _o, _rehasher);
4680 }
4681
4682 inline flatbuffers::Offset<MessageContainer> CreateMessageContainer(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
4683 (void)_rehasher;
4684 (void)_o;
4685 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MessageContainerT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
4686 auto _message_type = _o->message.type;
4687 auto _message = _o->message.Pack(_fbb);
4688 auto _host_addr = _o->host_addr ? _o->host_addr.get() : 0;
4689 return chre::fbs::CreateMessageContainer(
4690 _fbb,
4691 _message_type,
4692 _message,
4693 _host_addr);
4694 }
4695
4696 inline bool VerifyChreMessage(flatbuffers::Verifier &verifier, const void *obj, ChreMessage type) {
4697 switch (type) {
4698 case ChreMessage::NONE: {
4699 return true;
4700 }
4701 case ChreMessage::NanoappMessage: {
4702 auto ptr = reinterpret_cast<const chre::fbs::NanoappMessage *>(obj);
4703 return verifier.VerifyTable(ptr);
4704 }
4705 case ChreMessage::HubInfoRequest: {
4706 auto ptr = reinterpret_cast<const chre::fbs::HubInfoRequest *>(obj);
4707 return verifier.VerifyTable(ptr);
4708 }
4709 case ChreMessage::HubInfoResponse: {
4710 auto ptr = reinterpret_cast<const chre::fbs::HubInfoResponse *>(obj);
4711 return verifier.VerifyTable(ptr);
4712 }
4713 case ChreMessage::NanoappListRequest: {
4714 auto ptr = reinterpret_cast<const chre::fbs::NanoappListRequest *>(obj);
4715 return verifier.VerifyTable(ptr);
4716 }
4717 case ChreMessage::NanoappListResponse: {
4718 auto ptr = reinterpret_cast<const chre::fbs::NanoappListResponse *>(obj);
4719 return verifier.VerifyTable(ptr);
4720 }
4721 case ChreMessage::LoadNanoappRequest: {
4722 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappRequest *>(obj);
4723 return verifier.VerifyTable(ptr);
4724 }
4725 case ChreMessage::LoadNanoappResponse: {
4726 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappResponse *>(obj);
4727 return verifier.VerifyTable(ptr);
4728 }
4729 case ChreMessage::UnloadNanoappRequest: {
4730 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappRequest *>(obj);
4731 return verifier.VerifyTable(ptr);
4732 }
4733 case ChreMessage::UnloadNanoappResponse: {
4734 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappResponse *>(obj);
4735 return verifier.VerifyTable(ptr);
4736 }
4737 case ChreMessage::LogMessage: {
4738 auto ptr = reinterpret_cast<const chre::fbs::LogMessage *>(obj);
4739 return verifier.VerifyTable(ptr);
4740 }
4741 case ChreMessage::TimeSyncMessage: {
4742 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncMessage *>(obj);
4743 return verifier.VerifyTable(ptr);
4744 }
4745 case ChreMessage::DebugDumpRequest: {
4746 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpRequest *>(obj);
4747 return verifier.VerifyTable(ptr);
4748 }
4749 case ChreMessage::DebugDumpData: {
4750 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpData *>(obj);
4751 return verifier.VerifyTable(ptr);
4752 }
4753 case ChreMessage::DebugDumpResponse: {
4754 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpResponse *>(obj);
4755 return verifier.VerifyTable(ptr);
4756 }
4757 case ChreMessage::TimeSyncRequest: {
4758 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncRequest *>(obj);
4759 return verifier.VerifyTable(ptr);
4760 }
4761 case ChreMessage::LowPowerMicAccessRequest: {
4762 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessRequest *>(obj);
4763 return verifier.VerifyTable(ptr);
4764 }
4765 case ChreMessage::LowPowerMicAccessRelease: {
4766 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessRelease *>(obj);
4767 return verifier.VerifyTable(ptr);
4768 }
4769 case ChreMessage::SettingChangeMessage: {
4770 auto ptr = reinterpret_cast<const chre::fbs::SettingChangeMessage *>(obj);
4771 return verifier.VerifyTable(ptr);
4772 }
4773 case ChreMessage::LogMessageV2: {
4774 auto ptr = reinterpret_cast<const chre::fbs::LogMessageV2 *>(obj);
4775 return verifier.VerifyTable(ptr);
4776 }
4777 case ChreMessage::SelfTestRequest: {
4778 auto ptr = reinterpret_cast<const chre::fbs::SelfTestRequest *>(obj);
4779 return verifier.VerifyTable(ptr);
4780 }
4781 case ChreMessage::SelfTestResponse: {
4782 auto ptr = reinterpret_cast<const chre::fbs::SelfTestResponse *>(obj);
4783 return verifier.VerifyTable(ptr);
4784 }
4785 case ChreMessage::HostEndpointConnected: {
4786 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointConnected *>(obj);
4787 return verifier.VerifyTable(ptr);
4788 }
4789 case ChreMessage::HostEndpointDisconnected: {
4790 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointDisconnected *>(obj);
4791 return verifier.VerifyTable(ptr);
4792 }
4793 case ChreMessage::MetricLog: {
4794 auto ptr = reinterpret_cast<const chre::fbs::MetricLog *>(obj);
4795 return verifier.VerifyTable(ptr);
4796 }
4797 case ChreMessage::BatchedMetricLog: {
4798 auto ptr = reinterpret_cast<const chre::fbs::BatchedMetricLog *>(obj);
4799 return verifier.VerifyTable(ptr);
4800 }
4801 case ChreMessage::NanConfigurationRequest: {
4802 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationRequest *>(obj);
4803 return verifier.VerifyTable(ptr);
4804 }
4805 case ChreMessage::NanConfigurationUpdate: {
4806 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationUpdate *>(obj);
4807 return verifier.VerifyTable(ptr);
4808 }
4809 case ChreMessage::DebugConfiguration: {
4810 auto ptr = reinterpret_cast<const chre::fbs::DebugConfiguration *>(obj);
4811 return verifier.VerifyTable(ptr);
4812 }
4813 default: return true;
4814 }
4815 }
4816
4817 inline bool VerifyChreMessageVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
4818 if (!values || !types) return !values && !types;
4819 if (values->size() != types->size()) return false;
4820 for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
4821 if (!VerifyChreMessage(
4822 verifier, values->Get(i), types->GetEnum<ChreMessage>(i))) {
4823 return false;
4824 }
4825 }
4826 return true;
4827 }
4828
4829 inline void *ChreMessageUnion::UnPack(const void *obj, ChreMessage type, const flatbuffers::resolver_function_t *resolver) {
4830 switch (type) {
4831 case ChreMessage::NanoappMessage: {
4832 auto ptr = reinterpret_cast<const chre::fbs::NanoappMessage *>(obj);
4833 return ptr->UnPack(resolver);
4834 }
4835 case ChreMessage::HubInfoRequest: {
4836 auto ptr = reinterpret_cast<const chre::fbs::HubInfoRequest *>(obj);
4837 return ptr->UnPack(resolver);
4838 }
4839 case ChreMessage::HubInfoResponse: {
4840 auto ptr = reinterpret_cast<const chre::fbs::HubInfoResponse *>(obj);
4841 return ptr->UnPack(resolver);
4842 }
4843 case ChreMessage::NanoappListRequest: {
4844 auto ptr = reinterpret_cast<const chre::fbs::NanoappListRequest *>(obj);
4845 return ptr->UnPack(resolver);
4846 }
4847 case ChreMessage::NanoappListResponse: {
4848 auto ptr = reinterpret_cast<const chre::fbs::NanoappListResponse *>(obj);
4849 return ptr->UnPack(resolver);
4850 }
4851 case ChreMessage::LoadNanoappRequest: {
4852 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappRequest *>(obj);
4853 return ptr->UnPack(resolver);
4854 }
4855 case ChreMessage::LoadNanoappResponse: {
4856 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappResponse *>(obj);
4857 return ptr->UnPack(resolver);
4858 }
4859 case ChreMessage::UnloadNanoappRequest: {
4860 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappRequest *>(obj);
4861 return ptr->UnPack(resolver);
4862 }
4863 case ChreMessage::UnloadNanoappResponse: {
4864 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappResponse *>(obj);
4865 return ptr->UnPack(resolver);
4866 }
4867 case ChreMessage::LogMessage: {
4868 auto ptr = reinterpret_cast<const chre::fbs::LogMessage *>(obj);
4869 return ptr->UnPack(resolver);
4870 }
4871 case ChreMessage::TimeSyncMessage: {
4872 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncMessage *>(obj);
4873 return ptr->UnPack(resolver);
4874 }
4875 case ChreMessage::DebugDumpRequest: {
4876 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpRequest *>(obj);
4877 return ptr->UnPack(resolver);
4878 }
4879 case ChreMessage::DebugDumpData: {
4880 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpData *>(obj);
4881 return ptr->UnPack(resolver);
4882 }
4883 case ChreMessage::DebugDumpResponse: {
4884 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpResponse *>(obj);
4885 return ptr->UnPack(resolver);
4886 }
4887 case ChreMessage::TimeSyncRequest: {
4888 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncRequest *>(obj);
4889 return ptr->UnPack(resolver);
4890 }
4891 case ChreMessage::LowPowerMicAccessRequest: {
4892 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessRequest *>(obj);
4893 return ptr->UnPack(resolver);
4894 }
4895 case ChreMessage::LowPowerMicAccessRelease: {
4896 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessRelease *>(obj);
4897 return ptr->UnPack(resolver);
4898 }
4899 case ChreMessage::SettingChangeMessage: {
4900 auto ptr = reinterpret_cast<const chre::fbs::SettingChangeMessage *>(obj);
4901 return ptr->UnPack(resolver);
4902 }
4903 case ChreMessage::LogMessageV2: {
4904 auto ptr = reinterpret_cast<const chre::fbs::LogMessageV2 *>(obj);
4905 return ptr->UnPack(resolver);
4906 }
4907 case ChreMessage::SelfTestRequest: {
4908 auto ptr = reinterpret_cast<const chre::fbs::SelfTestRequest *>(obj);
4909 return ptr->UnPack(resolver);
4910 }
4911 case ChreMessage::SelfTestResponse: {
4912 auto ptr = reinterpret_cast<const chre::fbs::SelfTestResponse *>(obj);
4913 return ptr->UnPack(resolver);
4914 }
4915 case ChreMessage::HostEndpointConnected: {
4916 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointConnected *>(obj);
4917 return ptr->UnPack(resolver);
4918 }
4919 case ChreMessage::HostEndpointDisconnected: {
4920 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointDisconnected *>(obj);
4921 return ptr->UnPack(resolver);
4922 }
4923 case ChreMessage::MetricLog: {
4924 auto ptr = reinterpret_cast<const chre::fbs::MetricLog *>(obj);
4925 return ptr->UnPack(resolver);
4926 }
4927 case ChreMessage::BatchedMetricLog: {
4928 auto ptr = reinterpret_cast<const chre::fbs::BatchedMetricLog *>(obj);
4929 return ptr->UnPack(resolver);
4930 }
4931 case ChreMessage::NanConfigurationRequest: {
4932 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationRequest *>(obj);
4933 return ptr->UnPack(resolver);
4934 }
4935 case ChreMessage::NanConfigurationUpdate: {
4936 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationUpdate *>(obj);
4937 return ptr->UnPack(resolver);
4938 }
4939 case ChreMessage::DebugConfiguration: {
4940 auto ptr = reinterpret_cast<const chre::fbs::DebugConfiguration *>(obj);
4941 return ptr->UnPack(resolver);
4942 }
4943 default: return nullptr;
4944 }
4945 }
4946
4947 inline flatbuffers::Offset<void> ChreMessageUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const {
4948 switch (type) {
4949 case ChreMessage::NanoappMessage: {
4950 auto ptr = reinterpret_cast<const chre::fbs::NanoappMessageT *>(value);
4951 return CreateNanoappMessage(_fbb, ptr, _rehasher).Union();
4952 }
4953 case ChreMessage::HubInfoRequest: {
4954 auto ptr = reinterpret_cast<const chre::fbs::HubInfoRequestT *>(value);
4955 return CreateHubInfoRequest(_fbb, ptr, _rehasher).Union();
4956 }
4957 case ChreMessage::HubInfoResponse: {
4958 auto ptr = reinterpret_cast<const chre::fbs::HubInfoResponseT *>(value);
4959 return CreateHubInfoResponse(_fbb, ptr, _rehasher).Union();
4960 }
4961 case ChreMessage::NanoappListRequest: {
4962 auto ptr = reinterpret_cast<const chre::fbs::NanoappListRequestT *>(value);
4963 return CreateNanoappListRequest(_fbb, ptr, _rehasher).Union();
4964 }
4965 case ChreMessage::NanoappListResponse: {
4966 auto ptr = reinterpret_cast<const chre::fbs::NanoappListResponseT *>(value);
4967 return CreateNanoappListResponse(_fbb, ptr, _rehasher).Union();
4968 }
4969 case ChreMessage::LoadNanoappRequest: {
4970 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappRequestT *>(value);
4971 return CreateLoadNanoappRequest(_fbb, ptr, _rehasher).Union();
4972 }
4973 case ChreMessage::LoadNanoappResponse: {
4974 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappResponseT *>(value);
4975 return CreateLoadNanoappResponse(_fbb, ptr, _rehasher).Union();
4976 }
4977 case ChreMessage::UnloadNanoappRequest: {
4978 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappRequestT *>(value);
4979 return CreateUnloadNanoappRequest(_fbb, ptr, _rehasher).Union();
4980 }
4981 case ChreMessage::UnloadNanoappResponse: {
4982 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappResponseT *>(value);
4983 return CreateUnloadNanoappResponse(_fbb, ptr, _rehasher).Union();
4984 }
4985 case ChreMessage::LogMessage: {
4986 auto ptr = reinterpret_cast<const chre::fbs::LogMessageT *>(value);
4987 return CreateLogMessage(_fbb, ptr, _rehasher).Union();
4988 }
4989 case ChreMessage::TimeSyncMessage: {
4990 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncMessageT *>(value);
4991 return CreateTimeSyncMessage(_fbb, ptr, _rehasher).Union();
4992 }
4993 case ChreMessage::DebugDumpRequest: {
4994 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpRequestT *>(value);
4995 return CreateDebugDumpRequest(_fbb, ptr, _rehasher).Union();
4996 }
4997 case ChreMessage::DebugDumpData: {
4998 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpDataT *>(value);
4999 return CreateDebugDumpData(_fbb, ptr, _rehasher).Union();
5000 }
5001 case ChreMessage::DebugDumpResponse: {
5002 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpResponseT *>(value);
5003 return CreateDebugDumpResponse(_fbb, ptr, _rehasher).Union();
5004 }
5005 case ChreMessage::TimeSyncRequest: {
5006 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncRequestT *>(value);
5007 return CreateTimeSyncRequest(_fbb, ptr, _rehasher).Union();
5008 }
5009 case ChreMessage::LowPowerMicAccessRequest: {
5010 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessRequestT *>(value);
5011 return CreateLowPowerMicAccessRequest(_fbb, ptr, _rehasher).Union();
5012 }
5013 case ChreMessage::LowPowerMicAccessRelease: {
5014 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessReleaseT *>(value);
5015 return CreateLowPowerMicAccessRelease(_fbb, ptr, _rehasher).Union();
5016 }
5017 case ChreMessage::SettingChangeMessage: {
5018 auto ptr = reinterpret_cast<const chre::fbs::SettingChangeMessageT *>(value);
5019 return CreateSettingChangeMessage(_fbb, ptr, _rehasher).Union();
5020 }
5021 case ChreMessage::LogMessageV2: {
5022 auto ptr = reinterpret_cast<const chre::fbs::LogMessageV2T *>(value);
5023 return CreateLogMessageV2(_fbb, ptr, _rehasher).Union();
5024 }
5025 case ChreMessage::SelfTestRequest: {
5026 auto ptr = reinterpret_cast<const chre::fbs::SelfTestRequestT *>(value);
5027 return CreateSelfTestRequest(_fbb, ptr, _rehasher).Union();
5028 }
5029 case ChreMessage::SelfTestResponse: {
5030 auto ptr = reinterpret_cast<const chre::fbs::SelfTestResponseT *>(value);
5031 return CreateSelfTestResponse(_fbb, ptr, _rehasher).Union();
5032 }
5033 case ChreMessage::HostEndpointConnected: {
5034 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointConnectedT *>(value);
5035 return CreateHostEndpointConnected(_fbb, ptr, _rehasher).Union();
5036 }
5037 case ChreMessage::HostEndpointDisconnected: {
5038 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointDisconnectedT *>(value);
5039 return CreateHostEndpointDisconnected(_fbb, ptr, _rehasher).Union();
5040 }
5041 case ChreMessage::MetricLog: {
5042 auto ptr = reinterpret_cast<const chre::fbs::MetricLogT *>(value);
5043 return CreateMetricLog(_fbb, ptr, _rehasher).Union();
5044 }
5045 case ChreMessage::BatchedMetricLog: {
5046 auto ptr = reinterpret_cast<const chre::fbs::BatchedMetricLogT *>(value);
5047 return CreateBatchedMetricLog(_fbb, ptr, _rehasher).Union();
5048 }
5049 case ChreMessage::NanConfigurationRequest: {
5050 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationRequestT *>(value);
5051 return CreateNanConfigurationRequest(_fbb, ptr, _rehasher).Union();
5052 }
5053 case ChreMessage::NanConfigurationUpdate: {
5054 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationUpdateT *>(value);
5055 return CreateNanConfigurationUpdate(_fbb, ptr, _rehasher).Union();
5056 }
5057 case ChreMessage::DebugConfiguration: {
5058 auto ptr = reinterpret_cast<const chre::fbs::DebugConfigurationT *>(value);
5059 return CreateDebugConfiguration(_fbb, ptr, _rehasher).Union();
5060 }
5061 default: return 0;
5062 }
5063 }
5064
5065 inline ChreMessageUnion::ChreMessageUnion(const ChreMessageUnion &u) : type(u.type), value(nullptr) {
5066 switch (type) {
5067 case ChreMessage::NanoappMessage: {
5068 value = new chre::fbs::NanoappMessageT(*reinterpret_cast<chre::fbs::NanoappMessageT *>(u.value));
5069 break;
5070 }
5071 case ChreMessage::HubInfoRequest: {
5072 value = new chre::fbs::HubInfoRequestT(*reinterpret_cast<chre::fbs::HubInfoRequestT *>(u.value));
5073 break;
5074 }
5075 case ChreMessage::HubInfoResponse: {
5076 value = new chre::fbs::HubInfoResponseT(*reinterpret_cast<chre::fbs::HubInfoResponseT *>(u.value));
5077 break;
5078 }
5079 case ChreMessage::NanoappListRequest: {
5080 value = new chre::fbs::NanoappListRequestT(*reinterpret_cast<chre::fbs::NanoappListRequestT *>(u.value));
5081 break;
5082 }
5083 case ChreMessage::NanoappListResponse: {
5084 FLATBUFFERS_ASSERT(false); // chre::fbs::NanoappListResponseT not copyable.
5085 break;
5086 }
5087 case ChreMessage::LoadNanoappRequest: {
5088 value = new chre::fbs::LoadNanoappRequestT(*reinterpret_cast<chre::fbs::LoadNanoappRequestT *>(u.value));
5089 break;
5090 }
5091 case ChreMessage::LoadNanoappResponse: {
5092 value = new chre::fbs::LoadNanoappResponseT(*reinterpret_cast<chre::fbs::LoadNanoappResponseT *>(u.value));
5093 break;
5094 }
5095 case ChreMessage::UnloadNanoappRequest: {
5096 value = new chre::fbs::UnloadNanoappRequestT(*reinterpret_cast<chre::fbs::UnloadNanoappRequestT *>(u.value));
5097 break;
5098 }
5099 case ChreMessage::UnloadNanoappResponse: {
5100 value = new chre::fbs::UnloadNanoappResponseT(*reinterpret_cast<chre::fbs::UnloadNanoappResponseT *>(u.value));
5101 break;
5102 }
5103 case ChreMessage::LogMessage: {
5104 value = new chre::fbs::LogMessageT(*reinterpret_cast<chre::fbs::LogMessageT *>(u.value));
5105 break;
5106 }
5107 case ChreMessage::TimeSyncMessage: {
5108 value = new chre::fbs::TimeSyncMessageT(*reinterpret_cast<chre::fbs::TimeSyncMessageT *>(u.value));
5109 break;
5110 }
5111 case ChreMessage::DebugDumpRequest: {
5112 value = new chre::fbs::DebugDumpRequestT(*reinterpret_cast<chre::fbs::DebugDumpRequestT *>(u.value));
5113 break;
5114 }
5115 case ChreMessage::DebugDumpData: {
5116 value = new chre::fbs::DebugDumpDataT(*reinterpret_cast<chre::fbs::DebugDumpDataT *>(u.value));
5117 break;
5118 }
5119 case ChreMessage::DebugDumpResponse: {
5120 value = new chre::fbs::DebugDumpResponseT(*reinterpret_cast<chre::fbs::DebugDumpResponseT *>(u.value));
5121 break;
5122 }
5123 case ChreMessage::TimeSyncRequest: {
5124 value = new chre::fbs::TimeSyncRequestT(*reinterpret_cast<chre::fbs::TimeSyncRequestT *>(u.value));
5125 break;
5126 }
5127 case ChreMessage::LowPowerMicAccessRequest: {
5128 value = new chre::fbs::LowPowerMicAccessRequestT(*reinterpret_cast<chre::fbs::LowPowerMicAccessRequestT *>(u.value));
5129 break;
5130 }
5131 case ChreMessage::LowPowerMicAccessRelease: {
5132 value = new chre::fbs::LowPowerMicAccessReleaseT(*reinterpret_cast<chre::fbs::LowPowerMicAccessReleaseT *>(u.value));
5133 break;
5134 }
5135 case ChreMessage::SettingChangeMessage: {
5136 value = new chre::fbs::SettingChangeMessageT(*reinterpret_cast<chre::fbs::SettingChangeMessageT *>(u.value));
5137 break;
5138 }
5139 case ChreMessage::LogMessageV2: {
5140 value = new chre::fbs::LogMessageV2T(*reinterpret_cast<chre::fbs::LogMessageV2T *>(u.value));
5141 break;
5142 }
5143 case ChreMessage::SelfTestRequest: {
5144 value = new chre::fbs::SelfTestRequestT(*reinterpret_cast<chre::fbs::SelfTestRequestT *>(u.value));
5145 break;
5146 }
5147 case ChreMessage::SelfTestResponse: {
5148 value = new chre::fbs::SelfTestResponseT(*reinterpret_cast<chre::fbs::SelfTestResponseT *>(u.value));
5149 break;
5150 }
5151 case ChreMessage::HostEndpointConnected: {
5152 value = new chre::fbs::HostEndpointConnectedT(*reinterpret_cast<chre::fbs::HostEndpointConnectedT *>(u.value));
5153 break;
5154 }
5155 case ChreMessage::HostEndpointDisconnected: {
5156 value = new chre::fbs::HostEndpointDisconnectedT(*reinterpret_cast<chre::fbs::HostEndpointDisconnectedT *>(u.value));
5157 break;
5158 }
5159 case ChreMessage::MetricLog: {
5160 value = new chre::fbs::MetricLogT(*reinterpret_cast<chre::fbs::MetricLogT *>(u.value));
5161 break;
5162 }
5163 case ChreMessage::BatchedMetricLog: {
5164 FLATBUFFERS_ASSERT(false); // chre::fbs::BatchedMetricLogT not copyable.
5165 break;
5166 }
5167 case ChreMessage::NanConfigurationRequest: {
5168 value = new chre::fbs::NanConfigurationRequestT(*reinterpret_cast<chre::fbs::NanConfigurationRequestT *>(u.value));
5169 break;
5170 }
5171 case ChreMessage::NanConfigurationUpdate: {
5172 value = new chre::fbs::NanConfigurationUpdateT(*reinterpret_cast<chre::fbs::NanConfigurationUpdateT *>(u.value));
5173 break;
5174 }
5175 case ChreMessage::DebugConfiguration: {
5176 value = new chre::fbs::DebugConfigurationT(*reinterpret_cast<chre::fbs::DebugConfigurationT *>(u.value));
5177 break;
5178 }
5179 default:
5180 break;
5181 }
5182 }
5183
5184 inline void ChreMessageUnion::Reset() {
5185 switch (type) {
5186 case ChreMessage::NanoappMessage: {
5187 auto ptr = reinterpret_cast<chre::fbs::NanoappMessageT *>(value);
5188 delete ptr;
5189 break;
5190 }
5191 case ChreMessage::HubInfoRequest: {
5192 auto ptr = reinterpret_cast<chre::fbs::HubInfoRequestT *>(value);
5193 delete ptr;
5194 break;
5195 }
5196 case ChreMessage::HubInfoResponse: {
5197 auto ptr = reinterpret_cast<chre::fbs::HubInfoResponseT *>(value);
5198 delete ptr;
5199 break;
5200 }
5201 case ChreMessage::NanoappListRequest: {
5202 auto ptr = reinterpret_cast<chre::fbs::NanoappListRequestT *>(value);
5203 delete ptr;
5204 break;
5205 }
5206 case ChreMessage::NanoappListResponse: {
5207 auto ptr = reinterpret_cast<chre::fbs::NanoappListResponseT *>(value);
5208 delete ptr;
5209 break;
5210 }
5211 case ChreMessage::LoadNanoappRequest: {
5212 auto ptr = reinterpret_cast<chre::fbs::LoadNanoappRequestT *>(value);
5213 delete ptr;
5214 break;
5215 }
5216 case ChreMessage::LoadNanoappResponse: {
5217 auto ptr = reinterpret_cast<chre::fbs::LoadNanoappResponseT *>(value);
5218 delete ptr;
5219 break;
5220 }
5221 case ChreMessage::UnloadNanoappRequest: {
5222 auto ptr = reinterpret_cast<chre::fbs::UnloadNanoappRequestT *>(value);
5223 delete ptr;
5224 break;
5225 }
5226 case ChreMessage::UnloadNanoappResponse: {
5227 auto ptr = reinterpret_cast<chre::fbs::UnloadNanoappResponseT *>(value);
5228 delete ptr;
5229 break;
5230 }
5231 case ChreMessage::LogMessage: {
5232 auto ptr = reinterpret_cast<chre::fbs::LogMessageT *>(value);
5233 delete ptr;
5234 break;
5235 }
5236 case ChreMessage::TimeSyncMessage: {
5237 auto ptr = reinterpret_cast<chre::fbs::TimeSyncMessageT *>(value);
5238 delete ptr;
5239 break;
5240 }
5241 case ChreMessage::DebugDumpRequest: {
5242 auto ptr = reinterpret_cast<chre::fbs::DebugDumpRequestT *>(value);
5243 delete ptr;
5244 break;
5245 }
5246 case ChreMessage::DebugDumpData: {
5247 auto ptr = reinterpret_cast<chre::fbs::DebugDumpDataT *>(value);
5248 delete ptr;
5249 break;
5250 }
5251 case ChreMessage::DebugDumpResponse: {
5252 auto ptr = reinterpret_cast<chre::fbs::DebugDumpResponseT *>(value);
5253 delete ptr;
5254 break;
5255 }
5256 case ChreMessage::TimeSyncRequest: {
5257 auto ptr = reinterpret_cast<chre::fbs::TimeSyncRequestT *>(value);
5258 delete ptr;
5259 break;
5260 }
5261 case ChreMessage::LowPowerMicAccessRequest: {
5262 auto ptr = reinterpret_cast<chre::fbs::LowPowerMicAccessRequestT *>(value);
5263 delete ptr;
5264 break;
5265 }
5266 case ChreMessage::LowPowerMicAccessRelease: {
5267 auto ptr = reinterpret_cast<chre::fbs::LowPowerMicAccessReleaseT *>(value);
5268 delete ptr;
5269 break;
5270 }
5271 case ChreMessage::SettingChangeMessage: {
5272 auto ptr = reinterpret_cast<chre::fbs::SettingChangeMessageT *>(value);
5273 delete ptr;
5274 break;
5275 }
5276 case ChreMessage::LogMessageV2: {
5277 auto ptr = reinterpret_cast<chre::fbs::LogMessageV2T *>(value);
5278 delete ptr;
5279 break;
5280 }
5281 case ChreMessage::SelfTestRequest: {
5282 auto ptr = reinterpret_cast<chre::fbs::SelfTestRequestT *>(value);
5283 delete ptr;
5284 break;
5285 }
5286 case ChreMessage::SelfTestResponse: {
5287 auto ptr = reinterpret_cast<chre::fbs::SelfTestResponseT *>(value);
5288 delete ptr;
5289 break;
5290 }
5291 case ChreMessage::HostEndpointConnected: {
5292 auto ptr = reinterpret_cast<chre::fbs::HostEndpointConnectedT *>(value);
5293 delete ptr;
5294 break;
5295 }
5296 case ChreMessage::HostEndpointDisconnected: {
5297 auto ptr = reinterpret_cast<chre::fbs::HostEndpointDisconnectedT *>(value);
5298 delete ptr;
5299 break;
5300 }
5301 case ChreMessage::MetricLog: {
5302 auto ptr = reinterpret_cast<chre::fbs::MetricLogT *>(value);
5303 delete ptr;
5304 break;
5305 }
5306 case ChreMessage::BatchedMetricLog: {
5307 auto ptr = reinterpret_cast<chre::fbs::BatchedMetricLogT *>(value);
5308 delete ptr;
5309 break;
5310 }
5311 case ChreMessage::NanConfigurationRequest: {
5312 auto ptr = reinterpret_cast<chre::fbs::NanConfigurationRequestT *>(value);
5313 delete ptr;
5314 break;
5315 }
5316 case ChreMessage::NanConfigurationUpdate: {
5317 auto ptr = reinterpret_cast<chre::fbs::NanConfigurationUpdateT *>(value);
5318 delete ptr;
5319 break;
5320 }
5321 case ChreMessage::DebugConfiguration: {
5322 auto ptr = reinterpret_cast<chre::fbs::DebugConfigurationT *>(value);
5323 delete ptr;
5324 break;
5325 }
5326 default: break;
5327 }
5328 value = nullptr;
5329 type = ChreMessage::NONE;
5330 }
5331
5332 inline const chre::fbs::MessageContainer *GetMessageContainer(const void *buf) {
5333 return flatbuffers::GetRoot<chre::fbs::MessageContainer>(buf);
5334 }
5335
5336 inline const chre::fbs::MessageContainer *GetSizePrefixedMessageContainer(const void *buf) {
5337 return flatbuffers::GetSizePrefixedRoot<chre::fbs::MessageContainer>(buf);
5338 }
5339
5340 inline MessageContainer *GetMutableMessageContainer(void *buf) {
5341 return flatbuffers::GetMutableRoot<MessageContainer>(buf);
5342 }
5343
5344 inline bool VerifyMessageContainerBuffer(
5345 flatbuffers::Verifier &verifier) {
5346 return verifier.VerifyBuffer<chre::fbs::MessageContainer>(nullptr);
5347 }
5348
5349 inline bool VerifySizePrefixedMessageContainerBuffer(
5350 flatbuffers::Verifier &verifier) {
5351 return verifier.VerifySizePrefixedBuffer<chre::fbs::MessageContainer>(nullptr);
5352 }
5353
5354 inline void FinishMessageContainerBuffer(
5355 flatbuffers::FlatBufferBuilder &fbb,
5356 flatbuffers::Offset<chre::fbs::MessageContainer> root) {
5357 fbb.Finish(root);
5358 }
5359
5360 inline void FinishSizePrefixedMessageContainerBuffer(
5361 flatbuffers::FlatBufferBuilder &fbb,
5362 flatbuffers::Offset<chre::fbs::MessageContainer> root) {
5363 fbb.FinishSizePrefixed(root);
5364 }
5365
5366 inline std::unique_ptr<chre::fbs::MessageContainerT> UnPackMessageContainer(
5367 const void *buf,
5368 const flatbuffers::resolver_function_t *res = nullptr) {
5369 return std::unique_ptr<chre::fbs::MessageContainerT>(GetMessageContainer(buf)->UnPack(res));
5370 }
5371
5372 inline std::unique_ptr<chre::fbs::MessageContainerT> UnPackSizePrefixedMessageContainer(
5373 const void *buf,
5374 const flatbuffers::resolver_function_t *res = nullptr) {
5375 return std::unique_ptr<chre::fbs::MessageContainerT>(GetSizePrefixedMessageContainer(buf)->UnPack(res));
5376 }
5377
5378 } // namespace fbs
5379 } // namespace chre
5380
5381 #endif // FLATBUFFERS_GENERATED_HOSTMESSAGES_CHRE_FBS_H_
5382