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 MessageDeliveryStatus;
17 struct MessageDeliveryStatusBuilder;
18 struct MessageDeliveryStatusT;
19
20 struct HubInfoRequest;
21 struct HubInfoRequestBuilder;
22 struct HubInfoRequestT;
23
24 struct HubInfoResponse;
25 struct HubInfoResponseBuilder;
26 struct HubInfoResponseT;
27
28 struct NanoappListRequest;
29 struct NanoappListRequestBuilder;
30 struct NanoappListRequestT;
31
32 struct NanoappRpcService;
33 struct NanoappRpcServiceBuilder;
34 struct NanoappRpcServiceT;
35
36 struct NanoappListEntry;
37 struct NanoappListEntryBuilder;
38 struct NanoappListEntryT;
39
40 struct NanoappListResponse;
41 struct NanoappListResponseBuilder;
42 struct NanoappListResponseT;
43
44 struct LoadNanoappRequest;
45 struct LoadNanoappRequestBuilder;
46 struct LoadNanoappRequestT;
47
48 struct LoadNanoappResponse;
49 struct LoadNanoappResponseBuilder;
50 struct LoadNanoappResponseT;
51
52 struct NanoappTokenDatabaseInfo;
53 struct NanoappTokenDatabaseInfoBuilder;
54 struct NanoappTokenDatabaseInfoT;
55
56 struct UnloadNanoappRequest;
57 struct UnloadNanoappRequestBuilder;
58 struct UnloadNanoappRequestT;
59
60 struct UnloadNanoappResponse;
61 struct UnloadNanoappResponseBuilder;
62 struct UnloadNanoappResponseT;
63
64 struct LogMessage;
65 struct LogMessageBuilder;
66 struct LogMessageT;
67
68 struct TimeSyncMessage;
69 struct TimeSyncMessageBuilder;
70 struct TimeSyncMessageT;
71
72 struct DebugDumpRequest;
73 struct DebugDumpRequestBuilder;
74 struct DebugDumpRequestT;
75
76 struct DebugDumpData;
77 struct DebugDumpDataBuilder;
78 struct DebugDumpDataT;
79
80 struct DebugDumpResponse;
81 struct DebugDumpResponseBuilder;
82 struct DebugDumpResponseT;
83
84 struct TimeSyncRequest;
85 struct TimeSyncRequestBuilder;
86 struct TimeSyncRequestT;
87
88 struct LowPowerMicAccessRequest;
89 struct LowPowerMicAccessRequestBuilder;
90 struct LowPowerMicAccessRequestT;
91
92 struct LowPowerMicAccessRelease;
93 struct LowPowerMicAccessReleaseBuilder;
94 struct LowPowerMicAccessReleaseT;
95
96 struct SettingChangeMessage;
97 struct SettingChangeMessageBuilder;
98 struct SettingChangeMessageT;
99
100 struct LogMessageV2;
101 struct LogMessageV2Builder;
102 struct LogMessageV2T;
103
104 struct SelfTestRequest;
105 struct SelfTestRequestBuilder;
106 struct SelfTestRequestT;
107
108 struct SelfTestResponse;
109 struct SelfTestResponseBuilder;
110 struct SelfTestResponseT;
111
112 struct HostEndpointConnected;
113 struct HostEndpointConnectedBuilder;
114 struct HostEndpointConnectedT;
115
116 struct HostEndpointDisconnected;
117 struct HostEndpointDisconnectedBuilder;
118 struct HostEndpointDisconnectedT;
119
120 struct MetricLog;
121 struct MetricLogBuilder;
122 struct MetricLogT;
123
124 struct BatchedMetricLog;
125 struct BatchedMetricLogBuilder;
126 struct BatchedMetricLogT;
127
128 struct NanConfigurationRequest;
129 struct NanConfigurationRequestBuilder;
130 struct NanConfigurationRequestT;
131
132 struct NanConfigurationUpdate;
133 struct NanConfigurationUpdateBuilder;
134 struct NanConfigurationUpdateT;
135
136 struct DebugConfiguration;
137 struct DebugConfigurationBuilder;
138 struct DebugConfigurationT;
139
140 struct PulseRequest;
141 struct PulseRequestBuilder;
142 struct PulseRequestT;
143
144 struct PulseResponse;
145 struct PulseResponseBuilder;
146 struct PulseResponseT;
147
148 struct LeCocChannelInfo;
149 struct LeCocChannelInfoBuilder;
150 struct LeCocChannelInfoT;
151
152 struct BtSocketOpen;
153 struct BtSocketOpenBuilder;
154 struct BtSocketOpenT;
155
156 struct BtSocketOpenResponse;
157 struct BtSocketOpenResponseBuilder;
158 struct BtSocketOpenResponseT;
159
160 struct BtSocketClose;
161 struct BtSocketCloseBuilder;
162 struct BtSocketCloseT;
163
164 struct BtSocketCloseResponse;
165 struct BtSocketCloseResponseBuilder;
166 struct BtSocketCloseResponseT;
167
168 struct VendorHubInfo;
169 struct VendorHubInfoBuilder;
170 struct VendorHubInfoT;
171
172 struct MessageHub;
173 struct MessageHubBuilder;
174 struct MessageHubT;
175
176 struct RegisterMessageHub;
177 struct RegisterMessageHubBuilder;
178 struct RegisterMessageHubT;
179
180 struct UnregisterMessageHub;
181 struct UnregisterMessageHubBuilder;
182 struct UnregisterMessageHubT;
183
184 struct EndpointId;
185 struct EndpointIdBuilder;
186 struct EndpointIdT;
187
188 struct Service;
189 struct ServiceBuilder;
190 struct ServiceT;
191
192 struct EndpointInfo;
193 struct EndpointInfoBuilder;
194 struct EndpointInfoT;
195
196 struct RegisterEndpoint;
197 struct RegisterEndpointBuilder;
198 struct RegisterEndpointT;
199
200 struct UnregisterEndpoint;
201 struct UnregisterEndpointBuilder;
202 struct UnregisterEndpointT;
203
204 struct GetMessageHubsAndEndpointsRequest;
205 struct GetMessageHubsAndEndpointsRequestBuilder;
206 struct GetMessageHubsAndEndpointsRequestT;
207
208 struct GetMessageHubsAndEndpointsResponse;
209 struct GetMessageHubsAndEndpointsResponseBuilder;
210 struct GetMessageHubsAndEndpointsResponseT;
211
212 struct OpenEndpointSessionRequest;
213 struct OpenEndpointSessionRequestBuilder;
214 struct OpenEndpointSessionRequestT;
215
216 struct EndpointSessionOpened;
217 struct EndpointSessionOpenedBuilder;
218 struct EndpointSessionOpenedT;
219
220 struct EndpointSessionClosed;
221 struct EndpointSessionClosedBuilder;
222 struct EndpointSessionClosedT;
223
224 struct EndpointSessionMessage;
225 struct EndpointSessionMessageBuilder;
226 struct EndpointSessionMessageT;
227
228 struct EndpointSessionMessageDeliveryStatus;
229 struct EndpointSessionMessageDeliveryStatusBuilder;
230 struct EndpointSessionMessageDeliveryStatusT;
231
232 struct HostAddress;
233
234 struct MessageContainer;
235 struct MessageContainerBuilder;
236 struct MessageContainerT;
237
238 /// An enum describing the setting type.
239 enum class Setting : int8_t {
240 LOCATION = 0,
241 WIFI_AVAILABLE = 1,
242 AIRPLANE_MODE = 2,
243 MICROPHONE = 3,
244 BLE_AVAILABLE = 4,
245 MIN = LOCATION,
246 MAX = BLE_AVAILABLE
247 };
248
EnumValuesSetting()249 inline const Setting (&EnumValuesSetting())[5] {
250 static const Setting values[] = {
251 Setting::LOCATION,
252 Setting::WIFI_AVAILABLE,
253 Setting::AIRPLANE_MODE,
254 Setting::MICROPHONE,
255 Setting::BLE_AVAILABLE
256 };
257 return values;
258 }
259
EnumNamesSetting()260 inline const char * const *EnumNamesSetting() {
261 static const char * const names[6] = {
262 "LOCATION",
263 "WIFI_AVAILABLE",
264 "AIRPLANE_MODE",
265 "MICROPHONE",
266 "BLE_AVAILABLE",
267 nullptr
268 };
269 return names;
270 }
271
EnumNameSetting(Setting e)272 inline const char *EnumNameSetting(Setting e) {
273 if (flatbuffers::IsOutRange(e, Setting::LOCATION, Setting::BLE_AVAILABLE)) return "";
274 const size_t index = static_cast<size_t>(e);
275 return EnumNamesSetting()[index];
276 }
277
278 /// An enum describing the state of a setting.
279 enum class SettingState : int8_t {
280 DISABLED = 0,
281 ENABLED = 1,
282 MIN = DISABLED,
283 MAX = ENABLED
284 };
285
EnumValuesSettingState()286 inline const SettingState (&EnumValuesSettingState())[2] {
287 static const SettingState values[] = {
288 SettingState::DISABLED,
289 SettingState::ENABLED
290 };
291 return values;
292 }
293
EnumNamesSettingState()294 inline const char * const *EnumNamesSettingState() {
295 static const char * const names[3] = {
296 "DISABLED",
297 "ENABLED",
298 nullptr
299 };
300 return names;
301 }
302
EnumNameSettingState(SettingState e)303 inline const char *EnumNameSettingState(SettingState e) {
304 if (flatbuffers::IsOutRange(e, SettingState::DISABLED, SettingState::ENABLED)) return "";
305 const size_t index = static_cast<size_t>(e);
306 return EnumNamesSettingState()[index];
307 }
308
309 enum class LogLevel : int8_t {
310 ERROR = 1,
311 WARNING = 2,
312 INFO = 3,
313 DEBUG = 4,
314 VERBOSE = 5,
315 MIN = ERROR,
316 MAX = VERBOSE
317 };
318
EnumValuesLogLevel()319 inline const LogLevel (&EnumValuesLogLevel())[5] {
320 static const LogLevel values[] = {
321 LogLevel::ERROR,
322 LogLevel::WARNING,
323 LogLevel::INFO,
324 LogLevel::DEBUG,
325 LogLevel::VERBOSE
326 };
327 return values;
328 }
329
EnumNamesLogLevel()330 inline const char * const *EnumNamesLogLevel() {
331 static const char * const names[6] = {
332 "ERROR",
333 "WARNING",
334 "INFO",
335 "DEBUG",
336 "VERBOSE",
337 nullptr
338 };
339 return names;
340 }
341
EnumNameLogLevel(LogLevel e)342 inline const char *EnumNameLogLevel(LogLevel e) {
343 if (flatbuffers::IsOutRange(e, LogLevel::ERROR, LogLevel::VERBOSE)) return "";
344 const size_t index = static_cast<size_t>(e) - static_cast<size_t>(LogLevel::ERROR);
345 return EnumNamesLogLevel()[index];
346 }
347
348 enum class LogType : int8_t {
349 STRING = 0,
350 TOKENIZED = 1,
351 BLUETOOTH = 2,
352 NANOAPP_TOKENIZED = 3,
353 MIN = STRING,
354 MAX = NANOAPP_TOKENIZED
355 };
356
EnumValuesLogType()357 inline const LogType (&EnumValuesLogType())[4] {
358 static const LogType values[] = {
359 LogType::STRING,
360 LogType::TOKENIZED,
361 LogType::BLUETOOTH,
362 LogType::NANOAPP_TOKENIZED
363 };
364 return values;
365 }
366
EnumNamesLogType()367 inline const char * const *EnumNamesLogType() {
368 static const char * const names[5] = {
369 "STRING",
370 "TOKENIZED",
371 "BLUETOOTH",
372 "NANOAPP_TOKENIZED",
373 nullptr
374 };
375 return names;
376 }
377
EnumNameLogType(LogType e)378 inline const char *EnumNameLogType(LogType e) {
379 if (flatbuffers::IsOutRange(e, LogType::STRING, LogType::NANOAPP_TOKENIZED)) return "";
380 const size_t index = static_cast<size_t>(e);
381 return EnumNamesLogType()[index];
382 }
383
384 enum class BtSnoopDirection : int8_t {
385 INCOMING_FROM_BT_CONTROLLER = 0,
386 OUTGOING_TO_ARBITER = 1,
387 MIN = INCOMING_FROM_BT_CONTROLLER,
388 MAX = OUTGOING_TO_ARBITER
389 };
390
EnumValuesBtSnoopDirection()391 inline const BtSnoopDirection (&EnumValuesBtSnoopDirection())[2] {
392 static const BtSnoopDirection values[] = {
393 BtSnoopDirection::INCOMING_FROM_BT_CONTROLLER,
394 BtSnoopDirection::OUTGOING_TO_ARBITER
395 };
396 return values;
397 }
398
EnumNamesBtSnoopDirection()399 inline const char * const *EnumNamesBtSnoopDirection() {
400 static const char * const names[3] = {
401 "INCOMING_FROM_BT_CONTROLLER",
402 "OUTGOING_TO_ARBITER",
403 nullptr
404 };
405 return names;
406 }
407
EnumNameBtSnoopDirection(BtSnoopDirection e)408 inline const char *EnumNameBtSnoopDirection(BtSnoopDirection e) {
409 if (flatbuffers::IsOutRange(e, BtSnoopDirection::INCOMING_FROM_BT_CONTROLLER, BtSnoopDirection::OUTGOING_TO_ARBITER)) return "";
410 const size_t index = static_cast<size_t>(e);
411 return EnumNamesBtSnoopDirection()[index];
412 }
413
414 enum class ChannelInfo : uint8_t {
415 NONE = 0,
416 LeCocChannelInfo = 1,
417 MIN = NONE,
418 MAX = LeCocChannelInfo
419 };
420
EnumValuesChannelInfo()421 inline const ChannelInfo (&EnumValuesChannelInfo())[2] {
422 static const ChannelInfo values[] = {
423 ChannelInfo::NONE,
424 ChannelInfo::LeCocChannelInfo
425 };
426 return values;
427 }
428
EnumNamesChannelInfo()429 inline const char * const *EnumNamesChannelInfo() {
430 static const char * const names[3] = {
431 "NONE",
432 "LeCocChannelInfo",
433 nullptr
434 };
435 return names;
436 }
437
EnumNameChannelInfo(ChannelInfo e)438 inline const char *EnumNameChannelInfo(ChannelInfo e) {
439 if (flatbuffers::IsOutRange(e, ChannelInfo::NONE, ChannelInfo::LeCocChannelInfo)) return "";
440 const size_t index = static_cast<size_t>(e);
441 return EnumNamesChannelInfo()[index];
442 }
443
444 template<typename T> struct ChannelInfoTraits {
445 static const ChannelInfo enum_value = ChannelInfo::NONE;
446 };
447
448 template<> struct ChannelInfoTraits<chre::fbs::LeCocChannelInfo> {
449 static const ChannelInfo enum_value = ChannelInfo::LeCocChannelInfo;
450 };
451
452 struct ChannelInfoUnion {
453 ChannelInfo type;
454 void *value;
455
456 ChannelInfoUnion() : type(ChannelInfo::NONE), value(nullptr) {}
457 ChannelInfoUnion(ChannelInfoUnion&& u) FLATBUFFERS_NOEXCEPT :
458 type(ChannelInfo::NONE), value(nullptr)
459 { std::swap(type, u.type); std::swap(value, u.value); }
460 ChannelInfoUnion(const ChannelInfoUnion &);
461 ChannelInfoUnion &operator=(const ChannelInfoUnion &u)
462 { ChannelInfoUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; }
463 ChannelInfoUnion &operator=(ChannelInfoUnion &&u) FLATBUFFERS_NOEXCEPT
464 { std::swap(type, u.type); std::swap(value, u.value); return *this; }
465 ~ChannelInfoUnion() { Reset(); }
466
467 void Reset();
468
469 #ifndef FLATBUFFERS_CPP98_STL
470 template <typename T>
471 void Set(T&& val) {
472 using RT = typename std::remove_reference<T>::type;
473 Reset();
474 type = ChannelInfoTraits<typename RT::TableType>::enum_value;
475 if (type != ChannelInfo::NONE) {
476 value = new RT(std::forward<T>(val));
477 }
478 }
479 #endif // FLATBUFFERS_CPP98_STL
480
481 static void *UnPack(const void *obj, ChannelInfo type, const flatbuffers::resolver_function_t *resolver);
482 flatbuffers::Offset<void> Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const;
483
484 chre::fbs::LeCocChannelInfoT *AsLeCocChannelInfo() {
485 return type == ChannelInfo::LeCocChannelInfo ?
486 reinterpret_cast<chre::fbs::LeCocChannelInfoT *>(value) : nullptr;
487 }
488 const chre::fbs::LeCocChannelInfoT *AsLeCocChannelInfo() const {
489 return type == ChannelInfo::LeCocChannelInfo ?
490 reinterpret_cast<const chre::fbs::LeCocChannelInfoT *>(value) : nullptr;
491 }
492 };
493
494 bool VerifyChannelInfo(flatbuffers::Verifier &verifier, const void *obj, ChannelInfo type);
495 bool VerifyChannelInfoVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
496
497 enum class BtSocketOpenStatus : int8_t {
498 SUCCESS = 0,
499 FAILURE = 1,
500 MIN = SUCCESS,
501 MAX = FAILURE
502 };
503
504 inline const BtSocketOpenStatus (&EnumValuesBtSocketOpenStatus())[2] {
505 static const BtSocketOpenStatus values[] = {
506 BtSocketOpenStatus::SUCCESS,
507 BtSocketOpenStatus::FAILURE
508 };
509 return values;
510 }
511
512 inline const char * const *EnumNamesBtSocketOpenStatus() {
513 static const char * const names[3] = {
514 "SUCCESS",
515 "FAILURE",
516 nullptr
517 };
518 return names;
519 }
520
521 inline const char *EnumNameBtSocketOpenStatus(BtSocketOpenStatus e) {
522 if (flatbuffers::IsOutRange(e, BtSocketOpenStatus::SUCCESS, BtSocketOpenStatus::FAILURE)) return "";
523 const size_t index = static_cast<size_t>(e);
524 return EnumNamesBtSocketOpenStatus()[index];
525 }
526
527 enum class MessageHubDetails : uint8_t {
528 NONE = 0,
529 HubInfoResponse = 1,
530 VendorHubInfo = 2,
531 MIN = NONE,
532 MAX = VendorHubInfo
533 };
534
535 inline const MessageHubDetails (&EnumValuesMessageHubDetails())[3] {
536 static const MessageHubDetails values[] = {
537 MessageHubDetails::NONE,
538 MessageHubDetails::HubInfoResponse,
539 MessageHubDetails::VendorHubInfo
540 };
541 return values;
542 }
543
544 inline const char * const *EnumNamesMessageHubDetails() {
545 static const char * const names[4] = {
546 "NONE",
547 "HubInfoResponse",
548 "VendorHubInfo",
549 nullptr
550 };
551 return names;
552 }
553
554 inline const char *EnumNameMessageHubDetails(MessageHubDetails e) {
555 if (flatbuffers::IsOutRange(e, MessageHubDetails::NONE, MessageHubDetails::VendorHubInfo)) return "";
556 const size_t index = static_cast<size_t>(e);
557 return EnumNamesMessageHubDetails()[index];
558 }
559
560 template<typename T> struct MessageHubDetailsTraits {
561 static const MessageHubDetails enum_value = MessageHubDetails::NONE;
562 };
563
564 template<> struct MessageHubDetailsTraits<chre::fbs::HubInfoResponse> {
565 static const MessageHubDetails enum_value = MessageHubDetails::HubInfoResponse;
566 };
567
568 template<> struct MessageHubDetailsTraits<chre::fbs::VendorHubInfo> {
569 static const MessageHubDetails enum_value = MessageHubDetails::VendorHubInfo;
570 };
571
572 struct MessageHubDetailsUnion {
573 MessageHubDetails type;
574 void *value;
575
576 MessageHubDetailsUnion() : type(MessageHubDetails::NONE), value(nullptr) {}
577 MessageHubDetailsUnion(MessageHubDetailsUnion&& u) FLATBUFFERS_NOEXCEPT :
578 type(MessageHubDetails::NONE), value(nullptr)
579 { std::swap(type, u.type); std::swap(value, u.value); }
580 MessageHubDetailsUnion(const MessageHubDetailsUnion &);
581 MessageHubDetailsUnion &operator=(const MessageHubDetailsUnion &u)
582 { MessageHubDetailsUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; }
583 MessageHubDetailsUnion &operator=(MessageHubDetailsUnion &&u) FLATBUFFERS_NOEXCEPT
584 { std::swap(type, u.type); std::swap(value, u.value); return *this; }
585 ~MessageHubDetailsUnion() { Reset(); }
586
587 void Reset();
588
589 #ifndef FLATBUFFERS_CPP98_STL
590 template <typename T>
591 void Set(T&& val) {
592 using RT = typename std::remove_reference<T>::type;
593 Reset();
594 type = MessageHubDetailsTraits<typename RT::TableType>::enum_value;
595 if (type != MessageHubDetails::NONE) {
596 value = new RT(std::forward<T>(val));
597 }
598 }
599 #endif // FLATBUFFERS_CPP98_STL
600
601 static void *UnPack(const void *obj, MessageHubDetails type, const flatbuffers::resolver_function_t *resolver);
602 flatbuffers::Offset<void> Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const;
603
604 chre::fbs::HubInfoResponseT *AsHubInfoResponse() {
605 return type == MessageHubDetails::HubInfoResponse ?
606 reinterpret_cast<chre::fbs::HubInfoResponseT *>(value) : nullptr;
607 }
608 const chre::fbs::HubInfoResponseT *AsHubInfoResponse() const {
609 return type == MessageHubDetails::HubInfoResponse ?
610 reinterpret_cast<const chre::fbs::HubInfoResponseT *>(value) : nullptr;
611 }
612 chre::fbs::VendorHubInfoT *AsVendorHubInfo() {
613 return type == MessageHubDetails::VendorHubInfo ?
614 reinterpret_cast<chre::fbs::VendorHubInfoT *>(value) : nullptr;
615 }
616 const chre::fbs::VendorHubInfoT *AsVendorHubInfo() const {
617 return type == MessageHubDetails::VendorHubInfo ?
618 reinterpret_cast<const chre::fbs::VendorHubInfoT *>(value) : nullptr;
619 }
620 };
621
622 bool VerifyMessageHubDetails(flatbuffers::Verifier &verifier, const void *obj, MessageHubDetails type);
623 bool VerifyMessageHubDetailsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
624
625 /// An enum describing the type of an endpoint.
626 enum class EndpointType : uint8_t {
627 INVALID = 0,
628 /// The endpoint is part of the Android Framework
629 FRAMEWORK = 1,
630 /// The endpoint is an Android app
631 APP = 2,
632 /// The endpoint is a native Android program
633 NATIVE = 3,
634 /// The endpoint is a nanoapp
635 NANOAPP = 4,
636 /// A generic, non-nanoapp endpoint
637 GENERIC = 5,
638 MIN = INVALID,
639 MAX = GENERIC
640 };
641
642 inline const EndpointType (&EnumValuesEndpointType())[6] {
643 static const EndpointType values[] = {
644 EndpointType::INVALID,
645 EndpointType::FRAMEWORK,
646 EndpointType::APP,
647 EndpointType::NATIVE,
648 EndpointType::NANOAPP,
649 EndpointType::GENERIC
650 };
651 return values;
652 }
653
654 inline const char * const *EnumNamesEndpointType() {
655 static const char * const names[7] = {
656 "INVALID",
657 "FRAMEWORK",
658 "APP",
659 "NATIVE",
660 "NANOAPP",
661 "GENERIC",
662 nullptr
663 };
664 return names;
665 }
666
667 inline const char *EnumNameEndpointType(EndpointType e) {
668 if (flatbuffers::IsOutRange(e, EndpointType::INVALID, EndpointType::GENERIC)) return "";
669 const size_t index = static_cast<size_t>(e);
670 return EnumNamesEndpointType()[index];
671 }
672
673 enum class RpcFormat : uint8_t {
674 /// Fully custom format
675 CUSTOM = 0,
676 /// Stable AIDL defined interface using Binder marshalling
677 AIDL = 1,
678 /// Pigweed RPC defined interface using Protobuf marshalling
679 PW_RPC = 2,
680 MIN = CUSTOM,
681 MAX = PW_RPC
682 };
683
684 inline const RpcFormat (&EnumValuesRpcFormat())[3] {
685 static const RpcFormat values[] = {
686 RpcFormat::CUSTOM,
687 RpcFormat::AIDL,
688 RpcFormat::PW_RPC
689 };
690 return values;
691 }
692
693 inline const char * const *EnumNamesRpcFormat() {
694 static const char * const names[4] = {
695 "CUSTOM",
696 "AIDL",
697 "PW_RPC",
698 nullptr
699 };
700 return names;
701 }
702
703 inline const char *EnumNameRpcFormat(RpcFormat e) {
704 if (flatbuffers::IsOutRange(e, RpcFormat::CUSTOM, RpcFormat::PW_RPC)) return "";
705 const size_t index = static_cast<size_t>(e);
706 return EnumNamesRpcFormat()[index];
707 }
708
709 /// "Reason"s for stopping an endpoint or session over an endpoint.
710 enum class Reason : uint8_t {
711 /// Unspecified reason.
712 UNSPECIFIED = 0,
713 /// Out of memory. There's not enough memory to perform this operation.
714 OUT_OF_MEMORY = 1,
715 /// Timeout. This operation timed out.
716 TIMEOUT = 2,
717 /// Endpoint rejected this openEndpointSession request.
718 OPEN_ENDPOINT_SESSION_REQUEST_REJECTED = 3,
719 /// Endpoint requested closeEndpointSession.
720 CLOSE_ENDPOINT_SESSION_REQUESTED = 4,
721 /// Invalid endpoint.
722 ENDPOINT_INVALID = 5,
723 /// Endpoint is now stopped.
724 ENDPOINT_GONE = 6,
725 /// Endpoint crashed.
726 ENDPOINT_CRASHED = 7,
727 /// Hub was reset or is resetting.
728 HUB_RESET = 8,
729 MIN = UNSPECIFIED,
730 MAX = HUB_RESET
731 };
732
733 inline const Reason (&EnumValuesReason())[9] {
734 static const Reason values[] = {
735 Reason::UNSPECIFIED,
736 Reason::OUT_OF_MEMORY,
737 Reason::TIMEOUT,
738 Reason::OPEN_ENDPOINT_SESSION_REQUEST_REJECTED,
739 Reason::CLOSE_ENDPOINT_SESSION_REQUESTED,
740 Reason::ENDPOINT_INVALID,
741 Reason::ENDPOINT_GONE,
742 Reason::ENDPOINT_CRASHED,
743 Reason::HUB_RESET
744 };
745 return values;
746 }
747
748 inline const char * const *EnumNamesReason() {
749 static const char * const names[10] = {
750 "UNSPECIFIED",
751 "OUT_OF_MEMORY",
752 "TIMEOUT",
753 "OPEN_ENDPOINT_SESSION_REQUEST_REJECTED",
754 "CLOSE_ENDPOINT_SESSION_REQUESTED",
755 "ENDPOINT_INVALID",
756 "ENDPOINT_GONE",
757 "ENDPOINT_CRASHED",
758 "HUB_RESET",
759 nullptr
760 };
761 return names;
762 }
763
764 inline const char *EnumNameReason(Reason e) {
765 if (flatbuffers::IsOutRange(e, Reason::UNSPECIFIED, Reason::HUB_RESET)) return "";
766 const size_t index = static_cast<size_t>(e);
767 return EnumNamesReason()[index];
768 }
769
770 /// A union that joins together all possible messages. Note that in FlatBuffers,
771 /// unions have an implicit type
772 enum class ChreMessage : uint8_t {
773 NONE = 0,
774 NanoappMessage = 1,
775 HubInfoRequest = 2,
776 HubInfoResponse = 3,
777 NanoappListRequest = 4,
778 NanoappListResponse = 5,
779 LoadNanoappRequest = 6,
780 LoadNanoappResponse = 7,
781 UnloadNanoappRequest = 8,
782 UnloadNanoappResponse = 9,
783 LogMessage = 10,
784 TimeSyncMessage = 11,
785 DebugDumpRequest = 12,
786 DebugDumpData = 13,
787 DebugDumpResponse = 14,
788 TimeSyncRequest = 15,
789 LowPowerMicAccessRequest = 16,
790 LowPowerMicAccessRelease = 17,
791 SettingChangeMessage = 18,
792 LogMessageV2 = 19,
793 SelfTestRequest = 20,
794 SelfTestResponse = 21,
795 HostEndpointConnected = 22,
796 HostEndpointDisconnected = 23,
797 MetricLog = 24,
798 BatchedMetricLog = 25,
799 NanConfigurationRequest = 26,
800 NanConfigurationUpdate = 27,
801 DebugConfiguration = 28,
802 PulseRequest = 29,
803 PulseResponse = 30,
804 NanoappTokenDatabaseInfo = 31,
805 MessageDeliveryStatus = 32,
806 BtSocketOpen = 33,
807 BtSocketOpenResponse = 34,
808 BtSocketClose = 35,
809 BtSocketCloseResponse = 36,
810 GetMessageHubsAndEndpointsRequest = 37,
811 GetMessageHubsAndEndpointsResponse = 38,
812 RegisterMessageHub = 39,
813 UnregisterMessageHub = 40,
814 RegisterEndpoint = 41,
815 UnregisterEndpoint = 42,
816 OpenEndpointSessionRequest = 43,
817 EndpointSessionOpened = 44,
818 EndpointSessionClosed = 45,
819 EndpointSessionMessage = 46,
820 EndpointSessionMessageDeliveryStatus = 47,
821 MIN = NONE,
822 MAX = EndpointSessionMessageDeliveryStatus
823 };
824
825 inline const ChreMessage (&EnumValuesChreMessage())[48] {
826 static const ChreMessage values[] = {
827 ChreMessage::NONE,
828 ChreMessage::NanoappMessage,
829 ChreMessage::HubInfoRequest,
830 ChreMessage::HubInfoResponse,
831 ChreMessage::NanoappListRequest,
832 ChreMessage::NanoappListResponse,
833 ChreMessage::LoadNanoappRequest,
834 ChreMessage::LoadNanoappResponse,
835 ChreMessage::UnloadNanoappRequest,
836 ChreMessage::UnloadNanoappResponse,
837 ChreMessage::LogMessage,
838 ChreMessage::TimeSyncMessage,
839 ChreMessage::DebugDumpRequest,
840 ChreMessage::DebugDumpData,
841 ChreMessage::DebugDumpResponse,
842 ChreMessage::TimeSyncRequest,
843 ChreMessage::LowPowerMicAccessRequest,
844 ChreMessage::LowPowerMicAccessRelease,
845 ChreMessage::SettingChangeMessage,
846 ChreMessage::LogMessageV2,
847 ChreMessage::SelfTestRequest,
848 ChreMessage::SelfTestResponse,
849 ChreMessage::HostEndpointConnected,
850 ChreMessage::HostEndpointDisconnected,
851 ChreMessage::MetricLog,
852 ChreMessage::BatchedMetricLog,
853 ChreMessage::NanConfigurationRequest,
854 ChreMessage::NanConfigurationUpdate,
855 ChreMessage::DebugConfiguration,
856 ChreMessage::PulseRequest,
857 ChreMessage::PulseResponse,
858 ChreMessage::NanoappTokenDatabaseInfo,
859 ChreMessage::MessageDeliveryStatus,
860 ChreMessage::BtSocketOpen,
861 ChreMessage::BtSocketOpenResponse,
862 ChreMessage::BtSocketClose,
863 ChreMessage::BtSocketCloseResponse,
864 ChreMessage::GetMessageHubsAndEndpointsRequest,
865 ChreMessage::GetMessageHubsAndEndpointsResponse,
866 ChreMessage::RegisterMessageHub,
867 ChreMessage::UnregisterMessageHub,
868 ChreMessage::RegisterEndpoint,
869 ChreMessage::UnregisterEndpoint,
870 ChreMessage::OpenEndpointSessionRequest,
871 ChreMessage::EndpointSessionOpened,
872 ChreMessage::EndpointSessionClosed,
873 ChreMessage::EndpointSessionMessage,
874 ChreMessage::EndpointSessionMessageDeliveryStatus
875 };
876 return values;
877 }
878
879 inline const char * const *EnumNamesChreMessage() {
880 static const char * const names[49] = {
881 "NONE",
882 "NanoappMessage",
883 "HubInfoRequest",
884 "HubInfoResponse",
885 "NanoappListRequest",
886 "NanoappListResponse",
887 "LoadNanoappRequest",
888 "LoadNanoappResponse",
889 "UnloadNanoappRequest",
890 "UnloadNanoappResponse",
891 "LogMessage",
892 "TimeSyncMessage",
893 "DebugDumpRequest",
894 "DebugDumpData",
895 "DebugDumpResponse",
896 "TimeSyncRequest",
897 "LowPowerMicAccessRequest",
898 "LowPowerMicAccessRelease",
899 "SettingChangeMessage",
900 "LogMessageV2",
901 "SelfTestRequest",
902 "SelfTestResponse",
903 "HostEndpointConnected",
904 "HostEndpointDisconnected",
905 "MetricLog",
906 "BatchedMetricLog",
907 "NanConfigurationRequest",
908 "NanConfigurationUpdate",
909 "DebugConfiguration",
910 "PulseRequest",
911 "PulseResponse",
912 "NanoappTokenDatabaseInfo",
913 "MessageDeliveryStatus",
914 "BtSocketOpen",
915 "BtSocketOpenResponse",
916 "BtSocketClose",
917 "BtSocketCloseResponse",
918 "GetMessageHubsAndEndpointsRequest",
919 "GetMessageHubsAndEndpointsResponse",
920 "RegisterMessageHub",
921 "UnregisterMessageHub",
922 "RegisterEndpoint",
923 "UnregisterEndpoint",
924 "OpenEndpointSessionRequest",
925 "EndpointSessionOpened",
926 "EndpointSessionClosed",
927 "EndpointSessionMessage",
928 "EndpointSessionMessageDeliveryStatus",
929 nullptr
930 };
931 return names;
932 }
933
934 inline const char *EnumNameChreMessage(ChreMessage e) {
935 if (flatbuffers::IsOutRange(e, ChreMessage::NONE, ChreMessage::EndpointSessionMessageDeliveryStatus)) return "";
936 const size_t index = static_cast<size_t>(e);
937 return EnumNamesChreMessage()[index];
938 }
939
940 template<typename T> struct ChreMessageTraits {
941 static const ChreMessage enum_value = ChreMessage::NONE;
942 };
943
944 template<> struct ChreMessageTraits<chre::fbs::NanoappMessage> {
945 static const ChreMessage enum_value = ChreMessage::NanoappMessage;
946 };
947
948 template<> struct ChreMessageTraits<chre::fbs::HubInfoRequest> {
949 static const ChreMessage enum_value = ChreMessage::HubInfoRequest;
950 };
951
952 template<> struct ChreMessageTraits<chre::fbs::HubInfoResponse> {
953 static const ChreMessage enum_value = ChreMessage::HubInfoResponse;
954 };
955
956 template<> struct ChreMessageTraits<chre::fbs::NanoappListRequest> {
957 static const ChreMessage enum_value = ChreMessage::NanoappListRequest;
958 };
959
960 template<> struct ChreMessageTraits<chre::fbs::NanoappListResponse> {
961 static const ChreMessage enum_value = ChreMessage::NanoappListResponse;
962 };
963
964 template<> struct ChreMessageTraits<chre::fbs::LoadNanoappRequest> {
965 static const ChreMessage enum_value = ChreMessage::LoadNanoappRequest;
966 };
967
968 template<> struct ChreMessageTraits<chre::fbs::LoadNanoappResponse> {
969 static const ChreMessage enum_value = ChreMessage::LoadNanoappResponse;
970 };
971
972 template<> struct ChreMessageTraits<chre::fbs::UnloadNanoappRequest> {
973 static const ChreMessage enum_value = ChreMessage::UnloadNanoappRequest;
974 };
975
976 template<> struct ChreMessageTraits<chre::fbs::UnloadNanoappResponse> {
977 static const ChreMessage enum_value = ChreMessage::UnloadNanoappResponse;
978 };
979
980 template<> struct ChreMessageTraits<chre::fbs::LogMessage> {
981 static const ChreMessage enum_value = ChreMessage::LogMessage;
982 };
983
984 template<> struct ChreMessageTraits<chre::fbs::TimeSyncMessage> {
985 static const ChreMessage enum_value = ChreMessage::TimeSyncMessage;
986 };
987
988 template<> struct ChreMessageTraits<chre::fbs::DebugDumpRequest> {
989 static const ChreMessage enum_value = ChreMessage::DebugDumpRequest;
990 };
991
992 template<> struct ChreMessageTraits<chre::fbs::DebugDumpData> {
993 static const ChreMessage enum_value = ChreMessage::DebugDumpData;
994 };
995
996 template<> struct ChreMessageTraits<chre::fbs::DebugDumpResponse> {
997 static const ChreMessage enum_value = ChreMessage::DebugDumpResponse;
998 };
999
1000 template<> struct ChreMessageTraits<chre::fbs::TimeSyncRequest> {
1001 static const ChreMessage enum_value = ChreMessage::TimeSyncRequest;
1002 };
1003
1004 template<> struct ChreMessageTraits<chre::fbs::LowPowerMicAccessRequest> {
1005 static const ChreMessage enum_value = ChreMessage::LowPowerMicAccessRequest;
1006 };
1007
1008 template<> struct ChreMessageTraits<chre::fbs::LowPowerMicAccessRelease> {
1009 static const ChreMessage enum_value = ChreMessage::LowPowerMicAccessRelease;
1010 };
1011
1012 template<> struct ChreMessageTraits<chre::fbs::SettingChangeMessage> {
1013 static const ChreMessage enum_value = ChreMessage::SettingChangeMessage;
1014 };
1015
1016 template<> struct ChreMessageTraits<chre::fbs::LogMessageV2> {
1017 static const ChreMessage enum_value = ChreMessage::LogMessageV2;
1018 };
1019
1020 template<> struct ChreMessageTraits<chre::fbs::SelfTestRequest> {
1021 static const ChreMessage enum_value = ChreMessage::SelfTestRequest;
1022 };
1023
1024 template<> struct ChreMessageTraits<chre::fbs::SelfTestResponse> {
1025 static const ChreMessage enum_value = ChreMessage::SelfTestResponse;
1026 };
1027
1028 template<> struct ChreMessageTraits<chre::fbs::HostEndpointConnected> {
1029 static const ChreMessage enum_value = ChreMessage::HostEndpointConnected;
1030 };
1031
1032 template<> struct ChreMessageTraits<chre::fbs::HostEndpointDisconnected> {
1033 static const ChreMessage enum_value = ChreMessage::HostEndpointDisconnected;
1034 };
1035
1036 template<> struct ChreMessageTraits<chre::fbs::MetricLog> {
1037 static const ChreMessage enum_value = ChreMessage::MetricLog;
1038 };
1039
1040 template<> struct ChreMessageTraits<chre::fbs::BatchedMetricLog> {
1041 static const ChreMessage enum_value = ChreMessage::BatchedMetricLog;
1042 };
1043
1044 template<> struct ChreMessageTraits<chre::fbs::NanConfigurationRequest> {
1045 static const ChreMessage enum_value = ChreMessage::NanConfigurationRequest;
1046 };
1047
1048 template<> struct ChreMessageTraits<chre::fbs::NanConfigurationUpdate> {
1049 static const ChreMessage enum_value = ChreMessage::NanConfigurationUpdate;
1050 };
1051
1052 template<> struct ChreMessageTraits<chre::fbs::DebugConfiguration> {
1053 static const ChreMessage enum_value = ChreMessage::DebugConfiguration;
1054 };
1055
1056 template<> struct ChreMessageTraits<chre::fbs::PulseRequest> {
1057 static const ChreMessage enum_value = ChreMessage::PulseRequest;
1058 };
1059
1060 template<> struct ChreMessageTraits<chre::fbs::PulseResponse> {
1061 static const ChreMessage enum_value = ChreMessage::PulseResponse;
1062 };
1063
1064 template<> struct ChreMessageTraits<chre::fbs::NanoappTokenDatabaseInfo> {
1065 static const ChreMessage enum_value = ChreMessage::NanoappTokenDatabaseInfo;
1066 };
1067
1068 template<> struct ChreMessageTraits<chre::fbs::MessageDeliveryStatus> {
1069 static const ChreMessage enum_value = ChreMessage::MessageDeliveryStatus;
1070 };
1071
1072 template<> struct ChreMessageTraits<chre::fbs::BtSocketOpen> {
1073 static const ChreMessage enum_value = ChreMessage::BtSocketOpen;
1074 };
1075
1076 template<> struct ChreMessageTraits<chre::fbs::BtSocketOpenResponse> {
1077 static const ChreMessage enum_value = ChreMessage::BtSocketOpenResponse;
1078 };
1079
1080 template<> struct ChreMessageTraits<chre::fbs::BtSocketClose> {
1081 static const ChreMessage enum_value = ChreMessage::BtSocketClose;
1082 };
1083
1084 template<> struct ChreMessageTraits<chre::fbs::BtSocketCloseResponse> {
1085 static const ChreMessage enum_value = ChreMessage::BtSocketCloseResponse;
1086 };
1087
1088 template<> struct ChreMessageTraits<chre::fbs::GetMessageHubsAndEndpointsRequest> {
1089 static const ChreMessage enum_value = ChreMessage::GetMessageHubsAndEndpointsRequest;
1090 };
1091
1092 template<> struct ChreMessageTraits<chre::fbs::GetMessageHubsAndEndpointsResponse> {
1093 static const ChreMessage enum_value = ChreMessage::GetMessageHubsAndEndpointsResponse;
1094 };
1095
1096 template<> struct ChreMessageTraits<chre::fbs::RegisterMessageHub> {
1097 static const ChreMessage enum_value = ChreMessage::RegisterMessageHub;
1098 };
1099
1100 template<> struct ChreMessageTraits<chre::fbs::UnregisterMessageHub> {
1101 static const ChreMessage enum_value = ChreMessage::UnregisterMessageHub;
1102 };
1103
1104 template<> struct ChreMessageTraits<chre::fbs::RegisterEndpoint> {
1105 static const ChreMessage enum_value = ChreMessage::RegisterEndpoint;
1106 };
1107
1108 template<> struct ChreMessageTraits<chre::fbs::UnregisterEndpoint> {
1109 static const ChreMessage enum_value = ChreMessage::UnregisterEndpoint;
1110 };
1111
1112 template<> struct ChreMessageTraits<chre::fbs::OpenEndpointSessionRequest> {
1113 static const ChreMessage enum_value = ChreMessage::OpenEndpointSessionRequest;
1114 };
1115
1116 template<> struct ChreMessageTraits<chre::fbs::EndpointSessionOpened> {
1117 static const ChreMessage enum_value = ChreMessage::EndpointSessionOpened;
1118 };
1119
1120 template<> struct ChreMessageTraits<chre::fbs::EndpointSessionClosed> {
1121 static const ChreMessage enum_value = ChreMessage::EndpointSessionClosed;
1122 };
1123
1124 template<> struct ChreMessageTraits<chre::fbs::EndpointSessionMessage> {
1125 static const ChreMessage enum_value = ChreMessage::EndpointSessionMessage;
1126 };
1127
1128 template<> struct ChreMessageTraits<chre::fbs::EndpointSessionMessageDeliveryStatus> {
1129 static const ChreMessage enum_value = ChreMessage::EndpointSessionMessageDeliveryStatus;
1130 };
1131
1132 struct ChreMessageUnion {
1133 ChreMessage type;
1134 void *value;
1135
1136 ChreMessageUnion() : type(ChreMessage::NONE), value(nullptr) {}
1137 ChreMessageUnion(ChreMessageUnion&& u) FLATBUFFERS_NOEXCEPT :
1138 type(ChreMessage::NONE), value(nullptr)
1139 { std::swap(type, u.type); std::swap(value, u.value); }
1140 ChreMessageUnion(const ChreMessageUnion &);
1141 ChreMessageUnion &operator=(const ChreMessageUnion &u)
1142 { ChreMessageUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; }
1143 ChreMessageUnion &operator=(ChreMessageUnion &&u) FLATBUFFERS_NOEXCEPT
1144 { std::swap(type, u.type); std::swap(value, u.value); return *this; }
1145 ~ChreMessageUnion() { Reset(); }
1146
1147 void Reset();
1148
1149 #ifndef FLATBUFFERS_CPP98_STL
1150 template <typename T>
1151 void Set(T&& val) {
1152 using RT = typename std::remove_reference<T>::type;
1153 Reset();
1154 type = ChreMessageTraits<typename RT::TableType>::enum_value;
1155 if (type != ChreMessage::NONE) {
1156 value = new RT(std::forward<T>(val));
1157 }
1158 }
1159 #endif // FLATBUFFERS_CPP98_STL
1160
1161 static void *UnPack(const void *obj, ChreMessage type, const flatbuffers::resolver_function_t *resolver);
1162 flatbuffers::Offset<void> Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const;
1163
1164 chre::fbs::NanoappMessageT *AsNanoappMessage() {
1165 return type == ChreMessage::NanoappMessage ?
1166 reinterpret_cast<chre::fbs::NanoappMessageT *>(value) : nullptr;
1167 }
1168 const chre::fbs::NanoappMessageT *AsNanoappMessage() const {
1169 return type == ChreMessage::NanoappMessage ?
1170 reinterpret_cast<const chre::fbs::NanoappMessageT *>(value) : nullptr;
1171 }
1172 chre::fbs::HubInfoRequestT *AsHubInfoRequest() {
1173 return type == ChreMessage::HubInfoRequest ?
1174 reinterpret_cast<chre::fbs::HubInfoRequestT *>(value) : nullptr;
1175 }
1176 const chre::fbs::HubInfoRequestT *AsHubInfoRequest() const {
1177 return type == ChreMessage::HubInfoRequest ?
1178 reinterpret_cast<const chre::fbs::HubInfoRequestT *>(value) : nullptr;
1179 }
1180 chre::fbs::HubInfoResponseT *AsHubInfoResponse() {
1181 return type == ChreMessage::HubInfoResponse ?
1182 reinterpret_cast<chre::fbs::HubInfoResponseT *>(value) : nullptr;
1183 }
1184 const chre::fbs::HubInfoResponseT *AsHubInfoResponse() const {
1185 return type == ChreMessage::HubInfoResponse ?
1186 reinterpret_cast<const chre::fbs::HubInfoResponseT *>(value) : nullptr;
1187 }
1188 chre::fbs::NanoappListRequestT *AsNanoappListRequest() {
1189 return type == ChreMessage::NanoappListRequest ?
1190 reinterpret_cast<chre::fbs::NanoappListRequestT *>(value) : nullptr;
1191 }
1192 const chre::fbs::NanoappListRequestT *AsNanoappListRequest() const {
1193 return type == ChreMessage::NanoappListRequest ?
1194 reinterpret_cast<const chre::fbs::NanoappListRequestT *>(value) : nullptr;
1195 }
1196 chre::fbs::NanoappListResponseT *AsNanoappListResponse() {
1197 return type == ChreMessage::NanoappListResponse ?
1198 reinterpret_cast<chre::fbs::NanoappListResponseT *>(value) : nullptr;
1199 }
1200 const chre::fbs::NanoappListResponseT *AsNanoappListResponse() const {
1201 return type == ChreMessage::NanoappListResponse ?
1202 reinterpret_cast<const chre::fbs::NanoappListResponseT *>(value) : nullptr;
1203 }
1204 chre::fbs::LoadNanoappRequestT *AsLoadNanoappRequest() {
1205 return type == ChreMessage::LoadNanoappRequest ?
1206 reinterpret_cast<chre::fbs::LoadNanoappRequestT *>(value) : nullptr;
1207 }
1208 const chre::fbs::LoadNanoappRequestT *AsLoadNanoappRequest() const {
1209 return type == ChreMessage::LoadNanoappRequest ?
1210 reinterpret_cast<const chre::fbs::LoadNanoappRequestT *>(value) : nullptr;
1211 }
1212 chre::fbs::LoadNanoappResponseT *AsLoadNanoappResponse() {
1213 return type == ChreMessage::LoadNanoappResponse ?
1214 reinterpret_cast<chre::fbs::LoadNanoappResponseT *>(value) : nullptr;
1215 }
1216 const chre::fbs::LoadNanoappResponseT *AsLoadNanoappResponse() const {
1217 return type == ChreMessage::LoadNanoappResponse ?
1218 reinterpret_cast<const chre::fbs::LoadNanoappResponseT *>(value) : nullptr;
1219 }
1220 chre::fbs::UnloadNanoappRequestT *AsUnloadNanoappRequest() {
1221 return type == ChreMessage::UnloadNanoappRequest ?
1222 reinterpret_cast<chre::fbs::UnloadNanoappRequestT *>(value) : nullptr;
1223 }
1224 const chre::fbs::UnloadNanoappRequestT *AsUnloadNanoappRequest() const {
1225 return type == ChreMessage::UnloadNanoappRequest ?
1226 reinterpret_cast<const chre::fbs::UnloadNanoappRequestT *>(value) : nullptr;
1227 }
1228 chre::fbs::UnloadNanoappResponseT *AsUnloadNanoappResponse() {
1229 return type == ChreMessage::UnloadNanoappResponse ?
1230 reinterpret_cast<chre::fbs::UnloadNanoappResponseT *>(value) : nullptr;
1231 }
1232 const chre::fbs::UnloadNanoappResponseT *AsUnloadNanoappResponse() const {
1233 return type == ChreMessage::UnloadNanoappResponse ?
1234 reinterpret_cast<const chre::fbs::UnloadNanoappResponseT *>(value) : nullptr;
1235 }
1236 chre::fbs::LogMessageT *AsLogMessage() {
1237 return type == ChreMessage::LogMessage ?
1238 reinterpret_cast<chre::fbs::LogMessageT *>(value) : nullptr;
1239 }
1240 const chre::fbs::LogMessageT *AsLogMessage() const {
1241 return type == ChreMessage::LogMessage ?
1242 reinterpret_cast<const chre::fbs::LogMessageT *>(value) : nullptr;
1243 }
1244 chre::fbs::TimeSyncMessageT *AsTimeSyncMessage() {
1245 return type == ChreMessage::TimeSyncMessage ?
1246 reinterpret_cast<chre::fbs::TimeSyncMessageT *>(value) : nullptr;
1247 }
1248 const chre::fbs::TimeSyncMessageT *AsTimeSyncMessage() const {
1249 return type == ChreMessage::TimeSyncMessage ?
1250 reinterpret_cast<const chre::fbs::TimeSyncMessageT *>(value) : nullptr;
1251 }
1252 chre::fbs::DebugDumpRequestT *AsDebugDumpRequest() {
1253 return type == ChreMessage::DebugDumpRequest ?
1254 reinterpret_cast<chre::fbs::DebugDumpRequestT *>(value) : nullptr;
1255 }
1256 const chre::fbs::DebugDumpRequestT *AsDebugDumpRequest() const {
1257 return type == ChreMessage::DebugDumpRequest ?
1258 reinterpret_cast<const chre::fbs::DebugDumpRequestT *>(value) : nullptr;
1259 }
1260 chre::fbs::DebugDumpDataT *AsDebugDumpData() {
1261 return type == ChreMessage::DebugDumpData ?
1262 reinterpret_cast<chre::fbs::DebugDumpDataT *>(value) : nullptr;
1263 }
1264 const chre::fbs::DebugDumpDataT *AsDebugDumpData() const {
1265 return type == ChreMessage::DebugDumpData ?
1266 reinterpret_cast<const chre::fbs::DebugDumpDataT *>(value) : nullptr;
1267 }
1268 chre::fbs::DebugDumpResponseT *AsDebugDumpResponse() {
1269 return type == ChreMessage::DebugDumpResponse ?
1270 reinterpret_cast<chre::fbs::DebugDumpResponseT *>(value) : nullptr;
1271 }
1272 const chre::fbs::DebugDumpResponseT *AsDebugDumpResponse() const {
1273 return type == ChreMessage::DebugDumpResponse ?
1274 reinterpret_cast<const chre::fbs::DebugDumpResponseT *>(value) : nullptr;
1275 }
1276 chre::fbs::TimeSyncRequestT *AsTimeSyncRequest() {
1277 return type == ChreMessage::TimeSyncRequest ?
1278 reinterpret_cast<chre::fbs::TimeSyncRequestT *>(value) : nullptr;
1279 }
1280 const chre::fbs::TimeSyncRequestT *AsTimeSyncRequest() const {
1281 return type == ChreMessage::TimeSyncRequest ?
1282 reinterpret_cast<const chre::fbs::TimeSyncRequestT *>(value) : nullptr;
1283 }
1284 chre::fbs::LowPowerMicAccessRequestT *AsLowPowerMicAccessRequest() {
1285 return type == ChreMessage::LowPowerMicAccessRequest ?
1286 reinterpret_cast<chre::fbs::LowPowerMicAccessRequestT *>(value) : nullptr;
1287 }
1288 const chre::fbs::LowPowerMicAccessRequestT *AsLowPowerMicAccessRequest() const {
1289 return type == ChreMessage::LowPowerMicAccessRequest ?
1290 reinterpret_cast<const chre::fbs::LowPowerMicAccessRequestT *>(value) : nullptr;
1291 }
1292 chre::fbs::LowPowerMicAccessReleaseT *AsLowPowerMicAccessRelease() {
1293 return type == ChreMessage::LowPowerMicAccessRelease ?
1294 reinterpret_cast<chre::fbs::LowPowerMicAccessReleaseT *>(value) : nullptr;
1295 }
1296 const chre::fbs::LowPowerMicAccessReleaseT *AsLowPowerMicAccessRelease() const {
1297 return type == ChreMessage::LowPowerMicAccessRelease ?
1298 reinterpret_cast<const chre::fbs::LowPowerMicAccessReleaseT *>(value) : nullptr;
1299 }
1300 chre::fbs::SettingChangeMessageT *AsSettingChangeMessage() {
1301 return type == ChreMessage::SettingChangeMessage ?
1302 reinterpret_cast<chre::fbs::SettingChangeMessageT *>(value) : nullptr;
1303 }
1304 const chre::fbs::SettingChangeMessageT *AsSettingChangeMessage() const {
1305 return type == ChreMessage::SettingChangeMessage ?
1306 reinterpret_cast<const chre::fbs::SettingChangeMessageT *>(value) : nullptr;
1307 }
1308 chre::fbs::LogMessageV2T *AsLogMessageV2() {
1309 return type == ChreMessage::LogMessageV2 ?
1310 reinterpret_cast<chre::fbs::LogMessageV2T *>(value) : nullptr;
1311 }
1312 const chre::fbs::LogMessageV2T *AsLogMessageV2() const {
1313 return type == ChreMessage::LogMessageV2 ?
1314 reinterpret_cast<const chre::fbs::LogMessageV2T *>(value) : nullptr;
1315 }
1316 chre::fbs::SelfTestRequestT *AsSelfTestRequest() {
1317 return type == ChreMessage::SelfTestRequest ?
1318 reinterpret_cast<chre::fbs::SelfTestRequestT *>(value) : nullptr;
1319 }
1320 const chre::fbs::SelfTestRequestT *AsSelfTestRequest() const {
1321 return type == ChreMessage::SelfTestRequest ?
1322 reinterpret_cast<const chre::fbs::SelfTestRequestT *>(value) : nullptr;
1323 }
1324 chre::fbs::SelfTestResponseT *AsSelfTestResponse() {
1325 return type == ChreMessage::SelfTestResponse ?
1326 reinterpret_cast<chre::fbs::SelfTestResponseT *>(value) : nullptr;
1327 }
1328 const chre::fbs::SelfTestResponseT *AsSelfTestResponse() const {
1329 return type == ChreMessage::SelfTestResponse ?
1330 reinterpret_cast<const chre::fbs::SelfTestResponseT *>(value) : nullptr;
1331 }
1332 chre::fbs::HostEndpointConnectedT *AsHostEndpointConnected() {
1333 return type == ChreMessage::HostEndpointConnected ?
1334 reinterpret_cast<chre::fbs::HostEndpointConnectedT *>(value) : nullptr;
1335 }
1336 const chre::fbs::HostEndpointConnectedT *AsHostEndpointConnected() const {
1337 return type == ChreMessage::HostEndpointConnected ?
1338 reinterpret_cast<const chre::fbs::HostEndpointConnectedT *>(value) : nullptr;
1339 }
1340 chre::fbs::HostEndpointDisconnectedT *AsHostEndpointDisconnected() {
1341 return type == ChreMessage::HostEndpointDisconnected ?
1342 reinterpret_cast<chre::fbs::HostEndpointDisconnectedT *>(value) : nullptr;
1343 }
1344 const chre::fbs::HostEndpointDisconnectedT *AsHostEndpointDisconnected() const {
1345 return type == ChreMessage::HostEndpointDisconnected ?
1346 reinterpret_cast<const chre::fbs::HostEndpointDisconnectedT *>(value) : nullptr;
1347 }
1348 chre::fbs::MetricLogT *AsMetricLog() {
1349 return type == ChreMessage::MetricLog ?
1350 reinterpret_cast<chre::fbs::MetricLogT *>(value) : nullptr;
1351 }
1352 const chre::fbs::MetricLogT *AsMetricLog() const {
1353 return type == ChreMessage::MetricLog ?
1354 reinterpret_cast<const chre::fbs::MetricLogT *>(value) : nullptr;
1355 }
1356 chre::fbs::BatchedMetricLogT *AsBatchedMetricLog() {
1357 return type == ChreMessage::BatchedMetricLog ?
1358 reinterpret_cast<chre::fbs::BatchedMetricLogT *>(value) : nullptr;
1359 }
1360 const chre::fbs::BatchedMetricLogT *AsBatchedMetricLog() const {
1361 return type == ChreMessage::BatchedMetricLog ?
1362 reinterpret_cast<const chre::fbs::BatchedMetricLogT *>(value) : nullptr;
1363 }
1364 chre::fbs::NanConfigurationRequestT *AsNanConfigurationRequest() {
1365 return type == ChreMessage::NanConfigurationRequest ?
1366 reinterpret_cast<chre::fbs::NanConfigurationRequestT *>(value) : nullptr;
1367 }
1368 const chre::fbs::NanConfigurationRequestT *AsNanConfigurationRequest() const {
1369 return type == ChreMessage::NanConfigurationRequest ?
1370 reinterpret_cast<const chre::fbs::NanConfigurationRequestT *>(value) : nullptr;
1371 }
1372 chre::fbs::NanConfigurationUpdateT *AsNanConfigurationUpdate() {
1373 return type == ChreMessage::NanConfigurationUpdate ?
1374 reinterpret_cast<chre::fbs::NanConfigurationUpdateT *>(value) : nullptr;
1375 }
1376 const chre::fbs::NanConfigurationUpdateT *AsNanConfigurationUpdate() const {
1377 return type == ChreMessage::NanConfigurationUpdate ?
1378 reinterpret_cast<const chre::fbs::NanConfigurationUpdateT *>(value) : nullptr;
1379 }
1380 chre::fbs::DebugConfigurationT *AsDebugConfiguration() {
1381 return type == ChreMessage::DebugConfiguration ?
1382 reinterpret_cast<chre::fbs::DebugConfigurationT *>(value) : nullptr;
1383 }
1384 const chre::fbs::DebugConfigurationT *AsDebugConfiguration() const {
1385 return type == ChreMessage::DebugConfiguration ?
1386 reinterpret_cast<const chre::fbs::DebugConfigurationT *>(value) : nullptr;
1387 }
1388 chre::fbs::PulseRequestT *AsPulseRequest() {
1389 return type == ChreMessage::PulseRequest ?
1390 reinterpret_cast<chre::fbs::PulseRequestT *>(value) : nullptr;
1391 }
1392 const chre::fbs::PulseRequestT *AsPulseRequest() const {
1393 return type == ChreMessage::PulseRequest ?
1394 reinterpret_cast<const chre::fbs::PulseRequestT *>(value) : nullptr;
1395 }
1396 chre::fbs::PulseResponseT *AsPulseResponse() {
1397 return type == ChreMessage::PulseResponse ?
1398 reinterpret_cast<chre::fbs::PulseResponseT *>(value) : nullptr;
1399 }
1400 const chre::fbs::PulseResponseT *AsPulseResponse() const {
1401 return type == ChreMessage::PulseResponse ?
1402 reinterpret_cast<const chre::fbs::PulseResponseT *>(value) : nullptr;
1403 }
1404 chre::fbs::NanoappTokenDatabaseInfoT *AsNanoappTokenDatabaseInfo() {
1405 return type == ChreMessage::NanoappTokenDatabaseInfo ?
1406 reinterpret_cast<chre::fbs::NanoappTokenDatabaseInfoT *>(value) : nullptr;
1407 }
1408 const chre::fbs::NanoappTokenDatabaseInfoT *AsNanoappTokenDatabaseInfo() const {
1409 return type == ChreMessage::NanoappTokenDatabaseInfo ?
1410 reinterpret_cast<const chre::fbs::NanoappTokenDatabaseInfoT *>(value) : nullptr;
1411 }
1412 chre::fbs::MessageDeliveryStatusT *AsMessageDeliveryStatus() {
1413 return type == ChreMessage::MessageDeliveryStatus ?
1414 reinterpret_cast<chre::fbs::MessageDeliveryStatusT *>(value) : nullptr;
1415 }
1416 const chre::fbs::MessageDeliveryStatusT *AsMessageDeliveryStatus() const {
1417 return type == ChreMessage::MessageDeliveryStatus ?
1418 reinterpret_cast<const chre::fbs::MessageDeliveryStatusT *>(value) : nullptr;
1419 }
1420 chre::fbs::BtSocketOpenT *AsBtSocketOpen() {
1421 return type == ChreMessage::BtSocketOpen ?
1422 reinterpret_cast<chre::fbs::BtSocketOpenT *>(value) : nullptr;
1423 }
1424 const chre::fbs::BtSocketOpenT *AsBtSocketOpen() const {
1425 return type == ChreMessage::BtSocketOpen ?
1426 reinterpret_cast<const chre::fbs::BtSocketOpenT *>(value) : nullptr;
1427 }
1428 chre::fbs::BtSocketOpenResponseT *AsBtSocketOpenResponse() {
1429 return type == ChreMessage::BtSocketOpenResponse ?
1430 reinterpret_cast<chre::fbs::BtSocketOpenResponseT *>(value) : nullptr;
1431 }
1432 const chre::fbs::BtSocketOpenResponseT *AsBtSocketOpenResponse() const {
1433 return type == ChreMessage::BtSocketOpenResponse ?
1434 reinterpret_cast<const chre::fbs::BtSocketOpenResponseT *>(value) : nullptr;
1435 }
1436 chre::fbs::BtSocketCloseT *AsBtSocketClose() {
1437 return type == ChreMessage::BtSocketClose ?
1438 reinterpret_cast<chre::fbs::BtSocketCloseT *>(value) : nullptr;
1439 }
1440 const chre::fbs::BtSocketCloseT *AsBtSocketClose() const {
1441 return type == ChreMessage::BtSocketClose ?
1442 reinterpret_cast<const chre::fbs::BtSocketCloseT *>(value) : nullptr;
1443 }
1444 chre::fbs::BtSocketCloseResponseT *AsBtSocketCloseResponse() {
1445 return type == ChreMessage::BtSocketCloseResponse ?
1446 reinterpret_cast<chre::fbs::BtSocketCloseResponseT *>(value) : nullptr;
1447 }
1448 const chre::fbs::BtSocketCloseResponseT *AsBtSocketCloseResponse() const {
1449 return type == ChreMessage::BtSocketCloseResponse ?
1450 reinterpret_cast<const chre::fbs::BtSocketCloseResponseT *>(value) : nullptr;
1451 }
1452 chre::fbs::GetMessageHubsAndEndpointsRequestT *AsGetMessageHubsAndEndpointsRequest() {
1453 return type == ChreMessage::GetMessageHubsAndEndpointsRequest ?
1454 reinterpret_cast<chre::fbs::GetMessageHubsAndEndpointsRequestT *>(value) : nullptr;
1455 }
1456 const chre::fbs::GetMessageHubsAndEndpointsRequestT *AsGetMessageHubsAndEndpointsRequest() const {
1457 return type == ChreMessage::GetMessageHubsAndEndpointsRequest ?
1458 reinterpret_cast<const chre::fbs::GetMessageHubsAndEndpointsRequestT *>(value) : nullptr;
1459 }
1460 chre::fbs::GetMessageHubsAndEndpointsResponseT *AsGetMessageHubsAndEndpointsResponse() {
1461 return type == ChreMessage::GetMessageHubsAndEndpointsResponse ?
1462 reinterpret_cast<chre::fbs::GetMessageHubsAndEndpointsResponseT *>(value) : nullptr;
1463 }
1464 const chre::fbs::GetMessageHubsAndEndpointsResponseT *AsGetMessageHubsAndEndpointsResponse() const {
1465 return type == ChreMessage::GetMessageHubsAndEndpointsResponse ?
1466 reinterpret_cast<const chre::fbs::GetMessageHubsAndEndpointsResponseT *>(value) : nullptr;
1467 }
1468 chre::fbs::RegisterMessageHubT *AsRegisterMessageHub() {
1469 return type == ChreMessage::RegisterMessageHub ?
1470 reinterpret_cast<chre::fbs::RegisterMessageHubT *>(value) : nullptr;
1471 }
1472 const chre::fbs::RegisterMessageHubT *AsRegisterMessageHub() const {
1473 return type == ChreMessage::RegisterMessageHub ?
1474 reinterpret_cast<const chre::fbs::RegisterMessageHubT *>(value) : nullptr;
1475 }
1476 chre::fbs::UnregisterMessageHubT *AsUnregisterMessageHub() {
1477 return type == ChreMessage::UnregisterMessageHub ?
1478 reinterpret_cast<chre::fbs::UnregisterMessageHubT *>(value) : nullptr;
1479 }
1480 const chre::fbs::UnregisterMessageHubT *AsUnregisterMessageHub() const {
1481 return type == ChreMessage::UnregisterMessageHub ?
1482 reinterpret_cast<const chre::fbs::UnregisterMessageHubT *>(value) : nullptr;
1483 }
1484 chre::fbs::RegisterEndpointT *AsRegisterEndpoint() {
1485 return type == ChreMessage::RegisterEndpoint ?
1486 reinterpret_cast<chre::fbs::RegisterEndpointT *>(value) : nullptr;
1487 }
1488 const chre::fbs::RegisterEndpointT *AsRegisterEndpoint() const {
1489 return type == ChreMessage::RegisterEndpoint ?
1490 reinterpret_cast<const chre::fbs::RegisterEndpointT *>(value) : nullptr;
1491 }
1492 chre::fbs::UnregisterEndpointT *AsUnregisterEndpoint() {
1493 return type == ChreMessage::UnregisterEndpoint ?
1494 reinterpret_cast<chre::fbs::UnregisterEndpointT *>(value) : nullptr;
1495 }
1496 const chre::fbs::UnregisterEndpointT *AsUnregisterEndpoint() const {
1497 return type == ChreMessage::UnregisterEndpoint ?
1498 reinterpret_cast<const chre::fbs::UnregisterEndpointT *>(value) : nullptr;
1499 }
1500 chre::fbs::OpenEndpointSessionRequestT *AsOpenEndpointSessionRequest() {
1501 return type == ChreMessage::OpenEndpointSessionRequest ?
1502 reinterpret_cast<chre::fbs::OpenEndpointSessionRequestT *>(value) : nullptr;
1503 }
1504 const chre::fbs::OpenEndpointSessionRequestT *AsOpenEndpointSessionRequest() const {
1505 return type == ChreMessage::OpenEndpointSessionRequest ?
1506 reinterpret_cast<const chre::fbs::OpenEndpointSessionRequestT *>(value) : nullptr;
1507 }
1508 chre::fbs::EndpointSessionOpenedT *AsEndpointSessionOpened() {
1509 return type == ChreMessage::EndpointSessionOpened ?
1510 reinterpret_cast<chre::fbs::EndpointSessionOpenedT *>(value) : nullptr;
1511 }
1512 const chre::fbs::EndpointSessionOpenedT *AsEndpointSessionOpened() const {
1513 return type == ChreMessage::EndpointSessionOpened ?
1514 reinterpret_cast<const chre::fbs::EndpointSessionOpenedT *>(value) : nullptr;
1515 }
1516 chre::fbs::EndpointSessionClosedT *AsEndpointSessionClosed() {
1517 return type == ChreMessage::EndpointSessionClosed ?
1518 reinterpret_cast<chre::fbs::EndpointSessionClosedT *>(value) : nullptr;
1519 }
1520 const chre::fbs::EndpointSessionClosedT *AsEndpointSessionClosed() const {
1521 return type == ChreMessage::EndpointSessionClosed ?
1522 reinterpret_cast<const chre::fbs::EndpointSessionClosedT *>(value) : nullptr;
1523 }
1524 chre::fbs::EndpointSessionMessageT *AsEndpointSessionMessage() {
1525 return type == ChreMessage::EndpointSessionMessage ?
1526 reinterpret_cast<chre::fbs::EndpointSessionMessageT *>(value) : nullptr;
1527 }
1528 const chre::fbs::EndpointSessionMessageT *AsEndpointSessionMessage() const {
1529 return type == ChreMessage::EndpointSessionMessage ?
1530 reinterpret_cast<const chre::fbs::EndpointSessionMessageT *>(value) : nullptr;
1531 }
1532 chre::fbs::EndpointSessionMessageDeliveryStatusT *AsEndpointSessionMessageDeliveryStatus() {
1533 return type == ChreMessage::EndpointSessionMessageDeliveryStatus ?
1534 reinterpret_cast<chre::fbs::EndpointSessionMessageDeliveryStatusT *>(value) : nullptr;
1535 }
1536 const chre::fbs::EndpointSessionMessageDeliveryStatusT *AsEndpointSessionMessageDeliveryStatus() const {
1537 return type == ChreMessage::EndpointSessionMessageDeliveryStatus ?
1538 reinterpret_cast<const chre::fbs::EndpointSessionMessageDeliveryStatusT *>(value) : nullptr;
1539 }
1540 };
1541
1542 bool VerifyChreMessage(flatbuffers::Verifier &verifier, const void *obj, ChreMessage type);
1543 bool VerifyChreMessageVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
1544
1545 FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(2) HostAddress FLATBUFFERS_FINAL_CLASS {
1546 private:
1547 uint16_t client_id_;
1548
1549 public:
1550 HostAddress() {
1551 memset(static_cast<void *>(this), 0, sizeof(HostAddress));
1552 }
1553 HostAddress(uint16_t _client_id)
1554 : client_id_(flatbuffers::EndianScalar(_client_id)) {
1555 }
1556 uint16_t client_id() const {
1557 return flatbuffers::EndianScalar(client_id_);
1558 }
1559 void mutate_client_id(uint16_t _client_id) {
1560 flatbuffers::WriteScalar(&client_id_, _client_id);
1561 }
1562 };
1563 FLATBUFFERS_STRUCT_END(HostAddress, 2);
1564
1565 struct NanoappMessageT : public flatbuffers::NativeTable {
1566 typedef NanoappMessage TableType;
1567 uint64_t app_id;
1568 uint32_t message_type;
1569 uint16_t host_endpoint;
1570 std::vector<uint8_t> message;
1571 uint32_t message_permissions;
1572 uint32_t permissions;
1573 bool woke_host;
1574 bool is_reliable;
1575 uint32_t message_sequence_number;
1576 NanoappMessageT()
1577 : app_id(0),
1578 message_type(0),
1579 host_endpoint(65534),
1580 message_permissions(0),
1581 permissions(0),
1582 woke_host(false),
1583 is_reliable(false),
1584 message_sequence_number(0) {
1585 }
1586 };
1587
1588 /// Represents a message sent to/from a nanoapp from/to a client on the host
1589 struct NanoappMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1590 typedef NanoappMessageT NativeTableType;
1591 typedef NanoappMessageBuilder Builder;
1592 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1593 VT_APP_ID = 4,
1594 VT_MESSAGE_TYPE = 6,
1595 VT_HOST_ENDPOINT = 8,
1596 VT_MESSAGE = 10,
1597 VT_MESSAGE_PERMISSIONS = 12,
1598 VT_PERMISSIONS = 14,
1599 VT_WOKE_HOST = 16,
1600 VT_IS_RELIABLE = 18,
1601 VT_MESSAGE_SEQUENCE_NUMBER = 20
1602 };
1603 uint64_t app_id() const {
1604 return GetField<uint64_t>(VT_APP_ID, 0);
1605 }
1606 bool mutate_app_id(uint64_t _app_id) {
1607 return SetField<uint64_t>(VT_APP_ID, _app_id, 0);
1608 }
1609 uint32_t message_type() const {
1610 return GetField<uint32_t>(VT_MESSAGE_TYPE, 0);
1611 }
1612 bool mutate_message_type(uint32_t _message_type) {
1613 return SetField<uint32_t>(VT_MESSAGE_TYPE, _message_type, 0);
1614 }
1615 /// Identifies the host-side endpoint on the host that sent or should receive
1616 /// this message. The default value is a special value defined in the HAL and
1617 /// elsewhere that indicates that the endpoint is unspecified.
1618 uint16_t host_endpoint() const {
1619 return GetField<uint16_t>(VT_HOST_ENDPOINT, 65534);
1620 }
1621 bool mutate_host_endpoint(uint16_t _host_endpoint) {
1622 return SetField<uint16_t>(VT_HOST_ENDPOINT, _host_endpoint, 65534);
1623 }
1624 /// Vector containing arbitrary application-specific message data
1625 const flatbuffers::Vector<uint8_t> *message() const {
1626 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_MESSAGE);
1627 }
1628 flatbuffers::Vector<uint8_t> *mutable_message() {
1629 return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_MESSAGE);
1630 }
1631 /// List of Android permissions that cover the contents of a message from a
1632 /// nanoapp to the host.
1633 /// These permissions are used to record and attribute access to
1634 /// permissions-controlled resources.
1635 uint32_t message_permissions() const {
1636 return GetField<uint32_t>(VT_MESSAGE_PERMISSIONS, 0);
1637 }
1638 bool mutate_message_permissions(uint32_t _message_permissions) {
1639 return SetField<uint32_t>(VT_MESSAGE_PERMISSIONS, _message_permissions, 0);
1640 }
1641 /// List of Android permissions declared by the nanoapp / granted to the host.
1642 /// For messages from a nanoaapp to the host, this must be a superset of
1643 /// message_permissions.
1644 uint32_t permissions() const {
1645 return GetField<uint32_t>(VT_PERMISSIONS, 0);
1646 }
1647 bool mutate_permissions(uint32_t _permissions) {
1648 return SetField<uint32_t>(VT_PERMISSIONS, _permissions, 0);
1649 }
1650 bool woke_host() const {
1651 return GetField<uint8_t>(VT_WOKE_HOST, 0) != 0;
1652 }
1653 bool mutate_woke_host(bool _woke_host) {
1654 return SetField<uint8_t>(VT_WOKE_HOST, static_cast<uint8_t>(_woke_host), 0);
1655 }
1656 bool is_reliable() const {
1657 return GetField<uint8_t>(VT_IS_RELIABLE, 0) != 0;
1658 }
1659 bool mutate_is_reliable(bool _is_reliable) {
1660 return SetField<uint8_t>(VT_IS_RELIABLE, static_cast<uint8_t>(_is_reliable), 0);
1661 }
1662 uint32_t message_sequence_number() const {
1663 return GetField<uint32_t>(VT_MESSAGE_SEQUENCE_NUMBER, 0);
1664 }
1665 bool mutate_message_sequence_number(uint32_t _message_sequence_number) {
1666 return SetField<uint32_t>(VT_MESSAGE_SEQUENCE_NUMBER, _message_sequence_number, 0);
1667 }
1668 bool Verify(flatbuffers::Verifier &verifier) const {
1669 return VerifyTableStart(verifier) &&
1670 VerifyField<uint64_t>(verifier, VT_APP_ID) &&
1671 VerifyField<uint32_t>(verifier, VT_MESSAGE_TYPE) &&
1672 VerifyField<uint16_t>(verifier, VT_HOST_ENDPOINT) &&
1673 VerifyOffsetRequired(verifier, VT_MESSAGE) &&
1674 verifier.VerifyVector(message()) &&
1675 VerifyField<uint32_t>(verifier, VT_MESSAGE_PERMISSIONS) &&
1676 VerifyField<uint32_t>(verifier, VT_PERMISSIONS) &&
1677 VerifyField<uint8_t>(verifier, VT_WOKE_HOST) &&
1678 VerifyField<uint8_t>(verifier, VT_IS_RELIABLE) &&
1679 VerifyField<uint32_t>(verifier, VT_MESSAGE_SEQUENCE_NUMBER) &&
1680 verifier.EndTable();
1681 }
1682 NanoappMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1683 void UnPackTo(NanoappMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1684 static flatbuffers::Offset<NanoappMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1685 };
1686
1687 struct NanoappMessageBuilder {
1688 typedef NanoappMessage Table;
1689 flatbuffers::FlatBufferBuilder &fbb_;
1690 flatbuffers::uoffset_t start_;
1691 void add_app_id(uint64_t app_id) {
1692 fbb_.AddElement<uint64_t>(NanoappMessage::VT_APP_ID, app_id, 0);
1693 }
1694 void add_message_type(uint32_t message_type) {
1695 fbb_.AddElement<uint32_t>(NanoappMessage::VT_MESSAGE_TYPE, message_type, 0);
1696 }
1697 void add_host_endpoint(uint16_t host_endpoint) {
1698 fbb_.AddElement<uint16_t>(NanoappMessage::VT_HOST_ENDPOINT, host_endpoint, 65534);
1699 }
1700 void add_message(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> message) {
1701 fbb_.AddOffset(NanoappMessage::VT_MESSAGE, message);
1702 }
1703 void add_message_permissions(uint32_t message_permissions) {
1704 fbb_.AddElement<uint32_t>(NanoappMessage::VT_MESSAGE_PERMISSIONS, message_permissions, 0);
1705 }
1706 void add_permissions(uint32_t permissions) {
1707 fbb_.AddElement<uint32_t>(NanoappMessage::VT_PERMISSIONS, permissions, 0);
1708 }
1709 void add_woke_host(bool woke_host) {
1710 fbb_.AddElement<uint8_t>(NanoappMessage::VT_WOKE_HOST, static_cast<uint8_t>(woke_host), 0);
1711 }
1712 void add_is_reliable(bool is_reliable) {
1713 fbb_.AddElement<uint8_t>(NanoappMessage::VT_IS_RELIABLE, static_cast<uint8_t>(is_reliable), 0);
1714 }
1715 void add_message_sequence_number(uint32_t message_sequence_number) {
1716 fbb_.AddElement<uint32_t>(NanoappMessage::VT_MESSAGE_SEQUENCE_NUMBER, message_sequence_number, 0);
1717 }
1718 explicit NanoappMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1719 : fbb_(_fbb) {
1720 start_ = fbb_.StartTable();
1721 }
1722 NanoappMessageBuilder &operator=(const NanoappMessageBuilder &);
1723 flatbuffers::Offset<NanoappMessage> Finish() {
1724 const auto end = fbb_.EndTable(start_);
1725 auto o = flatbuffers::Offset<NanoappMessage>(end);
1726 fbb_.Required(o, NanoappMessage::VT_MESSAGE);
1727 return o;
1728 }
1729 };
1730
1731 inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessage(
1732 flatbuffers::FlatBufferBuilder &_fbb,
1733 uint64_t app_id = 0,
1734 uint32_t message_type = 0,
1735 uint16_t host_endpoint = 65534,
1736 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> message = 0,
1737 uint32_t message_permissions = 0,
1738 uint32_t permissions = 0,
1739 bool woke_host = false,
1740 bool is_reliable = false,
1741 uint32_t message_sequence_number = 0) {
1742 NanoappMessageBuilder builder_(_fbb);
1743 builder_.add_app_id(app_id);
1744 builder_.add_message_sequence_number(message_sequence_number);
1745 builder_.add_permissions(permissions);
1746 builder_.add_message_permissions(message_permissions);
1747 builder_.add_message(message);
1748 builder_.add_message_type(message_type);
1749 builder_.add_host_endpoint(host_endpoint);
1750 builder_.add_is_reliable(is_reliable);
1751 builder_.add_woke_host(woke_host);
1752 return builder_.Finish();
1753 }
1754
1755 inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessageDirect(
1756 flatbuffers::FlatBufferBuilder &_fbb,
1757 uint64_t app_id = 0,
1758 uint32_t message_type = 0,
1759 uint16_t host_endpoint = 65534,
1760 const std::vector<uint8_t> *message = nullptr,
1761 uint32_t message_permissions = 0,
1762 uint32_t permissions = 0,
1763 bool woke_host = false,
1764 bool is_reliable = false,
1765 uint32_t message_sequence_number = 0) {
1766 auto message__ = message ? _fbb.CreateVector<uint8_t>(*message) : 0;
1767 return chre::fbs::CreateNanoappMessage(
1768 _fbb,
1769 app_id,
1770 message_type,
1771 host_endpoint,
1772 message__,
1773 message_permissions,
1774 permissions,
1775 woke_host,
1776 is_reliable,
1777 message_sequence_number);
1778 }
1779
1780 flatbuffers::Offset<NanoappMessage> CreateNanoappMessage(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1781
1782 struct MessageDeliveryStatusT : public flatbuffers::NativeTable {
1783 typedef MessageDeliveryStatus TableType;
1784 uint32_t message_sequence_number;
1785 int8_t error_code;
1786 MessageDeliveryStatusT()
1787 : message_sequence_number(0),
1788 error_code(0) {
1789 }
1790 };
1791
1792 struct MessageDeliveryStatus FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1793 typedef MessageDeliveryStatusT NativeTableType;
1794 typedef MessageDeliveryStatusBuilder Builder;
1795 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1796 VT_MESSAGE_SEQUENCE_NUMBER = 4,
1797 VT_ERROR_CODE = 6
1798 };
1799 uint32_t message_sequence_number() const {
1800 return GetField<uint32_t>(VT_MESSAGE_SEQUENCE_NUMBER, 0);
1801 }
1802 bool mutate_message_sequence_number(uint32_t _message_sequence_number) {
1803 return SetField<uint32_t>(VT_MESSAGE_SEQUENCE_NUMBER, _message_sequence_number, 0);
1804 }
1805 int8_t error_code() const {
1806 return GetField<int8_t>(VT_ERROR_CODE, 0);
1807 }
1808 bool mutate_error_code(int8_t _error_code) {
1809 return SetField<int8_t>(VT_ERROR_CODE, _error_code, 0);
1810 }
1811 bool Verify(flatbuffers::Verifier &verifier) const {
1812 return VerifyTableStart(verifier) &&
1813 VerifyField<uint32_t>(verifier, VT_MESSAGE_SEQUENCE_NUMBER) &&
1814 VerifyField<int8_t>(verifier, VT_ERROR_CODE) &&
1815 verifier.EndTable();
1816 }
1817 MessageDeliveryStatusT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1818 void UnPackTo(MessageDeliveryStatusT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1819 static flatbuffers::Offset<MessageDeliveryStatus> Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageDeliveryStatusT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1820 };
1821
1822 struct MessageDeliveryStatusBuilder {
1823 typedef MessageDeliveryStatus Table;
1824 flatbuffers::FlatBufferBuilder &fbb_;
1825 flatbuffers::uoffset_t start_;
1826 void add_message_sequence_number(uint32_t message_sequence_number) {
1827 fbb_.AddElement<uint32_t>(MessageDeliveryStatus::VT_MESSAGE_SEQUENCE_NUMBER, message_sequence_number, 0);
1828 }
1829 void add_error_code(int8_t error_code) {
1830 fbb_.AddElement<int8_t>(MessageDeliveryStatus::VT_ERROR_CODE, error_code, 0);
1831 }
1832 explicit MessageDeliveryStatusBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1833 : fbb_(_fbb) {
1834 start_ = fbb_.StartTable();
1835 }
1836 MessageDeliveryStatusBuilder &operator=(const MessageDeliveryStatusBuilder &);
1837 flatbuffers::Offset<MessageDeliveryStatus> Finish() {
1838 const auto end = fbb_.EndTable(start_);
1839 auto o = flatbuffers::Offset<MessageDeliveryStatus>(end);
1840 return o;
1841 }
1842 };
1843
1844 inline flatbuffers::Offset<MessageDeliveryStatus> CreateMessageDeliveryStatus(
1845 flatbuffers::FlatBufferBuilder &_fbb,
1846 uint32_t message_sequence_number = 0,
1847 int8_t error_code = 0) {
1848 MessageDeliveryStatusBuilder builder_(_fbb);
1849 builder_.add_message_sequence_number(message_sequence_number);
1850 builder_.add_error_code(error_code);
1851 return builder_.Finish();
1852 }
1853
1854 flatbuffers::Offset<MessageDeliveryStatus> CreateMessageDeliveryStatus(flatbuffers::FlatBufferBuilder &_fbb, const MessageDeliveryStatusT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1855
1856 struct HubInfoRequestT : public flatbuffers::NativeTable {
1857 typedef HubInfoRequest TableType;
1858 HubInfoRequestT() {
1859 }
1860 };
1861
1862 struct HubInfoRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1863 typedef HubInfoRequestT NativeTableType;
1864 typedef HubInfoRequestBuilder Builder;
1865 bool Verify(flatbuffers::Verifier &verifier) const {
1866 return VerifyTableStart(verifier) &&
1867 verifier.EndTable();
1868 }
1869 HubInfoRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1870 void UnPackTo(HubInfoRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1871 static flatbuffers::Offset<HubInfoRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1872 };
1873
1874 struct HubInfoRequestBuilder {
1875 typedef HubInfoRequest Table;
1876 flatbuffers::FlatBufferBuilder &fbb_;
1877 flatbuffers::uoffset_t start_;
1878 explicit HubInfoRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1879 : fbb_(_fbb) {
1880 start_ = fbb_.StartTable();
1881 }
1882 HubInfoRequestBuilder &operator=(const HubInfoRequestBuilder &);
1883 flatbuffers::Offset<HubInfoRequest> Finish() {
1884 const auto end = fbb_.EndTable(start_);
1885 auto o = flatbuffers::Offset<HubInfoRequest>(end);
1886 return o;
1887 }
1888 };
1889
1890 inline flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest(
1891 flatbuffers::FlatBufferBuilder &_fbb) {
1892 HubInfoRequestBuilder builder_(_fbb);
1893 return builder_.Finish();
1894 }
1895
1896 flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1897
1898 struct HubInfoResponseT : public flatbuffers::NativeTable {
1899 typedef HubInfoResponse TableType;
1900 std::vector<int8_t> name;
1901 std::vector<int8_t> vendor;
1902 std::vector<int8_t> toolchain;
1903 uint32_t platform_version;
1904 uint32_t toolchain_version;
1905 float peak_mips;
1906 float stopped_power;
1907 float sleep_power;
1908 float peak_power;
1909 uint32_t max_msg_len;
1910 uint64_t platform_id;
1911 uint32_t chre_platform_version;
1912 bool supports_reliable_messages;
1913 HubInfoResponseT()
1914 : platform_version(0),
1915 toolchain_version(0),
1916 peak_mips(0.0f),
1917 stopped_power(0.0f),
1918 sleep_power(0.0f),
1919 peak_power(0.0f),
1920 max_msg_len(0),
1921 platform_id(0),
1922 chre_platform_version(0),
1923 supports_reliable_messages(false) {
1924 }
1925 };
1926
1927 struct HubInfoResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1928 typedef HubInfoResponseT NativeTableType;
1929 typedef HubInfoResponseBuilder Builder;
1930 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1931 VT_NAME = 4,
1932 VT_VENDOR = 6,
1933 VT_TOOLCHAIN = 8,
1934 VT_PLATFORM_VERSION = 10,
1935 VT_TOOLCHAIN_VERSION = 12,
1936 VT_PEAK_MIPS = 14,
1937 VT_STOPPED_POWER = 16,
1938 VT_SLEEP_POWER = 18,
1939 VT_PEAK_POWER = 20,
1940 VT_MAX_MSG_LEN = 22,
1941 VT_PLATFORM_ID = 24,
1942 VT_CHRE_PLATFORM_VERSION = 26,
1943 VT_SUPPORTS_RELIABLE_MESSAGES = 28
1944 };
1945 /// The name of the hub. Nominally a UTF-8 string, but note that we're not
1946 /// using the built-in "string" data type from FlatBuffers here, because the
1947 /// generated C++ uses std::string which is not well-supported in CHRE. This
1948 /// applies for vendor and toolchain as well.
1949 const flatbuffers::Vector<int8_t> *name() const {
1950 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_NAME);
1951 }
1952 flatbuffers::Vector<int8_t> *mutable_name() {
1953 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_NAME);
1954 }
1955 const flatbuffers::Vector<int8_t> *vendor() const {
1956 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_VENDOR);
1957 }
1958 flatbuffers::Vector<int8_t> *mutable_vendor() {
1959 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_VENDOR);
1960 }
1961 const flatbuffers::Vector<int8_t> *toolchain() const {
1962 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_TOOLCHAIN);
1963 }
1964 flatbuffers::Vector<int8_t> *mutable_toolchain() {
1965 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_TOOLCHAIN);
1966 }
1967 /// Legacy platform version reported in the HAL; semantics not strictly
1968 /// defined
1969 uint32_t platform_version() const {
1970 return GetField<uint32_t>(VT_PLATFORM_VERSION, 0);
1971 }
1972 bool mutate_platform_version(uint32_t _platform_version) {
1973 return SetField<uint32_t>(VT_PLATFORM_VERSION, _platform_version, 0);
1974 }
1975 /// Toolchain version reported in the HAL; semantics not strictly defined
1976 uint32_t toolchain_version() const {
1977 return GetField<uint32_t>(VT_TOOLCHAIN_VERSION, 0);
1978 }
1979 bool mutate_toolchain_version(uint32_t _toolchain_version) {
1980 return SetField<uint32_t>(VT_TOOLCHAIN_VERSION, _toolchain_version, 0);
1981 }
1982 float peak_mips() const {
1983 return GetField<float>(VT_PEAK_MIPS, 0.0f);
1984 }
1985 bool mutate_peak_mips(float _peak_mips) {
1986 return SetField<float>(VT_PEAK_MIPS, _peak_mips, 0.0f);
1987 }
1988 float stopped_power() const {
1989 return GetField<float>(VT_STOPPED_POWER, 0.0f);
1990 }
1991 bool mutate_stopped_power(float _stopped_power) {
1992 return SetField<float>(VT_STOPPED_POWER, _stopped_power, 0.0f);
1993 }
1994 float sleep_power() const {
1995 return GetField<float>(VT_SLEEP_POWER, 0.0f);
1996 }
1997 bool mutate_sleep_power(float _sleep_power) {
1998 return SetField<float>(VT_SLEEP_POWER, _sleep_power, 0.0f);
1999 }
2000 float peak_power() const {
2001 return GetField<float>(VT_PEAK_POWER, 0.0f);
2002 }
2003 bool mutate_peak_power(float _peak_power) {
2004 return SetField<float>(VT_PEAK_POWER, _peak_power, 0.0f);
2005 }
2006 /// Maximum size regular message that can be sent to a nanoapp
2007 uint32_t max_msg_len() const {
2008 return GetField<uint32_t>(VT_MAX_MSG_LEN, 0);
2009 }
2010 bool mutate_max_msg_len(uint32_t _max_msg_len) {
2011 return SetField<uint32_t>(VT_MAX_MSG_LEN, _max_msg_len, 0);
2012 }
2013 /// @see chreGetPlatformId()
2014 uint64_t platform_id() const {
2015 return GetField<uint64_t>(VT_PLATFORM_ID, 0);
2016 }
2017 bool mutate_platform_id(uint64_t _platform_id) {
2018 return SetField<uint64_t>(VT_PLATFORM_ID, _platform_id, 0);
2019 }
2020 /// @see chreGetVersion()
2021 uint32_t chre_platform_version() const {
2022 return GetField<uint32_t>(VT_CHRE_PLATFORM_VERSION, 0);
2023 }
2024 bool mutate_chre_platform_version(uint32_t _chre_platform_version) {
2025 return SetField<uint32_t>(VT_CHRE_PLATFORM_VERSION, _chre_platform_version, 0);
2026 }
2027 /// Whether reliable messages are supported
2028 bool supports_reliable_messages() const {
2029 return GetField<uint8_t>(VT_SUPPORTS_RELIABLE_MESSAGES, 0) != 0;
2030 }
2031 bool mutate_supports_reliable_messages(bool _supports_reliable_messages) {
2032 return SetField<uint8_t>(VT_SUPPORTS_RELIABLE_MESSAGES, static_cast<uint8_t>(_supports_reliable_messages), 0);
2033 }
2034 bool Verify(flatbuffers::Verifier &verifier) const {
2035 return VerifyTableStart(verifier) &&
2036 VerifyOffset(verifier, VT_NAME) &&
2037 verifier.VerifyVector(name()) &&
2038 VerifyOffset(verifier, VT_VENDOR) &&
2039 verifier.VerifyVector(vendor()) &&
2040 VerifyOffset(verifier, VT_TOOLCHAIN) &&
2041 verifier.VerifyVector(toolchain()) &&
2042 VerifyField<uint32_t>(verifier, VT_PLATFORM_VERSION) &&
2043 VerifyField<uint32_t>(verifier, VT_TOOLCHAIN_VERSION) &&
2044 VerifyField<float>(verifier, VT_PEAK_MIPS) &&
2045 VerifyField<float>(verifier, VT_STOPPED_POWER) &&
2046 VerifyField<float>(verifier, VT_SLEEP_POWER) &&
2047 VerifyField<float>(verifier, VT_PEAK_POWER) &&
2048 VerifyField<uint32_t>(verifier, VT_MAX_MSG_LEN) &&
2049 VerifyField<uint64_t>(verifier, VT_PLATFORM_ID) &&
2050 VerifyField<uint32_t>(verifier, VT_CHRE_PLATFORM_VERSION) &&
2051 VerifyField<uint8_t>(verifier, VT_SUPPORTS_RELIABLE_MESSAGES) &&
2052 verifier.EndTable();
2053 }
2054 HubInfoResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2055 void UnPackTo(HubInfoResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2056 static flatbuffers::Offset<HubInfoResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2057 };
2058
2059 struct HubInfoResponseBuilder {
2060 typedef HubInfoResponse Table;
2061 flatbuffers::FlatBufferBuilder &fbb_;
2062 flatbuffers::uoffset_t start_;
2063 void add_name(flatbuffers::Offset<flatbuffers::Vector<int8_t>> name) {
2064 fbb_.AddOffset(HubInfoResponse::VT_NAME, name);
2065 }
2066 void add_vendor(flatbuffers::Offset<flatbuffers::Vector<int8_t>> vendor) {
2067 fbb_.AddOffset(HubInfoResponse::VT_VENDOR, vendor);
2068 }
2069 void add_toolchain(flatbuffers::Offset<flatbuffers::Vector<int8_t>> toolchain) {
2070 fbb_.AddOffset(HubInfoResponse::VT_TOOLCHAIN, toolchain);
2071 }
2072 void add_platform_version(uint32_t platform_version) {
2073 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_PLATFORM_VERSION, platform_version, 0);
2074 }
2075 void add_toolchain_version(uint32_t toolchain_version) {
2076 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_TOOLCHAIN_VERSION, toolchain_version, 0);
2077 }
2078 void add_peak_mips(float peak_mips) {
2079 fbb_.AddElement<float>(HubInfoResponse::VT_PEAK_MIPS, peak_mips, 0.0f);
2080 }
2081 void add_stopped_power(float stopped_power) {
2082 fbb_.AddElement<float>(HubInfoResponse::VT_STOPPED_POWER, stopped_power, 0.0f);
2083 }
2084 void add_sleep_power(float sleep_power) {
2085 fbb_.AddElement<float>(HubInfoResponse::VT_SLEEP_POWER, sleep_power, 0.0f);
2086 }
2087 void add_peak_power(float peak_power) {
2088 fbb_.AddElement<float>(HubInfoResponse::VT_PEAK_POWER, peak_power, 0.0f);
2089 }
2090 void add_max_msg_len(uint32_t max_msg_len) {
2091 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_MAX_MSG_LEN, max_msg_len, 0);
2092 }
2093 void add_platform_id(uint64_t platform_id) {
2094 fbb_.AddElement<uint64_t>(HubInfoResponse::VT_PLATFORM_ID, platform_id, 0);
2095 }
2096 void add_chre_platform_version(uint32_t chre_platform_version) {
2097 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_CHRE_PLATFORM_VERSION, chre_platform_version, 0);
2098 }
2099 void add_supports_reliable_messages(bool supports_reliable_messages) {
2100 fbb_.AddElement<uint8_t>(HubInfoResponse::VT_SUPPORTS_RELIABLE_MESSAGES, static_cast<uint8_t>(supports_reliable_messages), 0);
2101 }
2102 explicit HubInfoResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2103 : fbb_(_fbb) {
2104 start_ = fbb_.StartTable();
2105 }
2106 HubInfoResponseBuilder &operator=(const HubInfoResponseBuilder &);
2107 flatbuffers::Offset<HubInfoResponse> Finish() {
2108 const auto end = fbb_.EndTable(start_);
2109 auto o = flatbuffers::Offset<HubInfoResponse>(end);
2110 return o;
2111 }
2112 };
2113
2114 inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse(
2115 flatbuffers::FlatBufferBuilder &_fbb,
2116 flatbuffers::Offset<flatbuffers::Vector<int8_t>> name = 0,
2117 flatbuffers::Offset<flatbuffers::Vector<int8_t>> vendor = 0,
2118 flatbuffers::Offset<flatbuffers::Vector<int8_t>> toolchain = 0,
2119 uint32_t platform_version = 0,
2120 uint32_t toolchain_version = 0,
2121 float peak_mips = 0.0f,
2122 float stopped_power = 0.0f,
2123 float sleep_power = 0.0f,
2124 float peak_power = 0.0f,
2125 uint32_t max_msg_len = 0,
2126 uint64_t platform_id = 0,
2127 uint32_t chre_platform_version = 0,
2128 bool supports_reliable_messages = false) {
2129 HubInfoResponseBuilder builder_(_fbb);
2130 builder_.add_platform_id(platform_id);
2131 builder_.add_chre_platform_version(chre_platform_version);
2132 builder_.add_max_msg_len(max_msg_len);
2133 builder_.add_peak_power(peak_power);
2134 builder_.add_sleep_power(sleep_power);
2135 builder_.add_stopped_power(stopped_power);
2136 builder_.add_peak_mips(peak_mips);
2137 builder_.add_toolchain_version(toolchain_version);
2138 builder_.add_platform_version(platform_version);
2139 builder_.add_toolchain(toolchain);
2140 builder_.add_vendor(vendor);
2141 builder_.add_name(name);
2142 builder_.add_supports_reliable_messages(supports_reliable_messages);
2143 return builder_.Finish();
2144 }
2145
2146 inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponseDirect(
2147 flatbuffers::FlatBufferBuilder &_fbb,
2148 const std::vector<int8_t> *name = nullptr,
2149 const std::vector<int8_t> *vendor = nullptr,
2150 const std::vector<int8_t> *toolchain = nullptr,
2151 uint32_t platform_version = 0,
2152 uint32_t toolchain_version = 0,
2153 float peak_mips = 0.0f,
2154 float stopped_power = 0.0f,
2155 float sleep_power = 0.0f,
2156 float peak_power = 0.0f,
2157 uint32_t max_msg_len = 0,
2158 uint64_t platform_id = 0,
2159 uint32_t chre_platform_version = 0,
2160 bool supports_reliable_messages = false) {
2161 auto name__ = name ? _fbb.CreateVector<int8_t>(*name) : 0;
2162 auto vendor__ = vendor ? _fbb.CreateVector<int8_t>(*vendor) : 0;
2163 auto toolchain__ = toolchain ? _fbb.CreateVector<int8_t>(*toolchain) : 0;
2164 return chre::fbs::CreateHubInfoResponse(
2165 _fbb,
2166 name__,
2167 vendor__,
2168 toolchain__,
2169 platform_version,
2170 toolchain_version,
2171 peak_mips,
2172 stopped_power,
2173 sleep_power,
2174 peak_power,
2175 max_msg_len,
2176 platform_id,
2177 chre_platform_version,
2178 supports_reliable_messages);
2179 }
2180
2181 flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2182
2183 struct NanoappListRequestT : public flatbuffers::NativeTable {
2184 typedef NanoappListRequest TableType;
2185 NanoappListRequestT() {
2186 }
2187 };
2188
2189 struct NanoappListRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2190 typedef NanoappListRequestT NativeTableType;
2191 typedef NanoappListRequestBuilder Builder;
2192 bool Verify(flatbuffers::Verifier &verifier) const {
2193 return VerifyTableStart(verifier) &&
2194 verifier.EndTable();
2195 }
2196 NanoappListRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2197 void UnPackTo(NanoappListRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2198 static flatbuffers::Offset<NanoappListRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2199 };
2200
2201 struct NanoappListRequestBuilder {
2202 typedef NanoappListRequest Table;
2203 flatbuffers::FlatBufferBuilder &fbb_;
2204 flatbuffers::uoffset_t start_;
2205 explicit NanoappListRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2206 : fbb_(_fbb) {
2207 start_ = fbb_.StartTable();
2208 }
2209 NanoappListRequestBuilder &operator=(const NanoappListRequestBuilder &);
2210 flatbuffers::Offset<NanoappListRequest> Finish() {
2211 const auto end = fbb_.EndTable(start_);
2212 auto o = flatbuffers::Offset<NanoappListRequest>(end);
2213 return o;
2214 }
2215 };
2216
2217 inline flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest(
2218 flatbuffers::FlatBufferBuilder &_fbb) {
2219 NanoappListRequestBuilder builder_(_fbb);
2220 return builder_.Finish();
2221 }
2222
2223 flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2224
2225 struct NanoappRpcServiceT : public flatbuffers::NativeTable {
2226 typedef NanoappRpcService TableType;
2227 uint64_t id;
2228 uint32_t version;
2229 NanoappRpcServiceT()
2230 : id(0),
2231 version(0) {
2232 }
2233 };
2234
2235 /// Metadata regarding a Nanoapp RPC service. See the Android API
2236 /// core/java/android/hardware/location/NanoAppRpcService.java for more details
2237 /// on how this value is used by the Android application.
2238 struct NanoappRpcService FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2239 typedef NanoappRpcServiceT NativeTableType;
2240 typedef NanoappRpcServiceBuilder Builder;
2241 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2242 VT_ID = 4,
2243 VT_VERSION = 6
2244 };
2245 uint64_t id() const {
2246 return GetField<uint64_t>(VT_ID, 0);
2247 }
2248 bool mutate_id(uint64_t _id) {
2249 return SetField<uint64_t>(VT_ID, _id, 0);
2250 }
2251 uint32_t version() const {
2252 return GetField<uint32_t>(VT_VERSION, 0);
2253 }
2254 bool mutate_version(uint32_t _version) {
2255 return SetField<uint32_t>(VT_VERSION, _version, 0);
2256 }
2257 bool Verify(flatbuffers::Verifier &verifier) const {
2258 return VerifyTableStart(verifier) &&
2259 VerifyField<uint64_t>(verifier, VT_ID) &&
2260 VerifyField<uint32_t>(verifier, VT_VERSION) &&
2261 verifier.EndTable();
2262 }
2263 NanoappRpcServiceT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2264 void UnPackTo(NanoappRpcServiceT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2265 static flatbuffers::Offset<NanoappRpcService> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappRpcServiceT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2266 };
2267
2268 struct NanoappRpcServiceBuilder {
2269 typedef NanoappRpcService Table;
2270 flatbuffers::FlatBufferBuilder &fbb_;
2271 flatbuffers::uoffset_t start_;
2272 void add_id(uint64_t id) {
2273 fbb_.AddElement<uint64_t>(NanoappRpcService::VT_ID, id, 0);
2274 }
2275 void add_version(uint32_t version) {
2276 fbb_.AddElement<uint32_t>(NanoappRpcService::VT_VERSION, version, 0);
2277 }
2278 explicit NanoappRpcServiceBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2279 : fbb_(_fbb) {
2280 start_ = fbb_.StartTable();
2281 }
2282 NanoappRpcServiceBuilder &operator=(const NanoappRpcServiceBuilder &);
2283 flatbuffers::Offset<NanoappRpcService> Finish() {
2284 const auto end = fbb_.EndTable(start_);
2285 auto o = flatbuffers::Offset<NanoappRpcService>(end);
2286 return o;
2287 }
2288 };
2289
2290 inline flatbuffers::Offset<NanoappRpcService> CreateNanoappRpcService(
2291 flatbuffers::FlatBufferBuilder &_fbb,
2292 uint64_t id = 0,
2293 uint32_t version = 0) {
2294 NanoappRpcServiceBuilder builder_(_fbb);
2295 builder_.add_id(id);
2296 builder_.add_version(version);
2297 return builder_.Finish();
2298 }
2299
2300 flatbuffers::Offset<NanoappRpcService> CreateNanoappRpcService(flatbuffers::FlatBufferBuilder &_fbb, const NanoappRpcServiceT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2301
2302 struct NanoappListEntryT : public flatbuffers::NativeTable {
2303 typedef NanoappListEntry TableType;
2304 uint64_t app_id;
2305 uint32_t version;
2306 bool enabled;
2307 bool is_system;
2308 uint32_t permissions;
2309 std::vector<std::unique_ptr<chre::fbs::NanoappRpcServiceT>> rpc_services;
2310 NanoappListEntryT()
2311 : app_id(0),
2312 version(0),
2313 enabled(true),
2314 is_system(false),
2315 permissions(0) {
2316 }
2317 };
2318
2319 struct NanoappListEntry FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2320 typedef NanoappListEntryT NativeTableType;
2321 typedef NanoappListEntryBuilder Builder;
2322 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2323 VT_APP_ID = 4,
2324 VT_VERSION = 6,
2325 VT_ENABLED = 8,
2326 VT_IS_SYSTEM = 10,
2327 VT_PERMISSIONS = 12,
2328 VT_RPC_SERVICES = 14
2329 };
2330 uint64_t app_id() const {
2331 return GetField<uint64_t>(VT_APP_ID, 0);
2332 }
2333 bool mutate_app_id(uint64_t _app_id) {
2334 return SetField<uint64_t>(VT_APP_ID, _app_id, 0);
2335 }
2336 uint32_t version() const {
2337 return GetField<uint32_t>(VT_VERSION, 0);
2338 }
2339 bool mutate_version(uint32_t _version) {
2340 return SetField<uint32_t>(VT_VERSION, _version, 0);
2341 }
2342 bool enabled() const {
2343 return GetField<uint8_t>(VT_ENABLED, 1) != 0;
2344 }
2345 bool mutate_enabled(bool _enabled) {
2346 return SetField<uint8_t>(VT_ENABLED, static_cast<uint8_t>(_enabled), 1);
2347 }
2348 /// Whether the nanoapp is a pre-loaded "system" nanoapp, i.e. one that should
2349 /// not show up in the list of nanoapps in the context hub HAL. System
2350 /// nanoapps are typically used to leverage CHRE for some device functionality
2351 /// and do not interact via the context hub HAL.
2352 bool is_system() const {
2353 return GetField<uint8_t>(VT_IS_SYSTEM, 0) != 0;
2354 }
2355 bool mutate_is_system(bool _is_system) {
2356 return SetField<uint8_t>(VT_IS_SYSTEM, static_cast<uint8_t>(_is_system), 0);
2357 }
2358 /// Nanoapp permissions, if supported. Nanoapp permissions are required on
2359 /// CHRE API v1.5+, and are defined in chre/util/system/napp_permissions.h
2360 uint32_t permissions() const {
2361 return GetField<uint32_t>(VT_PERMISSIONS, 0);
2362 }
2363 bool mutate_permissions(uint32_t _permissions) {
2364 return SetField<uint32_t>(VT_PERMISSIONS, _permissions, 0);
2365 }
2366 /// The list of RPC services supported by this nanoapp.
2367 const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>> *rpc_services() const {
2368 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>> *>(VT_RPC_SERVICES);
2369 }
2370 flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>> *mutable_rpc_services() {
2371 return GetPointer<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>> *>(VT_RPC_SERVICES);
2372 }
2373 bool Verify(flatbuffers::Verifier &verifier) const {
2374 return VerifyTableStart(verifier) &&
2375 VerifyField<uint64_t>(verifier, VT_APP_ID) &&
2376 VerifyField<uint32_t>(verifier, VT_VERSION) &&
2377 VerifyField<uint8_t>(verifier, VT_ENABLED) &&
2378 VerifyField<uint8_t>(verifier, VT_IS_SYSTEM) &&
2379 VerifyField<uint32_t>(verifier, VT_PERMISSIONS) &&
2380 VerifyOffset(verifier, VT_RPC_SERVICES) &&
2381 verifier.VerifyVector(rpc_services()) &&
2382 verifier.VerifyVectorOfTables(rpc_services()) &&
2383 verifier.EndTable();
2384 }
2385 NanoappListEntryT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2386 void UnPackTo(NanoappListEntryT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2387 static flatbuffers::Offset<NanoappListEntry> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2388 };
2389
2390 struct NanoappListEntryBuilder {
2391 typedef NanoappListEntry Table;
2392 flatbuffers::FlatBufferBuilder &fbb_;
2393 flatbuffers::uoffset_t start_;
2394 void add_app_id(uint64_t app_id) {
2395 fbb_.AddElement<uint64_t>(NanoappListEntry::VT_APP_ID, app_id, 0);
2396 }
2397 void add_version(uint32_t version) {
2398 fbb_.AddElement<uint32_t>(NanoappListEntry::VT_VERSION, version, 0);
2399 }
2400 void add_enabled(bool enabled) {
2401 fbb_.AddElement<uint8_t>(NanoappListEntry::VT_ENABLED, static_cast<uint8_t>(enabled), 1);
2402 }
2403 void add_is_system(bool is_system) {
2404 fbb_.AddElement<uint8_t>(NanoappListEntry::VT_IS_SYSTEM, static_cast<uint8_t>(is_system), 0);
2405 }
2406 void add_permissions(uint32_t permissions) {
2407 fbb_.AddElement<uint32_t>(NanoappListEntry::VT_PERMISSIONS, permissions, 0);
2408 }
2409 void add_rpc_services(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>>> rpc_services) {
2410 fbb_.AddOffset(NanoappListEntry::VT_RPC_SERVICES, rpc_services);
2411 }
2412 explicit NanoappListEntryBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2413 : fbb_(_fbb) {
2414 start_ = fbb_.StartTable();
2415 }
2416 NanoappListEntryBuilder &operator=(const NanoappListEntryBuilder &);
2417 flatbuffers::Offset<NanoappListEntry> Finish() {
2418 const auto end = fbb_.EndTable(start_);
2419 auto o = flatbuffers::Offset<NanoappListEntry>(end);
2420 return o;
2421 }
2422 };
2423
2424 inline flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry(
2425 flatbuffers::FlatBufferBuilder &_fbb,
2426 uint64_t app_id = 0,
2427 uint32_t version = 0,
2428 bool enabled = true,
2429 bool is_system = false,
2430 uint32_t permissions = 0,
2431 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>>> rpc_services = 0) {
2432 NanoappListEntryBuilder builder_(_fbb);
2433 builder_.add_app_id(app_id);
2434 builder_.add_rpc_services(rpc_services);
2435 builder_.add_permissions(permissions);
2436 builder_.add_version(version);
2437 builder_.add_is_system(is_system);
2438 builder_.add_enabled(enabled);
2439 return builder_.Finish();
2440 }
2441
2442 inline flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntryDirect(
2443 flatbuffers::FlatBufferBuilder &_fbb,
2444 uint64_t app_id = 0,
2445 uint32_t version = 0,
2446 bool enabled = true,
2447 bool is_system = false,
2448 uint32_t permissions = 0,
2449 const std::vector<flatbuffers::Offset<chre::fbs::NanoappRpcService>> *rpc_services = nullptr) {
2450 auto rpc_services__ = rpc_services ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::NanoappRpcService>>(*rpc_services) : 0;
2451 return chre::fbs::CreateNanoappListEntry(
2452 _fbb,
2453 app_id,
2454 version,
2455 enabled,
2456 is_system,
2457 permissions,
2458 rpc_services__);
2459 }
2460
2461 flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2462
2463 struct NanoappListResponseT : public flatbuffers::NativeTable {
2464 typedef NanoappListResponse TableType;
2465 std::vector<std::unique_ptr<chre::fbs::NanoappListEntryT>> nanoapps;
2466 NanoappListResponseT() {
2467 }
2468 };
2469
2470 struct NanoappListResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2471 typedef NanoappListResponseT NativeTableType;
2472 typedef NanoappListResponseBuilder Builder;
2473 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2474 VT_NANOAPPS = 4
2475 };
2476 const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>> *nanoapps() const {
2477 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>> *>(VT_NANOAPPS);
2478 }
2479 flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>> *mutable_nanoapps() {
2480 return GetPointer<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>> *>(VT_NANOAPPS);
2481 }
2482 bool Verify(flatbuffers::Verifier &verifier) const {
2483 return VerifyTableStart(verifier) &&
2484 VerifyOffsetRequired(verifier, VT_NANOAPPS) &&
2485 verifier.VerifyVector(nanoapps()) &&
2486 verifier.VerifyVectorOfTables(nanoapps()) &&
2487 verifier.EndTable();
2488 }
2489 NanoappListResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2490 void UnPackTo(NanoappListResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2491 static flatbuffers::Offset<NanoappListResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2492 };
2493
2494 struct NanoappListResponseBuilder {
2495 typedef NanoappListResponse Table;
2496 flatbuffers::FlatBufferBuilder &fbb_;
2497 flatbuffers::uoffset_t start_;
2498 void add_nanoapps(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>>> nanoapps) {
2499 fbb_.AddOffset(NanoappListResponse::VT_NANOAPPS, nanoapps);
2500 }
2501 explicit NanoappListResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2502 : fbb_(_fbb) {
2503 start_ = fbb_.StartTable();
2504 }
2505 NanoappListResponseBuilder &operator=(const NanoappListResponseBuilder &);
2506 flatbuffers::Offset<NanoappListResponse> Finish() {
2507 const auto end = fbb_.EndTable(start_);
2508 auto o = flatbuffers::Offset<NanoappListResponse>(end);
2509 fbb_.Required(o, NanoappListResponse::VT_NANOAPPS);
2510 return o;
2511 }
2512 };
2513
2514 inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse(
2515 flatbuffers::FlatBufferBuilder &_fbb,
2516 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>>> nanoapps = 0) {
2517 NanoappListResponseBuilder builder_(_fbb);
2518 builder_.add_nanoapps(nanoapps);
2519 return builder_.Finish();
2520 }
2521
2522 inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponseDirect(
2523 flatbuffers::FlatBufferBuilder &_fbb,
2524 const std::vector<flatbuffers::Offset<chre::fbs::NanoappListEntry>> *nanoapps = nullptr) {
2525 auto nanoapps__ = nanoapps ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::NanoappListEntry>>(*nanoapps) : 0;
2526 return chre::fbs::CreateNanoappListResponse(
2527 _fbb,
2528 nanoapps__);
2529 }
2530
2531 flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2532
2533 struct LoadNanoappRequestT : public flatbuffers::NativeTable {
2534 typedef LoadNanoappRequest TableType;
2535 uint32_t transaction_id;
2536 uint64_t app_id;
2537 uint32_t app_version;
2538 uint32_t target_api_version;
2539 std::vector<uint8_t> app_binary;
2540 uint32_t fragment_id;
2541 uint32_t total_app_size;
2542 std::vector<int8_t> app_binary_file_name;
2543 uint32_t app_flags;
2544 bool respond_before_start;
2545 LoadNanoappRequestT()
2546 : transaction_id(0),
2547 app_id(0),
2548 app_version(0),
2549 target_api_version(0),
2550 fragment_id(0),
2551 total_app_size(0),
2552 app_flags(0),
2553 respond_before_start(false) {
2554 }
2555 };
2556
2557 /// Represents a request for loading a nanoapp.
2558 /// The nanaopp can either be requested to be loaded via a file or via a buffer.
2559 /// For loading via a file, the following steps will be taken:
2560 /// 1. The loader sends a LoadNanoappRequest message to CHRE. app_binary must
2561 /// be set for legacy purposes, but should be empty. Additionally,
2562 /// fragment_id and total_app_size are unused in this request. The loading
2563 /// that happens as part of this request is serialized, but asynchronous
2564 /// meaning that load requests will be processed in the order they are sent
2565 /// but multiple requests can be outstanding at any given time.
2566 /// 2. CHRE stores the filename and waits until its event loop is able to
2567 /// process the request.
2568 /// 3. Once ready, the nanoapp will be loaded from the file specified in the
2569 /// original request and will send a callback indicating the
2570 /// completion/failure of the request.
2571 /// For loading via a buffer, loading may optionally be fragmented into multiple
2572 /// sequential requests, which will follow the following steps:
2573 /// 1. The loader sends a LoadNanoappRequest message to CHRE. If the request
2574 /// is fragmented, then the fields fragment_id and total_app_size must
2575 /// be defined. Once the first fragment is sent to CHRE, all subsequent
2576 /// fragments must be delivered before a new LoadNanoappRequest can be
2577 /// issued. If a new request is received while a current request has
2578 /// outstanding fragments, the current request will be overridden with the
2579 /// new one.
2580 /// 2. CHRE preallocates the required amount of memory, and loads app_binary,
2581 /// appending to already loaded fragments as appropriate.
2582 /// 3. If the request is fragmented, then the requestor must sequentially send
2583 /// multiple LoadNanoappRequest with incremental nanoapp binary fragments.
2584 /// CHRE will respond with LoadNanoappResponse for each request. For
2585 /// requests starting from the second fragment, all fields except
2586 /// fragment_id and app_binary should be ignored by CHRE.
2587 ///
2588 /// Once the LoadNanoappRepsonse for the last fragment is received
2589 /// by the HAL, the HAL client will receive a callback indicating the
2590 /// completion/failure of a load request.
2591 ///
2592 /// If any request fragment is lost, then the entire load request will be
2593 /// considered to have failed. If the request times out (e.g. the requestor
2594 /// process crashes), then the load request will be cancelled at CHRE and fail.
2595 struct LoadNanoappRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2596 typedef LoadNanoappRequestT NativeTableType;
2597 typedef LoadNanoappRequestBuilder Builder;
2598 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2599 VT_TRANSACTION_ID = 4,
2600 VT_APP_ID = 6,
2601 VT_APP_VERSION = 8,
2602 VT_TARGET_API_VERSION = 10,
2603 VT_APP_BINARY = 12,
2604 VT_FRAGMENT_ID = 14,
2605 VT_TOTAL_APP_SIZE = 16,
2606 VT_APP_BINARY_FILE_NAME = 18,
2607 VT_APP_FLAGS = 20,
2608 VT_RESPOND_BEFORE_START = 22
2609 };
2610 uint32_t transaction_id() const {
2611 return GetField<uint32_t>(VT_TRANSACTION_ID, 0);
2612 }
2613 bool mutate_transaction_id(uint32_t _transaction_id) {
2614 return SetField<uint32_t>(VT_TRANSACTION_ID, _transaction_id, 0);
2615 }
2616 uint64_t app_id() const {
2617 return GetField<uint64_t>(VT_APP_ID, 0);
2618 }
2619 bool mutate_app_id(uint64_t _app_id) {
2620 return SetField<uint64_t>(VT_APP_ID, _app_id, 0);
2621 }
2622 uint32_t app_version() const {
2623 return GetField<uint32_t>(VT_APP_VERSION, 0);
2624 }
2625 bool mutate_app_version(uint32_t _app_version) {
2626 return SetField<uint32_t>(VT_APP_VERSION, _app_version, 0);
2627 }
2628 uint32_t target_api_version() const {
2629 return GetField<uint32_t>(VT_TARGET_API_VERSION, 0);
2630 }
2631 bool mutate_target_api_version(uint32_t _target_api_version) {
2632 return SetField<uint32_t>(VT_TARGET_API_VERSION, _target_api_version, 0);
2633 }
2634 const flatbuffers::Vector<uint8_t> *app_binary() const {
2635 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_APP_BINARY);
2636 }
2637 flatbuffers::Vector<uint8_t> *mutable_app_binary() {
2638 return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_APP_BINARY);
2639 }
2640 /// Fields that are relevant for fragmented loading
2641 /// The framgent count starts at 1 and should end at the total number of
2642 /// fragments. For clients that do not support fragmented loading, the
2643 /// default behavior should be to assume one fragment.
2644 uint32_t fragment_id() const {
2645 return GetField<uint32_t>(VT_FRAGMENT_ID, 0);
2646 }
2647 bool mutate_fragment_id(uint32_t _fragment_id) {
2648 return SetField<uint32_t>(VT_FRAGMENT_ID, _fragment_id, 0);
2649 }
2650 uint32_t total_app_size() const {
2651 return GetField<uint32_t>(VT_TOTAL_APP_SIZE, 0);
2652 }
2653 bool mutate_total_app_size(uint32_t _total_app_size) {
2654 return SetField<uint32_t>(VT_TOTAL_APP_SIZE, _total_app_size, 0);
2655 }
2656 /// Null-terminated ASCII string containing the file name that contains the
2657 /// app binary to be loaded.
2658 const flatbuffers::Vector<int8_t> *app_binary_file_name() const {
2659 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_APP_BINARY_FILE_NAME);
2660 }
2661 flatbuffers::Vector<int8_t> *mutable_app_binary_file_name() {
2662 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_APP_BINARY_FILE_NAME);
2663 }
2664 /// The nanoapp flag values from the nanoapp header defined in
2665 /// build/build_template.mk. Refer to that file for more details.
2666 uint32_t app_flags() const {
2667 return GetField<uint32_t>(VT_APP_FLAGS, 0);
2668 }
2669 bool mutate_app_flags(uint32_t _app_flags) {
2670 return SetField<uint32_t>(VT_APP_FLAGS, _app_flags, 0);
2671 }
2672 /// If true and fragmented loading is requested, the LoadNanoappResponse
2673 /// for the last fragment will be sent after the fragment was confirmed
2674 /// to be placed in memory and no additional response will be sent after
2675 /// the nanoapp is linked and started in the framework.
2676 bool respond_before_start() const {
2677 return GetField<uint8_t>(VT_RESPOND_BEFORE_START, 0) != 0;
2678 }
2679 bool mutate_respond_before_start(bool _respond_before_start) {
2680 return SetField<uint8_t>(VT_RESPOND_BEFORE_START, static_cast<uint8_t>(_respond_before_start), 0);
2681 }
2682 bool Verify(flatbuffers::Verifier &verifier) const {
2683 return VerifyTableStart(verifier) &&
2684 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) &&
2685 VerifyField<uint64_t>(verifier, VT_APP_ID) &&
2686 VerifyField<uint32_t>(verifier, VT_APP_VERSION) &&
2687 VerifyField<uint32_t>(verifier, VT_TARGET_API_VERSION) &&
2688 VerifyOffsetRequired(verifier, VT_APP_BINARY) &&
2689 verifier.VerifyVector(app_binary()) &&
2690 VerifyField<uint32_t>(verifier, VT_FRAGMENT_ID) &&
2691 VerifyField<uint32_t>(verifier, VT_TOTAL_APP_SIZE) &&
2692 VerifyOffset(verifier, VT_APP_BINARY_FILE_NAME) &&
2693 verifier.VerifyVector(app_binary_file_name()) &&
2694 VerifyField<uint32_t>(verifier, VT_APP_FLAGS) &&
2695 VerifyField<uint8_t>(verifier, VT_RESPOND_BEFORE_START) &&
2696 verifier.EndTable();
2697 }
2698 LoadNanoappRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2699 void UnPackTo(LoadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2700 static flatbuffers::Offset<LoadNanoappRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2701 };
2702
2703 struct LoadNanoappRequestBuilder {
2704 typedef LoadNanoappRequest Table;
2705 flatbuffers::FlatBufferBuilder &fbb_;
2706 flatbuffers::uoffset_t start_;
2707 void add_transaction_id(uint32_t transaction_id) {
2708 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_TRANSACTION_ID, transaction_id, 0);
2709 }
2710 void add_app_id(uint64_t app_id) {
2711 fbb_.AddElement<uint64_t>(LoadNanoappRequest::VT_APP_ID, app_id, 0);
2712 }
2713 void add_app_version(uint32_t app_version) {
2714 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_APP_VERSION, app_version, 0);
2715 }
2716 void add_target_api_version(uint32_t target_api_version) {
2717 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_TARGET_API_VERSION, target_api_version, 0);
2718 }
2719 void add_app_binary(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> app_binary) {
2720 fbb_.AddOffset(LoadNanoappRequest::VT_APP_BINARY, app_binary);
2721 }
2722 void add_fragment_id(uint32_t fragment_id) {
2723 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_FRAGMENT_ID, fragment_id, 0);
2724 }
2725 void add_total_app_size(uint32_t total_app_size) {
2726 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_TOTAL_APP_SIZE, total_app_size, 0);
2727 }
2728 void add_app_binary_file_name(flatbuffers::Offset<flatbuffers::Vector<int8_t>> app_binary_file_name) {
2729 fbb_.AddOffset(LoadNanoappRequest::VT_APP_BINARY_FILE_NAME, app_binary_file_name);
2730 }
2731 void add_app_flags(uint32_t app_flags) {
2732 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_APP_FLAGS, app_flags, 0);
2733 }
2734 void add_respond_before_start(bool respond_before_start) {
2735 fbb_.AddElement<uint8_t>(LoadNanoappRequest::VT_RESPOND_BEFORE_START, static_cast<uint8_t>(respond_before_start), 0);
2736 }
2737 explicit LoadNanoappRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2738 : fbb_(_fbb) {
2739 start_ = fbb_.StartTable();
2740 }
2741 LoadNanoappRequestBuilder &operator=(const LoadNanoappRequestBuilder &);
2742 flatbuffers::Offset<LoadNanoappRequest> Finish() {
2743 const auto end = fbb_.EndTable(start_);
2744 auto o = flatbuffers::Offset<LoadNanoappRequest>(end);
2745 fbb_.Required(o, LoadNanoappRequest::VT_APP_BINARY);
2746 return o;
2747 }
2748 };
2749
2750 inline flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequest(
2751 flatbuffers::FlatBufferBuilder &_fbb,
2752 uint32_t transaction_id = 0,
2753 uint64_t app_id = 0,
2754 uint32_t app_version = 0,
2755 uint32_t target_api_version = 0,
2756 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> app_binary = 0,
2757 uint32_t fragment_id = 0,
2758 uint32_t total_app_size = 0,
2759 flatbuffers::Offset<flatbuffers::Vector<int8_t>> app_binary_file_name = 0,
2760 uint32_t app_flags = 0,
2761 bool respond_before_start = false) {
2762 LoadNanoappRequestBuilder builder_(_fbb);
2763 builder_.add_app_id(app_id);
2764 builder_.add_app_flags(app_flags);
2765 builder_.add_app_binary_file_name(app_binary_file_name);
2766 builder_.add_total_app_size(total_app_size);
2767 builder_.add_fragment_id(fragment_id);
2768 builder_.add_app_binary(app_binary);
2769 builder_.add_target_api_version(target_api_version);
2770 builder_.add_app_version(app_version);
2771 builder_.add_transaction_id(transaction_id);
2772 builder_.add_respond_before_start(respond_before_start);
2773 return builder_.Finish();
2774 }
2775
2776 inline flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequestDirect(
2777 flatbuffers::FlatBufferBuilder &_fbb,
2778 uint32_t transaction_id = 0,
2779 uint64_t app_id = 0,
2780 uint32_t app_version = 0,
2781 uint32_t target_api_version = 0,
2782 const std::vector<uint8_t> *app_binary = nullptr,
2783 uint32_t fragment_id = 0,
2784 uint32_t total_app_size = 0,
2785 const std::vector<int8_t> *app_binary_file_name = nullptr,
2786 uint32_t app_flags = 0,
2787 bool respond_before_start = false) {
2788 auto app_binary__ = app_binary ? _fbb.CreateVector<uint8_t>(*app_binary) : 0;
2789 auto app_binary_file_name__ = app_binary_file_name ? _fbb.CreateVector<int8_t>(*app_binary_file_name) : 0;
2790 return chre::fbs::CreateLoadNanoappRequest(
2791 _fbb,
2792 transaction_id,
2793 app_id,
2794 app_version,
2795 target_api_version,
2796 app_binary__,
2797 fragment_id,
2798 total_app_size,
2799 app_binary_file_name__,
2800 app_flags,
2801 respond_before_start);
2802 }
2803
2804 flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2805
2806 struct LoadNanoappResponseT : public flatbuffers::NativeTable {
2807 typedef LoadNanoappResponse TableType;
2808 uint32_t transaction_id;
2809 bool success;
2810 uint32_t fragment_id;
2811 LoadNanoappResponseT()
2812 : transaction_id(0),
2813 success(false),
2814 fragment_id(0) {
2815 }
2816 };
2817
2818 struct LoadNanoappResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2819 typedef LoadNanoappResponseT NativeTableType;
2820 typedef LoadNanoappResponseBuilder Builder;
2821 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2822 VT_TRANSACTION_ID = 4,
2823 VT_SUCCESS = 6,
2824 VT_FRAGMENT_ID = 8
2825 };
2826 uint32_t transaction_id() const {
2827 return GetField<uint32_t>(VT_TRANSACTION_ID, 0);
2828 }
2829 bool mutate_transaction_id(uint32_t _transaction_id) {
2830 return SetField<uint32_t>(VT_TRANSACTION_ID, _transaction_id, 0);
2831 }
2832 /// Denotes whether a load request succeeded or failed.
2833 /// If any fragment of a load request fails, the entire load request for
2834 /// the same transaction will fail.
2835 bool success() const {
2836 return GetField<uint8_t>(VT_SUCCESS, 0) != 0;
2837 }
2838 bool mutate_success(bool _success) {
2839 return SetField<uint8_t>(VT_SUCCESS, static_cast<uint8_t>(_success), 0);
2840 }
2841 /// The fragment count of the load reponse is for.
2842 uint32_t fragment_id() const {
2843 return GetField<uint32_t>(VT_FRAGMENT_ID, 0);
2844 }
2845 bool mutate_fragment_id(uint32_t _fragment_id) {
2846 return SetField<uint32_t>(VT_FRAGMENT_ID, _fragment_id, 0);
2847 }
2848 bool Verify(flatbuffers::Verifier &verifier) const {
2849 return VerifyTableStart(verifier) &&
2850 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) &&
2851 VerifyField<uint8_t>(verifier, VT_SUCCESS) &&
2852 VerifyField<uint32_t>(verifier, VT_FRAGMENT_ID) &&
2853 verifier.EndTable();
2854 }
2855 LoadNanoappResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2856 void UnPackTo(LoadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2857 static flatbuffers::Offset<LoadNanoappResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2858 };
2859
2860 struct LoadNanoappResponseBuilder {
2861 typedef LoadNanoappResponse Table;
2862 flatbuffers::FlatBufferBuilder &fbb_;
2863 flatbuffers::uoffset_t start_;
2864 void add_transaction_id(uint32_t transaction_id) {
2865 fbb_.AddElement<uint32_t>(LoadNanoappResponse::VT_TRANSACTION_ID, transaction_id, 0);
2866 }
2867 void add_success(bool success) {
2868 fbb_.AddElement<uint8_t>(LoadNanoappResponse::VT_SUCCESS, static_cast<uint8_t>(success), 0);
2869 }
2870 void add_fragment_id(uint32_t fragment_id) {
2871 fbb_.AddElement<uint32_t>(LoadNanoappResponse::VT_FRAGMENT_ID, fragment_id, 0);
2872 }
2873 explicit LoadNanoappResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2874 : fbb_(_fbb) {
2875 start_ = fbb_.StartTable();
2876 }
2877 LoadNanoappResponseBuilder &operator=(const LoadNanoappResponseBuilder &);
2878 flatbuffers::Offset<LoadNanoappResponse> Finish() {
2879 const auto end = fbb_.EndTable(start_);
2880 auto o = flatbuffers::Offset<LoadNanoappResponse>(end);
2881 return o;
2882 }
2883 };
2884
2885 inline flatbuffers::Offset<LoadNanoappResponse> CreateLoadNanoappResponse(
2886 flatbuffers::FlatBufferBuilder &_fbb,
2887 uint32_t transaction_id = 0,
2888 bool success = false,
2889 uint32_t fragment_id = 0) {
2890 LoadNanoappResponseBuilder builder_(_fbb);
2891 builder_.add_fragment_id(fragment_id);
2892 builder_.add_transaction_id(transaction_id);
2893 builder_.add_success(success);
2894 return builder_.Finish();
2895 }
2896
2897 flatbuffers::Offset<LoadNanoappResponse> CreateLoadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2898
2899 struct NanoappTokenDatabaseInfoT : public flatbuffers::NativeTable {
2900 typedef NanoappTokenDatabaseInfo TableType;
2901 uint32_t instance_id;
2902 uint64_t app_id;
2903 uint32_t database_offset_bytes;
2904 uint32_t database_size_bytes;
2905 NanoappTokenDatabaseInfoT()
2906 : instance_id(0),
2907 app_id(0),
2908 database_offset_bytes(0),
2909 database_size_bytes(0) {
2910 }
2911 };
2912
2913 /// Contains information needed for the host to load the token database for the
2914 /// nanoapp. This message is only sent if a token database section is found in
2915 /// the nanoapp elf binary.
2916 struct NanoappTokenDatabaseInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2917 typedef NanoappTokenDatabaseInfoT NativeTableType;
2918 typedef NanoappTokenDatabaseInfoBuilder Builder;
2919 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2920 VT_INSTANCE_ID = 4,
2921 VT_APP_ID = 6,
2922 VT_DATABASE_OFFSET_BYTES = 8,
2923 VT_DATABASE_SIZE_BYTES = 10
2924 };
2925 uint32_t instance_id() const {
2926 return GetField<uint32_t>(VT_INSTANCE_ID, 0);
2927 }
2928 bool mutate_instance_id(uint32_t _instance_id) {
2929 return SetField<uint32_t>(VT_INSTANCE_ID, _instance_id, 0);
2930 }
2931 uint64_t app_id() const {
2932 return GetField<uint64_t>(VT_APP_ID, 0);
2933 }
2934 bool mutate_app_id(uint64_t _app_id) {
2935 return SetField<uint64_t>(VT_APP_ID, _app_id, 0);
2936 }
2937 /// The size offset of the token database from the start of the address of
2938 /// the ELF binary in bytes.
2939 uint32_t database_offset_bytes() const {
2940 return GetField<uint32_t>(VT_DATABASE_OFFSET_BYTES, 0);
2941 }
2942 bool mutate_database_offset_bytes(uint32_t _database_offset_bytes) {
2943 return SetField<uint32_t>(VT_DATABASE_OFFSET_BYTES, _database_offset_bytes, 0);
2944 }
2945 /// The size of the token database section in the ELF binary in bytes.
2946 uint32_t database_size_bytes() const {
2947 return GetField<uint32_t>(VT_DATABASE_SIZE_BYTES, 0);
2948 }
2949 bool mutate_database_size_bytes(uint32_t _database_size_bytes) {
2950 return SetField<uint32_t>(VT_DATABASE_SIZE_BYTES, _database_size_bytes, 0);
2951 }
2952 bool Verify(flatbuffers::Verifier &verifier) const {
2953 return VerifyTableStart(verifier) &&
2954 VerifyField<uint32_t>(verifier, VT_INSTANCE_ID) &&
2955 VerifyField<uint64_t>(verifier, VT_APP_ID) &&
2956 VerifyField<uint32_t>(verifier, VT_DATABASE_OFFSET_BYTES) &&
2957 VerifyField<uint32_t>(verifier, VT_DATABASE_SIZE_BYTES) &&
2958 verifier.EndTable();
2959 }
2960 NanoappTokenDatabaseInfoT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2961 void UnPackTo(NanoappTokenDatabaseInfoT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2962 static flatbuffers::Offset<NanoappTokenDatabaseInfo> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappTokenDatabaseInfoT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2963 };
2964
2965 struct NanoappTokenDatabaseInfoBuilder {
2966 typedef NanoappTokenDatabaseInfo Table;
2967 flatbuffers::FlatBufferBuilder &fbb_;
2968 flatbuffers::uoffset_t start_;
2969 void add_instance_id(uint32_t instance_id) {
2970 fbb_.AddElement<uint32_t>(NanoappTokenDatabaseInfo::VT_INSTANCE_ID, instance_id, 0);
2971 }
2972 void add_app_id(uint64_t app_id) {
2973 fbb_.AddElement<uint64_t>(NanoappTokenDatabaseInfo::VT_APP_ID, app_id, 0);
2974 }
2975 void add_database_offset_bytes(uint32_t database_offset_bytes) {
2976 fbb_.AddElement<uint32_t>(NanoappTokenDatabaseInfo::VT_DATABASE_OFFSET_BYTES, database_offset_bytes, 0);
2977 }
2978 void add_database_size_bytes(uint32_t database_size_bytes) {
2979 fbb_.AddElement<uint32_t>(NanoappTokenDatabaseInfo::VT_DATABASE_SIZE_BYTES, database_size_bytes, 0);
2980 }
2981 explicit NanoappTokenDatabaseInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2982 : fbb_(_fbb) {
2983 start_ = fbb_.StartTable();
2984 }
2985 NanoappTokenDatabaseInfoBuilder &operator=(const NanoappTokenDatabaseInfoBuilder &);
2986 flatbuffers::Offset<NanoappTokenDatabaseInfo> Finish() {
2987 const auto end = fbb_.EndTable(start_);
2988 auto o = flatbuffers::Offset<NanoappTokenDatabaseInfo>(end);
2989 return o;
2990 }
2991 };
2992
2993 inline flatbuffers::Offset<NanoappTokenDatabaseInfo> CreateNanoappTokenDatabaseInfo(
2994 flatbuffers::FlatBufferBuilder &_fbb,
2995 uint32_t instance_id = 0,
2996 uint64_t app_id = 0,
2997 uint32_t database_offset_bytes = 0,
2998 uint32_t database_size_bytes = 0) {
2999 NanoappTokenDatabaseInfoBuilder builder_(_fbb);
3000 builder_.add_app_id(app_id);
3001 builder_.add_database_size_bytes(database_size_bytes);
3002 builder_.add_database_offset_bytes(database_offset_bytes);
3003 builder_.add_instance_id(instance_id);
3004 return builder_.Finish();
3005 }
3006
3007 flatbuffers::Offset<NanoappTokenDatabaseInfo> CreateNanoappTokenDatabaseInfo(flatbuffers::FlatBufferBuilder &_fbb, const NanoappTokenDatabaseInfoT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3008
3009 struct UnloadNanoappRequestT : public flatbuffers::NativeTable {
3010 typedef UnloadNanoappRequest TableType;
3011 uint32_t transaction_id;
3012 uint64_t app_id;
3013 bool allow_system_nanoapp_unload;
3014 UnloadNanoappRequestT()
3015 : transaction_id(0),
3016 app_id(0),
3017 allow_system_nanoapp_unload(false) {
3018 }
3019 };
3020
3021 struct UnloadNanoappRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3022 typedef UnloadNanoappRequestT NativeTableType;
3023 typedef UnloadNanoappRequestBuilder Builder;
3024 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3025 VT_TRANSACTION_ID = 4,
3026 VT_APP_ID = 6,
3027 VT_ALLOW_SYSTEM_NANOAPP_UNLOAD = 8
3028 };
3029 uint32_t transaction_id() const {
3030 return GetField<uint32_t>(VT_TRANSACTION_ID, 0);
3031 }
3032 bool mutate_transaction_id(uint32_t _transaction_id) {
3033 return SetField<uint32_t>(VT_TRANSACTION_ID, _transaction_id, 0);
3034 }
3035 uint64_t app_id() const {
3036 return GetField<uint64_t>(VT_APP_ID, 0);
3037 }
3038 bool mutate_app_id(uint64_t _app_id) {
3039 return SetField<uint64_t>(VT_APP_ID, _app_id, 0);
3040 }
3041 /// Set to true to allow this request to unload nanoapps identified as "system
3042 /// nanoapps", i.e. ones with is_system set to true in NanoappListResponse.
3043 bool allow_system_nanoapp_unload() const {
3044 return GetField<uint8_t>(VT_ALLOW_SYSTEM_NANOAPP_UNLOAD, 0) != 0;
3045 }
3046 bool mutate_allow_system_nanoapp_unload(bool _allow_system_nanoapp_unload) {
3047 return SetField<uint8_t>(VT_ALLOW_SYSTEM_NANOAPP_UNLOAD, static_cast<uint8_t>(_allow_system_nanoapp_unload), 0);
3048 }
3049 bool Verify(flatbuffers::Verifier &verifier) const {
3050 return VerifyTableStart(verifier) &&
3051 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) &&
3052 VerifyField<uint64_t>(verifier, VT_APP_ID) &&
3053 VerifyField<uint8_t>(verifier, VT_ALLOW_SYSTEM_NANOAPP_UNLOAD) &&
3054 verifier.EndTable();
3055 }
3056 UnloadNanoappRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3057 void UnPackTo(UnloadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3058 static flatbuffers::Offset<UnloadNanoappRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3059 };
3060
3061 struct UnloadNanoappRequestBuilder {
3062 typedef UnloadNanoappRequest Table;
3063 flatbuffers::FlatBufferBuilder &fbb_;
3064 flatbuffers::uoffset_t start_;
3065 void add_transaction_id(uint32_t transaction_id) {
3066 fbb_.AddElement<uint32_t>(UnloadNanoappRequest::VT_TRANSACTION_ID, transaction_id, 0);
3067 }
3068 void add_app_id(uint64_t app_id) {
3069 fbb_.AddElement<uint64_t>(UnloadNanoappRequest::VT_APP_ID, app_id, 0);
3070 }
3071 void add_allow_system_nanoapp_unload(bool allow_system_nanoapp_unload) {
3072 fbb_.AddElement<uint8_t>(UnloadNanoappRequest::VT_ALLOW_SYSTEM_NANOAPP_UNLOAD, static_cast<uint8_t>(allow_system_nanoapp_unload), 0);
3073 }
3074 explicit UnloadNanoappRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3075 : fbb_(_fbb) {
3076 start_ = fbb_.StartTable();
3077 }
3078 UnloadNanoappRequestBuilder &operator=(const UnloadNanoappRequestBuilder &);
3079 flatbuffers::Offset<UnloadNanoappRequest> Finish() {
3080 const auto end = fbb_.EndTable(start_);
3081 auto o = flatbuffers::Offset<UnloadNanoappRequest>(end);
3082 return o;
3083 }
3084 };
3085
3086 inline flatbuffers::Offset<UnloadNanoappRequest> CreateUnloadNanoappRequest(
3087 flatbuffers::FlatBufferBuilder &_fbb,
3088 uint32_t transaction_id = 0,
3089 uint64_t app_id = 0,
3090 bool allow_system_nanoapp_unload = false) {
3091 UnloadNanoappRequestBuilder builder_(_fbb);
3092 builder_.add_app_id(app_id);
3093 builder_.add_transaction_id(transaction_id);
3094 builder_.add_allow_system_nanoapp_unload(allow_system_nanoapp_unload);
3095 return builder_.Finish();
3096 }
3097
3098 flatbuffers::Offset<UnloadNanoappRequest> CreateUnloadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3099
3100 struct UnloadNanoappResponseT : public flatbuffers::NativeTable {
3101 typedef UnloadNanoappResponse TableType;
3102 uint32_t transaction_id;
3103 bool success;
3104 UnloadNanoappResponseT()
3105 : transaction_id(0),
3106 success(false) {
3107 }
3108 };
3109
3110 struct UnloadNanoappResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3111 typedef UnloadNanoappResponseT NativeTableType;
3112 typedef UnloadNanoappResponseBuilder Builder;
3113 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3114 VT_TRANSACTION_ID = 4,
3115 VT_SUCCESS = 6
3116 };
3117 uint32_t transaction_id() const {
3118 return GetField<uint32_t>(VT_TRANSACTION_ID, 0);
3119 }
3120 bool mutate_transaction_id(uint32_t _transaction_id) {
3121 return SetField<uint32_t>(VT_TRANSACTION_ID, _transaction_id, 0);
3122 }
3123 bool success() const {
3124 return GetField<uint8_t>(VT_SUCCESS, 0) != 0;
3125 }
3126 bool mutate_success(bool _success) {
3127 return SetField<uint8_t>(VT_SUCCESS, static_cast<uint8_t>(_success), 0);
3128 }
3129 bool Verify(flatbuffers::Verifier &verifier) const {
3130 return VerifyTableStart(verifier) &&
3131 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) &&
3132 VerifyField<uint8_t>(verifier, VT_SUCCESS) &&
3133 verifier.EndTable();
3134 }
3135 UnloadNanoappResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3136 void UnPackTo(UnloadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3137 static flatbuffers::Offset<UnloadNanoappResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3138 };
3139
3140 struct UnloadNanoappResponseBuilder {
3141 typedef UnloadNanoappResponse Table;
3142 flatbuffers::FlatBufferBuilder &fbb_;
3143 flatbuffers::uoffset_t start_;
3144 void add_transaction_id(uint32_t transaction_id) {
3145 fbb_.AddElement<uint32_t>(UnloadNanoappResponse::VT_TRANSACTION_ID, transaction_id, 0);
3146 }
3147 void add_success(bool success) {
3148 fbb_.AddElement<uint8_t>(UnloadNanoappResponse::VT_SUCCESS, static_cast<uint8_t>(success), 0);
3149 }
3150 explicit UnloadNanoappResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3151 : fbb_(_fbb) {
3152 start_ = fbb_.StartTable();
3153 }
3154 UnloadNanoappResponseBuilder &operator=(const UnloadNanoappResponseBuilder &);
3155 flatbuffers::Offset<UnloadNanoappResponse> Finish() {
3156 const auto end = fbb_.EndTable(start_);
3157 auto o = flatbuffers::Offset<UnloadNanoappResponse>(end);
3158 return o;
3159 }
3160 };
3161
3162 inline flatbuffers::Offset<UnloadNanoappResponse> CreateUnloadNanoappResponse(
3163 flatbuffers::FlatBufferBuilder &_fbb,
3164 uint32_t transaction_id = 0,
3165 bool success = false) {
3166 UnloadNanoappResponseBuilder builder_(_fbb);
3167 builder_.add_transaction_id(transaction_id);
3168 builder_.add_success(success);
3169 return builder_.Finish();
3170 }
3171
3172 flatbuffers::Offset<UnloadNanoappResponse> CreateUnloadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3173
3174 struct LogMessageT : public flatbuffers::NativeTable {
3175 typedef LogMessage TableType;
3176 std::vector<int8_t> buffer;
3177 LogMessageT() {
3178 }
3179 };
3180
3181 /// Represents log messages from CHRE.
3182 struct LogMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3183 typedef LogMessageT NativeTableType;
3184 typedef LogMessageBuilder Builder;
3185 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3186 VT_BUFFER = 4
3187 };
3188 /// A buffer containing formatted log data. A flat array is used here to avoid
3189 /// overhead in serializing and deserializing. The format is as follows:
3190 ///
3191 /// uint8_t - log level (1 = error, 2 = warning,
3192 /// 3 = info, 4 = debug)
3193 /// uint64_t, little-endian - timestamp in nanoseconds
3194 /// char[] - message to log
3195 /// char, \0 - null-terminator
3196 ///
3197 /// This pattern repeats until the end of the buffer for multiple log
3198 /// messages. The last byte will always be a null-terminator. There are no
3199 /// padding bytes between these fields. Treat this like a packed struct and be
3200 /// cautious with unaligned access when reading/writing this buffer.
3201 const flatbuffers::Vector<int8_t> *buffer() const {
3202 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_BUFFER);
3203 }
3204 flatbuffers::Vector<int8_t> *mutable_buffer() {
3205 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_BUFFER);
3206 }
3207 bool Verify(flatbuffers::Verifier &verifier) const {
3208 return VerifyTableStart(verifier) &&
3209 VerifyOffset(verifier, VT_BUFFER) &&
3210 verifier.VerifyVector(buffer()) &&
3211 verifier.EndTable();
3212 }
3213 LogMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3214 void UnPackTo(LogMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3215 static flatbuffers::Offset<LogMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3216 };
3217
3218 struct LogMessageBuilder {
3219 typedef LogMessage Table;
3220 flatbuffers::FlatBufferBuilder &fbb_;
3221 flatbuffers::uoffset_t start_;
3222 void add_buffer(flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer) {
3223 fbb_.AddOffset(LogMessage::VT_BUFFER, buffer);
3224 }
3225 explicit LogMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3226 : fbb_(_fbb) {
3227 start_ = fbb_.StartTable();
3228 }
3229 LogMessageBuilder &operator=(const LogMessageBuilder &);
3230 flatbuffers::Offset<LogMessage> Finish() {
3231 const auto end = fbb_.EndTable(start_);
3232 auto o = flatbuffers::Offset<LogMessage>(end);
3233 return o;
3234 }
3235 };
3236
3237 inline flatbuffers::Offset<LogMessage> CreateLogMessage(
3238 flatbuffers::FlatBufferBuilder &_fbb,
3239 flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer = 0) {
3240 LogMessageBuilder builder_(_fbb);
3241 builder_.add_buffer(buffer);
3242 return builder_.Finish();
3243 }
3244
3245 inline flatbuffers::Offset<LogMessage> CreateLogMessageDirect(
3246 flatbuffers::FlatBufferBuilder &_fbb,
3247 const std::vector<int8_t> *buffer = nullptr) {
3248 auto buffer__ = buffer ? _fbb.CreateVector<int8_t>(*buffer) : 0;
3249 return chre::fbs::CreateLogMessage(
3250 _fbb,
3251 buffer__);
3252 }
3253
3254 flatbuffers::Offset<LogMessage> CreateLogMessage(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3255
3256 struct TimeSyncMessageT : public flatbuffers::NativeTable {
3257 typedef TimeSyncMessage TableType;
3258 int64_t offset;
3259 TimeSyncMessageT()
3260 : offset(0) {
3261 }
3262 };
3263
3264 /// Represents a message sent to CHRE to indicate AP timestamp for time sync
3265 struct TimeSyncMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3266 typedef TimeSyncMessageT NativeTableType;
3267 typedef TimeSyncMessageBuilder Builder;
3268 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3269 VT_OFFSET = 4
3270 };
3271 /// Offset between AP and CHRE timestamp
3272 int64_t offset() const {
3273 return GetField<int64_t>(VT_OFFSET, 0);
3274 }
3275 bool mutate_offset(int64_t _offset) {
3276 return SetField<int64_t>(VT_OFFSET, _offset, 0);
3277 }
3278 bool Verify(flatbuffers::Verifier &verifier) const {
3279 return VerifyTableStart(verifier) &&
3280 VerifyField<int64_t>(verifier, VT_OFFSET) &&
3281 verifier.EndTable();
3282 }
3283 TimeSyncMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3284 void UnPackTo(TimeSyncMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3285 static flatbuffers::Offset<TimeSyncMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3286 };
3287
3288 struct TimeSyncMessageBuilder {
3289 typedef TimeSyncMessage Table;
3290 flatbuffers::FlatBufferBuilder &fbb_;
3291 flatbuffers::uoffset_t start_;
3292 void add_offset(int64_t offset) {
3293 fbb_.AddElement<int64_t>(TimeSyncMessage::VT_OFFSET, offset, 0);
3294 }
3295 explicit TimeSyncMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3296 : fbb_(_fbb) {
3297 start_ = fbb_.StartTable();
3298 }
3299 TimeSyncMessageBuilder &operator=(const TimeSyncMessageBuilder &);
3300 flatbuffers::Offset<TimeSyncMessage> Finish() {
3301 const auto end = fbb_.EndTable(start_);
3302 auto o = flatbuffers::Offset<TimeSyncMessage>(end);
3303 return o;
3304 }
3305 };
3306
3307 inline flatbuffers::Offset<TimeSyncMessage> CreateTimeSyncMessage(
3308 flatbuffers::FlatBufferBuilder &_fbb,
3309 int64_t offset = 0) {
3310 TimeSyncMessageBuilder builder_(_fbb);
3311 builder_.add_offset(offset);
3312 return builder_.Finish();
3313 }
3314
3315 flatbuffers::Offset<TimeSyncMessage> CreateTimeSyncMessage(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3316
3317 struct DebugDumpRequestT : public flatbuffers::NativeTable {
3318 typedef DebugDumpRequest TableType;
3319 DebugDumpRequestT() {
3320 }
3321 };
3322
3323 /// A request to gather and return debugging information. Only one debug dump
3324 /// session can be active at a time. Upon accepting a request, zero or more
3325 /// DebugDumpData messages are generated, followed by a DebugDumpResponse
3326 /// indicating the completion of the operation.
3327 struct DebugDumpRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3328 typedef DebugDumpRequestT NativeTableType;
3329 typedef DebugDumpRequestBuilder Builder;
3330 bool Verify(flatbuffers::Verifier &verifier) const {
3331 return VerifyTableStart(verifier) &&
3332 verifier.EndTable();
3333 }
3334 DebugDumpRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3335 void UnPackTo(DebugDumpRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3336 static flatbuffers::Offset<DebugDumpRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3337 };
3338
3339 struct DebugDumpRequestBuilder {
3340 typedef DebugDumpRequest Table;
3341 flatbuffers::FlatBufferBuilder &fbb_;
3342 flatbuffers::uoffset_t start_;
3343 explicit DebugDumpRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3344 : fbb_(_fbb) {
3345 start_ = fbb_.StartTable();
3346 }
3347 DebugDumpRequestBuilder &operator=(const DebugDumpRequestBuilder &);
3348 flatbuffers::Offset<DebugDumpRequest> Finish() {
3349 const auto end = fbb_.EndTable(start_);
3350 auto o = flatbuffers::Offset<DebugDumpRequest>(end);
3351 return o;
3352 }
3353 };
3354
3355 inline flatbuffers::Offset<DebugDumpRequest> CreateDebugDumpRequest(
3356 flatbuffers::FlatBufferBuilder &_fbb) {
3357 DebugDumpRequestBuilder builder_(_fbb);
3358 return builder_.Finish();
3359 }
3360
3361 flatbuffers::Offset<DebugDumpRequest> CreateDebugDumpRequest(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3362
3363 struct DebugDumpDataT : public flatbuffers::NativeTable {
3364 typedef DebugDumpData TableType;
3365 std::vector<int8_t> debug_str;
3366 DebugDumpDataT() {
3367 }
3368 };
3369
3370 struct DebugDumpData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3371 typedef DebugDumpDataT NativeTableType;
3372 typedef DebugDumpDataBuilder Builder;
3373 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3374 VT_DEBUG_STR = 4
3375 };
3376 /// Null-terminated ASCII string containing debugging information
3377 const flatbuffers::Vector<int8_t> *debug_str() const {
3378 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_DEBUG_STR);
3379 }
3380 flatbuffers::Vector<int8_t> *mutable_debug_str() {
3381 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_DEBUG_STR);
3382 }
3383 bool Verify(flatbuffers::Verifier &verifier) const {
3384 return VerifyTableStart(verifier) &&
3385 VerifyOffset(verifier, VT_DEBUG_STR) &&
3386 verifier.VerifyVector(debug_str()) &&
3387 verifier.EndTable();
3388 }
3389 DebugDumpDataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3390 void UnPackTo(DebugDumpDataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3391 static flatbuffers::Offset<DebugDumpData> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3392 };
3393
3394 struct DebugDumpDataBuilder {
3395 typedef DebugDumpData Table;
3396 flatbuffers::FlatBufferBuilder &fbb_;
3397 flatbuffers::uoffset_t start_;
3398 void add_debug_str(flatbuffers::Offset<flatbuffers::Vector<int8_t>> debug_str) {
3399 fbb_.AddOffset(DebugDumpData::VT_DEBUG_STR, debug_str);
3400 }
3401 explicit DebugDumpDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3402 : fbb_(_fbb) {
3403 start_ = fbb_.StartTable();
3404 }
3405 DebugDumpDataBuilder &operator=(const DebugDumpDataBuilder &);
3406 flatbuffers::Offset<DebugDumpData> Finish() {
3407 const auto end = fbb_.EndTable(start_);
3408 auto o = flatbuffers::Offset<DebugDumpData>(end);
3409 return o;
3410 }
3411 };
3412
3413 inline flatbuffers::Offset<DebugDumpData> CreateDebugDumpData(
3414 flatbuffers::FlatBufferBuilder &_fbb,
3415 flatbuffers::Offset<flatbuffers::Vector<int8_t>> debug_str = 0) {
3416 DebugDumpDataBuilder builder_(_fbb);
3417 builder_.add_debug_str(debug_str);
3418 return builder_.Finish();
3419 }
3420
3421 inline flatbuffers::Offset<DebugDumpData> CreateDebugDumpDataDirect(
3422 flatbuffers::FlatBufferBuilder &_fbb,
3423 const std::vector<int8_t> *debug_str = nullptr) {
3424 auto debug_str__ = debug_str ? _fbb.CreateVector<int8_t>(*debug_str) : 0;
3425 return chre::fbs::CreateDebugDumpData(
3426 _fbb,
3427 debug_str__);
3428 }
3429
3430 flatbuffers::Offset<DebugDumpData> CreateDebugDumpData(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3431
3432 struct DebugDumpResponseT : public flatbuffers::NativeTable {
3433 typedef DebugDumpResponse TableType;
3434 bool success;
3435 uint32_t data_count;
3436 DebugDumpResponseT()
3437 : success(false),
3438 data_count(0) {
3439 }
3440 };
3441
3442 struct DebugDumpResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3443 typedef DebugDumpResponseT NativeTableType;
3444 typedef DebugDumpResponseBuilder Builder;
3445 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3446 VT_SUCCESS = 4,
3447 VT_DATA_COUNT = 6
3448 };
3449 /// true if the request was accepted and a dump was performed, false if it was
3450 /// rejected or failed to complete for some reason
3451 bool success() const {
3452 return GetField<uint8_t>(VT_SUCCESS, 0) != 0;
3453 }
3454 bool mutate_success(bool _success) {
3455 return SetField<uint8_t>(VT_SUCCESS, static_cast<uint8_t>(_success), 0);
3456 }
3457 /// The number of DebugDumpData messages sent in this session
3458 uint32_t data_count() const {
3459 return GetField<uint32_t>(VT_DATA_COUNT, 0);
3460 }
3461 bool mutate_data_count(uint32_t _data_count) {
3462 return SetField<uint32_t>(VT_DATA_COUNT, _data_count, 0);
3463 }
3464 bool Verify(flatbuffers::Verifier &verifier) const {
3465 return VerifyTableStart(verifier) &&
3466 VerifyField<uint8_t>(verifier, VT_SUCCESS) &&
3467 VerifyField<uint32_t>(verifier, VT_DATA_COUNT) &&
3468 verifier.EndTable();
3469 }
3470 DebugDumpResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3471 void UnPackTo(DebugDumpResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3472 static flatbuffers::Offset<DebugDumpResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3473 };
3474
3475 struct DebugDumpResponseBuilder {
3476 typedef DebugDumpResponse Table;
3477 flatbuffers::FlatBufferBuilder &fbb_;
3478 flatbuffers::uoffset_t start_;
3479 void add_success(bool success) {
3480 fbb_.AddElement<uint8_t>(DebugDumpResponse::VT_SUCCESS, static_cast<uint8_t>(success), 0);
3481 }
3482 void add_data_count(uint32_t data_count) {
3483 fbb_.AddElement<uint32_t>(DebugDumpResponse::VT_DATA_COUNT, data_count, 0);
3484 }
3485 explicit DebugDumpResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3486 : fbb_(_fbb) {
3487 start_ = fbb_.StartTable();
3488 }
3489 DebugDumpResponseBuilder &operator=(const DebugDumpResponseBuilder &);
3490 flatbuffers::Offset<DebugDumpResponse> Finish() {
3491 const auto end = fbb_.EndTable(start_);
3492 auto o = flatbuffers::Offset<DebugDumpResponse>(end);
3493 return o;
3494 }
3495 };
3496
3497 inline flatbuffers::Offset<DebugDumpResponse> CreateDebugDumpResponse(
3498 flatbuffers::FlatBufferBuilder &_fbb,
3499 bool success = false,
3500 uint32_t data_count = 0) {
3501 DebugDumpResponseBuilder builder_(_fbb);
3502 builder_.add_data_count(data_count);
3503 builder_.add_success(success);
3504 return builder_.Finish();
3505 }
3506
3507 flatbuffers::Offset<DebugDumpResponse> CreateDebugDumpResponse(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3508
3509 struct TimeSyncRequestT : public flatbuffers::NativeTable {
3510 typedef TimeSyncRequest TableType;
3511 TimeSyncRequestT() {
3512 }
3513 };
3514
3515 /// A request from CHRE for host to initiate a time sync message
3516 /// (system feature, platform-specific - not all platforms necessarily use this)
3517 struct TimeSyncRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3518 typedef TimeSyncRequestT NativeTableType;
3519 typedef TimeSyncRequestBuilder Builder;
3520 bool Verify(flatbuffers::Verifier &verifier) const {
3521 return VerifyTableStart(verifier) &&
3522 verifier.EndTable();
3523 }
3524 TimeSyncRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3525 void UnPackTo(TimeSyncRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3526 static flatbuffers::Offset<TimeSyncRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3527 };
3528
3529 struct TimeSyncRequestBuilder {
3530 typedef TimeSyncRequest Table;
3531 flatbuffers::FlatBufferBuilder &fbb_;
3532 flatbuffers::uoffset_t start_;
3533 explicit TimeSyncRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3534 : fbb_(_fbb) {
3535 start_ = fbb_.StartTable();
3536 }
3537 TimeSyncRequestBuilder &operator=(const TimeSyncRequestBuilder &);
3538 flatbuffers::Offset<TimeSyncRequest> Finish() {
3539 const auto end = fbb_.EndTable(start_);
3540 auto o = flatbuffers::Offset<TimeSyncRequest>(end);
3541 return o;
3542 }
3543 };
3544
3545 inline flatbuffers::Offset<TimeSyncRequest> CreateTimeSyncRequest(
3546 flatbuffers::FlatBufferBuilder &_fbb) {
3547 TimeSyncRequestBuilder builder_(_fbb);
3548 return builder_.Finish();
3549 }
3550
3551 flatbuffers::Offset<TimeSyncRequest> CreateTimeSyncRequest(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3552
3553 struct LowPowerMicAccessRequestT : public flatbuffers::NativeTable {
3554 typedef LowPowerMicAccessRequest TableType;
3555 LowPowerMicAccessRequestT() {
3556 }
3557 };
3558
3559 /// Request from CHRE to enable direct access to data from the low-power
3560 /// microphone. On some systems, coordination via the AP (e.g. with
3561 /// SoundTrigger HAL) is needed to ensure this capability is powered up when
3562 /// CHRE needs it. The host does not send a response.
3563 struct LowPowerMicAccessRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3564 typedef LowPowerMicAccessRequestT NativeTableType;
3565 typedef LowPowerMicAccessRequestBuilder Builder;
3566 bool Verify(flatbuffers::Verifier &verifier) const {
3567 return VerifyTableStart(verifier) &&
3568 verifier.EndTable();
3569 }
3570 LowPowerMicAccessRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3571 void UnPackTo(LowPowerMicAccessRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3572 static flatbuffers::Offset<LowPowerMicAccessRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3573 };
3574
3575 struct LowPowerMicAccessRequestBuilder {
3576 typedef LowPowerMicAccessRequest Table;
3577 flatbuffers::FlatBufferBuilder &fbb_;
3578 flatbuffers::uoffset_t start_;
3579 explicit LowPowerMicAccessRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3580 : fbb_(_fbb) {
3581 start_ = fbb_.StartTable();
3582 }
3583 LowPowerMicAccessRequestBuilder &operator=(const LowPowerMicAccessRequestBuilder &);
3584 flatbuffers::Offset<LowPowerMicAccessRequest> Finish() {
3585 const auto end = fbb_.EndTable(start_);
3586 auto o = flatbuffers::Offset<LowPowerMicAccessRequest>(end);
3587 return o;
3588 }
3589 };
3590
3591 inline flatbuffers::Offset<LowPowerMicAccessRequest> CreateLowPowerMicAccessRequest(
3592 flatbuffers::FlatBufferBuilder &_fbb) {
3593 LowPowerMicAccessRequestBuilder builder_(_fbb);
3594 return builder_.Finish();
3595 }
3596
3597 flatbuffers::Offset<LowPowerMicAccessRequest> CreateLowPowerMicAccessRequest(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3598
3599 struct LowPowerMicAccessReleaseT : public flatbuffers::NativeTable {
3600 typedef LowPowerMicAccessRelease TableType;
3601 LowPowerMicAccessReleaseT() {
3602 }
3603 };
3604
3605 /// Notification from CHRE that it no longer needs direct access to low-power
3606 /// microphone data.
3607 struct LowPowerMicAccessRelease FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3608 typedef LowPowerMicAccessReleaseT NativeTableType;
3609 typedef LowPowerMicAccessReleaseBuilder Builder;
3610 bool Verify(flatbuffers::Verifier &verifier) const {
3611 return VerifyTableStart(verifier) &&
3612 verifier.EndTable();
3613 }
3614 LowPowerMicAccessReleaseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3615 void UnPackTo(LowPowerMicAccessReleaseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3616 static flatbuffers::Offset<LowPowerMicAccessRelease> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessReleaseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3617 };
3618
3619 struct LowPowerMicAccessReleaseBuilder {
3620 typedef LowPowerMicAccessRelease Table;
3621 flatbuffers::FlatBufferBuilder &fbb_;
3622 flatbuffers::uoffset_t start_;
3623 explicit LowPowerMicAccessReleaseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3624 : fbb_(_fbb) {
3625 start_ = fbb_.StartTable();
3626 }
3627 LowPowerMicAccessReleaseBuilder &operator=(const LowPowerMicAccessReleaseBuilder &);
3628 flatbuffers::Offset<LowPowerMicAccessRelease> Finish() {
3629 const auto end = fbb_.EndTable(start_);
3630 auto o = flatbuffers::Offset<LowPowerMicAccessRelease>(end);
3631 return o;
3632 }
3633 };
3634
3635 inline flatbuffers::Offset<LowPowerMicAccessRelease> CreateLowPowerMicAccessRelease(
3636 flatbuffers::FlatBufferBuilder &_fbb) {
3637 LowPowerMicAccessReleaseBuilder builder_(_fbb);
3638 return builder_.Finish();
3639 }
3640
3641 flatbuffers::Offset<LowPowerMicAccessRelease> CreateLowPowerMicAccessRelease(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessReleaseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3642
3643 struct SettingChangeMessageT : public flatbuffers::NativeTable {
3644 typedef SettingChangeMessage TableType;
3645 chre::fbs::Setting setting;
3646 chre::fbs::SettingState state;
3647 SettingChangeMessageT()
3648 : setting(chre::fbs::Setting::LOCATION),
3649 state(chre::fbs::SettingState::DISABLED) {
3650 }
3651 };
3652
3653 /// Notification from the host that a system setting has changed
3654 struct SettingChangeMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3655 typedef SettingChangeMessageT NativeTableType;
3656 typedef SettingChangeMessageBuilder Builder;
3657 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3658 VT_SETTING = 4,
3659 VT_STATE = 6
3660 };
3661 /// The setting that has changed
3662 chre::fbs::Setting setting() const {
3663 return static_cast<chre::fbs::Setting>(GetField<int8_t>(VT_SETTING, 0));
3664 }
3665 bool mutate_setting(chre::fbs::Setting _setting) {
3666 return SetField<int8_t>(VT_SETTING, static_cast<int8_t>(_setting), 0);
3667 }
3668 /// The new setting value
3669 chre::fbs::SettingState state() const {
3670 return static_cast<chre::fbs::SettingState>(GetField<int8_t>(VT_STATE, 0));
3671 }
3672 bool mutate_state(chre::fbs::SettingState _state) {
3673 return SetField<int8_t>(VT_STATE, static_cast<int8_t>(_state), 0);
3674 }
3675 bool Verify(flatbuffers::Verifier &verifier) const {
3676 return VerifyTableStart(verifier) &&
3677 VerifyField<int8_t>(verifier, VT_SETTING) &&
3678 VerifyField<int8_t>(verifier, VT_STATE) &&
3679 verifier.EndTable();
3680 }
3681 SettingChangeMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3682 void UnPackTo(SettingChangeMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3683 static flatbuffers::Offset<SettingChangeMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const SettingChangeMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3684 };
3685
3686 struct SettingChangeMessageBuilder {
3687 typedef SettingChangeMessage Table;
3688 flatbuffers::FlatBufferBuilder &fbb_;
3689 flatbuffers::uoffset_t start_;
3690 void add_setting(chre::fbs::Setting setting) {
3691 fbb_.AddElement<int8_t>(SettingChangeMessage::VT_SETTING, static_cast<int8_t>(setting), 0);
3692 }
3693 void add_state(chre::fbs::SettingState state) {
3694 fbb_.AddElement<int8_t>(SettingChangeMessage::VT_STATE, static_cast<int8_t>(state), 0);
3695 }
3696 explicit SettingChangeMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3697 : fbb_(_fbb) {
3698 start_ = fbb_.StartTable();
3699 }
3700 SettingChangeMessageBuilder &operator=(const SettingChangeMessageBuilder &);
3701 flatbuffers::Offset<SettingChangeMessage> Finish() {
3702 const auto end = fbb_.EndTable(start_);
3703 auto o = flatbuffers::Offset<SettingChangeMessage>(end);
3704 return o;
3705 }
3706 };
3707
3708 inline flatbuffers::Offset<SettingChangeMessage> CreateSettingChangeMessage(
3709 flatbuffers::FlatBufferBuilder &_fbb,
3710 chre::fbs::Setting setting = chre::fbs::Setting::LOCATION,
3711 chre::fbs::SettingState state = chre::fbs::SettingState::DISABLED) {
3712 SettingChangeMessageBuilder builder_(_fbb);
3713 builder_.add_state(state);
3714 builder_.add_setting(setting);
3715 return builder_.Finish();
3716 }
3717
3718 flatbuffers::Offset<SettingChangeMessage> CreateSettingChangeMessage(flatbuffers::FlatBufferBuilder &_fbb, const SettingChangeMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3719
3720 struct LogMessageV2T : public flatbuffers::NativeTable {
3721 typedef LogMessageV2 TableType;
3722 std::vector<int8_t> buffer;
3723 uint32_t num_logs_dropped;
3724 LogMessageV2T()
3725 : num_logs_dropped(0) {
3726 }
3727 };
3728
3729 /// Represents V2 log messages from CHRE.
3730 struct LogMessageV2 FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3731 typedef LogMessageV2T NativeTableType;
3732 typedef LogMessageV2Builder Builder;
3733 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3734 VT_BUFFER = 4,
3735 VT_NUM_LOGS_DROPPED = 6
3736 };
3737 /// A buffer containing formatted log data. A flat array is used here to avoid
3738 /// overhead in serializing and deserializing. The format is as follows:
3739 ///
3740 /// uint8_t - Log metadata, encoded as follows:
3741 /// [EI(Upper nibble) | Level(Lower nibble)]
3742 /// * Log Type
3743 /// (0 = No encoding, 1 = Tokenized log,
3744 /// 2 = BT snoop log, 3 = Nanoapp Tokenized log)
3745 /// * LogBuffer log level (1 = error, 2 = warn,
3746 /// 3 = info, 4 = debug,
3747 /// 5 = verbose)
3748 /// uint32_t, little-endian - timestamp in milliseconds
3749 /// char[] - Log data buffer
3750 ///
3751 /// The log data buffer format is as follows:
3752 /// * Unencoded (string) logs: The log buffer can be interpreted as a NULL
3753 /// terminated string (eg: pass to string manipulation functions, get its
3754 /// size via strlen(), etc.).
3755 ///
3756 /// * Tokenized logs: The first byte of the log buffer indicates the size of
3757 /// the actual encoded data to follow. For example, if a tokenized log of
3758 /// size 24 bytes were to be represented, a buffer of size 25 bytes would
3759 /// be needed to encode this as: [Size(1B) | Data(24B)]. A decoder would
3760 /// then have to decode this starting from a 1 byte offset from the
3761 /// received buffer.
3762 ///
3763 /// * Bt Snoop logs: The first byte of the log buffer indicates the direction
3764 /// of the bt snoop log, depending on whether it is incoming for the BT
3765 /// controller or outgoing to the arbiter. The second byte indicates the size
3766 /// of the actual BT payload followed. For example, if a bt snoop log of
3767 /// size 24 bytes were to be represented, a buffer of size 26 bytes would
3768 /// be needed to encode this as: [Direction(1B) | Size(1B) | Data(24B)].
3769 ///
3770 /// * Tokenized nanoapp logs: This log type is specifically for nanoapps with
3771 /// tokenized logs enabled. The first two bytes is the instance ID of the
3772 /// nanoapp which sends this tokenized log message. This instance ID will be
3773 /// used to map to the corresponding detokenizer in the log message parser.
3774 /// The rest is similar to tokenized logs with one byte of the size followed
3775 /// by the payload. For example, if a nanoapp tokenized log of size 24 bytes
3776 /// were to be sent, a buffer of size 27 bytes would be to encoded as:
3777 /// [InstanceId (2B) | Size(1B) | Data(24B)].
3778 ///
3779 /// This pattern repeats until the end of the buffer for multiple log
3780 /// messages. The last byte will always be a null-terminator. There are no
3781 /// padding bytes between these fields. Treat this like a packed struct and be
3782 /// cautious with unaligned access when reading/writing this buffer.
3783 /// Note that the log message might not be null-terminated if an encoding is
3784 /// used.
3785 const flatbuffers::Vector<int8_t> *buffer() const {
3786 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_BUFFER);
3787 }
3788 flatbuffers::Vector<int8_t> *mutable_buffer() {
3789 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_BUFFER);
3790 }
3791 /// The number of logs dropped since CHRE started
3792 uint32_t num_logs_dropped() const {
3793 return GetField<uint32_t>(VT_NUM_LOGS_DROPPED, 0);
3794 }
3795 bool mutate_num_logs_dropped(uint32_t _num_logs_dropped) {
3796 return SetField<uint32_t>(VT_NUM_LOGS_DROPPED, _num_logs_dropped, 0);
3797 }
3798 bool Verify(flatbuffers::Verifier &verifier) const {
3799 return VerifyTableStart(verifier) &&
3800 VerifyOffset(verifier, VT_BUFFER) &&
3801 verifier.VerifyVector(buffer()) &&
3802 VerifyField<uint32_t>(verifier, VT_NUM_LOGS_DROPPED) &&
3803 verifier.EndTable();
3804 }
3805 LogMessageV2T *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3806 void UnPackTo(LogMessageV2T *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3807 static flatbuffers::Offset<LogMessageV2> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageV2T* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3808 };
3809
3810 struct LogMessageV2Builder {
3811 typedef LogMessageV2 Table;
3812 flatbuffers::FlatBufferBuilder &fbb_;
3813 flatbuffers::uoffset_t start_;
3814 void add_buffer(flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer) {
3815 fbb_.AddOffset(LogMessageV2::VT_BUFFER, buffer);
3816 }
3817 void add_num_logs_dropped(uint32_t num_logs_dropped) {
3818 fbb_.AddElement<uint32_t>(LogMessageV2::VT_NUM_LOGS_DROPPED, num_logs_dropped, 0);
3819 }
3820 explicit LogMessageV2Builder(flatbuffers::FlatBufferBuilder &_fbb)
3821 : fbb_(_fbb) {
3822 start_ = fbb_.StartTable();
3823 }
3824 LogMessageV2Builder &operator=(const LogMessageV2Builder &);
3825 flatbuffers::Offset<LogMessageV2> Finish() {
3826 const auto end = fbb_.EndTable(start_);
3827 auto o = flatbuffers::Offset<LogMessageV2>(end);
3828 return o;
3829 }
3830 };
3831
3832 inline flatbuffers::Offset<LogMessageV2> CreateLogMessageV2(
3833 flatbuffers::FlatBufferBuilder &_fbb,
3834 flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer = 0,
3835 uint32_t num_logs_dropped = 0) {
3836 LogMessageV2Builder builder_(_fbb);
3837 builder_.add_num_logs_dropped(num_logs_dropped);
3838 builder_.add_buffer(buffer);
3839 return builder_.Finish();
3840 }
3841
3842 inline flatbuffers::Offset<LogMessageV2> CreateLogMessageV2Direct(
3843 flatbuffers::FlatBufferBuilder &_fbb,
3844 const std::vector<int8_t> *buffer = nullptr,
3845 uint32_t num_logs_dropped = 0) {
3846 auto buffer__ = buffer ? _fbb.CreateVector<int8_t>(*buffer) : 0;
3847 return chre::fbs::CreateLogMessageV2(
3848 _fbb,
3849 buffer__,
3850 num_logs_dropped);
3851 }
3852
3853 flatbuffers::Offset<LogMessageV2> CreateLogMessageV2(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageV2T *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3854
3855 struct SelfTestRequestT : public flatbuffers::NativeTable {
3856 typedef SelfTestRequest TableType;
3857 SelfTestRequestT() {
3858 }
3859 };
3860
3861 struct SelfTestRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3862 typedef SelfTestRequestT NativeTableType;
3863 typedef SelfTestRequestBuilder Builder;
3864 bool Verify(flatbuffers::Verifier &verifier) const {
3865 return VerifyTableStart(verifier) &&
3866 verifier.EndTable();
3867 }
3868 SelfTestRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3869 void UnPackTo(SelfTestRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3870 static flatbuffers::Offset<SelfTestRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3871 };
3872
3873 struct SelfTestRequestBuilder {
3874 typedef SelfTestRequest Table;
3875 flatbuffers::FlatBufferBuilder &fbb_;
3876 flatbuffers::uoffset_t start_;
3877 explicit SelfTestRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3878 : fbb_(_fbb) {
3879 start_ = fbb_.StartTable();
3880 }
3881 SelfTestRequestBuilder &operator=(const SelfTestRequestBuilder &);
3882 flatbuffers::Offset<SelfTestRequest> Finish() {
3883 const auto end = fbb_.EndTable(start_);
3884 auto o = flatbuffers::Offset<SelfTestRequest>(end);
3885 return o;
3886 }
3887 };
3888
3889 inline flatbuffers::Offset<SelfTestRequest> CreateSelfTestRequest(
3890 flatbuffers::FlatBufferBuilder &_fbb) {
3891 SelfTestRequestBuilder builder_(_fbb);
3892 return builder_.Finish();
3893 }
3894
3895 flatbuffers::Offset<SelfTestRequest> CreateSelfTestRequest(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3896
3897 struct SelfTestResponseT : public flatbuffers::NativeTable {
3898 typedef SelfTestResponse TableType;
3899 bool success;
3900 SelfTestResponseT()
3901 : success(false) {
3902 }
3903 };
3904
3905 struct SelfTestResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3906 typedef SelfTestResponseT NativeTableType;
3907 typedef SelfTestResponseBuilder Builder;
3908 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3909 VT_SUCCESS = 4
3910 };
3911 bool success() const {
3912 return GetField<uint8_t>(VT_SUCCESS, 0) != 0;
3913 }
3914 bool mutate_success(bool _success) {
3915 return SetField<uint8_t>(VT_SUCCESS, static_cast<uint8_t>(_success), 0);
3916 }
3917 bool Verify(flatbuffers::Verifier &verifier) const {
3918 return VerifyTableStart(verifier) &&
3919 VerifyField<uint8_t>(verifier, VT_SUCCESS) &&
3920 verifier.EndTable();
3921 }
3922 SelfTestResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3923 void UnPackTo(SelfTestResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3924 static flatbuffers::Offset<SelfTestResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3925 };
3926
3927 struct SelfTestResponseBuilder {
3928 typedef SelfTestResponse Table;
3929 flatbuffers::FlatBufferBuilder &fbb_;
3930 flatbuffers::uoffset_t start_;
3931 void add_success(bool success) {
3932 fbb_.AddElement<uint8_t>(SelfTestResponse::VT_SUCCESS, static_cast<uint8_t>(success), 0);
3933 }
3934 explicit SelfTestResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3935 : fbb_(_fbb) {
3936 start_ = fbb_.StartTable();
3937 }
3938 SelfTestResponseBuilder &operator=(const SelfTestResponseBuilder &);
3939 flatbuffers::Offset<SelfTestResponse> Finish() {
3940 const auto end = fbb_.EndTable(start_);
3941 auto o = flatbuffers::Offset<SelfTestResponse>(end);
3942 return o;
3943 }
3944 };
3945
3946 inline flatbuffers::Offset<SelfTestResponse> CreateSelfTestResponse(
3947 flatbuffers::FlatBufferBuilder &_fbb,
3948 bool success = false) {
3949 SelfTestResponseBuilder builder_(_fbb);
3950 builder_.add_success(success);
3951 return builder_.Finish();
3952 }
3953
3954 flatbuffers::Offset<SelfTestResponse> CreateSelfTestResponse(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3955
3956 struct HostEndpointConnectedT : public flatbuffers::NativeTable {
3957 typedef HostEndpointConnected TableType;
3958 uint16_t host_endpoint;
3959 uint8_t type;
3960 std::vector<int8_t> package_name;
3961 std::vector<int8_t> attribution_tag;
3962 HostEndpointConnectedT()
3963 : host_endpoint(0),
3964 type(0) {
3965 }
3966 };
3967
3968 struct HostEndpointConnected FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3969 typedef HostEndpointConnectedT NativeTableType;
3970 typedef HostEndpointConnectedBuilder Builder;
3971 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3972 VT_HOST_ENDPOINT = 4,
3973 VT_TYPE = 6,
3974 VT_PACKAGE_NAME = 8,
3975 VT_ATTRIBUTION_TAG = 10
3976 };
3977 /// The host-side endpoint that has connected to the framework.
3978 uint16_t host_endpoint() const {
3979 return GetField<uint16_t>(VT_HOST_ENDPOINT, 0);
3980 }
3981 bool mutate_host_endpoint(uint16_t _host_endpoint) {
3982 return SetField<uint16_t>(VT_HOST_ENDPOINT, _host_endpoint, 0);
3983 }
3984 /// The type of host endpoint, which should be any of the CHRE_HOST_ENDPOINT_TYPE_*
3985 /// values defined in the chre_api/chre/event.h.
3986 uint8_t type() const {
3987 return GetField<uint8_t>(VT_TYPE, 0);
3988 }
3989 bool mutate_type(uint8_t _type) {
3990 return SetField<uint8_t>(VT_TYPE, _type, 0);
3991 }
3992 /// The (optional) package name associated with the host endpoint.
3993 const flatbuffers::Vector<int8_t> *package_name() const {
3994 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_PACKAGE_NAME);
3995 }
3996 flatbuffers::Vector<int8_t> *mutable_package_name() {
3997 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_PACKAGE_NAME);
3998 }
3999 /// The (optional) attribution tag associated with this host.
4000 const flatbuffers::Vector<int8_t> *attribution_tag() const {
4001 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_ATTRIBUTION_TAG);
4002 }
4003 flatbuffers::Vector<int8_t> *mutable_attribution_tag() {
4004 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_ATTRIBUTION_TAG);
4005 }
4006 bool Verify(flatbuffers::Verifier &verifier) const {
4007 return VerifyTableStart(verifier) &&
4008 VerifyField<uint16_t>(verifier, VT_HOST_ENDPOINT) &&
4009 VerifyField<uint8_t>(verifier, VT_TYPE) &&
4010 VerifyOffset(verifier, VT_PACKAGE_NAME) &&
4011 verifier.VerifyVector(package_name()) &&
4012 VerifyOffset(verifier, VT_ATTRIBUTION_TAG) &&
4013 verifier.VerifyVector(attribution_tag()) &&
4014 verifier.EndTable();
4015 }
4016 HostEndpointConnectedT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4017 void UnPackTo(HostEndpointConnectedT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4018 static flatbuffers::Offset<HostEndpointConnected> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointConnectedT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4019 };
4020
4021 struct HostEndpointConnectedBuilder {
4022 typedef HostEndpointConnected Table;
4023 flatbuffers::FlatBufferBuilder &fbb_;
4024 flatbuffers::uoffset_t start_;
4025 void add_host_endpoint(uint16_t host_endpoint) {
4026 fbb_.AddElement<uint16_t>(HostEndpointConnected::VT_HOST_ENDPOINT, host_endpoint, 0);
4027 }
4028 void add_type(uint8_t type) {
4029 fbb_.AddElement<uint8_t>(HostEndpointConnected::VT_TYPE, type, 0);
4030 }
4031 void add_package_name(flatbuffers::Offset<flatbuffers::Vector<int8_t>> package_name) {
4032 fbb_.AddOffset(HostEndpointConnected::VT_PACKAGE_NAME, package_name);
4033 }
4034 void add_attribution_tag(flatbuffers::Offset<flatbuffers::Vector<int8_t>> attribution_tag) {
4035 fbb_.AddOffset(HostEndpointConnected::VT_ATTRIBUTION_TAG, attribution_tag);
4036 }
4037 explicit HostEndpointConnectedBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4038 : fbb_(_fbb) {
4039 start_ = fbb_.StartTable();
4040 }
4041 HostEndpointConnectedBuilder &operator=(const HostEndpointConnectedBuilder &);
4042 flatbuffers::Offset<HostEndpointConnected> Finish() {
4043 const auto end = fbb_.EndTable(start_);
4044 auto o = flatbuffers::Offset<HostEndpointConnected>(end);
4045 return o;
4046 }
4047 };
4048
4049 inline flatbuffers::Offset<HostEndpointConnected> CreateHostEndpointConnected(
4050 flatbuffers::FlatBufferBuilder &_fbb,
4051 uint16_t host_endpoint = 0,
4052 uint8_t type = 0,
4053 flatbuffers::Offset<flatbuffers::Vector<int8_t>> package_name = 0,
4054 flatbuffers::Offset<flatbuffers::Vector<int8_t>> attribution_tag = 0) {
4055 HostEndpointConnectedBuilder builder_(_fbb);
4056 builder_.add_attribution_tag(attribution_tag);
4057 builder_.add_package_name(package_name);
4058 builder_.add_host_endpoint(host_endpoint);
4059 builder_.add_type(type);
4060 return builder_.Finish();
4061 }
4062
4063 inline flatbuffers::Offset<HostEndpointConnected> CreateHostEndpointConnectedDirect(
4064 flatbuffers::FlatBufferBuilder &_fbb,
4065 uint16_t host_endpoint = 0,
4066 uint8_t type = 0,
4067 const std::vector<int8_t> *package_name = nullptr,
4068 const std::vector<int8_t> *attribution_tag = nullptr) {
4069 auto package_name__ = package_name ? _fbb.CreateVector<int8_t>(*package_name) : 0;
4070 auto attribution_tag__ = attribution_tag ? _fbb.CreateVector<int8_t>(*attribution_tag) : 0;
4071 return chre::fbs::CreateHostEndpointConnected(
4072 _fbb,
4073 host_endpoint,
4074 type,
4075 package_name__,
4076 attribution_tag__);
4077 }
4078
4079 flatbuffers::Offset<HostEndpointConnected> CreateHostEndpointConnected(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointConnectedT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4080
4081 struct HostEndpointDisconnectedT : public flatbuffers::NativeTable {
4082 typedef HostEndpointDisconnected TableType;
4083 uint16_t host_endpoint;
4084 HostEndpointDisconnectedT()
4085 : host_endpoint(0) {
4086 }
4087 };
4088
4089 struct HostEndpointDisconnected FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4090 typedef HostEndpointDisconnectedT NativeTableType;
4091 typedef HostEndpointDisconnectedBuilder Builder;
4092 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4093 VT_HOST_ENDPOINT = 4
4094 };
4095 /// The host-side endpoint that has disconnected from the framework.
4096 uint16_t host_endpoint() const {
4097 return GetField<uint16_t>(VT_HOST_ENDPOINT, 0);
4098 }
4099 bool mutate_host_endpoint(uint16_t _host_endpoint) {
4100 return SetField<uint16_t>(VT_HOST_ENDPOINT, _host_endpoint, 0);
4101 }
4102 bool Verify(flatbuffers::Verifier &verifier) const {
4103 return VerifyTableStart(verifier) &&
4104 VerifyField<uint16_t>(verifier, VT_HOST_ENDPOINT) &&
4105 verifier.EndTable();
4106 }
4107 HostEndpointDisconnectedT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4108 void UnPackTo(HostEndpointDisconnectedT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4109 static flatbuffers::Offset<HostEndpointDisconnected> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointDisconnectedT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4110 };
4111
4112 struct HostEndpointDisconnectedBuilder {
4113 typedef HostEndpointDisconnected Table;
4114 flatbuffers::FlatBufferBuilder &fbb_;
4115 flatbuffers::uoffset_t start_;
4116 void add_host_endpoint(uint16_t host_endpoint) {
4117 fbb_.AddElement<uint16_t>(HostEndpointDisconnected::VT_HOST_ENDPOINT, host_endpoint, 0);
4118 }
4119 explicit HostEndpointDisconnectedBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4120 : fbb_(_fbb) {
4121 start_ = fbb_.StartTable();
4122 }
4123 HostEndpointDisconnectedBuilder &operator=(const HostEndpointDisconnectedBuilder &);
4124 flatbuffers::Offset<HostEndpointDisconnected> Finish() {
4125 const auto end = fbb_.EndTable(start_);
4126 auto o = flatbuffers::Offset<HostEndpointDisconnected>(end);
4127 return o;
4128 }
4129 };
4130
4131 inline flatbuffers::Offset<HostEndpointDisconnected> CreateHostEndpointDisconnected(
4132 flatbuffers::FlatBufferBuilder &_fbb,
4133 uint16_t host_endpoint = 0) {
4134 HostEndpointDisconnectedBuilder builder_(_fbb);
4135 builder_.add_host_endpoint(host_endpoint);
4136 return builder_.Finish();
4137 }
4138
4139 flatbuffers::Offset<HostEndpointDisconnected> CreateHostEndpointDisconnected(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointDisconnectedT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4140
4141 struct MetricLogT : public flatbuffers::NativeTable {
4142 typedef MetricLog TableType;
4143 uint32_t id;
4144 std::vector<int8_t> encoded_metric;
4145 MetricLogT()
4146 : id(0) {
4147 }
4148 };
4149
4150 struct MetricLog FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4151 typedef MetricLogT NativeTableType;
4152 typedef MetricLogBuilder Builder;
4153 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4154 VT_ID = 4,
4155 VT_ENCODED_METRIC = 6
4156 };
4157 uint32_t id() const {
4158 return GetField<uint32_t>(VT_ID, 0);
4159 }
4160 bool mutate_id(uint32_t _id) {
4161 return SetField<uint32_t>(VT_ID, _id, 0);
4162 }
4163 const flatbuffers::Vector<int8_t> *encoded_metric() const {
4164 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_ENCODED_METRIC);
4165 }
4166 flatbuffers::Vector<int8_t> *mutable_encoded_metric() {
4167 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_ENCODED_METRIC);
4168 }
4169 bool Verify(flatbuffers::Verifier &verifier) const {
4170 return VerifyTableStart(verifier) &&
4171 VerifyField<uint32_t>(verifier, VT_ID) &&
4172 VerifyOffset(verifier, VT_ENCODED_METRIC) &&
4173 verifier.VerifyVector(encoded_metric()) &&
4174 verifier.EndTable();
4175 }
4176 MetricLogT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4177 void UnPackTo(MetricLogT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4178 static flatbuffers::Offset<MetricLog> Pack(flatbuffers::FlatBufferBuilder &_fbb, const MetricLogT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4179 };
4180
4181 struct MetricLogBuilder {
4182 typedef MetricLog Table;
4183 flatbuffers::FlatBufferBuilder &fbb_;
4184 flatbuffers::uoffset_t start_;
4185 void add_id(uint32_t id) {
4186 fbb_.AddElement<uint32_t>(MetricLog::VT_ID, id, 0);
4187 }
4188 void add_encoded_metric(flatbuffers::Offset<flatbuffers::Vector<int8_t>> encoded_metric) {
4189 fbb_.AddOffset(MetricLog::VT_ENCODED_METRIC, encoded_metric);
4190 }
4191 explicit MetricLogBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4192 : fbb_(_fbb) {
4193 start_ = fbb_.StartTable();
4194 }
4195 MetricLogBuilder &operator=(const MetricLogBuilder &);
4196 flatbuffers::Offset<MetricLog> Finish() {
4197 const auto end = fbb_.EndTable(start_);
4198 auto o = flatbuffers::Offset<MetricLog>(end);
4199 return o;
4200 }
4201 };
4202
4203 inline flatbuffers::Offset<MetricLog> CreateMetricLog(
4204 flatbuffers::FlatBufferBuilder &_fbb,
4205 uint32_t id = 0,
4206 flatbuffers::Offset<flatbuffers::Vector<int8_t>> encoded_metric = 0) {
4207 MetricLogBuilder builder_(_fbb);
4208 builder_.add_encoded_metric(encoded_metric);
4209 builder_.add_id(id);
4210 return builder_.Finish();
4211 }
4212
4213 inline flatbuffers::Offset<MetricLog> CreateMetricLogDirect(
4214 flatbuffers::FlatBufferBuilder &_fbb,
4215 uint32_t id = 0,
4216 const std::vector<int8_t> *encoded_metric = nullptr) {
4217 auto encoded_metric__ = encoded_metric ? _fbb.CreateVector<int8_t>(*encoded_metric) : 0;
4218 return chre::fbs::CreateMetricLog(
4219 _fbb,
4220 id,
4221 encoded_metric__);
4222 }
4223
4224 flatbuffers::Offset<MetricLog> CreateMetricLog(flatbuffers::FlatBufferBuilder &_fbb, const MetricLogT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4225
4226 struct BatchedMetricLogT : public flatbuffers::NativeTable {
4227 typedef BatchedMetricLog TableType;
4228 std::vector<std::unique_ptr<chre::fbs::MetricLogT>> metrics;
4229 BatchedMetricLogT() {
4230 }
4231 };
4232
4233 struct BatchedMetricLog FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4234 typedef BatchedMetricLogT NativeTableType;
4235 typedef BatchedMetricLogBuilder Builder;
4236 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4237 VT_METRICS = 4
4238 };
4239 const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>> *metrics() const {
4240 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>> *>(VT_METRICS);
4241 }
4242 flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>> *mutable_metrics() {
4243 return GetPointer<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>> *>(VT_METRICS);
4244 }
4245 bool Verify(flatbuffers::Verifier &verifier) const {
4246 return VerifyTableStart(verifier) &&
4247 VerifyOffset(verifier, VT_METRICS) &&
4248 verifier.VerifyVector(metrics()) &&
4249 verifier.VerifyVectorOfTables(metrics()) &&
4250 verifier.EndTable();
4251 }
4252 BatchedMetricLogT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4253 void UnPackTo(BatchedMetricLogT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4254 static flatbuffers::Offset<BatchedMetricLog> Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchedMetricLogT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4255 };
4256
4257 struct BatchedMetricLogBuilder {
4258 typedef BatchedMetricLog Table;
4259 flatbuffers::FlatBufferBuilder &fbb_;
4260 flatbuffers::uoffset_t start_;
4261 void add_metrics(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>>> metrics) {
4262 fbb_.AddOffset(BatchedMetricLog::VT_METRICS, metrics);
4263 }
4264 explicit BatchedMetricLogBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4265 : fbb_(_fbb) {
4266 start_ = fbb_.StartTable();
4267 }
4268 BatchedMetricLogBuilder &operator=(const BatchedMetricLogBuilder &);
4269 flatbuffers::Offset<BatchedMetricLog> Finish() {
4270 const auto end = fbb_.EndTable(start_);
4271 auto o = flatbuffers::Offset<BatchedMetricLog>(end);
4272 return o;
4273 }
4274 };
4275
4276 inline flatbuffers::Offset<BatchedMetricLog> CreateBatchedMetricLog(
4277 flatbuffers::FlatBufferBuilder &_fbb,
4278 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MetricLog>>> metrics = 0) {
4279 BatchedMetricLogBuilder builder_(_fbb);
4280 builder_.add_metrics(metrics);
4281 return builder_.Finish();
4282 }
4283
4284 inline flatbuffers::Offset<BatchedMetricLog> CreateBatchedMetricLogDirect(
4285 flatbuffers::FlatBufferBuilder &_fbb,
4286 const std::vector<flatbuffers::Offset<chre::fbs::MetricLog>> *metrics = nullptr) {
4287 auto metrics__ = metrics ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::MetricLog>>(*metrics) : 0;
4288 return chre::fbs::CreateBatchedMetricLog(
4289 _fbb,
4290 metrics__);
4291 }
4292
4293 flatbuffers::Offset<BatchedMetricLog> CreateBatchedMetricLog(flatbuffers::FlatBufferBuilder &_fbb, const BatchedMetricLogT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4294
4295 struct NanConfigurationRequestT : public flatbuffers::NativeTable {
4296 typedef NanConfigurationRequest TableType;
4297 bool enable;
4298 NanConfigurationRequestT()
4299 : enable(false) {
4300 }
4301 };
4302
4303 struct NanConfigurationRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4304 typedef NanConfigurationRequestT NativeTableType;
4305 typedef NanConfigurationRequestBuilder Builder;
4306 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4307 VT_ENABLE = 4
4308 };
4309 bool enable() const {
4310 return GetField<uint8_t>(VT_ENABLE, 0) != 0;
4311 }
4312 bool mutate_enable(bool _enable) {
4313 return SetField<uint8_t>(VT_ENABLE, static_cast<uint8_t>(_enable), 0);
4314 }
4315 bool Verify(flatbuffers::Verifier &verifier) const {
4316 return VerifyTableStart(verifier) &&
4317 VerifyField<uint8_t>(verifier, VT_ENABLE) &&
4318 verifier.EndTable();
4319 }
4320 NanConfigurationRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4321 void UnPackTo(NanConfigurationRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4322 static flatbuffers::Offset<NanConfigurationRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4323 };
4324
4325 struct NanConfigurationRequestBuilder {
4326 typedef NanConfigurationRequest Table;
4327 flatbuffers::FlatBufferBuilder &fbb_;
4328 flatbuffers::uoffset_t start_;
4329 void add_enable(bool enable) {
4330 fbb_.AddElement<uint8_t>(NanConfigurationRequest::VT_ENABLE, static_cast<uint8_t>(enable), 0);
4331 }
4332 explicit NanConfigurationRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4333 : fbb_(_fbb) {
4334 start_ = fbb_.StartTable();
4335 }
4336 NanConfigurationRequestBuilder &operator=(const NanConfigurationRequestBuilder &);
4337 flatbuffers::Offset<NanConfigurationRequest> Finish() {
4338 const auto end = fbb_.EndTable(start_);
4339 auto o = flatbuffers::Offset<NanConfigurationRequest>(end);
4340 return o;
4341 }
4342 };
4343
4344 inline flatbuffers::Offset<NanConfigurationRequest> CreateNanConfigurationRequest(
4345 flatbuffers::FlatBufferBuilder &_fbb,
4346 bool enable = false) {
4347 NanConfigurationRequestBuilder builder_(_fbb);
4348 builder_.add_enable(enable);
4349 return builder_.Finish();
4350 }
4351
4352 flatbuffers::Offset<NanConfigurationRequest> CreateNanConfigurationRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4353
4354 struct NanConfigurationUpdateT : public flatbuffers::NativeTable {
4355 typedef NanConfigurationUpdate TableType;
4356 bool enabled;
4357 NanConfigurationUpdateT()
4358 : enabled(false) {
4359 }
4360 };
4361
4362 struct NanConfigurationUpdate FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4363 typedef NanConfigurationUpdateT NativeTableType;
4364 typedef NanConfigurationUpdateBuilder Builder;
4365 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4366 VT_ENABLED = 4
4367 };
4368 bool enabled() const {
4369 return GetField<uint8_t>(VT_ENABLED, 0) != 0;
4370 }
4371 bool mutate_enabled(bool _enabled) {
4372 return SetField<uint8_t>(VT_ENABLED, static_cast<uint8_t>(_enabled), 0);
4373 }
4374 bool Verify(flatbuffers::Verifier &verifier) const {
4375 return VerifyTableStart(verifier) &&
4376 VerifyField<uint8_t>(verifier, VT_ENABLED) &&
4377 verifier.EndTable();
4378 }
4379 NanConfigurationUpdateT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4380 void UnPackTo(NanConfigurationUpdateT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4381 static flatbuffers::Offset<NanConfigurationUpdate> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationUpdateT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4382 };
4383
4384 struct NanConfigurationUpdateBuilder {
4385 typedef NanConfigurationUpdate Table;
4386 flatbuffers::FlatBufferBuilder &fbb_;
4387 flatbuffers::uoffset_t start_;
4388 void add_enabled(bool enabled) {
4389 fbb_.AddElement<uint8_t>(NanConfigurationUpdate::VT_ENABLED, static_cast<uint8_t>(enabled), 0);
4390 }
4391 explicit NanConfigurationUpdateBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4392 : fbb_(_fbb) {
4393 start_ = fbb_.StartTable();
4394 }
4395 NanConfigurationUpdateBuilder &operator=(const NanConfigurationUpdateBuilder &);
4396 flatbuffers::Offset<NanConfigurationUpdate> Finish() {
4397 const auto end = fbb_.EndTable(start_);
4398 auto o = flatbuffers::Offset<NanConfigurationUpdate>(end);
4399 return o;
4400 }
4401 };
4402
4403 inline flatbuffers::Offset<NanConfigurationUpdate> CreateNanConfigurationUpdate(
4404 flatbuffers::FlatBufferBuilder &_fbb,
4405 bool enabled = false) {
4406 NanConfigurationUpdateBuilder builder_(_fbb);
4407 builder_.add_enabled(enabled);
4408 return builder_.Finish();
4409 }
4410
4411 flatbuffers::Offset<NanConfigurationUpdate> CreateNanConfigurationUpdate(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationUpdateT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4412
4413 struct DebugConfigurationT : public flatbuffers::NativeTable {
4414 typedef DebugConfiguration TableType;
4415 bool health_monitor_failure_crash;
4416 DebugConfigurationT()
4417 : health_monitor_failure_crash(false) {
4418 }
4419 };
4420
4421 struct DebugConfiguration FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4422 typedef DebugConfigurationT NativeTableType;
4423 typedef DebugConfigurationBuilder Builder;
4424 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4425 VT_HEALTH_MONITOR_FAILURE_CRASH = 4
4426 };
4427 bool health_monitor_failure_crash() const {
4428 return GetField<uint8_t>(VT_HEALTH_MONITOR_FAILURE_CRASH, 0) != 0;
4429 }
4430 bool mutate_health_monitor_failure_crash(bool _health_monitor_failure_crash) {
4431 return SetField<uint8_t>(VT_HEALTH_MONITOR_FAILURE_CRASH, static_cast<uint8_t>(_health_monitor_failure_crash), 0);
4432 }
4433 bool Verify(flatbuffers::Verifier &verifier) const {
4434 return VerifyTableStart(verifier) &&
4435 VerifyField<uint8_t>(verifier, VT_HEALTH_MONITOR_FAILURE_CRASH) &&
4436 verifier.EndTable();
4437 }
4438 DebugConfigurationT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4439 void UnPackTo(DebugConfigurationT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4440 static flatbuffers::Offset<DebugConfiguration> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugConfigurationT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4441 };
4442
4443 struct DebugConfigurationBuilder {
4444 typedef DebugConfiguration Table;
4445 flatbuffers::FlatBufferBuilder &fbb_;
4446 flatbuffers::uoffset_t start_;
4447 void add_health_monitor_failure_crash(bool health_monitor_failure_crash) {
4448 fbb_.AddElement<uint8_t>(DebugConfiguration::VT_HEALTH_MONITOR_FAILURE_CRASH, static_cast<uint8_t>(health_monitor_failure_crash), 0);
4449 }
4450 explicit DebugConfigurationBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4451 : fbb_(_fbb) {
4452 start_ = fbb_.StartTable();
4453 }
4454 DebugConfigurationBuilder &operator=(const DebugConfigurationBuilder &);
4455 flatbuffers::Offset<DebugConfiguration> Finish() {
4456 const auto end = fbb_.EndTable(start_);
4457 auto o = flatbuffers::Offset<DebugConfiguration>(end);
4458 return o;
4459 }
4460 };
4461
4462 inline flatbuffers::Offset<DebugConfiguration> CreateDebugConfiguration(
4463 flatbuffers::FlatBufferBuilder &_fbb,
4464 bool health_monitor_failure_crash = false) {
4465 DebugConfigurationBuilder builder_(_fbb);
4466 builder_.add_health_monitor_failure_crash(health_monitor_failure_crash);
4467 return builder_.Finish();
4468 }
4469
4470 flatbuffers::Offset<DebugConfiguration> CreateDebugConfiguration(flatbuffers::FlatBufferBuilder &_fbb, const DebugConfigurationT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4471
4472 struct PulseRequestT : public flatbuffers::NativeTable {
4473 typedef PulseRequest TableType;
4474 PulseRequestT() {
4475 }
4476 };
4477
4478 struct PulseRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4479 typedef PulseRequestT NativeTableType;
4480 typedef PulseRequestBuilder Builder;
4481 bool Verify(flatbuffers::Verifier &verifier) const {
4482 return VerifyTableStart(verifier) &&
4483 verifier.EndTable();
4484 }
4485 PulseRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4486 void UnPackTo(PulseRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4487 static flatbuffers::Offset<PulseRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const PulseRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4488 };
4489
4490 struct PulseRequestBuilder {
4491 typedef PulseRequest Table;
4492 flatbuffers::FlatBufferBuilder &fbb_;
4493 flatbuffers::uoffset_t start_;
4494 explicit PulseRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4495 : fbb_(_fbb) {
4496 start_ = fbb_.StartTable();
4497 }
4498 PulseRequestBuilder &operator=(const PulseRequestBuilder &);
4499 flatbuffers::Offset<PulseRequest> Finish() {
4500 const auto end = fbb_.EndTable(start_);
4501 auto o = flatbuffers::Offset<PulseRequest>(end);
4502 return o;
4503 }
4504 };
4505
4506 inline flatbuffers::Offset<PulseRequest> CreatePulseRequest(
4507 flatbuffers::FlatBufferBuilder &_fbb) {
4508 PulseRequestBuilder builder_(_fbb);
4509 return builder_.Finish();
4510 }
4511
4512 flatbuffers::Offset<PulseRequest> CreatePulseRequest(flatbuffers::FlatBufferBuilder &_fbb, const PulseRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4513
4514 struct PulseResponseT : public flatbuffers::NativeTable {
4515 typedef PulseResponse TableType;
4516 PulseResponseT() {
4517 }
4518 };
4519
4520 struct PulseResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4521 typedef PulseResponseT NativeTableType;
4522 typedef PulseResponseBuilder Builder;
4523 bool Verify(flatbuffers::Verifier &verifier) const {
4524 return VerifyTableStart(verifier) &&
4525 verifier.EndTable();
4526 }
4527 PulseResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4528 void UnPackTo(PulseResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4529 static flatbuffers::Offset<PulseResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const PulseResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4530 };
4531
4532 struct PulseResponseBuilder {
4533 typedef PulseResponse Table;
4534 flatbuffers::FlatBufferBuilder &fbb_;
4535 flatbuffers::uoffset_t start_;
4536 explicit PulseResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4537 : fbb_(_fbb) {
4538 start_ = fbb_.StartTable();
4539 }
4540 PulseResponseBuilder &operator=(const PulseResponseBuilder &);
4541 flatbuffers::Offset<PulseResponse> Finish() {
4542 const auto end = fbb_.EndTable(start_);
4543 auto o = flatbuffers::Offset<PulseResponse>(end);
4544 return o;
4545 }
4546 };
4547
4548 inline flatbuffers::Offset<PulseResponse> CreatePulseResponse(
4549 flatbuffers::FlatBufferBuilder &_fbb) {
4550 PulseResponseBuilder builder_(_fbb);
4551 return builder_.Finish();
4552 }
4553
4554 flatbuffers::Offset<PulseResponse> CreatePulseResponse(flatbuffers::FlatBufferBuilder &_fbb, const PulseResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4555
4556 struct LeCocChannelInfoT : public flatbuffers::NativeTable {
4557 typedef LeCocChannelInfo TableType;
4558 int32_t localCid;
4559 int32_t remoteCid;
4560 int32_t psm;
4561 int32_t localMtu;
4562 int32_t remoteMtu;
4563 int32_t localMps;
4564 int32_t remoteMps;
4565 int32_t initialRxCredits;
4566 int32_t initialTxCredits;
4567 LeCocChannelInfoT()
4568 : localCid(0),
4569 remoteCid(0),
4570 psm(0),
4571 localMtu(0),
4572 remoteMtu(0),
4573 localMps(0),
4574 remoteMps(0),
4575 initialRxCredits(0),
4576 initialTxCredits(0) {
4577 }
4578 };
4579
4580 struct LeCocChannelInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4581 typedef LeCocChannelInfoT NativeTableType;
4582 typedef LeCocChannelInfoBuilder Builder;
4583 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4584 VT_LOCALCID = 4,
4585 VT_REMOTECID = 6,
4586 VT_PSM = 8,
4587 VT_LOCALMTU = 10,
4588 VT_REMOTEMTU = 12,
4589 VT_LOCALMPS = 14,
4590 VT_REMOTEMPS = 16,
4591 VT_INITIALRXCREDITS = 18,
4592 VT_INITIALTXCREDITS = 20
4593 };
4594 int32_t localCid() const {
4595 return GetField<int32_t>(VT_LOCALCID, 0);
4596 }
4597 bool mutate_localCid(int32_t _localCid) {
4598 return SetField<int32_t>(VT_LOCALCID, _localCid, 0);
4599 }
4600 int32_t remoteCid() const {
4601 return GetField<int32_t>(VT_REMOTECID, 0);
4602 }
4603 bool mutate_remoteCid(int32_t _remoteCid) {
4604 return SetField<int32_t>(VT_REMOTECID, _remoteCid, 0);
4605 }
4606 int32_t psm() const {
4607 return GetField<int32_t>(VT_PSM, 0);
4608 }
4609 bool mutate_psm(int32_t _psm) {
4610 return SetField<int32_t>(VT_PSM, _psm, 0);
4611 }
4612 int32_t localMtu() const {
4613 return GetField<int32_t>(VT_LOCALMTU, 0);
4614 }
4615 bool mutate_localMtu(int32_t _localMtu) {
4616 return SetField<int32_t>(VT_LOCALMTU, _localMtu, 0);
4617 }
4618 int32_t remoteMtu() const {
4619 return GetField<int32_t>(VT_REMOTEMTU, 0);
4620 }
4621 bool mutate_remoteMtu(int32_t _remoteMtu) {
4622 return SetField<int32_t>(VT_REMOTEMTU, _remoteMtu, 0);
4623 }
4624 int32_t localMps() const {
4625 return GetField<int32_t>(VT_LOCALMPS, 0);
4626 }
4627 bool mutate_localMps(int32_t _localMps) {
4628 return SetField<int32_t>(VT_LOCALMPS, _localMps, 0);
4629 }
4630 int32_t remoteMps() const {
4631 return GetField<int32_t>(VT_REMOTEMPS, 0);
4632 }
4633 bool mutate_remoteMps(int32_t _remoteMps) {
4634 return SetField<int32_t>(VT_REMOTEMPS, _remoteMps, 0);
4635 }
4636 int32_t initialRxCredits() const {
4637 return GetField<int32_t>(VT_INITIALRXCREDITS, 0);
4638 }
4639 bool mutate_initialRxCredits(int32_t _initialRxCredits) {
4640 return SetField<int32_t>(VT_INITIALRXCREDITS, _initialRxCredits, 0);
4641 }
4642 int32_t initialTxCredits() const {
4643 return GetField<int32_t>(VT_INITIALTXCREDITS, 0);
4644 }
4645 bool mutate_initialTxCredits(int32_t _initialTxCredits) {
4646 return SetField<int32_t>(VT_INITIALTXCREDITS, _initialTxCredits, 0);
4647 }
4648 bool Verify(flatbuffers::Verifier &verifier) const {
4649 return VerifyTableStart(verifier) &&
4650 VerifyField<int32_t>(verifier, VT_LOCALCID) &&
4651 VerifyField<int32_t>(verifier, VT_REMOTECID) &&
4652 VerifyField<int32_t>(verifier, VT_PSM) &&
4653 VerifyField<int32_t>(verifier, VT_LOCALMTU) &&
4654 VerifyField<int32_t>(verifier, VT_REMOTEMTU) &&
4655 VerifyField<int32_t>(verifier, VT_LOCALMPS) &&
4656 VerifyField<int32_t>(verifier, VT_REMOTEMPS) &&
4657 VerifyField<int32_t>(verifier, VT_INITIALRXCREDITS) &&
4658 VerifyField<int32_t>(verifier, VT_INITIALTXCREDITS) &&
4659 verifier.EndTable();
4660 }
4661 LeCocChannelInfoT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4662 void UnPackTo(LeCocChannelInfoT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4663 static flatbuffers::Offset<LeCocChannelInfo> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LeCocChannelInfoT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4664 };
4665
4666 struct LeCocChannelInfoBuilder {
4667 typedef LeCocChannelInfo Table;
4668 flatbuffers::FlatBufferBuilder &fbb_;
4669 flatbuffers::uoffset_t start_;
4670 void add_localCid(int32_t localCid) {
4671 fbb_.AddElement<int32_t>(LeCocChannelInfo::VT_LOCALCID, localCid, 0);
4672 }
4673 void add_remoteCid(int32_t remoteCid) {
4674 fbb_.AddElement<int32_t>(LeCocChannelInfo::VT_REMOTECID, remoteCid, 0);
4675 }
4676 void add_psm(int32_t psm) {
4677 fbb_.AddElement<int32_t>(LeCocChannelInfo::VT_PSM, psm, 0);
4678 }
4679 void add_localMtu(int32_t localMtu) {
4680 fbb_.AddElement<int32_t>(LeCocChannelInfo::VT_LOCALMTU, localMtu, 0);
4681 }
4682 void add_remoteMtu(int32_t remoteMtu) {
4683 fbb_.AddElement<int32_t>(LeCocChannelInfo::VT_REMOTEMTU, remoteMtu, 0);
4684 }
4685 void add_localMps(int32_t localMps) {
4686 fbb_.AddElement<int32_t>(LeCocChannelInfo::VT_LOCALMPS, localMps, 0);
4687 }
4688 void add_remoteMps(int32_t remoteMps) {
4689 fbb_.AddElement<int32_t>(LeCocChannelInfo::VT_REMOTEMPS, remoteMps, 0);
4690 }
4691 void add_initialRxCredits(int32_t initialRxCredits) {
4692 fbb_.AddElement<int32_t>(LeCocChannelInfo::VT_INITIALRXCREDITS, initialRxCredits, 0);
4693 }
4694 void add_initialTxCredits(int32_t initialTxCredits) {
4695 fbb_.AddElement<int32_t>(LeCocChannelInfo::VT_INITIALTXCREDITS, initialTxCredits, 0);
4696 }
4697 explicit LeCocChannelInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4698 : fbb_(_fbb) {
4699 start_ = fbb_.StartTable();
4700 }
4701 LeCocChannelInfoBuilder &operator=(const LeCocChannelInfoBuilder &);
4702 flatbuffers::Offset<LeCocChannelInfo> Finish() {
4703 const auto end = fbb_.EndTable(start_);
4704 auto o = flatbuffers::Offset<LeCocChannelInfo>(end);
4705 return o;
4706 }
4707 };
4708
4709 inline flatbuffers::Offset<LeCocChannelInfo> CreateLeCocChannelInfo(
4710 flatbuffers::FlatBufferBuilder &_fbb,
4711 int32_t localCid = 0,
4712 int32_t remoteCid = 0,
4713 int32_t psm = 0,
4714 int32_t localMtu = 0,
4715 int32_t remoteMtu = 0,
4716 int32_t localMps = 0,
4717 int32_t remoteMps = 0,
4718 int32_t initialRxCredits = 0,
4719 int32_t initialTxCredits = 0) {
4720 LeCocChannelInfoBuilder builder_(_fbb);
4721 builder_.add_initialTxCredits(initialTxCredits);
4722 builder_.add_initialRxCredits(initialRxCredits);
4723 builder_.add_remoteMps(remoteMps);
4724 builder_.add_localMps(localMps);
4725 builder_.add_remoteMtu(remoteMtu);
4726 builder_.add_localMtu(localMtu);
4727 builder_.add_psm(psm);
4728 builder_.add_remoteCid(remoteCid);
4729 builder_.add_localCid(localCid);
4730 return builder_.Finish();
4731 }
4732
4733 flatbuffers::Offset<LeCocChannelInfo> CreateLeCocChannelInfo(flatbuffers::FlatBufferBuilder &_fbb, const LeCocChannelInfoT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4734
4735 struct BtSocketOpenT : public flatbuffers::NativeTable {
4736 typedef BtSocketOpen TableType;
4737 int64_t socketId;
4738 std::vector<int8_t> name;
4739 int32_t aclConnectionHandle;
4740 chre::fbs::ChannelInfoUnion channelInfo;
4741 int64_t hubId;
4742 int64_t endpointId;
4743 BtSocketOpenT()
4744 : socketId(0),
4745 aclConnectionHandle(0),
4746 hubId(0),
4747 endpointId(0) {
4748 }
4749 };
4750
4751 struct BtSocketOpen FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4752 typedef BtSocketOpenT NativeTableType;
4753 typedef BtSocketOpenBuilder Builder;
4754 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4755 VT_SOCKETID = 4,
4756 VT_NAME = 6,
4757 VT_ACLCONNECTIONHANDLE = 8,
4758 VT_CHANNELINFO_TYPE = 10,
4759 VT_CHANNELINFO = 12,
4760 VT_HUBID = 14,
4761 VT_ENDPOINTID = 16
4762 };
4763 int64_t socketId() const {
4764 return GetField<int64_t>(VT_SOCKETID, 0);
4765 }
4766 bool mutate_socketId(int64_t _socketId) {
4767 return SetField<int64_t>(VT_SOCKETID, _socketId, 0);
4768 }
4769 const flatbuffers::Vector<int8_t> *name() const {
4770 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_NAME);
4771 }
4772 flatbuffers::Vector<int8_t> *mutable_name() {
4773 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_NAME);
4774 }
4775 int32_t aclConnectionHandle() const {
4776 return GetField<int32_t>(VT_ACLCONNECTIONHANDLE, 0);
4777 }
4778 bool mutate_aclConnectionHandle(int32_t _aclConnectionHandle) {
4779 return SetField<int32_t>(VT_ACLCONNECTIONHANDLE, _aclConnectionHandle, 0);
4780 }
4781 chre::fbs::ChannelInfo channelInfo_type() const {
4782 return static_cast<chre::fbs::ChannelInfo>(GetField<uint8_t>(VT_CHANNELINFO_TYPE, 0));
4783 }
4784 const void *channelInfo() const {
4785 return GetPointer<const void *>(VT_CHANNELINFO);
4786 }
4787 template<typename T> const T *channelInfo_as() const;
4788 const chre::fbs::LeCocChannelInfo *channelInfo_as_LeCocChannelInfo() const {
4789 return channelInfo_type() == chre::fbs::ChannelInfo::LeCocChannelInfo ? static_cast<const chre::fbs::LeCocChannelInfo *>(channelInfo()) : nullptr;
4790 }
4791 void *mutable_channelInfo() {
4792 return GetPointer<void *>(VT_CHANNELINFO);
4793 }
4794 int64_t hubId() const {
4795 return GetField<int64_t>(VT_HUBID, 0);
4796 }
4797 bool mutate_hubId(int64_t _hubId) {
4798 return SetField<int64_t>(VT_HUBID, _hubId, 0);
4799 }
4800 int64_t endpointId() const {
4801 return GetField<int64_t>(VT_ENDPOINTID, 0);
4802 }
4803 bool mutate_endpointId(int64_t _endpointId) {
4804 return SetField<int64_t>(VT_ENDPOINTID, _endpointId, 0);
4805 }
4806 bool Verify(flatbuffers::Verifier &verifier) const {
4807 return VerifyTableStart(verifier) &&
4808 VerifyField<int64_t>(verifier, VT_SOCKETID) &&
4809 VerifyOffset(verifier, VT_NAME) &&
4810 verifier.VerifyVector(name()) &&
4811 VerifyField<int32_t>(verifier, VT_ACLCONNECTIONHANDLE) &&
4812 VerifyField<uint8_t>(verifier, VT_CHANNELINFO_TYPE) &&
4813 VerifyOffset(verifier, VT_CHANNELINFO) &&
4814 VerifyChannelInfo(verifier, channelInfo(), channelInfo_type()) &&
4815 VerifyField<int64_t>(verifier, VT_HUBID) &&
4816 VerifyField<int64_t>(verifier, VT_ENDPOINTID) &&
4817 verifier.EndTable();
4818 }
4819 BtSocketOpenT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4820 void UnPackTo(BtSocketOpenT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4821 static flatbuffers::Offset<BtSocketOpen> Pack(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketOpenT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4822 };
4823
4824 template<> inline const chre::fbs::LeCocChannelInfo *BtSocketOpen::channelInfo_as<chre::fbs::LeCocChannelInfo>() const {
4825 return channelInfo_as_LeCocChannelInfo();
4826 }
4827
4828 struct BtSocketOpenBuilder {
4829 typedef BtSocketOpen Table;
4830 flatbuffers::FlatBufferBuilder &fbb_;
4831 flatbuffers::uoffset_t start_;
4832 void add_socketId(int64_t socketId) {
4833 fbb_.AddElement<int64_t>(BtSocketOpen::VT_SOCKETID, socketId, 0);
4834 }
4835 void add_name(flatbuffers::Offset<flatbuffers::Vector<int8_t>> name) {
4836 fbb_.AddOffset(BtSocketOpen::VT_NAME, name);
4837 }
4838 void add_aclConnectionHandle(int32_t aclConnectionHandle) {
4839 fbb_.AddElement<int32_t>(BtSocketOpen::VT_ACLCONNECTIONHANDLE, aclConnectionHandle, 0);
4840 }
4841 void add_channelInfo_type(chre::fbs::ChannelInfo channelInfo_type) {
4842 fbb_.AddElement<uint8_t>(BtSocketOpen::VT_CHANNELINFO_TYPE, static_cast<uint8_t>(channelInfo_type), 0);
4843 }
4844 void add_channelInfo(flatbuffers::Offset<void> channelInfo) {
4845 fbb_.AddOffset(BtSocketOpen::VT_CHANNELINFO, channelInfo);
4846 }
4847 void add_hubId(int64_t hubId) {
4848 fbb_.AddElement<int64_t>(BtSocketOpen::VT_HUBID, hubId, 0);
4849 }
4850 void add_endpointId(int64_t endpointId) {
4851 fbb_.AddElement<int64_t>(BtSocketOpen::VT_ENDPOINTID, endpointId, 0);
4852 }
4853 explicit BtSocketOpenBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4854 : fbb_(_fbb) {
4855 start_ = fbb_.StartTable();
4856 }
4857 BtSocketOpenBuilder &operator=(const BtSocketOpenBuilder &);
4858 flatbuffers::Offset<BtSocketOpen> Finish() {
4859 const auto end = fbb_.EndTable(start_);
4860 auto o = flatbuffers::Offset<BtSocketOpen>(end);
4861 return o;
4862 }
4863 };
4864
4865 inline flatbuffers::Offset<BtSocketOpen> CreateBtSocketOpen(
4866 flatbuffers::FlatBufferBuilder &_fbb,
4867 int64_t socketId = 0,
4868 flatbuffers::Offset<flatbuffers::Vector<int8_t>> name = 0,
4869 int32_t aclConnectionHandle = 0,
4870 chre::fbs::ChannelInfo channelInfo_type = chre::fbs::ChannelInfo::NONE,
4871 flatbuffers::Offset<void> channelInfo = 0,
4872 int64_t hubId = 0,
4873 int64_t endpointId = 0) {
4874 BtSocketOpenBuilder builder_(_fbb);
4875 builder_.add_endpointId(endpointId);
4876 builder_.add_hubId(hubId);
4877 builder_.add_socketId(socketId);
4878 builder_.add_channelInfo(channelInfo);
4879 builder_.add_aclConnectionHandle(aclConnectionHandle);
4880 builder_.add_name(name);
4881 builder_.add_channelInfo_type(channelInfo_type);
4882 return builder_.Finish();
4883 }
4884
4885 inline flatbuffers::Offset<BtSocketOpen> CreateBtSocketOpenDirect(
4886 flatbuffers::FlatBufferBuilder &_fbb,
4887 int64_t socketId = 0,
4888 const std::vector<int8_t> *name = nullptr,
4889 int32_t aclConnectionHandle = 0,
4890 chre::fbs::ChannelInfo channelInfo_type = chre::fbs::ChannelInfo::NONE,
4891 flatbuffers::Offset<void> channelInfo = 0,
4892 int64_t hubId = 0,
4893 int64_t endpointId = 0) {
4894 auto name__ = name ? _fbb.CreateVector<int8_t>(*name) : 0;
4895 return chre::fbs::CreateBtSocketOpen(
4896 _fbb,
4897 socketId,
4898 name__,
4899 aclConnectionHandle,
4900 channelInfo_type,
4901 channelInfo,
4902 hubId,
4903 endpointId);
4904 }
4905
4906 flatbuffers::Offset<BtSocketOpen> CreateBtSocketOpen(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketOpenT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4907
4908 struct BtSocketOpenResponseT : public flatbuffers::NativeTable {
4909 typedef BtSocketOpenResponse TableType;
4910 int64_t socketId;
4911 chre::fbs::BtSocketOpenStatus status;
4912 std::vector<int8_t> reason;
4913 BtSocketOpenResponseT()
4914 : socketId(0),
4915 status(chre::fbs::BtSocketOpenStatus::SUCCESS) {
4916 }
4917 };
4918
4919 struct BtSocketOpenResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4920 typedef BtSocketOpenResponseT NativeTableType;
4921 typedef BtSocketOpenResponseBuilder Builder;
4922 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4923 VT_SOCKETID = 4,
4924 VT_STATUS = 6,
4925 VT_REASON = 8
4926 };
4927 int64_t socketId() const {
4928 return GetField<int64_t>(VT_SOCKETID, 0);
4929 }
4930 bool mutate_socketId(int64_t _socketId) {
4931 return SetField<int64_t>(VT_SOCKETID, _socketId, 0);
4932 }
4933 chre::fbs::BtSocketOpenStatus status() const {
4934 return static_cast<chre::fbs::BtSocketOpenStatus>(GetField<int8_t>(VT_STATUS, 0));
4935 }
4936 bool mutate_status(chre::fbs::BtSocketOpenStatus _status) {
4937 return SetField<int8_t>(VT_STATUS, static_cast<int8_t>(_status), 0);
4938 }
4939 const flatbuffers::Vector<int8_t> *reason() const {
4940 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_REASON);
4941 }
4942 flatbuffers::Vector<int8_t> *mutable_reason() {
4943 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_REASON);
4944 }
4945 bool Verify(flatbuffers::Verifier &verifier) const {
4946 return VerifyTableStart(verifier) &&
4947 VerifyField<int64_t>(verifier, VT_SOCKETID) &&
4948 VerifyField<int8_t>(verifier, VT_STATUS) &&
4949 VerifyOffset(verifier, VT_REASON) &&
4950 verifier.VerifyVector(reason()) &&
4951 verifier.EndTable();
4952 }
4953 BtSocketOpenResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4954 void UnPackTo(BtSocketOpenResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
4955 static flatbuffers::Offset<BtSocketOpenResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketOpenResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
4956 };
4957
4958 struct BtSocketOpenResponseBuilder {
4959 typedef BtSocketOpenResponse Table;
4960 flatbuffers::FlatBufferBuilder &fbb_;
4961 flatbuffers::uoffset_t start_;
4962 void add_socketId(int64_t socketId) {
4963 fbb_.AddElement<int64_t>(BtSocketOpenResponse::VT_SOCKETID, socketId, 0);
4964 }
4965 void add_status(chre::fbs::BtSocketOpenStatus status) {
4966 fbb_.AddElement<int8_t>(BtSocketOpenResponse::VT_STATUS, static_cast<int8_t>(status), 0);
4967 }
4968 void add_reason(flatbuffers::Offset<flatbuffers::Vector<int8_t>> reason) {
4969 fbb_.AddOffset(BtSocketOpenResponse::VT_REASON, reason);
4970 }
4971 explicit BtSocketOpenResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4972 : fbb_(_fbb) {
4973 start_ = fbb_.StartTable();
4974 }
4975 BtSocketOpenResponseBuilder &operator=(const BtSocketOpenResponseBuilder &);
4976 flatbuffers::Offset<BtSocketOpenResponse> Finish() {
4977 const auto end = fbb_.EndTable(start_);
4978 auto o = flatbuffers::Offset<BtSocketOpenResponse>(end);
4979 return o;
4980 }
4981 };
4982
4983 inline flatbuffers::Offset<BtSocketOpenResponse> CreateBtSocketOpenResponse(
4984 flatbuffers::FlatBufferBuilder &_fbb,
4985 int64_t socketId = 0,
4986 chre::fbs::BtSocketOpenStatus status = chre::fbs::BtSocketOpenStatus::SUCCESS,
4987 flatbuffers::Offset<flatbuffers::Vector<int8_t>> reason = 0) {
4988 BtSocketOpenResponseBuilder builder_(_fbb);
4989 builder_.add_socketId(socketId);
4990 builder_.add_reason(reason);
4991 builder_.add_status(status);
4992 return builder_.Finish();
4993 }
4994
4995 inline flatbuffers::Offset<BtSocketOpenResponse> CreateBtSocketOpenResponseDirect(
4996 flatbuffers::FlatBufferBuilder &_fbb,
4997 int64_t socketId = 0,
4998 chre::fbs::BtSocketOpenStatus status = chre::fbs::BtSocketOpenStatus::SUCCESS,
4999 const std::vector<int8_t> *reason = nullptr) {
5000 auto reason__ = reason ? _fbb.CreateVector<int8_t>(*reason) : 0;
5001 return chre::fbs::CreateBtSocketOpenResponse(
5002 _fbb,
5003 socketId,
5004 status,
5005 reason__);
5006 }
5007
5008 flatbuffers::Offset<BtSocketOpenResponse> CreateBtSocketOpenResponse(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketOpenResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5009
5010 struct BtSocketCloseT : public flatbuffers::NativeTable {
5011 typedef BtSocketClose TableType;
5012 int64_t socketId;
5013 std::vector<int8_t> reason;
5014 BtSocketCloseT()
5015 : socketId(0) {
5016 }
5017 };
5018
5019 struct BtSocketClose FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5020 typedef BtSocketCloseT NativeTableType;
5021 typedef BtSocketCloseBuilder Builder;
5022 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5023 VT_SOCKETID = 4,
5024 VT_REASON = 6
5025 };
5026 int64_t socketId() const {
5027 return GetField<int64_t>(VT_SOCKETID, 0);
5028 }
5029 bool mutate_socketId(int64_t _socketId) {
5030 return SetField<int64_t>(VT_SOCKETID, _socketId, 0);
5031 }
5032 const flatbuffers::Vector<int8_t> *reason() const {
5033 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_REASON);
5034 }
5035 flatbuffers::Vector<int8_t> *mutable_reason() {
5036 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_REASON);
5037 }
5038 bool Verify(flatbuffers::Verifier &verifier) const {
5039 return VerifyTableStart(verifier) &&
5040 VerifyField<int64_t>(verifier, VT_SOCKETID) &&
5041 VerifyOffset(verifier, VT_REASON) &&
5042 verifier.VerifyVector(reason()) &&
5043 verifier.EndTable();
5044 }
5045 BtSocketCloseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5046 void UnPackTo(BtSocketCloseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5047 static flatbuffers::Offset<BtSocketClose> Pack(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketCloseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5048 };
5049
5050 struct BtSocketCloseBuilder {
5051 typedef BtSocketClose Table;
5052 flatbuffers::FlatBufferBuilder &fbb_;
5053 flatbuffers::uoffset_t start_;
5054 void add_socketId(int64_t socketId) {
5055 fbb_.AddElement<int64_t>(BtSocketClose::VT_SOCKETID, socketId, 0);
5056 }
5057 void add_reason(flatbuffers::Offset<flatbuffers::Vector<int8_t>> reason) {
5058 fbb_.AddOffset(BtSocketClose::VT_REASON, reason);
5059 }
5060 explicit BtSocketCloseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5061 : fbb_(_fbb) {
5062 start_ = fbb_.StartTable();
5063 }
5064 BtSocketCloseBuilder &operator=(const BtSocketCloseBuilder &);
5065 flatbuffers::Offset<BtSocketClose> Finish() {
5066 const auto end = fbb_.EndTable(start_);
5067 auto o = flatbuffers::Offset<BtSocketClose>(end);
5068 return o;
5069 }
5070 };
5071
5072 inline flatbuffers::Offset<BtSocketClose> CreateBtSocketClose(
5073 flatbuffers::FlatBufferBuilder &_fbb,
5074 int64_t socketId = 0,
5075 flatbuffers::Offset<flatbuffers::Vector<int8_t>> reason = 0) {
5076 BtSocketCloseBuilder builder_(_fbb);
5077 builder_.add_socketId(socketId);
5078 builder_.add_reason(reason);
5079 return builder_.Finish();
5080 }
5081
5082 inline flatbuffers::Offset<BtSocketClose> CreateBtSocketCloseDirect(
5083 flatbuffers::FlatBufferBuilder &_fbb,
5084 int64_t socketId = 0,
5085 const std::vector<int8_t> *reason = nullptr) {
5086 auto reason__ = reason ? _fbb.CreateVector<int8_t>(*reason) : 0;
5087 return chre::fbs::CreateBtSocketClose(
5088 _fbb,
5089 socketId,
5090 reason__);
5091 }
5092
5093 flatbuffers::Offset<BtSocketClose> CreateBtSocketClose(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketCloseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5094
5095 struct BtSocketCloseResponseT : public flatbuffers::NativeTable {
5096 typedef BtSocketCloseResponse TableType;
5097 int64_t socketId;
5098 BtSocketCloseResponseT()
5099 : socketId(0) {
5100 }
5101 };
5102
5103 struct BtSocketCloseResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5104 typedef BtSocketCloseResponseT NativeTableType;
5105 typedef BtSocketCloseResponseBuilder Builder;
5106 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5107 VT_SOCKETID = 4
5108 };
5109 int64_t socketId() const {
5110 return GetField<int64_t>(VT_SOCKETID, 0);
5111 }
5112 bool mutate_socketId(int64_t _socketId) {
5113 return SetField<int64_t>(VT_SOCKETID, _socketId, 0);
5114 }
5115 bool Verify(flatbuffers::Verifier &verifier) const {
5116 return VerifyTableStart(verifier) &&
5117 VerifyField<int64_t>(verifier, VT_SOCKETID) &&
5118 verifier.EndTable();
5119 }
5120 BtSocketCloseResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5121 void UnPackTo(BtSocketCloseResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5122 static flatbuffers::Offset<BtSocketCloseResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketCloseResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5123 };
5124
5125 struct BtSocketCloseResponseBuilder {
5126 typedef BtSocketCloseResponse Table;
5127 flatbuffers::FlatBufferBuilder &fbb_;
5128 flatbuffers::uoffset_t start_;
5129 void add_socketId(int64_t socketId) {
5130 fbb_.AddElement<int64_t>(BtSocketCloseResponse::VT_SOCKETID, socketId, 0);
5131 }
5132 explicit BtSocketCloseResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5133 : fbb_(_fbb) {
5134 start_ = fbb_.StartTable();
5135 }
5136 BtSocketCloseResponseBuilder &operator=(const BtSocketCloseResponseBuilder &);
5137 flatbuffers::Offset<BtSocketCloseResponse> Finish() {
5138 const auto end = fbb_.EndTable(start_);
5139 auto o = flatbuffers::Offset<BtSocketCloseResponse>(end);
5140 return o;
5141 }
5142 };
5143
5144 inline flatbuffers::Offset<BtSocketCloseResponse> CreateBtSocketCloseResponse(
5145 flatbuffers::FlatBufferBuilder &_fbb,
5146 int64_t socketId = 0) {
5147 BtSocketCloseResponseBuilder builder_(_fbb);
5148 builder_.add_socketId(socketId);
5149 return builder_.Finish();
5150 }
5151
5152 flatbuffers::Offset<BtSocketCloseResponse> CreateBtSocketCloseResponse(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketCloseResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5153
5154 struct VendorHubInfoT : public flatbuffers::NativeTable {
5155 typedef VendorHubInfo TableType;
5156 std::vector<int8_t> name;
5157 uint32_t version;
5158 std::vector<uint8_t> extended_info;
5159 VendorHubInfoT()
5160 : version(0) {
5161 }
5162 };
5163
5164 struct VendorHubInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5165 typedef VendorHubInfoT NativeTableType;
5166 typedef VendorHubInfoBuilder Builder;
5167 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5168 VT_NAME = 4,
5169 VT_VERSION = 6,
5170 VT_EXTENDED_INFO = 8
5171 };
5172 /// The name of the hub. Nominally a UTF-8 string, but note that we're not
5173 /// using the built-in "string" data type from FlatBuffers here, because the
5174 /// generated C++ uses std::string which is not well-supported in CHRE.
5175 const flatbuffers::Vector<int8_t> *name() const {
5176 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_NAME);
5177 }
5178 flatbuffers::Vector<int8_t> *mutable_name() {
5179 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_NAME);
5180 }
5181 /// Hub version
5182 uint32_t version() const {
5183 return GetField<uint32_t>(VT_VERSION, 0);
5184 }
5185 bool mutate_version(uint32_t _version) {
5186 return SetField<uint32_t>(VT_VERSION, _version, 0);
5187 }
5188 /// Additional vendor-defined data
5189 const flatbuffers::Vector<uint8_t> *extended_info() const {
5190 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_EXTENDED_INFO);
5191 }
5192 flatbuffers::Vector<uint8_t> *mutable_extended_info() {
5193 return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_EXTENDED_INFO);
5194 }
5195 bool Verify(flatbuffers::Verifier &verifier) const {
5196 return VerifyTableStart(verifier) &&
5197 VerifyOffset(verifier, VT_NAME) &&
5198 verifier.VerifyVector(name()) &&
5199 VerifyField<uint32_t>(verifier, VT_VERSION) &&
5200 VerifyOffset(verifier, VT_EXTENDED_INFO) &&
5201 verifier.VerifyVector(extended_info()) &&
5202 verifier.EndTable();
5203 }
5204 VendorHubInfoT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5205 void UnPackTo(VendorHubInfoT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5206 static flatbuffers::Offset<VendorHubInfo> Pack(flatbuffers::FlatBufferBuilder &_fbb, const VendorHubInfoT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5207 };
5208
5209 struct VendorHubInfoBuilder {
5210 typedef VendorHubInfo Table;
5211 flatbuffers::FlatBufferBuilder &fbb_;
5212 flatbuffers::uoffset_t start_;
5213 void add_name(flatbuffers::Offset<flatbuffers::Vector<int8_t>> name) {
5214 fbb_.AddOffset(VendorHubInfo::VT_NAME, name);
5215 }
5216 void add_version(uint32_t version) {
5217 fbb_.AddElement<uint32_t>(VendorHubInfo::VT_VERSION, version, 0);
5218 }
5219 void add_extended_info(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> extended_info) {
5220 fbb_.AddOffset(VendorHubInfo::VT_EXTENDED_INFO, extended_info);
5221 }
5222 explicit VendorHubInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5223 : fbb_(_fbb) {
5224 start_ = fbb_.StartTable();
5225 }
5226 VendorHubInfoBuilder &operator=(const VendorHubInfoBuilder &);
5227 flatbuffers::Offset<VendorHubInfo> Finish() {
5228 const auto end = fbb_.EndTable(start_);
5229 auto o = flatbuffers::Offset<VendorHubInfo>(end);
5230 return o;
5231 }
5232 };
5233
5234 inline flatbuffers::Offset<VendorHubInfo> CreateVendorHubInfo(
5235 flatbuffers::FlatBufferBuilder &_fbb,
5236 flatbuffers::Offset<flatbuffers::Vector<int8_t>> name = 0,
5237 uint32_t version = 0,
5238 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> extended_info = 0) {
5239 VendorHubInfoBuilder builder_(_fbb);
5240 builder_.add_extended_info(extended_info);
5241 builder_.add_version(version);
5242 builder_.add_name(name);
5243 return builder_.Finish();
5244 }
5245
5246 inline flatbuffers::Offset<VendorHubInfo> CreateVendorHubInfoDirect(
5247 flatbuffers::FlatBufferBuilder &_fbb,
5248 const std::vector<int8_t> *name = nullptr,
5249 uint32_t version = 0,
5250 const std::vector<uint8_t> *extended_info = nullptr) {
5251 auto name__ = name ? _fbb.CreateVector<int8_t>(*name) : 0;
5252 auto extended_info__ = extended_info ? _fbb.CreateVector<uint8_t>(*extended_info) : 0;
5253 return chre::fbs::CreateVendorHubInfo(
5254 _fbb,
5255 name__,
5256 version,
5257 extended_info__);
5258 }
5259
5260 flatbuffers::Offset<VendorHubInfo> CreateVendorHubInfo(flatbuffers::FlatBufferBuilder &_fbb, const VendorHubInfoT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5261
5262 struct MessageHubT : public flatbuffers::NativeTable {
5263 typedef MessageHub TableType;
5264 int64_t id;
5265 chre::fbs::MessageHubDetailsUnion details;
5266 MessageHubT()
5267 : id(0) {
5268 }
5269 };
5270
5271 struct MessageHub FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5272 typedef MessageHubT NativeTableType;
5273 typedef MessageHubBuilder Builder;
5274 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5275 VT_ID = 4,
5276 VT_DETAILS_TYPE = 6,
5277 VT_DETAILS = 8
5278 };
5279 /// The hub id. -1 is reserved and 0 is invalid. 0x416e64726f696400 represents
5280 /// the ContextHub service.
5281 int64_t id() const {
5282 return GetField<int64_t>(VT_ID, 0);
5283 }
5284 bool mutate_id(int64_t _id) {
5285 return SetField<int64_t>(VT_ID, _id, 0);
5286 }
5287 chre::fbs::MessageHubDetails details_type() const {
5288 return static_cast<chre::fbs::MessageHubDetails>(GetField<uint8_t>(VT_DETAILS_TYPE, 0));
5289 }
5290 /// Details of the message hub.
5291 const void *details() const {
5292 return GetPointer<const void *>(VT_DETAILS);
5293 }
5294 template<typename T> const T *details_as() const;
5295 const chre::fbs::HubInfoResponse *details_as_HubInfoResponse() const {
5296 return details_type() == chre::fbs::MessageHubDetails::HubInfoResponse ? static_cast<const chre::fbs::HubInfoResponse *>(details()) : nullptr;
5297 }
5298 const chre::fbs::VendorHubInfo *details_as_VendorHubInfo() const {
5299 return details_type() == chre::fbs::MessageHubDetails::VendorHubInfo ? static_cast<const chre::fbs::VendorHubInfo *>(details()) : nullptr;
5300 }
5301 void *mutable_details() {
5302 return GetPointer<void *>(VT_DETAILS);
5303 }
5304 bool Verify(flatbuffers::Verifier &verifier) const {
5305 return VerifyTableStart(verifier) &&
5306 VerifyField<int64_t>(verifier, VT_ID) &&
5307 VerifyField<uint8_t>(verifier, VT_DETAILS_TYPE) &&
5308 VerifyOffset(verifier, VT_DETAILS) &&
5309 VerifyMessageHubDetails(verifier, details(), details_type()) &&
5310 verifier.EndTable();
5311 }
5312 MessageHubT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5313 void UnPackTo(MessageHubT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5314 static flatbuffers::Offset<MessageHub> Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageHubT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5315 };
5316
5317 template<> inline const chre::fbs::HubInfoResponse *MessageHub::details_as<chre::fbs::HubInfoResponse>() const {
5318 return details_as_HubInfoResponse();
5319 }
5320
5321 template<> inline const chre::fbs::VendorHubInfo *MessageHub::details_as<chre::fbs::VendorHubInfo>() const {
5322 return details_as_VendorHubInfo();
5323 }
5324
5325 struct MessageHubBuilder {
5326 typedef MessageHub Table;
5327 flatbuffers::FlatBufferBuilder &fbb_;
5328 flatbuffers::uoffset_t start_;
5329 void add_id(int64_t id) {
5330 fbb_.AddElement<int64_t>(MessageHub::VT_ID, id, 0);
5331 }
5332 void add_details_type(chre::fbs::MessageHubDetails details_type) {
5333 fbb_.AddElement<uint8_t>(MessageHub::VT_DETAILS_TYPE, static_cast<uint8_t>(details_type), 0);
5334 }
5335 void add_details(flatbuffers::Offset<void> details) {
5336 fbb_.AddOffset(MessageHub::VT_DETAILS, details);
5337 }
5338 explicit MessageHubBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5339 : fbb_(_fbb) {
5340 start_ = fbb_.StartTable();
5341 }
5342 MessageHubBuilder &operator=(const MessageHubBuilder &);
5343 flatbuffers::Offset<MessageHub> Finish() {
5344 const auto end = fbb_.EndTable(start_);
5345 auto o = flatbuffers::Offset<MessageHub>(end);
5346 return o;
5347 }
5348 };
5349
5350 inline flatbuffers::Offset<MessageHub> CreateMessageHub(
5351 flatbuffers::FlatBufferBuilder &_fbb,
5352 int64_t id = 0,
5353 chre::fbs::MessageHubDetails details_type = chre::fbs::MessageHubDetails::NONE,
5354 flatbuffers::Offset<void> details = 0) {
5355 MessageHubBuilder builder_(_fbb);
5356 builder_.add_id(id);
5357 builder_.add_details(details);
5358 builder_.add_details_type(details_type);
5359 return builder_.Finish();
5360 }
5361
5362 flatbuffers::Offset<MessageHub> CreateMessageHub(flatbuffers::FlatBufferBuilder &_fbb, const MessageHubT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5363
5364 struct RegisterMessageHubT : public flatbuffers::NativeTable {
5365 typedef RegisterMessageHub TableType;
5366 std::unique_ptr<chre::fbs::MessageHubT> hub;
5367 RegisterMessageHubT() {
5368 }
5369 };
5370
5371 struct RegisterMessageHub FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5372 typedef RegisterMessageHubT NativeTableType;
5373 typedef RegisterMessageHubBuilder Builder;
5374 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5375 VT_HUB = 4
5376 };
5377 const chre::fbs::MessageHub *hub() const {
5378 return GetPointer<const chre::fbs::MessageHub *>(VT_HUB);
5379 }
5380 chre::fbs::MessageHub *mutable_hub() {
5381 return GetPointer<chre::fbs::MessageHub *>(VT_HUB);
5382 }
5383 bool Verify(flatbuffers::Verifier &verifier) const {
5384 return VerifyTableStart(verifier) &&
5385 VerifyOffset(verifier, VT_HUB) &&
5386 verifier.VerifyTable(hub()) &&
5387 verifier.EndTable();
5388 }
5389 RegisterMessageHubT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5390 void UnPackTo(RegisterMessageHubT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5391 static flatbuffers::Offset<RegisterMessageHub> Pack(flatbuffers::FlatBufferBuilder &_fbb, const RegisterMessageHubT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5392 };
5393
5394 struct RegisterMessageHubBuilder {
5395 typedef RegisterMessageHub Table;
5396 flatbuffers::FlatBufferBuilder &fbb_;
5397 flatbuffers::uoffset_t start_;
5398 void add_hub(flatbuffers::Offset<chre::fbs::MessageHub> hub) {
5399 fbb_.AddOffset(RegisterMessageHub::VT_HUB, hub);
5400 }
5401 explicit RegisterMessageHubBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5402 : fbb_(_fbb) {
5403 start_ = fbb_.StartTable();
5404 }
5405 RegisterMessageHubBuilder &operator=(const RegisterMessageHubBuilder &);
5406 flatbuffers::Offset<RegisterMessageHub> Finish() {
5407 const auto end = fbb_.EndTable(start_);
5408 auto o = flatbuffers::Offset<RegisterMessageHub>(end);
5409 return o;
5410 }
5411 };
5412
5413 inline flatbuffers::Offset<RegisterMessageHub> CreateRegisterMessageHub(
5414 flatbuffers::FlatBufferBuilder &_fbb,
5415 flatbuffers::Offset<chre::fbs::MessageHub> hub = 0) {
5416 RegisterMessageHubBuilder builder_(_fbb);
5417 builder_.add_hub(hub);
5418 return builder_.Finish();
5419 }
5420
5421 flatbuffers::Offset<RegisterMessageHub> CreateRegisterMessageHub(flatbuffers::FlatBufferBuilder &_fbb, const RegisterMessageHubT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5422
5423 struct UnregisterMessageHubT : public flatbuffers::NativeTable {
5424 typedef UnregisterMessageHub TableType;
5425 int64_t id;
5426 UnregisterMessageHubT()
5427 : id(0) {
5428 }
5429 };
5430
5431 struct UnregisterMessageHub FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5432 typedef UnregisterMessageHubT NativeTableType;
5433 typedef UnregisterMessageHubBuilder Builder;
5434 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5435 VT_ID = 4
5436 };
5437 int64_t id() const {
5438 return GetField<int64_t>(VT_ID, 0);
5439 }
5440 bool mutate_id(int64_t _id) {
5441 return SetField<int64_t>(VT_ID, _id, 0);
5442 }
5443 bool Verify(flatbuffers::Verifier &verifier) const {
5444 return VerifyTableStart(verifier) &&
5445 VerifyField<int64_t>(verifier, VT_ID) &&
5446 verifier.EndTable();
5447 }
5448 UnregisterMessageHubT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5449 void UnPackTo(UnregisterMessageHubT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5450 static flatbuffers::Offset<UnregisterMessageHub> Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnregisterMessageHubT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5451 };
5452
5453 struct UnregisterMessageHubBuilder {
5454 typedef UnregisterMessageHub Table;
5455 flatbuffers::FlatBufferBuilder &fbb_;
5456 flatbuffers::uoffset_t start_;
5457 void add_id(int64_t id) {
5458 fbb_.AddElement<int64_t>(UnregisterMessageHub::VT_ID, id, 0);
5459 }
5460 explicit UnregisterMessageHubBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5461 : fbb_(_fbb) {
5462 start_ = fbb_.StartTable();
5463 }
5464 UnregisterMessageHubBuilder &operator=(const UnregisterMessageHubBuilder &);
5465 flatbuffers::Offset<UnregisterMessageHub> Finish() {
5466 const auto end = fbb_.EndTable(start_);
5467 auto o = flatbuffers::Offset<UnregisterMessageHub>(end);
5468 return o;
5469 }
5470 };
5471
5472 inline flatbuffers::Offset<UnregisterMessageHub> CreateUnregisterMessageHub(
5473 flatbuffers::FlatBufferBuilder &_fbb,
5474 int64_t id = 0) {
5475 UnregisterMessageHubBuilder builder_(_fbb);
5476 builder_.add_id(id);
5477 return builder_.Finish();
5478 }
5479
5480 flatbuffers::Offset<UnregisterMessageHub> CreateUnregisterMessageHub(flatbuffers::FlatBufferBuilder &_fbb, const UnregisterMessageHubT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5481
5482 struct EndpointIdT : public flatbuffers::NativeTable {
5483 typedef EndpointId TableType;
5484 int64_t hubId;
5485 int64_t id;
5486 EndpointIdT()
5487 : hubId(0),
5488 id(0) {
5489 }
5490 };
5491
5492 struct EndpointId FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5493 typedef EndpointIdT NativeTableType;
5494 typedef EndpointIdBuilder Builder;
5495 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5496 VT_HUBID = 4,
5497 VT_ID = 6
5498 };
5499 /// Id of the hub hosting the endpoint
5500 int64_t hubId() const {
5501 return GetField<int64_t>(VT_HUBID, 0);
5502 }
5503 bool mutate_hubId(int64_t _hubId) {
5504 return SetField<int64_t>(VT_HUBID, _hubId, 0);
5505 }
5506 /// The id of the endpoint scoped to the hub
5507 int64_t id() const {
5508 return GetField<int64_t>(VT_ID, 0);
5509 }
5510 bool mutate_id(int64_t _id) {
5511 return SetField<int64_t>(VT_ID, _id, 0);
5512 }
5513 bool Verify(flatbuffers::Verifier &verifier) const {
5514 return VerifyTableStart(verifier) &&
5515 VerifyField<int64_t>(verifier, VT_HUBID) &&
5516 VerifyField<int64_t>(verifier, VT_ID) &&
5517 verifier.EndTable();
5518 }
5519 EndpointIdT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5520 void UnPackTo(EndpointIdT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5521 static flatbuffers::Offset<EndpointId> Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointIdT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5522 };
5523
5524 struct EndpointIdBuilder {
5525 typedef EndpointId Table;
5526 flatbuffers::FlatBufferBuilder &fbb_;
5527 flatbuffers::uoffset_t start_;
5528 void add_hubId(int64_t hubId) {
5529 fbb_.AddElement<int64_t>(EndpointId::VT_HUBID, hubId, 0);
5530 }
5531 void add_id(int64_t id) {
5532 fbb_.AddElement<int64_t>(EndpointId::VT_ID, id, 0);
5533 }
5534 explicit EndpointIdBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5535 : fbb_(_fbb) {
5536 start_ = fbb_.StartTable();
5537 }
5538 EndpointIdBuilder &operator=(const EndpointIdBuilder &);
5539 flatbuffers::Offset<EndpointId> Finish() {
5540 const auto end = fbb_.EndTable(start_);
5541 auto o = flatbuffers::Offset<EndpointId>(end);
5542 return o;
5543 }
5544 };
5545
5546 inline flatbuffers::Offset<EndpointId> CreateEndpointId(
5547 flatbuffers::FlatBufferBuilder &_fbb,
5548 int64_t hubId = 0,
5549 int64_t id = 0) {
5550 EndpointIdBuilder builder_(_fbb);
5551 builder_.add_id(id);
5552 builder_.add_hubId(hubId);
5553 return builder_.Finish();
5554 }
5555
5556 flatbuffers::Offset<EndpointId> CreateEndpointId(flatbuffers::FlatBufferBuilder &_fbb, const EndpointIdT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5557
5558 struct ServiceT : public flatbuffers::NativeTable {
5559 typedef Service TableType;
5560 chre::fbs::RpcFormat format;
5561 std::vector<int8_t> descriptor;
5562 uint32_t major_version;
5563 uint32_t minor_version;
5564 ServiceT()
5565 : format(chre::fbs::RpcFormat::CUSTOM),
5566 major_version(0),
5567 minor_version(0) {
5568 }
5569 };
5570
5571 struct Service FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5572 typedef ServiceT NativeTableType;
5573 typedef ServiceBuilder Builder;
5574 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5575 VT_FORMAT = 4,
5576 VT_DESCRIPTOR = 6,
5577 VT_MAJOR_VERSION = 8,
5578 VT_MINOR_VERSION = 10
5579 };
5580 chre::fbs::RpcFormat format() const {
5581 return static_cast<chre::fbs::RpcFormat>(GetField<uint8_t>(VT_FORMAT, 0));
5582 }
5583 bool mutate_format(chre::fbs::RpcFormat _format) {
5584 return SetField<uint8_t>(VT_FORMAT, static_cast<uint8_t>(_format), 0);
5585 }
5586 /// Service descriptor. Nominally a UTF-8 string, but note that we're not
5587 /// using the built-in "string" data type from FlatBuffers here, because the
5588 /// generated C++ uses std::string which is not well-supported in CHRE.
5589 const flatbuffers::Vector<int8_t> *descriptor() const {
5590 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_DESCRIPTOR);
5591 }
5592 flatbuffers::Vector<int8_t> *mutable_descriptor() {
5593 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_DESCRIPTOR);
5594 }
5595 /// Breaking changes should bump the major version.
5596 uint32_t major_version() const {
5597 return GetField<uint32_t>(VT_MAJOR_VERSION, 0);
5598 }
5599 bool mutate_major_version(uint32_t _major_version) {
5600 return SetField<uint32_t>(VT_MAJOR_VERSION, _major_version, 0);
5601 }
5602 /// Monotonically increasing minor version.
5603 uint32_t minor_version() const {
5604 return GetField<uint32_t>(VT_MINOR_VERSION, 0);
5605 }
5606 bool mutate_minor_version(uint32_t _minor_version) {
5607 return SetField<uint32_t>(VT_MINOR_VERSION, _minor_version, 0);
5608 }
5609 bool Verify(flatbuffers::Verifier &verifier) const {
5610 return VerifyTableStart(verifier) &&
5611 VerifyField<uint8_t>(verifier, VT_FORMAT) &&
5612 VerifyOffset(verifier, VT_DESCRIPTOR) &&
5613 verifier.VerifyVector(descriptor()) &&
5614 VerifyField<uint32_t>(verifier, VT_MAJOR_VERSION) &&
5615 VerifyField<uint32_t>(verifier, VT_MINOR_VERSION) &&
5616 verifier.EndTable();
5617 }
5618 ServiceT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5619 void UnPackTo(ServiceT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5620 static flatbuffers::Offset<Service> Pack(flatbuffers::FlatBufferBuilder &_fbb, const ServiceT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5621 };
5622
5623 struct ServiceBuilder {
5624 typedef Service Table;
5625 flatbuffers::FlatBufferBuilder &fbb_;
5626 flatbuffers::uoffset_t start_;
5627 void add_format(chre::fbs::RpcFormat format) {
5628 fbb_.AddElement<uint8_t>(Service::VT_FORMAT, static_cast<uint8_t>(format), 0);
5629 }
5630 void add_descriptor(flatbuffers::Offset<flatbuffers::Vector<int8_t>> descriptor) {
5631 fbb_.AddOffset(Service::VT_DESCRIPTOR, descriptor);
5632 }
5633 void add_major_version(uint32_t major_version) {
5634 fbb_.AddElement<uint32_t>(Service::VT_MAJOR_VERSION, major_version, 0);
5635 }
5636 void add_minor_version(uint32_t minor_version) {
5637 fbb_.AddElement<uint32_t>(Service::VT_MINOR_VERSION, minor_version, 0);
5638 }
5639 explicit ServiceBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5640 : fbb_(_fbb) {
5641 start_ = fbb_.StartTable();
5642 }
5643 ServiceBuilder &operator=(const ServiceBuilder &);
5644 flatbuffers::Offset<Service> Finish() {
5645 const auto end = fbb_.EndTable(start_);
5646 auto o = flatbuffers::Offset<Service>(end);
5647 return o;
5648 }
5649 };
5650
5651 inline flatbuffers::Offset<Service> CreateService(
5652 flatbuffers::FlatBufferBuilder &_fbb,
5653 chre::fbs::RpcFormat format = chre::fbs::RpcFormat::CUSTOM,
5654 flatbuffers::Offset<flatbuffers::Vector<int8_t>> descriptor = 0,
5655 uint32_t major_version = 0,
5656 uint32_t minor_version = 0) {
5657 ServiceBuilder builder_(_fbb);
5658 builder_.add_minor_version(minor_version);
5659 builder_.add_major_version(major_version);
5660 builder_.add_descriptor(descriptor);
5661 builder_.add_format(format);
5662 return builder_.Finish();
5663 }
5664
5665 inline flatbuffers::Offset<Service> CreateServiceDirect(
5666 flatbuffers::FlatBufferBuilder &_fbb,
5667 chre::fbs::RpcFormat format = chre::fbs::RpcFormat::CUSTOM,
5668 const std::vector<int8_t> *descriptor = nullptr,
5669 uint32_t major_version = 0,
5670 uint32_t minor_version = 0) {
5671 auto descriptor__ = descriptor ? _fbb.CreateVector<int8_t>(*descriptor) : 0;
5672 return chre::fbs::CreateService(
5673 _fbb,
5674 format,
5675 descriptor__,
5676 major_version,
5677 minor_version);
5678 }
5679
5680 flatbuffers::Offset<Service> CreateService(flatbuffers::FlatBufferBuilder &_fbb, const ServiceT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5681
5682 struct EndpointInfoT : public flatbuffers::NativeTable {
5683 typedef EndpointInfo TableType;
5684 std::unique_ptr<chre::fbs::EndpointIdT> id;
5685 chre::fbs::EndpointType type;
5686 std::vector<int8_t> name;
5687 uint32_t version;
5688 uint32_t required_permissions;
5689 std::vector<std::unique_ptr<chre::fbs::ServiceT>> services;
5690 EndpointInfoT()
5691 : type(chre::fbs::EndpointType::INVALID),
5692 version(0),
5693 required_permissions(0) {
5694 }
5695 };
5696
5697 struct EndpointInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5698 typedef EndpointInfoT NativeTableType;
5699 typedef EndpointInfoBuilder Builder;
5700 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5701 VT_ID = 4,
5702 VT_TYPE = 6,
5703 VT_NAME = 8,
5704 VT_VERSION = 10,
5705 VT_REQUIRED_PERMISSIONS = 12,
5706 VT_SERVICES = 14
5707 };
5708 const chre::fbs::EndpointId *id() const {
5709 return GetPointer<const chre::fbs::EndpointId *>(VT_ID);
5710 }
5711 chre::fbs::EndpointId *mutable_id() {
5712 return GetPointer<chre::fbs::EndpointId *>(VT_ID);
5713 }
5714 chre::fbs::EndpointType type() const {
5715 return static_cast<chre::fbs::EndpointType>(GetField<uint8_t>(VT_TYPE, 0));
5716 }
5717 bool mutate_type(chre::fbs::EndpointType _type) {
5718 return SetField<uint8_t>(VT_TYPE, static_cast<uint8_t>(_type), 0);
5719 }
5720 /// Endpoing name. Nominally a UTF-8 string, but note that we're not using
5721 /// the built-in "string" data type from FlatBuffers here, because the
5722 /// generated C++ uses std::string which is not well-supported in CHRE.
5723 const flatbuffers::Vector<int8_t> *name() const {
5724 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_NAME);
5725 }
5726 flatbuffers::Vector<int8_t> *mutable_name() {
5727 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_NAME);
5728 }
5729 uint32_t version() const {
5730 return GetField<uint32_t>(VT_VERSION, 0);
5731 }
5732 bool mutate_version(uint32_t _version) {
5733 return SetField<uint32_t>(VT_VERSION, _version, 0);
5734 }
5735 /// Values from CHRE_MESSAGE_PERMISSION_*
5736 uint32_t required_permissions() const {
5737 return GetField<uint32_t>(VT_REQUIRED_PERMISSIONS, 0);
5738 }
5739 bool mutate_required_permissions(uint32_t _required_permissions) {
5740 return SetField<uint32_t>(VT_REQUIRED_PERMISSIONS, _required_permissions, 0);
5741 }
5742 const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::Service>> *services() const {
5743 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::Service>> *>(VT_SERVICES);
5744 }
5745 flatbuffers::Vector<flatbuffers::Offset<chre::fbs::Service>> *mutable_services() {
5746 return GetPointer<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::Service>> *>(VT_SERVICES);
5747 }
5748 bool Verify(flatbuffers::Verifier &verifier) const {
5749 return VerifyTableStart(verifier) &&
5750 VerifyOffset(verifier, VT_ID) &&
5751 verifier.VerifyTable(id()) &&
5752 VerifyField<uint8_t>(verifier, VT_TYPE) &&
5753 VerifyOffset(verifier, VT_NAME) &&
5754 verifier.VerifyVector(name()) &&
5755 VerifyField<uint32_t>(verifier, VT_VERSION) &&
5756 VerifyField<uint32_t>(verifier, VT_REQUIRED_PERMISSIONS) &&
5757 VerifyOffset(verifier, VT_SERVICES) &&
5758 verifier.VerifyVector(services()) &&
5759 verifier.VerifyVectorOfTables(services()) &&
5760 verifier.EndTable();
5761 }
5762 EndpointInfoT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5763 void UnPackTo(EndpointInfoT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5764 static flatbuffers::Offset<EndpointInfo> Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointInfoT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5765 };
5766
5767 struct EndpointInfoBuilder {
5768 typedef EndpointInfo Table;
5769 flatbuffers::FlatBufferBuilder &fbb_;
5770 flatbuffers::uoffset_t start_;
5771 void add_id(flatbuffers::Offset<chre::fbs::EndpointId> id) {
5772 fbb_.AddOffset(EndpointInfo::VT_ID, id);
5773 }
5774 void add_type(chre::fbs::EndpointType type) {
5775 fbb_.AddElement<uint8_t>(EndpointInfo::VT_TYPE, static_cast<uint8_t>(type), 0);
5776 }
5777 void add_name(flatbuffers::Offset<flatbuffers::Vector<int8_t>> name) {
5778 fbb_.AddOffset(EndpointInfo::VT_NAME, name);
5779 }
5780 void add_version(uint32_t version) {
5781 fbb_.AddElement<uint32_t>(EndpointInfo::VT_VERSION, version, 0);
5782 }
5783 void add_required_permissions(uint32_t required_permissions) {
5784 fbb_.AddElement<uint32_t>(EndpointInfo::VT_REQUIRED_PERMISSIONS, required_permissions, 0);
5785 }
5786 void add_services(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::Service>>> services) {
5787 fbb_.AddOffset(EndpointInfo::VT_SERVICES, services);
5788 }
5789 explicit EndpointInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5790 : fbb_(_fbb) {
5791 start_ = fbb_.StartTable();
5792 }
5793 EndpointInfoBuilder &operator=(const EndpointInfoBuilder &);
5794 flatbuffers::Offset<EndpointInfo> Finish() {
5795 const auto end = fbb_.EndTable(start_);
5796 auto o = flatbuffers::Offset<EndpointInfo>(end);
5797 return o;
5798 }
5799 };
5800
5801 inline flatbuffers::Offset<EndpointInfo> CreateEndpointInfo(
5802 flatbuffers::FlatBufferBuilder &_fbb,
5803 flatbuffers::Offset<chre::fbs::EndpointId> id = 0,
5804 chre::fbs::EndpointType type = chre::fbs::EndpointType::INVALID,
5805 flatbuffers::Offset<flatbuffers::Vector<int8_t>> name = 0,
5806 uint32_t version = 0,
5807 uint32_t required_permissions = 0,
5808 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::Service>>> services = 0) {
5809 EndpointInfoBuilder builder_(_fbb);
5810 builder_.add_services(services);
5811 builder_.add_required_permissions(required_permissions);
5812 builder_.add_version(version);
5813 builder_.add_name(name);
5814 builder_.add_id(id);
5815 builder_.add_type(type);
5816 return builder_.Finish();
5817 }
5818
5819 inline flatbuffers::Offset<EndpointInfo> CreateEndpointInfoDirect(
5820 flatbuffers::FlatBufferBuilder &_fbb,
5821 flatbuffers::Offset<chre::fbs::EndpointId> id = 0,
5822 chre::fbs::EndpointType type = chre::fbs::EndpointType::INVALID,
5823 const std::vector<int8_t> *name = nullptr,
5824 uint32_t version = 0,
5825 uint32_t required_permissions = 0,
5826 const std::vector<flatbuffers::Offset<chre::fbs::Service>> *services = nullptr) {
5827 auto name__ = name ? _fbb.CreateVector<int8_t>(*name) : 0;
5828 auto services__ = services ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::Service>>(*services) : 0;
5829 return chre::fbs::CreateEndpointInfo(
5830 _fbb,
5831 id,
5832 type,
5833 name__,
5834 version,
5835 required_permissions,
5836 services__);
5837 }
5838
5839 flatbuffers::Offset<EndpointInfo> CreateEndpointInfo(flatbuffers::FlatBufferBuilder &_fbb, const EndpointInfoT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5840
5841 struct RegisterEndpointT : public flatbuffers::NativeTable {
5842 typedef RegisterEndpoint TableType;
5843 std::unique_ptr<chre::fbs::EndpointInfoT> endpoint;
5844 RegisterEndpointT() {
5845 }
5846 };
5847
5848 struct RegisterEndpoint FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5849 typedef RegisterEndpointT NativeTableType;
5850 typedef RegisterEndpointBuilder Builder;
5851 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5852 VT_ENDPOINT = 4
5853 };
5854 const chre::fbs::EndpointInfo *endpoint() const {
5855 return GetPointer<const chre::fbs::EndpointInfo *>(VT_ENDPOINT);
5856 }
5857 chre::fbs::EndpointInfo *mutable_endpoint() {
5858 return GetPointer<chre::fbs::EndpointInfo *>(VT_ENDPOINT);
5859 }
5860 bool Verify(flatbuffers::Verifier &verifier) const {
5861 return VerifyTableStart(verifier) &&
5862 VerifyOffset(verifier, VT_ENDPOINT) &&
5863 verifier.VerifyTable(endpoint()) &&
5864 verifier.EndTable();
5865 }
5866 RegisterEndpointT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5867 void UnPackTo(RegisterEndpointT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5868 static flatbuffers::Offset<RegisterEndpoint> Pack(flatbuffers::FlatBufferBuilder &_fbb, const RegisterEndpointT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5869 };
5870
5871 struct RegisterEndpointBuilder {
5872 typedef RegisterEndpoint Table;
5873 flatbuffers::FlatBufferBuilder &fbb_;
5874 flatbuffers::uoffset_t start_;
5875 void add_endpoint(flatbuffers::Offset<chre::fbs::EndpointInfo> endpoint) {
5876 fbb_.AddOffset(RegisterEndpoint::VT_ENDPOINT, endpoint);
5877 }
5878 explicit RegisterEndpointBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5879 : fbb_(_fbb) {
5880 start_ = fbb_.StartTable();
5881 }
5882 RegisterEndpointBuilder &operator=(const RegisterEndpointBuilder &);
5883 flatbuffers::Offset<RegisterEndpoint> Finish() {
5884 const auto end = fbb_.EndTable(start_);
5885 auto o = flatbuffers::Offset<RegisterEndpoint>(end);
5886 return o;
5887 }
5888 };
5889
5890 inline flatbuffers::Offset<RegisterEndpoint> CreateRegisterEndpoint(
5891 flatbuffers::FlatBufferBuilder &_fbb,
5892 flatbuffers::Offset<chre::fbs::EndpointInfo> endpoint = 0) {
5893 RegisterEndpointBuilder builder_(_fbb);
5894 builder_.add_endpoint(endpoint);
5895 return builder_.Finish();
5896 }
5897
5898 flatbuffers::Offset<RegisterEndpoint> CreateRegisterEndpoint(flatbuffers::FlatBufferBuilder &_fbb, const RegisterEndpointT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5899
5900 struct UnregisterEndpointT : public flatbuffers::NativeTable {
5901 typedef UnregisterEndpoint TableType;
5902 std::unique_ptr<chre::fbs::EndpointIdT> endpoint;
5903 UnregisterEndpointT() {
5904 }
5905 };
5906
5907 struct UnregisterEndpoint FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5908 typedef UnregisterEndpointT NativeTableType;
5909 typedef UnregisterEndpointBuilder Builder;
5910 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5911 VT_ENDPOINT = 4
5912 };
5913 const chre::fbs::EndpointId *endpoint() const {
5914 return GetPointer<const chre::fbs::EndpointId *>(VT_ENDPOINT);
5915 }
5916 chre::fbs::EndpointId *mutable_endpoint() {
5917 return GetPointer<chre::fbs::EndpointId *>(VT_ENDPOINT);
5918 }
5919 bool Verify(flatbuffers::Verifier &verifier) const {
5920 return VerifyTableStart(verifier) &&
5921 VerifyOffset(verifier, VT_ENDPOINT) &&
5922 verifier.VerifyTable(endpoint()) &&
5923 verifier.EndTable();
5924 }
5925 UnregisterEndpointT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5926 void UnPackTo(UnregisterEndpointT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5927 static flatbuffers::Offset<UnregisterEndpoint> Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnregisterEndpointT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5928 };
5929
5930 struct UnregisterEndpointBuilder {
5931 typedef UnregisterEndpoint Table;
5932 flatbuffers::FlatBufferBuilder &fbb_;
5933 flatbuffers::uoffset_t start_;
5934 void add_endpoint(flatbuffers::Offset<chre::fbs::EndpointId> endpoint) {
5935 fbb_.AddOffset(UnregisterEndpoint::VT_ENDPOINT, endpoint);
5936 }
5937 explicit UnregisterEndpointBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5938 : fbb_(_fbb) {
5939 start_ = fbb_.StartTable();
5940 }
5941 UnregisterEndpointBuilder &operator=(const UnregisterEndpointBuilder &);
5942 flatbuffers::Offset<UnregisterEndpoint> Finish() {
5943 const auto end = fbb_.EndTable(start_);
5944 auto o = flatbuffers::Offset<UnregisterEndpoint>(end);
5945 return o;
5946 }
5947 };
5948
5949 inline flatbuffers::Offset<UnregisterEndpoint> CreateUnregisterEndpoint(
5950 flatbuffers::FlatBufferBuilder &_fbb,
5951 flatbuffers::Offset<chre::fbs::EndpointId> endpoint = 0) {
5952 UnregisterEndpointBuilder builder_(_fbb);
5953 builder_.add_endpoint(endpoint);
5954 return builder_.Finish();
5955 }
5956
5957 flatbuffers::Offset<UnregisterEndpoint> CreateUnregisterEndpoint(flatbuffers::FlatBufferBuilder &_fbb, const UnregisterEndpointT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5958
5959 struct GetMessageHubsAndEndpointsRequestT : public flatbuffers::NativeTable {
5960 typedef GetMessageHubsAndEndpointsRequest TableType;
5961 GetMessageHubsAndEndpointsRequestT() {
5962 }
5963 };
5964
5965 /// HAL->CHRE, indicates the HAL is coming up
5966 struct GetMessageHubsAndEndpointsRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5967 typedef GetMessageHubsAndEndpointsRequestT NativeTableType;
5968 typedef GetMessageHubsAndEndpointsRequestBuilder Builder;
5969 bool Verify(flatbuffers::Verifier &verifier) const {
5970 return VerifyTableStart(verifier) &&
5971 verifier.EndTable();
5972 }
5973 GetMessageHubsAndEndpointsRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5974 void UnPackTo(GetMessageHubsAndEndpointsRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
5975 static flatbuffers::Offset<GetMessageHubsAndEndpointsRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const GetMessageHubsAndEndpointsRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
5976 };
5977
5978 struct GetMessageHubsAndEndpointsRequestBuilder {
5979 typedef GetMessageHubsAndEndpointsRequest Table;
5980 flatbuffers::FlatBufferBuilder &fbb_;
5981 flatbuffers::uoffset_t start_;
5982 explicit GetMessageHubsAndEndpointsRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5983 : fbb_(_fbb) {
5984 start_ = fbb_.StartTable();
5985 }
5986 GetMessageHubsAndEndpointsRequestBuilder &operator=(const GetMessageHubsAndEndpointsRequestBuilder &);
5987 flatbuffers::Offset<GetMessageHubsAndEndpointsRequest> Finish() {
5988 const auto end = fbb_.EndTable(start_);
5989 auto o = flatbuffers::Offset<GetMessageHubsAndEndpointsRequest>(end);
5990 return o;
5991 }
5992 };
5993
5994 inline flatbuffers::Offset<GetMessageHubsAndEndpointsRequest> CreateGetMessageHubsAndEndpointsRequest(
5995 flatbuffers::FlatBufferBuilder &_fbb) {
5996 GetMessageHubsAndEndpointsRequestBuilder builder_(_fbb);
5997 return builder_.Finish();
5998 }
5999
6000 flatbuffers::Offset<GetMessageHubsAndEndpointsRequest> CreateGetMessageHubsAndEndpointsRequest(flatbuffers::FlatBufferBuilder &_fbb, const GetMessageHubsAndEndpointsRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6001
6002 struct GetMessageHubsAndEndpointsResponseT : public flatbuffers::NativeTable {
6003 typedef GetMessageHubsAndEndpointsResponse TableType;
6004 std::vector<std::unique_ptr<chre::fbs::MessageHubT>> hubs;
6005 std::vector<std::unique_ptr<chre::fbs::EndpointInfoT>> endpoints;
6006 GetMessageHubsAndEndpointsResponseT() {
6007 }
6008 };
6009
6010 struct GetMessageHubsAndEndpointsResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6011 typedef GetMessageHubsAndEndpointsResponseT NativeTableType;
6012 typedef GetMessageHubsAndEndpointsResponseBuilder Builder;
6013 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6014 VT_HUBS = 4,
6015 VT_ENDPOINTS = 6
6016 };
6017 const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MessageHub>> *hubs() const {
6018 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MessageHub>> *>(VT_HUBS);
6019 }
6020 flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MessageHub>> *mutable_hubs() {
6021 return GetPointer<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MessageHub>> *>(VT_HUBS);
6022 }
6023 const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::EndpointInfo>> *endpoints() const {
6024 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<chre::fbs::EndpointInfo>> *>(VT_ENDPOINTS);
6025 }
6026 flatbuffers::Vector<flatbuffers::Offset<chre::fbs::EndpointInfo>> *mutable_endpoints() {
6027 return GetPointer<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::EndpointInfo>> *>(VT_ENDPOINTS);
6028 }
6029 bool Verify(flatbuffers::Verifier &verifier) const {
6030 return VerifyTableStart(verifier) &&
6031 VerifyOffset(verifier, VT_HUBS) &&
6032 verifier.VerifyVector(hubs()) &&
6033 verifier.VerifyVectorOfTables(hubs()) &&
6034 VerifyOffset(verifier, VT_ENDPOINTS) &&
6035 verifier.VerifyVector(endpoints()) &&
6036 verifier.VerifyVectorOfTables(endpoints()) &&
6037 verifier.EndTable();
6038 }
6039 GetMessageHubsAndEndpointsResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6040 void UnPackTo(GetMessageHubsAndEndpointsResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6041 static flatbuffers::Offset<GetMessageHubsAndEndpointsResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const GetMessageHubsAndEndpointsResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6042 };
6043
6044 struct GetMessageHubsAndEndpointsResponseBuilder {
6045 typedef GetMessageHubsAndEndpointsResponse Table;
6046 flatbuffers::FlatBufferBuilder &fbb_;
6047 flatbuffers::uoffset_t start_;
6048 void add_hubs(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MessageHub>>> hubs) {
6049 fbb_.AddOffset(GetMessageHubsAndEndpointsResponse::VT_HUBS, hubs);
6050 }
6051 void add_endpoints(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::EndpointInfo>>> endpoints) {
6052 fbb_.AddOffset(GetMessageHubsAndEndpointsResponse::VT_ENDPOINTS, endpoints);
6053 }
6054 explicit GetMessageHubsAndEndpointsResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6055 : fbb_(_fbb) {
6056 start_ = fbb_.StartTable();
6057 }
6058 GetMessageHubsAndEndpointsResponseBuilder &operator=(const GetMessageHubsAndEndpointsResponseBuilder &);
6059 flatbuffers::Offset<GetMessageHubsAndEndpointsResponse> Finish() {
6060 const auto end = fbb_.EndTable(start_);
6061 auto o = flatbuffers::Offset<GetMessageHubsAndEndpointsResponse>(end);
6062 return o;
6063 }
6064 };
6065
6066 inline flatbuffers::Offset<GetMessageHubsAndEndpointsResponse> CreateGetMessageHubsAndEndpointsResponse(
6067 flatbuffers::FlatBufferBuilder &_fbb,
6068 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::MessageHub>>> hubs = 0,
6069 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<chre::fbs::EndpointInfo>>> endpoints = 0) {
6070 GetMessageHubsAndEndpointsResponseBuilder builder_(_fbb);
6071 builder_.add_endpoints(endpoints);
6072 builder_.add_hubs(hubs);
6073 return builder_.Finish();
6074 }
6075
6076 inline flatbuffers::Offset<GetMessageHubsAndEndpointsResponse> CreateGetMessageHubsAndEndpointsResponseDirect(
6077 flatbuffers::FlatBufferBuilder &_fbb,
6078 const std::vector<flatbuffers::Offset<chre::fbs::MessageHub>> *hubs = nullptr,
6079 const std::vector<flatbuffers::Offset<chre::fbs::EndpointInfo>> *endpoints = nullptr) {
6080 auto hubs__ = hubs ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::MessageHub>>(*hubs) : 0;
6081 auto endpoints__ = endpoints ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::EndpointInfo>>(*endpoints) : 0;
6082 return chre::fbs::CreateGetMessageHubsAndEndpointsResponse(
6083 _fbb,
6084 hubs__,
6085 endpoints__);
6086 }
6087
6088 flatbuffers::Offset<GetMessageHubsAndEndpointsResponse> CreateGetMessageHubsAndEndpointsResponse(flatbuffers::FlatBufferBuilder &_fbb, const GetMessageHubsAndEndpointsResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6089
6090 struct OpenEndpointSessionRequestT : public flatbuffers::NativeTable {
6091 typedef OpenEndpointSessionRequest TableType;
6092 uint16_t id;
6093 std::unique_ptr<chre::fbs::EndpointIdT> fromEndpoint;
6094 std::unique_ptr<chre::fbs::EndpointIdT> toEndpoint;
6095 std::vector<int8_t> serviceDescriptor;
6096 OpenEndpointSessionRequestT()
6097 : id(0) {
6098 }
6099 };
6100
6101 struct OpenEndpointSessionRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6102 typedef OpenEndpointSessionRequestT NativeTableType;
6103 typedef OpenEndpointSessionRequestBuilder Builder;
6104 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6105 VT_ID = 4,
6106 VT_FROMENDPOINT = 6,
6107 VT_TOENDPOINT = 8,
6108 VT_SERVICEDESCRIPTOR = 10
6109 };
6110 uint16_t id() const {
6111 return GetField<uint16_t>(VT_ID, 0);
6112 }
6113 bool mutate_id(uint16_t _id) {
6114 return SetField<uint16_t>(VT_ID, _id, 0);
6115 }
6116 const chre::fbs::EndpointId *fromEndpoint() const {
6117 return GetPointer<const chre::fbs::EndpointId *>(VT_FROMENDPOINT);
6118 }
6119 chre::fbs::EndpointId *mutable_fromEndpoint() {
6120 return GetPointer<chre::fbs::EndpointId *>(VT_FROMENDPOINT);
6121 }
6122 const chre::fbs::EndpointId *toEndpoint() const {
6123 return GetPointer<const chre::fbs::EndpointId *>(VT_TOENDPOINT);
6124 }
6125 chre::fbs::EndpointId *mutable_toEndpoint() {
6126 return GetPointer<chre::fbs::EndpointId *>(VT_TOENDPOINT);
6127 }
6128 /// If present, describes the service definition used over the session
6129 const flatbuffers::Vector<int8_t> *serviceDescriptor() const {
6130 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_SERVICEDESCRIPTOR);
6131 }
6132 flatbuffers::Vector<int8_t> *mutable_serviceDescriptor() {
6133 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_SERVICEDESCRIPTOR);
6134 }
6135 bool Verify(flatbuffers::Verifier &verifier) const {
6136 return VerifyTableStart(verifier) &&
6137 VerifyField<uint16_t>(verifier, VT_ID) &&
6138 VerifyOffset(verifier, VT_FROMENDPOINT) &&
6139 verifier.VerifyTable(fromEndpoint()) &&
6140 VerifyOffset(verifier, VT_TOENDPOINT) &&
6141 verifier.VerifyTable(toEndpoint()) &&
6142 VerifyOffset(verifier, VT_SERVICEDESCRIPTOR) &&
6143 verifier.VerifyVector(serviceDescriptor()) &&
6144 verifier.EndTable();
6145 }
6146 OpenEndpointSessionRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6147 void UnPackTo(OpenEndpointSessionRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6148 static flatbuffers::Offset<OpenEndpointSessionRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const OpenEndpointSessionRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6149 };
6150
6151 struct OpenEndpointSessionRequestBuilder {
6152 typedef OpenEndpointSessionRequest Table;
6153 flatbuffers::FlatBufferBuilder &fbb_;
6154 flatbuffers::uoffset_t start_;
6155 void add_id(uint16_t id) {
6156 fbb_.AddElement<uint16_t>(OpenEndpointSessionRequest::VT_ID, id, 0);
6157 }
6158 void add_fromEndpoint(flatbuffers::Offset<chre::fbs::EndpointId> fromEndpoint) {
6159 fbb_.AddOffset(OpenEndpointSessionRequest::VT_FROMENDPOINT, fromEndpoint);
6160 }
6161 void add_toEndpoint(flatbuffers::Offset<chre::fbs::EndpointId> toEndpoint) {
6162 fbb_.AddOffset(OpenEndpointSessionRequest::VT_TOENDPOINT, toEndpoint);
6163 }
6164 void add_serviceDescriptor(flatbuffers::Offset<flatbuffers::Vector<int8_t>> serviceDescriptor) {
6165 fbb_.AddOffset(OpenEndpointSessionRequest::VT_SERVICEDESCRIPTOR, serviceDescriptor);
6166 }
6167 explicit OpenEndpointSessionRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6168 : fbb_(_fbb) {
6169 start_ = fbb_.StartTable();
6170 }
6171 OpenEndpointSessionRequestBuilder &operator=(const OpenEndpointSessionRequestBuilder &);
6172 flatbuffers::Offset<OpenEndpointSessionRequest> Finish() {
6173 const auto end = fbb_.EndTable(start_);
6174 auto o = flatbuffers::Offset<OpenEndpointSessionRequest>(end);
6175 return o;
6176 }
6177 };
6178
6179 inline flatbuffers::Offset<OpenEndpointSessionRequest> CreateOpenEndpointSessionRequest(
6180 flatbuffers::FlatBufferBuilder &_fbb,
6181 uint16_t id = 0,
6182 flatbuffers::Offset<chre::fbs::EndpointId> fromEndpoint = 0,
6183 flatbuffers::Offset<chre::fbs::EndpointId> toEndpoint = 0,
6184 flatbuffers::Offset<flatbuffers::Vector<int8_t>> serviceDescriptor = 0) {
6185 OpenEndpointSessionRequestBuilder builder_(_fbb);
6186 builder_.add_serviceDescriptor(serviceDescriptor);
6187 builder_.add_toEndpoint(toEndpoint);
6188 builder_.add_fromEndpoint(fromEndpoint);
6189 builder_.add_id(id);
6190 return builder_.Finish();
6191 }
6192
6193 inline flatbuffers::Offset<OpenEndpointSessionRequest> CreateOpenEndpointSessionRequestDirect(
6194 flatbuffers::FlatBufferBuilder &_fbb,
6195 uint16_t id = 0,
6196 flatbuffers::Offset<chre::fbs::EndpointId> fromEndpoint = 0,
6197 flatbuffers::Offset<chre::fbs::EndpointId> toEndpoint = 0,
6198 const std::vector<int8_t> *serviceDescriptor = nullptr) {
6199 auto serviceDescriptor__ = serviceDescriptor ? _fbb.CreateVector<int8_t>(*serviceDescriptor) : 0;
6200 return chre::fbs::CreateOpenEndpointSessionRequest(
6201 _fbb,
6202 id,
6203 fromEndpoint,
6204 toEndpoint,
6205 serviceDescriptor__);
6206 }
6207
6208 flatbuffers::Offset<OpenEndpointSessionRequest> CreateOpenEndpointSessionRequest(flatbuffers::FlatBufferBuilder &_fbb, const OpenEndpointSessionRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6209
6210 struct EndpointSessionOpenedT : public flatbuffers::NativeTable {
6211 typedef EndpointSessionOpened TableType;
6212 uint16_t id;
6213 EndpointSessionOpenedT()
6214 : id(0) {
6215 }
6216 };
6217
6218 struct EndpointSessionOpened FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6219 typedef EndpointSessionOpenedT NativeTableType;
6220 typedef EndpointSessionOpenedBuilder Builder;
6221 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6222 VT_ID = 4
6223 };
6224 uint16_t id() const {
6225 return GetField<uint16_t>(VT_ID, 0);
6226 }
6227 bool mutate_id(uint16_t _id) {
6228 return SetField<uint16_t>(VT_ID, _id, 0);
6229 }
6230 bool Verify(flatbuffers::Verifier &verifier) const {
6231 return VerifyTableStart(verifier) &&
6232 VerifyField<uint16_t>(verifier, VT_ID) &&
6233 verifier.EndTable();
6234 }
6235 EndpointSessionOpenedT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6236 void UnPackTo(EndpointSessionOpenedT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6237 static flatbuffers::Offset<EndpointSessionOpened> Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionOpenedT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6238 };
6239
6240 struct EndpointSessionOpenedBuilder {
6241 typedef EndpointSessionOpened Table;
6242 flatbuffers::FlatBufferBuilder &fbb_;
6243 flatbuffers::uoffset_t start_;
6244 void add_id(uint16_t id) {
6245 fbb_.AddElement<uint16_t>(EndpointSessionOpened::VT_ID, id, 0);
6246 }
6247 explicit EndpointSessionOpenedBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6248 : fbb_(_fbb) {
6249 start_ = fbb_.StartTable();
6250 }
6251 EndpointSessionOpenedBuilder &operator=(const EndpointSessionOpenedBuilder &);
6252 flatbuffers::Offset<EndpointSessionOpened> Finish() {
6253 const auto end = fbb_.EndTable(start_);
6254 auto o = flatbuffers::Offset<EndpointSessionOpened>(end);
6255 return o;
6256 }
6257 };
6258
6259 inline flatbuffers::Offset<EndpointSessionOpened> CreateEndpointSessionOpened(
6260 flatbuffers::FlatBufferBuilder &_fbb,
6261 uint16_t id = 0) {
6262 EndpointSessionOpenedBuilder builder_(_fbb);
6263 builder_.add_id(id);
6264 return builder_.Finish();
6265 }
6266
6267 flatbuffers::Offset<EndpointSessionOpened> CreateEndpointSessionOpened(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionOpenedT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6268
6269 struct EndpointSessionClosedT : public flatbuffers::NativeTable {
6270 typedef EndpointSessionClosed TableType;
6271 uint16_t id;
6272 chre::fbs::Reason reason;
6273 EndpointSessionClosedT()
6274 : id(0),
6275 reason(chre::fbs::Reason::UNSPECIFIED) {
6276 }
6277 };
6278
6279 struct EndpointSessionClosed FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6280 typedef EndpointSessionClosedT NativeTableType;
6281 typedef EndpointSessionClosedBuilder Builder;
6282 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6283 VT_ID = 4,
6284 VT_REASON = 6
6285 };
6286 uint16_t id() const {
6287 return GetField<uint16_t>(VT_ID, 0);
6288 }
6289 bool mutate_id(uint16_t _id) {
6290 return SetField<uint16_t>(VT_ID, _id, 0);
6291 }
6292 chre::fbs::Reason reason() const {
6293 return static_cast<chre::fbs::Reason>(GetField<uint8_t>(VT_REASON, 0));
6294 }
6295 bool mutate_reason(chre::fbs::Reason _reason) {
6296 return SetField<uint8_t>(VT_REASON, static_cast<uint8_t>(_reason), 0);
6297 }
6298 bool Verify(flatbuffers::Verifier &verifier) const {
6299 return VerifyTableStart(verifier) &&
6300 VerifyField<uint16_t>(verifier, VT_ID) &&
6301 VerifyField<uint8_t>(verifier, VT_REASON) &&
6302 verifier.EndTable();
6303 }
6304 EndpointSessionClosedT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6305 void UnPackTo(EndpointSessionClosedT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6306 static flatbuffers::Offset<EndpointSessionClosed> Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionClosedT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6307 };
6308
6309 struct EndpointSessionClosedBuilder {
6310 typedef EndpointSessionClosed Table;
6311 flatbuffers::FlatBufferBuilder &fbb_;
6312 flatbuffers::uoffset_t start_;
6313 void add_id(uint16_t id) {
6314 fbb_.AddElement<uint16_t>(EndpointSessionClosed::VT_ID, id, 0);
6315 }
6316 void add_reason(chre::fbs::Reason reason) {
6317 fbb_.AddElement<uint8_t>(EndpointSessionClosed::VT_REASON, static_cast<uint8_t>(reason), 0);
6318 }
6319 explicit EndpointSessionClosedBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6320 : fbb_(_fbb) {
6321 start_ = fbb_.StartTable();
6322 }
6323 EndpointSessionClosedBuilder &operator=(const EndpointSessionClosedBuilder &);
6324 flatbuffers::Offset<EndpointSessionClosed> Finish() {
6325 const auto end = fbb_.EndTable(start_);
6326 auto o = flatbuffers::Offset<EndpointSessionClosed>(end);
6327 return o;
6328 }
6329 };
6330
6331 inline flatbuffers::Offset<EndpointSessionClosed> CreateEndpointSessionClosed(
6332 flatbuffers::FlatBufferBuilder &_fbb,
6333 uint16_t id = 0,
6334 chre::fbs::Reason reason = chre::fbs::Reason::UNSPECIFIED) {
6335 EndpointSessionClosedBuilder builder_(_fbb);
6336 builder_.add_id(id);
6337 builder_.add_reason(reason);
6338 return builder_.Finish();
6339 }
6340
6341 flatbuffers::Offset<EndpointSessionClosed> CreateEndpointSessionClosed(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionClosedT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6342
6343 struct EndpointSessionMessageT : public flatbuffers::NativeTable {
6344 typedef EndpointSessionMessage TableType;
6345 uint16_t session_id;
6346 uint32_t type;
6347 uint32_t permissions;
6348 std::vector<uint8_t> data;
6349 uint32_t flags;
6350 uint32_t sequence_number;
6351 EndpointSessionMessageT()
6352 : session_id(0),
6353 type(0),
6354 permissions(0),
6355 flags(0),
6356 sequence_number(0) {
6357 }
6358 };
6359
6360 struct EndpointSessionMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6361 typedef EndpointSessionMessageT NativeTableType;
6362 typedef EndpointSessionMessageBuilder Builder;
6363 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6364 VT_SESSION_ID = 4,
6365 VT_TYPE = 6,
6366 VT_PERMISSIONS = 8,
6367 VT_DATA = 10,
6368 VT_FLAGS = 12,
6369 VT_SEQUENCE_NUMBER = 14
6370 };
6371 /// Id of session this message is being sent within
6372 uint16_t session_id() const {
6373 return GetField<uint16_t>(VT_SESSION_ID, 0);
6374 }
6375 bool mutate_session_id(uint16_t _session_id) {
6376 return SetField<uint16_t>(VT_SESSION_ID, _session_id, 0);
6377 }
6378 /// Type of the message, specific to the Session protocol
6379 uint32_t type() const {
6380 return GetField<uint32_t>(VT_TYPE, 0);
6381 }
6382 bool mutate_type(uint32_t _type) {
6383 return SetField<uint32_t>(VT_TYPE, _type, 0);
6384 }
6385 /// Values from CHRE_MESSAGE_PERMISSION_*. Permissions required to read the
6386 /// message.
6387 uint32_t permissions() const {
6388 return GetField<uint32_t>(VT_PERMISSIONS, 0);
6389 }
6390 bool mutate_permissions(uint32_t _permissions) {
6391 return SetField<uint32_t>(VT_PERMISSIONS, _permissions, 0);
6392 }
6393 const flatbuffers::Vector<uint8_t> *data() const {
6394 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_DATA);
6395 }
6396 flatbuffers::Vector<uint8_t> *mutable_data() {
6397 return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_DATA);
6398 }
6399 /// Bitmask of additional flags applied to the message:
6400 /// - 0x1: Message delivery status required within 1s
6401 uint32_t flags() const {
6402 return GetField<uint32_t>(VT_FLAGS, 0);
6403 }
6404 bool mutate_flags(uint32_t _flags) {
6405 return SetField<uint32_t>(VT_FLAGS, _flags, 0);
6406 }
6407 uint32_t sequence_number() const {
6408 return GetField<uint32_t>(VT_SEQUENCE_NUMBER, 0);
6409 }
6410 bool mutate_sequence_number(uint32_t _sequence_number) {
6411 return SetField<uint32_t>(VT_SEQUENCE_NUMBER, _sequence_number, 0);
6412 }
6413 bool Verify(flatbuffers::Verifier &verifier) const {
6414 return VerifyTableStart(verifier) &&
6415 VerifyField<uint16_t>(verifier, VT_SESSION_ID) &&
6416 VerifyField<uint32_t>(verifier, VT_TYPE) &&
6417 VerifyField<uint32_t>(verifier, VT_PERMISSIONS) &&
6418 VerifyOffset(verifier, VT_DATA) &&
6419 verifier.VerifyVector(data()) &&
6420 VerifyField<uint32_t>(verifier, VT_FLAGS) &&
6421 VerifyField<uint32_t>(verifier, VT_SEQUENCE_NUMBER) &&
6422 verifier.EndTable();
6423 }
6424 EndpointSessionMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6425 void UnPackTo(EndpointSessionMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6426 static flatbuffers::Offset<EndpointSessionMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6427 };
6428
6429 struct EndpointSessionMessageBuilder {
6430 typedef EndpointSessionMessage Table;
6431 flatbuffers::FlatBufferBuilder &fbb_;
6432 flatbuffers::uoffset_t start_;
6433 void add_session_id(uint16_t session_id) {
6434 fbb_.AddElement<uint16_t>(EndpointSessionMessage::VT_SESSION_ID, session_id, 0);
6435 }
6436 void add_type(uint32_t type) {
6437 fbb_.AddElement<uint32_t>(EndpointSessionMessage::VT_TYPE, type, 0);
6438 }
6439 void add_permissions(uint32_t permissions) {
6440 fbb_.AddElement<uint32_t>(EndpointSessionMessage::VT_PERMISSIONS, permissions, 0);
6441 }
6442 void add_data(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> data) {
6443 fbb_.AddOffset(EndpointSessionMessage::VT_DATA, data);
6444 }
6445 void add_flags(uint32_t flags) {
6446 fbb_.AddElement<uint32_t>(EndpointSessionMessage::VT_FLAGS, flags, 0);
6447 }
6448 void add_sequence_number(uint32_t sequence_number) {
6449 fbb_.AddElement<uint32_t>(EndpointSessionMessage::VT_SEQUENCE_NUMBER, sequence_number, 0);
6450 }
6451 explicit EndpointSessionMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6452 : fbb_(_fbb) {
6453 start_ = fbb_.StartTable();
6454 }
6455 EndpointSessionMessageBuilder &operator=(const EndpointSessionMessageBuilder &);
6456 flatbuffers::Offset<EndpointSessionMessage> Finish() {
6457 const auto end = fbb_.EndTable(start_);
6458 auto o = flatbuffers::Offset<EndpointSessionMessage>(end);
6459 return o;
6460 }
6461 };
6462
6463 inline flatbuffers::Offset<EndpointSessionMessage> CreateEndpointSessionMessage(
6464 flatbuffers::FlatBufferBuilder &_fbb,
6465 uint16_t session_id = 0,
6466 uint32_t type = 0,
6467 uint32_t permissions = 0,
6468 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> data = 0,
6469 uint32_t flags = 0,
6470 uint32_t sequence_number = 0) {
6471 EndpointSessionMessageBuilder builder_(_fbb);
6472 builder_.add_sequence_number(sequence_number);
6473 builder_.add_flags(flags);
6474 builder_.add_data(data);
6475 builder_.add_permissions(permissions);
6476 builder_.add_type(type);
6477 builder_.add_session_id(session_id);
6478 return builder_.Finish();
6479 }
6480
6481 inline flatbuffers::Offset<EndpointSessionMessage> CreateEndpointSessionMessageDirect(
6482 flatbuffers::FlatBufferBuilder &_fbb,
6483 uint16_t session_id = 0,
6484 uint32_t type = 0,
6485 uint32_t permissions = 0,
6486 const std::vector<uint8_t> *data = nullptr,
6487 uint32_t flags = 0,
6488 uint32_t sequence_number = 0) {
6489 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
6490 return chre::fbs::CreateEndpointSessionMessage(
6491 _fbb,
6492 session_id,
6493 type,
6494 permissions,
6495 data__,
6496 flags,
6497 sequence_number);
6498 }
6499
6500 flatbuffers::Offset<EndpointSessionMessage> CreateEndpointSessionMessage(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6501
6502 struct EndpointSessionMessageDeliveryStatusT : public flatbuffers::NativeTable {
6503 typedef EndpointSessionMessageDeliveryStatus TableType;
6504 uint16_t session_id;
6505 std::unique_ptr<chre::fbs::MessageDeliveryStatusT> status;
6506 EndpointSessionMessageDeliveryStatusT()
6507 : session_id(0) {
6508 }
6509 };
6510
6511 struct EndpointSessionMessageDeliveryStatus FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6512 typedef EndpointSessionMessageDeliveryStatusT NativeTableType;
6513 typedef EndpointSessionMessageDeliveryStatusBuilder Builder;
6514 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6515 VT_SESSION_ID = 4,
6516 VT_STATUS = 6
6517 };
6518 /// Id of session the message was sent within
6519 uint16_t session_id() const {
6520 return GetField<uint16_t>(VT_SESSION_ID, 0);
6521 }
6522 bool mutate_session_id(uint16_t _session_id) {
6523 return SetField<uint16_t>(VT_SESSION_ID, _session_id, 0);
6524 }
6525 const chre::fbs::MessageDeliveryStatus *status() const {
6526 return GetPointer<const chre::fbs::MessageDeliveryStatus *>(VT_STATUS);
6527 }
6528 chre::fbs::MessageDeliveryStatus *mutable_status() {
6529 return GetPointer<chre::fbs::MessageDeliveryStatus *>(VT_STATUS);
6530 }
6531 bool Verify(flatbuffers::Verifier &verifier) const {
6532 return VerifyTableStart(verifier) &&
6533 VerifyField<uint16_t>(verifier, VT_SESSION_ID) &&
6534 VerifyOffset(verifier, VT_STATUS) &&
6535 verifier.VerifyTable(status()) &&
6536 verifier.EndTable();
6537 }
6538 EndpointSessionMessageDeliveryStatusT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6539 void UnPackTo(EndpointSessionMessageDeliveryStatusT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6540 static flatbuffers::Offset<EndpointSessionMessageDeliveryStatus> Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionMessageDeliveryStatusT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6541 };
6542
6543 struct EndpointSessionMessageDeliveryStatusBuilder {
6544 typedef EndpointSessionMessageDeliveryStatus Table;
6545 flatbuffers::FlatBufferBuilder &fbb_;
6546 flatbuffers::uoffset_t start_;
6547 void add_session_id(uint16_t session_id) {
6548 fbb_.AddElement<uint16_t>(EndpointSessionMessageDeliveryStatus::VT_SESSION_ID, session_id, 0);
6549 }
6550 void add_status(flatbuffers::Offset<chre::fbs::MessageDeliveryStatus> status) {
6551 fbb_.AddOffset(EndpointSessionMessageDeliveryStatus::VT_STATUS, status);
6552 }
6553 explicit EndpointSessionMessageDeliveryStatusBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6554 : fbb_(_fbb) {
6555 start_ = fbb_.StartTable();
6556 }
6557 EndpointSessionMessageDeliveryStatusBuilder &operator=(const EndpointSessionMessageDeliveryStatusBuilder &);
6558 flatbuffers::Offset<EndpointSessionMessageDeliveryStatus> Finish() {
6559 const auto end = fbb_.EndTable(start_);
6560 auto o = flatbuffers::Offset<EndpointSessionMessageDeliveryStatus>(end);
6561 return o;
6562 }
6563 };
6564
6565 inline flatbuffers::Offset<EndpointSessionMessageDeliveryStatus> CreateEndpointSessionMessageDeliveryStatus(
6566 flatbuffers::FlatBufferBuilder &_fbb,
6567 uint16_t session_id = 0,
6568 flatbuffers::Offset<chre::fbs::MessageDeliveryStatus> status = 0) {
6569 EndpointSessionMessageDeliveryStatusBuilder builder_(_fbb);
6570 builder_.add_status(status);
6571 builder_.add_session_id(session_id);
6572 return builder_.Finish();
6573 }
6574
6575 flatbuffers::Offset<EndpointSessionMessageDeliveryStatus> CreateEndpointSessionMessageDeliveryStatus(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionMessageDeliveryStatusT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6576
6577 struct MessageContainerT : public flatbuffers::NativeTable {
6578 typedef MessageContainer TableType;
6579 chre::fbs::ChreMessageUnion message;
6580 std::unique_ptr<chre::fbs::HostAddress> host_addr;
6581 MessageContainerT() {
6582 }
6583 };
6584
6585 /// The top-level container that encapsulates all possible messages. Note that
6586 /// per FlatBuffers requirements, we can't use a union as the top-level
6587 /// structure (root type), so we must wrap it in a table.
6588 struct MessageContainer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6589 typedef MessageContainerT NativeTableType;
6590 typedef MessageContainerBuilder Builder;
6591 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6592 VT_MESSAGE_TYPE = 4,
6593 VT_MESSAGE = 6,
6594 VT_HOST_ADDR = 8
6595 };
6596 chre::fbs::ChreMessage message_type() const {
6597 return static_cast<chre::fbs::ChreMessage>(GetField<uint8_t>(VT_MESSAGE_TYPE, 0));
6598 }
6599 const void *message() const {
6600 return GetPointer<const void *>(VT_MESSAGE);
6601 }
6602 template<typename T> const T *message_as() const;
6603 const chre::fbs::NanoappMessage *message_as_NanoappMessage() const {
6604 return message_type() == chre::fbs::ChreMessage::NanoappMessage ? static_cast<const chre::fbs::NanoappMessage *>(message()) : nullptr;
6605 }
6606 const chre::fbs::HubInfoRequest *message_as_HubInfoRequest() const {
6607 return message_type() == chre::fbs::ChreMessage::HubInfoRequest ? static_cast<const chre::fbs::HubInfoRequest *>(message()) : nullptr;
6608 }
6609 const chre::fbs::HubInfoResponse *message_as_HubInfoResponse() const {
6610 return message_type() == chre::fbs::ChreMessage::HubInfoResponse ? static_cast<const chre::fbs::HubInfoResponse *>(message()) : nullptr;
6611 }
6612 const chre::fbs::NanoappListRequest *message_as_NanoappListRequest() const {
6613 return message_type() == chre::fbs::ChreMessage::NanoappListRequest ? static_cast<const chre::fbs::NanoappListRequest *>(message()) : nullptr;
6614 }
6615 const chre::fbs::NanoappListResponse *message_as_NanoappListResponse() const {
6616 return message_type() == chre::fbs::ChreMessage::NanoappListResponse ? static_cast<const chre::fbs::NanoappListResponse *>(message()) : nullptr;
6617 }
6618 const chre::fbs::LoadNanoappRequest *message_as_LoadNanoappRequest() const {
6619 return message_type() == chre::fbs::ChreMessage::LoadNanoappRequest ? static_cast<const chre::fbs::LoadNanoappRequest *>(message()) : nullptr;
6620 }
6621 const chre::fbs::LoadNanoappResponse *message_as_LoadNanoappResponse() const {
6622 return message_type() == chre::fbs::ChreMessage::LoadNanoappResponse ? static_cast<const chre::fbs::LoadNanoappResponse *>(message()) : nullptr;
6623 }
6624 const chre::fbs::UnloadNanoappRequest *message_as_UnloadNanoappRequest() const {
6625 return message_type() == chre::fbs::ChreMessage::UnloadNanoappRequest ? static_cast<const chre::fbs::UnloadNanoappRequest *>(message()) : nullptr;
6626 }
6627 const chre::fbs::UnloadNanoappResponse *message_as_UnloadNanoappResponse() const {
6628 return message_type() == chre::fbs::ChreMessage::UnloadNanoappResponse ? static_cast<const chre::fbs::UnloadNanoappResponse *>(message()) : nullptr;
6629 }
6630 const chre::fbs::LogMessage *message_as_LogMessage() const {
6631 return message_type() == chre::fbs::ChreMessage::LogMessage ? static_cast<const chre::fbs::LogMessage *>(message()) : nullptr;
6632 }
6633 const chre::fbs::TimeSyncMessage *message_as_TimeSyncMessage() const {
6634 return message_type() == chre::fbs::ChreMessage::TimeSyncMessage ? static_cast<const chre::fbs::TimeSyncMessage *>(message()) : nullptr;
6635 }
6636 const chre::fbs::DebugDumpRequest *message_as_DebugDumpRequest() const {
6637 return message_type() == chre::fbs::ChreMessage::DebugDumpRequest ? static_cast<const chre::fbs::DebugDumpRequest *>(message()) : nullptr;
6638 }
6639 const chre::fbs::DebugDumpData *message_as_DebugDumpData() const {
6640 return message_type() == chre::fbs::ChreMessage::DebugDumpData ? static_cast<const chre::fbs::DebugDumpData *>(message()) : nullptr;
6641 }
6642 const chre::fbs::DebugDumpResponse *message_as_DebugDumpResponse() const {
6643 return message_type() == chre::fbs::ChreMessage::DebugDumpResponse ? static_cast<const chre::fbs::DebugDumpResponse *>(message()) : nullptr;
6644 }
6645 const chre::fbs::TimeSyncRequest *message_as_TimeSyncRequest() const {
6646 return message_type() == chre::fbs::ChreMessage::TimeSyncRequest ? static_cast<const chre::fbs::TimeSyncRequest *>(message()) : nullptr;
6647 }
6648 const chre::fbs::LowPowerMicAccessRequest *message_as_LowPowerMicAccessRequest() const {
6649 return message_type() == chre::fbs::ChreMessage::LowPowerMicAccessRequest ? static_cast<const chre::fbs::LowPowerMicAccessRequest *>(message()) : nullptr;
6650 }
6651 const chre::fbs::LowPowerMicAccessRelease *message_as_LowPowerMicAccessRelease() const {
6652 return message_type() == chre::fbs::ChreMessage::LowPowerMicAccessRelease ? static_cast<const chre::fbs::LowPowerMicAccessRelease *>(message()) : nullptr;
6653 }
6654 const chre::fbs::SettingChangeMessage *message_as_SettingChangeMessage() const {
6655 return message_type() == chre::fbs::ChreMessage::SettingChangeMessage ? static_cast<const chre::fbs::SettingChangeMessage *>(message()) : nullptr;
6656 }
6657 const chre::fbs::LogMessageV2 *message_as_LogMessageV2() const {
6658 return message_type() == chre::fbs::ChreMessage::LogMessageV2 ? static_cast<const chre::fbs::LogMessageV2 *>(message()) : nullptr;
6659 }
6660 const chre::fbs::SelfTestRequest *message_as_SelfTestRequest() const {
6661 return message_type() == chre::fbs::ChreMessage::SelfTestRequest ? static_cast<const chre::fbs::SelfTestRequest *>(message()) : nullptr;
6662 }
6663 const chre::fbs::SelfTestResponse *message_as_SelfTestResponse() const {
6664 return message_type() == chre::fbs::ChreMessage::SelfTestResponse ? static_cast<const chre::fbs::SelfTestResponse *>(message()) : nullptr;
6665 }
6666 const chre::fbs::HostEndpointConnected *message_as_HostEndpointConnected() const {
6667 return message_type() == chre::fbs::ChreMessage::HostEndpointConnected ? static_cast<const chre::fbs::HostEndpointConnected *>(message()) : nullptr;
6668 }
6669 const chre::fbs::HostEndpointDisconnected *message_as_HostEndpointDisconnected() const {
6670 return message_type() == chre::fbs::ChreMessage::HostEndpointDisconnected ? static_cast<const chre::fbs::HostEndpointDisconnected *>(message()) : nullptr;
6671 }
6672 const chre::fbs::MetricLog *message_as_MetricLog() const {
6673 return message_type() == chre::fbs::ChreMessage::MetricLog ? static_cast<const chre::fbs::MetricLog *>(message()) : nullptr;
6674 }
6675 const chre::fbs::BatchedMetricLog *message_as_BatchedMetricLog() const {
6676 return message_type() == chre::fbs::ChreMessage::BatchedMetricLog ? static_cast<const chre::fbs::BatchedMetricLog *>(message()) : nullptr;
6677 }
6678 const chre::fbs::NanConfigurationRequest *message_as_NanConfigurationRequest() const {
6679 return message_type() == chre::fbs::ChreMessage::NanConfigurationRequest ? static_cast<const chre::fbs::NanConfigurationRequest *>(message()) : nullptr;
6680 }
6681 const chre::fbs::NanConfigurationUpdate *message_as_NanConfigurationUpdate() const {
6682 return message_type() == chre::fbs::ChreMessage::NanConfigurationUpdate ? static_cast<const chre::fbs::NanConfigurationUpdate *>(message()) : nullptr;
6683 }
6684 const chre::fbs::DebugConfiguration *message_as_DebugConfiguration() const {
6685 return message_type() == chre::fbs::ChreMessage::DebugConfiguration ? static_cast<const chre::fbs::DebugConfiguration *>(message()) : nullptr;
6686 }
6687 const chre::fbs::PulseRequest *message_as_PulseRequest() const {
6688 return message_type() == chre::fbs::ChreMessage::PulseRequest ? static_cast<const chre::fbs::PulseRequest *>(message()) : nullptr;
6689 }
6690 const chre::fbs::PulseResponse *message_as_PulseResponse() const {
6691 return message_type() == chre::fbs::ChreMessage::PulseResponse ? static_cast<const chre::fbs::PulseResponse *>(message()) : nullptr;
6692 }
6693 const chre::fbs::NanoappTokenDatabaseInfo *message_as_NanoappTokenDatabaseInfo() const {
6694 return message_type() == chre::fbs::ChreMessage::NanoappTokenDatabaseInfo ? static_cast<const chre::fbs::NanoappTokenDatabaseInfo *>(message()) : nullptr;
6695 }
6696 const chre::fbs::MessageDeliveryStatus *message_as_MessageDeliveryStatus() const {
6697 return message_type() == chre::fbs::ChreMessage::MessageDeliveryStatus ? static_cast<const chre::fbs::MessageDeliveryStatus *>(message()) : nullptr;
6698 }
6699 const chre::fbs::BtSocketOpen *message_as_BtSocketOpen() const {
6700 return message_type() == chre::fbs::ChreMessage::BtSocketOpen ? static_cast<const chre::fbs::BtSocketOpen *>(message()) : nullptr;
6701 }
6702 const chre::fbs::BtSocketOpenResponse *message_as_BtSocketOpenResponse() const {
6703 return message_type() == chre::fbs::ChreMessage::BtSocketOpenResponse ? static_cast<const chre::fbs::BtSocketOpenResponse *>(message()) : nullptr;
6704 }
6705 const chre::fbs::BtSocketClose *message_as_BtSocketClose() const {
6706 return message_type() == chre::fbs::ChreMessage::BtSocketClose ? static_cast<const chre::fbs::BtSocketClose *>(message()) : nullptr;
6707 }
6708 const chre::fbs::BtSocketCloseResponse *message_as_BtSocketCloseResponse() const {
6709 return message_type() == chre::fbs::ChreMessage::BtSocketCloseResponse ? static_cast<const chre::fbs::BtSocketCloseResponse *>(message()) : nullptr;
6710 }
6711 const chre::fbs::GetMessageHubsAndEndpointsRequest *message_as_GetMessageHubsAndEndpointsRequest() const {
6712 return message_type() == chre::fbs::ChreMessage::GetMessageHubsAndEndpointsRequest ? static_cast<const chre::fbs::GetMessageHubsAndEndpointsRequest *>(message()) : nullptr;
6713 }
6714 const chre::fbs::GetMessageHubsAndEndpointsResponse *message_as_GetMessageHubsAndEndpointsResponse() const {
6715 return message_type() == chre::fbs::ChreMessage::GetMessageHubsAndEndpointsResponse ? static_cast<const chre::fbs::GetMessageHubsAndEndpointsResponse *>(message()) : nullptr;
6716 }
6717 const chre::fbs::RegisterMessageHub *message_as_RegisterMessageHub() const {
6718 return message_type() == chre::fbs::ChreMessage::RegisterMessageHub ? static_cast<const chre::fbs::RegisterMessageHub *>(message()) : nullptr;
6719 }
6720 const chre::fbs::UnregisterMessageHub *message_as_UnregisterMessageHub() const {
6721 return message_type() == chre::fbs::ChreMessage::UnregisterMessageHub ? static_cast<const chre::fbs::UnregisterMessageHub *>(message()) : nullptr;
6722 }
6723 const chre::fbs::RegisterEndpoint *message_as_RegisterEndpoint() const {
6724 return message_type() == chre::fbs::ChreMessage::RegisterEndpoint ? static_cast<const chre::fbs::RegisterEndpoint *>(message()) : nullptr;
6725 }
6726 const chre::fbs::UnregisterEndpoint *message_as_UnregisterEndpoint() const {
6727 return message_type() == chre::fbs::ChreMessage::UnregisterEndpoint ? static_cast<const chre::fbs::UnregisterEndpoint *>(message()) : nullptr;
6728 }
6729 const chre::fbs::OpenEndpointSessionRequest *message_as_OpenEndpointSessionRequest() const {
6730 return message_type() == chre::fbs::ChreMessage::OpenEndpointSessionRequest ? static_cast<const chre::fbs::OpenEndpointSessionRequest *>(message()) : nullptr;
6731 }
6732 const chre::fbs::EndpointSessionOpened *message_as_EndpointSessionOpened() const {
6733 return message_type() == chre::fbs::ChreMessage::EndpointSessionOpened ? static_cast<const chre::fbs::EndpointSessionOpened *>(message()) : nullptr;
6734 }
6735 const chre::fbs::EndpointSessionClosed *message_as_EndpointSessionClosed() const {
6736 return message_type() == chre::fbs::ChreMessage::EndpointSessionClosed ? static_cast<const chre::fbs::EndpointSessionClosed *>(message()) : nullptr;
6737 }
6738 const chre::fbs::EndpointSessionMessage *message_as_EndpointSessionMessage() const {
6739 return message_type() == chre::fbs::ChreMessage::EndpointSessionMessage ? static_cast<const chre::fbs::EndpointSessionMessage *>(message()) : nullptr;
6740 }
6741 const chre::fbs::EndpointSessionMessageDeliveryStatus *message_as_EndpointSessionMessageDeliveryStatus() const {
6742 return message_type() == chre::fbs::ChreMessage::EndpointSessionMessageDeliveryStatus ? static_cast<const chre::fbs::EndpointSessionMessageDeliveryStatus *>(message()) : nullptr;
6743 }
6744 void *mutable_message() {
6745 return GetPointer<void *>(VT_MESSAGE);
6746 }
6747 /// The originating or destination client ID on the host side, used to direct
6748 /// responses only to the client that sent the request. Although initially
6749 /// populated by the requesting client, this is enforced to be the correct
6750 /// value by the entity guarding access to CHRE.
6751 /// This is wrapped in a struct to ensure that it is always included when
6752 /// encoding the message, so it can be mutated by the host daemon.
6753 const chre::fbs::HostAddress *host_addr() const {
6754 return GetStruct<const chre::fbs::HostAddress *>(VT_HOST_ADDR);
6755 }
6756 chre::fbs::HostAddress *mutable_host_addr() {
6757 return GetStruct<chre::fbs::HostAddress *>(VT_HOST_ADDR);
6758 }
6759 bool Verify(flatbuffers::Verifier &verifier) const {
6760 return VerifyTableStart(verifier) &&
6761 VerifyField<uint8_t>(verifier, VT_MESSAGE_TYPE) &&
6762 VerifyOffsetRequired(verifier, VT_MESSAGE) &&
6763 VerifyChreMessage(verifier, message(), message_type()) &&
6764 VerifyFieldRequired<chre::fbs::HostAddress>(verifier, VT_HOST_ADDR) &&
6765 verifier.EndTable();
6766 }
6767 MessageContainerT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6768 void UnPackTo(MessageContainerT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
6769 static flatbuffers::Offset<MessageContainer> Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
6770 };
6771
6772 template<> inline const chre::fbs::NanoappMessage *MessageContainer::message_as<chre::fbs::NanoappMessage>() const {
6773 return message_as_NanoappMessage();
6774 }
6775
6776 template<> inline const chre::fbs::HubInfoRequest *MessageContainer::message_as<chre::fbs::HubInfoRequest>() const {
6777 return message_as_HubInfoRequest();
6778 }
6779
6780 template<> inline const chre::fbs::HubInfoResponse *MessageContainer::message_as<chre::fbs::HubInfoResponse>() const {
6781 return message_as_HubInfoResponse();
6782 }
6783
6784 template<> inline const chre::fbs::NanoappListRequest *MessageContainer::message_as<chre::fbs::NanoappListRequest>() const {
6785 return message_as_NanoappListRequest();
6786 }
6787
6788 template<> inline const chre::fbs::NanoappListResponse *MessageContainer::message_as<chre::fbs::NanoappListResponse>() const {
6789 return message_as_NanoappListResponse();
6790 }
6791
6792 template<> inline const chre::fbs::LoadNanoappRequest *MessageContainer::message_as<chre::fbs::LoadNanoappRequest>() const {
6793 return message_as_LoadNanoappRequest();
6794 }
6795
6796 template<> inline const chre::fbs::LoadNanoappResponse *MessageContainer::message_as<chre::fbs::LoadNanoappResponse>() const {
6797 return message_as_LoadNanoappResponse();
6798 }
6799
6800 template<> inline const chre::fbs::UnloadNanoappRequest *MessageContainer::message_as<chre::fbs::UnloadNanoappRequest>() const {
6801 return message_as_UnloadNanoappRequest();
6802 }
6803
6804 template<> inline const chre::fbs::UnloadNanoappResponse *MessageContainer::message_as<chre::fbs::UnloadNanoappResponse>() const {
6805 return message_as_UnloadNanoappResponse();
6806 }
6807
6808 template<> inline const chre::fbs::LogMessage *MessageContainer::message_as<chre::fbs::LogMessage>() const {
6809 return message_as_LogMessage();
6810 }
6811
6812 template<> inline const chre::fbs::TimeSyncMessage *MessageContainer::message_as<chre::fbs::TimeSyncMessage>() const {
6813 return message_as_TimeSyncMessage();
6814 }
6815
6816 template<> inline const chre::fbs::DebugDumpRequest *MessageContainer::message_as<chre::fbs::DebugDumpRequest>() const {
6817 return message_as_DebugDumpRequest();
6818 }
6819
6820 template<> inline const chre::fbs::DebugDumpData *MessageContainer::message_as<chre::fbs::DebugDumpData>() const {
6821 return message_as_DebugDumpData();
6822 }
6823
6824 template<> inline const chre::fbs::DebugDumpResponse *MessageContainer::message_as<chre::fbs::DebugDumpResponse>() const {
6825 return message_as_DebugDumpResponse();
6826 }
6827
6828 template<> inline const chre::fbs::TimeSyncRequest *MessageContainer::message_as<chre::fbs::TimeSyncRequest>() const {
6829 return message_as_TimeSyncRequest();
6830 }
6831
6832 template<> inline const chre::fbs::LowPowerMicAccessRequest *MessageContainer::message_as<chre::fbs::LowPowerMicAccessRequest>() const {
6833 return message_as_LowPowerMicAccessRequest();
6834 }
6835
6836 template<> inline const chre::fbs::LowPowerMicAccessRelease *MessageContainer::message_as<chre::fbs::LowPowerMicAccessRelease>() const {
6837 return message_as_LowPowerMicAccessRelease();
6838 }
6839
6840 template<> inline const chre::fbs::SettingChangeMessage *MessageContainer::message_as<chre::fbs::SettingChangeMessage>() const {
6841 return message_as_SettingChangeMessage();
6842 }
6843
6844 template<> inline const chre::fbs::LogMessageV2 *MessageContainer::message_as<chre::fbs::LogMessageV2>() const {
6845 return message_as_LogMessageV2();
6846 }
6847
6848 template<> inline const chre::fbs::SelfTestRequest *MessageContainer::message_as<chre::fbs::SelfTestRequest>() const {
6849 return message_as_SelfTestRequest();
6850 }
6851
6852 template<> inline const chre::fbs::SelfTestResponse *MessageContainer::message_as<chre::fbs::SelfTestResponse>() const {
6853 return message_as_SelfTestResponse();
6854 }
6855
6856 template<> inline const chre::fbs::HostEndpointConnected *MessageContainer::message_as<chre::fbs::HostEndpointConnected>() const {
6857 return message_as_HostEndpointConnected();
6858 }
6859
6860 template<> inline const chre::fbs::HostEndpointDisconnected *MessageContainer::message_as<chre::fbs::HostEndpointDisconnected>() const {
6861 return message_as_HostEndpointDisconnected();
6862 }
6863
6864 template<> inline const chre::fbs::MetricLog *MessageContainer::message_as<chre::fbs::MetricLog>() const {
6865 return message_as_MetricLog();
6866 }
6867
6868 template<> inline const chre::fbs::BatchedMetricLog *MessageContainer::message_as<chre::fbs::BatchedMetricLog>() const {
6869 return message_as_BatchedMetricLog();
6870 }
6871
6872 template<> inline const chre::fbs::NanConfigurationRequest *MessageContainer::message_as<chre::fbs::NanConfigurationRequest>() const {
6873 return message_as_NanConfigurationRequest();
6874 }
6875
6876 template<> inline const chre::fbs::NanConfigurationUpdate *MessageContainer::message_as<chre::fbs::NanConfigurationUpdate>() const {
6877 return message_as_NanConfigurationUpdate();
6878 }
6879
6880 template<> inline const chre::fbs::DebugConfiguration *MessageContainer::message_as<chre::fbs::DebugConfiguration>() const {
6881 return message_as_DebugConfiguration();
6882 }
6883
6884 template<> inline const chre::fbs::PulseRequest *MessageContainer::message_as<chre::fbs::PulseRequest>() const {
6885 return message_as_PulseRequest();
6886 }
6887
6888 template<> inline const chre::fbs::PulseResponse *MessageContainer::message_as<chre::fbs::PulseResponse>() const {
6889 return message_as_PulseResponse();
6890 }
6891
6892 template<> inline const chre::fbs::NanoappTokenDatabaseInfo *MessageContainer::message_as<chre::fbs::NanoappTokenDatabaseInfo>() const {
6893 return message_as_NanoappTokenDatabaseInfo();
6894 }
6895
6896 template<> inline const chre::fbs::MessageDeliveryStatus *MessageContainer::message_as<chre::fbs::MessageDeliveryStatus>() const {
6897 return message_as_MessageDeliveryStatus();
6898 }
6899
6900 template<> inline const chre::fbs::BtSocketOpen *MessageContainer::message_as<chre::fbs::BtSocketOpen>() const {
6901 return message_as_BtSocketOpen();
6902 }
6903
6904 template<> inline const chre::fbs::BtSocketOpenResponse *MessageContainer::message_as<chre::fbs::BtSocketOpenResponse>() const {
6905 return message_as_BtSocketOpenResponse();
6906 }
6907
6908 template<> inline const chre::fbs::BtSocketClose *MessageContainer::message_as<chre::fbs::BtSocketClose>() const {
6909 return message_as_BtSocketClose();
6910 }
6911
6912 template<> inline const chre::fbs::BtSocketCloseResponse *MessageContainer::message_as<chre::fbs::BtSocketCloseResponse>() const {
6913 return message_as_BtSocketCloseResponse();
6914 }
6915
6916 template<> inline const chre::fbs::GetMessageHubsAndEndpointsRequest *MessageContainer::message_as<chre::fbs::GetMessageHubsAndEndpointsRequest>() const {
6917 return message_as_GetMessageHubsAndEndpointsRequest();
6918 }
6919
6920 template<> inline const chre::fbs::GetMessageHubsAndEndpointsResponse *MessageContainer::message_as<chre::fbs::GetMessageHubsAndEndpointsResponse>() const {
6921 return message_as_GetMessageHubsAndEndpointsResponse();
6922 }
6923
6924 template<> inline const chre::fbs::RegisterMessageHub *MessageContainer::message_as<chre::fbs::RegisterMessageHub>() const {
6925 return message_as_RegisterMessageHub();
6926 }
6927
6928 template<> inline const chre::fbs::UnregisterMessageHub *MessageContainer::message_as<chre::fbs::UnregisterMessageHub>() const {
6929 return message_as_UnregisterMessageHub();
6930 }
6931
6932 template<> inline const chre::fbs::RegisterEndpoint *MessageContainer::message_as<chre::fbs::RegisterEndpoint>() const {
6933 return message_as_RegisterEndpoint();
6934 }
6935
6936 template<> inline const chre::fbs::UnregisterEndpoint *MessageContainer::message_as<chre::fbs::UnregisterEndpoint>() const {
6937 return message_as_UnregisterEndpoint();
6938 }
6939
6940 template<> inline const chre::fbs::OpenEndpointSessionRequest *MessageContainer::message_as<chre::fbs::OpenEndpointSessionRequest>() const {
6941 return message_as_OpenEndpointSessionRequest();
6942 }
6943
6944 template<> inline const chre::fbs::EndpointSessionOpened *MessageContainer::message_as<chre::fbs::EndpointSessionOpened>() const {
6945 return message_as_EndpointSessionOpened();
6946 }
6947
6948 template<> inline const chre::fbs::EndpointSessionClosed *MessageContainer::message_as<chre::fbs::EndpointSessionClosed>() const {
6949 return message_as_EndpointSessionClosed();
6950 }
6951
6952 template<> inline const chre::fbs::EndpointSessionMessage *MessageContainer::message_as<chre::fbs::EndpointSessionMessage>() const {
6953 return message_as_EndpointSessionMessage();
6954 }
6955
6956 template<> inline const chre::fbs::EndpointSessionMessageDeliveryStatus *MessageContainer::message_as<chre::fbs::EndpointSessionMessageDeliveryStatus>() const {
6957 return message_as_EndpointSessionMessageDeliveryStatus();
6958 }
6959
6960 struct MessageContainerBuilder {
6961 typedef MessageContainer Table;
6962 flatbuffers::FlatBufferBuilder &fbb_;
6963 flatbuffers::uoffset_t start_;
6964 void add_message_type(chre::fbs::ChreMessage message_type) {
6965 fbb_.AddElement<uint8_t>(MessageContainer::VT_MESSAGE_TYPE, static_cast<uint8_t>(message_type), 0);
6966 }
6967 void add_message(flatbuffers::Offset<void> message) {
6968 fbb_.AddOffset(MessageContainer::VT_MESSAGE, message);
6969 }
6970 void add_host_addr(const chre::fbs::HostAddress *host_addr) {
6971 fbb_.AddStruct(MessageContainer::VT_HOST_ADDR, host_addr);
6972 }
6973 explicit MessageContainerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6974 : fbb_(_fbb) {
6975 start_ = fbb_.StartTable();
6976 }
6977 MessageContainerBuilder &operator=(const MessageContainerBuilder &);
6978 flatbuffers::Offset<MessageContainer> Finish() {
6979 const auto end = fbb_.EndTable(start_);
6980 auto o = flatbuffers::Offset<MessageContainer>(end);
6981 fbb_.Required(o, MessageContainer::VT_MESSAGE);
6982 fbb_.Required(o, MessageContainer::VT_HOST_ADDR);
6983 return o;
6984 }
6985 };
6986
6987 inline flatbuffers::Offset<MessageContainer> CreateMessageContainer(
6988 flatbuffers::FlatBufferBuilder &_fbb,
6989 chre::fbs::ChreMessage message_type = chre::fbs::ChreMessage::NONE,
6990 flatbuffers::Offset<void> message = 0,
6991 const chre::fbs::HostAddress *host_addr = 0) {
6992 MessageContainerBuilder builder_(_fbb);
6993 builder_.add_host_addr(host_addr);
6994 builder_.add_message(message);
6995 builder_.add_message_type(message_type);
6996 return builder_.Finish();
6997 }
6998
6999 flatbuffers::Offset<MessageContainer> CreateMessageContainer(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
7000
7001 inline NanoappMessageT *NanoappMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7002 std::unique_ptr<chre::fbs::NanoappMessageT> _o = std::unique_ptr<chre::fbs::NanoappMessageT>(new NanoappMessageT());
7003 UnPackTo(_o.get(), _resolver);
7004 return _o.release();
7005 }
7006
7007 inline void NanoappMessage::UnPackTo(NanoappMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7008 (void)_o;
7009 (void)_resolver;
7010 { auto _e = app_id(); _o->app_id = _e; }
7011 { auto _e = message_type(); _o->message_type = _e; }
7012 { auto _e = host_endpoint(); _o->host_endpoint = _e; }
7013 { 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); } } }
7014 { auto _e = message_permissions(); _o->message_permissions = _e; }
7015 { auto _e = permissions(); _o->permissions = _e; }
7016 { auto _e = woke_host(); _o->woke_host = _e; }
7017 { auto _e = is_reliable(); _o->is_reliable = _e; }
7018 { auto _e = message_sequence_number(); _o->message_sequence_number = _e; }
7019 }
7020
7021 inline flatbuffers::Offset<NanoappMessage> NanoappMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7022 return CreateNanoappMessage(_fbb, _o, _rehasher);
7023 }
7024
7025 inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessage(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7026 (void)_rehasher;
7027 (void)_o;
7028 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanoappMessageT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7029 auto _app_id = _o->app_id;
7030 auto _message_type = _o->message_type;
7031 auto _host_endpoint = _o->host_endpoint;
7032 auto _message = _fbb.CreateVector(_o->message);
7033 auto _message_permissions = _o->message_permissions;
7034 auto _permissions = _o->permissions;
7035 auto _woke_host = _o->woke_host;
7036 auto _is_reliable = _o->is_reliable;
7037 auto _message_sequence_number = _o->message_sequence_number;
7038 return chre::fbs::CreateNanoappMessage(
7039 _fbb,
7040 _app_id,
7041 _message_type,
7042 _host_endpoint,
7043 _message,
7044 _message_permissions,
7045 _permissions,
7046 _woke_host,
7047 _is_reliable,
7048 _message_sequence_number);
7049 }
7050
7051 inline MessageDeliveryStatusT *MessageDeliveryStatus::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7052 std::unique_ptr<chre::fbs::MessageDeliveryStatusT> _o = std::unique_ptr<chre::fbs::MessageDeliveryStatusT>(new MessageDeliveryStatusT());
7053 UnPackTo(_o.get(), _resolver);
7054 return _o.release();
7055 }
7056
7057 inline void MessageDeliveryStatus::UnPackTo(MessageDeliveryStatusT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7058 (void)_o;
7059 (void)_resolver;
7060 { auto _e = message_sequence_number(); _o->message_sequence_number = _e; }
7061 { auto _e = error_code(); _o->error_code = _e; }
7062 }
7063
7064 inline flatbuffers::Offset<MessageDeliveryStatus> MessageDeliveryStatus::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageDeliveryStatusT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7065 return CreateMessageDeliveryStatus(_fbb, _o, _rehasher);
7066 }
7067
7068 inline flatbuffers::Offset<MessageDeliveryStatus> CreateMessageDeliveryStatus(flatbuffers::FlatBufferBuilder &_fbb, const MessageDeliveryStatusT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7069 (void)_rehasher;
7070 (void)_o;
7071 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MessageDeliveryStatusT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7072 auto _message_sequence_number = _o->message_sequence_number;
7073 auto _error_code = _o->error_code;
7074 return chre::fbs::CreateMessageDeliveryStatus(
7075 _fbb,
7076 _message_sequence_number,
7077 _error_code);
7078 }
7079
7080 inline HubInfoRequestT *HubInfoRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7081 std::unique_ptr<chre::fbs::HubInfoRequestT> _o = std::unique_ptr<chre::fbs::HubInfoRequestT>(new HubInfoRequestT());
7082 UnPackTo(_o.get(), _resolver);
7083 return _o.release();
7084 }
7085
7086 inline void HubInfoRequest::UnPackTo(HubInfoRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7087 (void)_o;
7088 (void)_resolver;
7089 }
7090
7091 inline flatbuffers::Offset<HubInfoRequest> HubInfoRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7092 return CreateHubInfoRequest(_fbb, _o, _rehasher);
7093 }
7094
7095 inline flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7096 (void)_rehasher;
7097 (void)_o;
7098 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const HubInfoRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7099 return chre::fbs::CreateHubInfoRequest(
7100 _fbb);
7101 }
7102
7103 inline HubInfoResponseT *HubInfoResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7104 std::unique_ptr<chre::fbs::HubInfoResponseT> _o = std::unique_ptr<chre::fbs::HubInfoResponseT>(new HubInfoResponseT());
7105 UnPackTo(_o.get(), _resolver);
7106 return _o.release();
7107 }
7108
7109 inline void HubInfoResponse::UnPackTo(HubInfoResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7110 (void)_o;
7111 (void)_resolver;
7112 { 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); } } }
7113 { 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); } } }
7114 { 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); } } }
7115 { auto _e = platform_version(); _o->platform_version = _e; }
7116 { auto _e = toolchain_version(); _o->toolchain_version = _e; }
7117 { auto _e = peak_mips(); _o->peak_mips = _e; }
7118 { auto _e = stopped_power(); _o->stopped_power = _e; }
7119 { auto _e = sleep_power(); _o->sleep_power = _e; }
7120 { auto _e = peak_power(); _o->peak_power = _e; }
7121 { auto _e = max_msg_len(); _o->max_msg_len = _e; }
7122 { auto _e = platform_id(); _o->platform_id = _e; }
7123 { auto _e = chre_platform_version(); _o->chre_platform_version = _e; }
7124 { auto _e = supports_reliable_messages(); _o->supports_reliable_messages = _e; }
7125 }
7126
7127 inline flatbuffers::Offset<HubInfoResponse> HubInfoResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7128 return CreateHubInfoResponse(_fbb, _o, _rehasher);
7129 }
7130
7131 inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7132 (void)_rehasher;
7133 (void)_o;
7134 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const HubInfoResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7135 auto _name = _o->name.size() ? _fbb.CreateVector(_o->name) : 0;
7136 auto _vendor = _o->vendor.size() ? _fbb.CreateVector(_o->vendor) : 0;
7137 auto _toolchain = _o->toolchain.size() ? _fbb.CreateVector(_o->toolchain) : 0;
7138 auto _platform_version = _o->platform_version;
7139 auto _toolchain_version = _o->toolchain_version;
7140 auto _peak_mips = _o->peak_mips;
7141 auto _stopped_power = _o->stopped_power;
7142 auto _sleep_power = _o->sleep_power;
7143 auto _peak_power = _o->peak_power;
7144 auto _max_msg_len = _o->max_msg_len;
7145 auto _platform_id = _o->platform_id;
7146 auto _chre_platform_version = _o->chre_platform_version;
7147 auto _supports_reliable_messages = _o->supports_reliable_messages;
7148 return chre::fbs::CreateHubInfoResponse(
7149 _fbb,
7150 _name,
7151 _vendor,
7152 _toolchain,
7153 _platform_version,
7154 _toolchain_version,
7155 _peak_mips,
7156 _stopped_power,
7157 _sleep_power,
7158 _peak_power,
7159 _max_msg_len,
7160 _platform_id,
7161 _chre_platform_version,
7162 _supports_reliable_messages);
7163 }
7164
7165 inline NanoappListRequestT *NanoappListRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7166 std::unique_ptr<chre::fbs::NanoappListRequestT> _o = std::unique_ptr<chre::fbs::NanoappListRequestT>(new NanoappListRequestT());
7167 UnPackTo(_o.get(), _resolver);
7168 return _o.release();
7169 }
7170
7171 inline void NanoappListRequest::UnPackTo(NanoappListRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7172 (void)_o;
7173 (void)_resolver;
7174 }
7175
7176 inline flatbuffers::Offset<NanoappListRequest> NanoappListRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7177 return CreateNanoappListRequest(_fbb, _o, _rehasher);
7178 }
7179
7180 inline flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7181 (void)_rehasher;
7182 (void)_o;
7183 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanoappListRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7184 return chre::fbs::CreateNanoappListRequest(
7185 _fbb);
7186 }
7187
7188 inline NanoappRpcServiceT *NanoappRpcService::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7189 std::unique_ptr<chre::fbs::NanoappRpcServiceT> _o = std::unique_ptr<chre::fbs::NanoappRpcServiceT>(new NanoappRpcServiceT());
7190 UnPackTo(_o.get(), _resolver);
7191 return _o.release();
7192 }
7193
7194 inline void NanoappRpcService::UnPackTo(NanoappRpcServiceT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7195 (void)_o;
7196 (void)_resolver;
7197 { auto _e = id(); _o->id = _e; }
7198 { auto _e = version(); _o->version = _e; }
7199 }
7200
7201 inline flatbuffers::Offset<NanoappRpcService> NanoappRpcService::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappRpcServiceT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7202 return CreateNanoappRpcService(_fbb, _o, _rehasher);
7203 }
7204
7205 inline flatbuffers::Offset<NanoappRpcService> CreateNanoappRpcService(flatbuffers::FlatBufferBuilder &_fbb, const NanoappRpcServiceT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7206 (void)_rehasher;
7207 (void)_o;
7208 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanoappRpcServiceT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7209 auto _id = _o->id;
7210 auto _version = _o->version;
7211 return chre::fbs::CreateNanoappRpcService(
7212 _fbb,
7213 _id,
7214 _version);
7215 }
7216
7217 inline NanoappListEntryT *NanoappListEntry::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7218 std::unique_ptr<chre::fbs::NanoappListEntryT> _o = std::unique_ptr<chre::fbs::NanoappListEntryT>(new NanoappListEntryT());
7219 UnPackTo(_o.get(), _resolver);
7220 return _o.release();
7221 }
7222
7223 inline void NanoappListEntry::UnPackTo(NanoappListEntryT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7224 (void)_o;
7225 (void)_resolver;
7226 { auto _e = app_id(); _o->app_id = _e; }
7227 { auto _e = version(); _o->version = _e; }
7228 { auto _e = enabled(); _o->enabled = _e; }
7229 { auto _e = is_system(); _o->is_system = _e; }
7230 { auto _e = permissions(); _o->permissions = _e; }
7231 { 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)); } } }
7232 }
7233
7234 inline flatbuffers::Offset<NanoappListEntry> NanoappListEntry::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7235 return CreateNanoappListEntry(_fbb, _o, _rehasher);
7236 }
7237
7238 inline flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7239 (void)_rehasher;
7240 (void)_o;
7241 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanoappListEntryT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7242 auto _app_id = _o->app_id;
7243 auto _version = _o->version;
7244 auto _enabled = _o->enabled;
7245 auto _is_system = _o->is_system;
7246 auto _permissions = _o->permissions;
7247 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;
7248 return chre::fbs::CreateNanoappListEntry(
7249 _fbb,
7250 _app_id,
7251 _version,
7252 _enabled,
7253 _is_system,
7254 _permissions,
7255 _rpc_services);
7256 }
7257
7258 inline NanoappListResponseT *NanoappListResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7259 std::unique_ptr<chre::fbs::NanoappListResponseT> _o = std::unique_ptr<chre::fbs::NanoappListResponseT>(new NanoappListResponseT());
7260 UnPackTo(_o.get(), _resolver);
7261 return _o.release();
7262 }
7263
7264 inline void NanoappListResponse::UnPackTo(NanoappListResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7265 (void)_o;
7266 (void)_resolver;
7267 { 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)); } } }
7268 }
7269
7270 inline flatbuffers::Offset<NanoappListResponse> NanoappListResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7271 return CreateNanoappListResponse(_fbb, _o, _rehasher);
7272 }
7273
7274 inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7275 (void)_rehasher;
7276 (void)_o;
7277 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanoappListResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7278 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 );
7279 return chre::fbs::CreateNanoappListResponse(
7280 _fbb,
7281 _nanoapps);
7282 }
7283
7284 inline LoadNanoappRequestT *LoadNanoappRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7285 std::unique_ptr<chre::fbs::LoadNanoappRequestT> _o = std::unique_ptr<chre::fbs::LoadNanoappRequestT>(new LoadNanoappRequestT());
7286 UnPackTo(_o.get(), _resolver);
7287 return _o.release();
7288 }
7289
7290 inline void LoadNanoappRequest::UnPackTo(LoadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7291 (void)_o;
7292 (void)_resolver;
7293 { auto _e = transaction_id(); _o->transaction_id = _e; }
7294 { auto _e = app_id(); _o->app_id = _e; }
7295 { auto _e = app_version(); _o->app_version = _e; }
7296 { auto _e = target_api_version(); _o->target_api_version = _e; }
7297 { 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); } } }
7298 { auto _e = fragment_id(); _o->fragment_id = _e; }
7299 { auto _e = total_app_size(); _o->total_app_size = _e; }
7300 { 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); } } }
7301 { auto _e = app_flags(); _o->app_flags = _e; }
7302 { auto _e = respond_before_start(); _o->respond_before_start = _e; }
7303 }
7304
7305 inline flatbuffers::Offset<LoadNanoappRequest> LoadNanoappRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7306 return CreateLoadNanoappRequest(_fbb, _o, _rehasher);
7307 }
7308
7309 inline flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7310 (void)_rehasher;
7311 (void)_o;
7312 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LoadNanoappRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7313 auto _transaction_id = _o->transaction_id;
7314 auto _app_id = _o->app_id;
7315 auto _app_version = _o->app_version;
7316 auto _target_api_version = _o->target_api_version;
7317 auto _app_binary = _fbb.CreateVector(_o->app_binary);
7318 auto _fragment_id = _o->fragment_id;
7319 auto _total_app_size = _o->total_app_size;
7320 auto _app_binary_file_name = _o->app_binary_file_name.size() ? _fbb.CreateVector(_o->app_binary_file_name) : 0;
7321 auto _app_flags = _o->app_flags;
7322 auto _respond_before_start = _o->respond_before_start;
7323 return chre::fbs::CreateLoadNanoappRequest(
7324 _fbb,
7325 _transaction_id,
7326 _app_id,
7327 _app_version,
7328 _target_api_version,
7329 _app_binary,
7330 _fragment_id,
7331 _total_app_size,
7332 _app_binary_file_name,
7333 _app_flags,
7334 _respond_before_start);
7335 }
7336
7337 inline LoadNanoappResponseT *LoadNanoappResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7338 std::unique_ptr<chre::fbs::LoadNanoappResponseT> _o = std::unique_ptr<chre::fbs::LoadNanoappResponseT>(new LoadNanoappResponseT());
7339 UnPackTo(_o.get(), _resolver);
7340 return _o.release();
7341 }
7342
7343 inline void LoadNanoappResponse::UnPackTo(LoadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7344 (void)_o;
7345 (void)_resolver;
7346 { auto _e = transaction_id(); _o->transaction_id = _e; }
7347 { auto _e = success(); _o->success = _e; }
7348 { auto _e = fragment_id(); _o->fragment_id = _e; }
7349 }
7350
7351 inline flatbuffers::Offset<LoadNanoappResponse> LoadNanoappResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7352 return CreateLoadNanoappResponse(_fbb, _o, _rehasher);
7353 }
7354
7355 inline flatbuffers::Offset<LoadNanoappResponse> CreateLoadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7356 (void)_rehasher;
7357 (void)_o;
7358 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LoadNanoappResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7359 auto _transaction_id = _o->transaction_id;
7360 auto _success = _o->success;
7361 auto _fragment_id = _o->fragment_id;
7362 return chre::fbs::CreateLoadNanoappResponse(
7363 _fbb,
7364 _transaction_id,
7365 _success,
7366 _fragment_id);
7367 }
7368
7369 inline NanoappTokenDatabaseInfoT *NanoappTokenDatabaseInfo::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7370 std::unique_ptr<chre::fbs::NanoappTokenDatabaseInfoT> _o = std::unique_ptr<chre::fbs::NanoappTokenDatabaseInfoT>(new NanoappTokenDatabaseInfoT());
7371 UnPackTo(_o.get(), _resolver);
7372 return _o.release();
7373 }
7374
7375 inline void NanoappTokenDatabaseInfo::UnPackTo(NanoappTokenDatabaseInfoT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7376 (void)_o;
7377 (void)_resolver;
7378 { auto _e = instance_id(); _o->instance_id = _e; }
7379 { auto _e = app_id(); _o->app_id = _e; }
7380 { auto _e = database_offset_bytes(); _o->database_offset_bytes = _e; }
7381 { auto _e = database_size_bytes(); _o->database_size_bytes = _e; }
7382 }
7383
7384 inline flatbuffers::Offset<NanoappTokenDatabaseInfo> NanoappTokenDatabaseInfo::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappTokenDatabaseInfoT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7385 return CreateNanoappTokenDatabaseInfo(_fbb, _o, _rehasher);
7386 }
7387
7388 inline flatbuffers::Offset<NanoappTokenDatabaseInfo> CreateNanoappTokenDatabaseInfo(flatbuffers::FlatBufferBuilder &_fbb, const NanoappTokenDatabaseInfoT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7389 (void)_rehasher;
7390 (void)_o;
7391 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanoappTokenDatabaseInfoT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7392 auto _instance_id = _o->instance_id;
7393 auto _app_id = _o->app_id;
7394 auto _database_offset_bytes = _o->database_offset_bytes;
7395 auto _database_size_bytes = _o->database_size_bytes;
7396 return chre::fbs::CreateNanoappTokenDatabaseInfo(
7397 _fbb,
7398 _instance_id,
7399 _app_id,
7400 _database_offset_bytes,
7401 _database_size_bytes);
7402 }
7403
7404 inline UnloadNanoappRequestT *UnloadNanoappRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7405 std::unique_ptr<chre::fbs::UnloadNanoappRequestT> _o = std::unique_ptr<chre::fbs::UnloadNanoappRequestT>(new UnloadNanoappRequestT());
7406 UnPackTo(_o.get(), _resolver);
7407 return _o.release();
7408 }
7409
7410 inline void UnloadNanoappRequest::UnPackTo(UnloadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7411 (void)_o;
7412 (void)_resolver;
7413 { auto _e = transaction_id(); _o->transaction_id = _e; }
7414 { auto _e = app_id(); _o->app_id = _e; }
7415 { auto _e = allow_system_nanoapp_unload(); _o->allow_system_nanoapp_unload = _e; }
7416 }
7417
7418 inline flatbuffers::Offset<UnloadNanoappRequest> UnloadNanoappRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7419 return CreateUnloadNanoappRequest(_fbb, _o, _rehasher);
7420 }
7421
7422 inline flatbuffers::Offset<UnloadNanoappRequest> CreateUnloadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7423 (void)_rehasher;
7424 (void)_o;
7425 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const UnloadNanoappRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7426 auto _transaction_id = _o->transaction_id;
7427 auto _app_id = _o->app_id;
7428 auto _allow_system_nanoapp_unload = _o->allow_system_nanoapp_unload;
7429 return chre::fbs::CreateUnloadNanoappRequest(
7430 _fbb,
7431 _transaction_id,
7432 _app_id,
7433 _allow_system_nanoapp_unload);
7434 }
7435
7436 inline UnloadNanoappResponseT *UnloadNanoappResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7437 std::unique_ptr<chre::fbs::UnloadNanoappResponseT> _o = std::unique_ptr<chre::fbs::UnloadNanoappResponseT>(new UnloadNanoappResponseT());
7438 UnPackTo(_o.get(), _resolver);
7439 return _o.release();
7440 }
7441
7442 inline void UnloadNanoappResponse::UnPackTo(UnloadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7443 (void)_o;
7444 (void)_resolver;
7445 { auto _e = transaction_id(); _o->transaction_id = _e; }
7446 { auto _e = success(); _o->success = _e; }
7447 }
7448
7449 inline flatbuffers::Offset<UnloadNanoappResponse> UnloadNanoappResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7450 return CreateUnloadNanoappResponse(_fbb, _o, _rehasher);
7451 }
7452
7453 inline flatbuffers::Offset<UnloadNanoappResponse> CreateUnloadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7454 (void)_rehasher;
7455 (void)_o;
7456 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const UnloadNanoappResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7457 auto _transaction_id = _o->transaction_id;
7458 auto _success = _o->success;
7459 return chre::fbs::CreateUnloadNanoappResponse(
7460 _fbb,
7461 _transaction_id,
7462 _success);
7463 }
7464
7465 inline LogMessageT *LogMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7466 std::unique_ptr<chre::fbs::LogMessageT> _o = std::unique_ptr<chre::fbs::LogMessageT>(new LogMessageT());
7467 UnPackTo(_o.get(), _resolver);
7468 return _o.release();
7469 }
7470
7471 inline void LogMessage::UnPackTo(LogMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7472 (void)_o;
7473 (void)_resolver;
7474 { 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); } } }
7475 }
7476
7477 inline flatbuffers::Offset<LogMessage> LogMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7478 return CreateLogMessage(_fbb, _o, _rehasher);
7479 }
7480
7481 inline flatbuffers::Offset<LogMessage> CreateLogMessage(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7482 (void)_rehasher;
7483 (void)_o;
7484 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LogMessageT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7485 auto _buffer = _o->buffer.size() ? _fbb.CreateVector(_o->buffer) : 0;
7486 return chre::fbs::CreateLogMessage(
7487 _fbb,
7488 _buffer);
7489 }
7490
7491 inline TimeSyncMessageT *TimeSyncMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7492 std::unique_ptr<chre::fbs::TimeSyncMessageT> _o = std::unique_ptr<chre::fbs::TimeSyncMessageT>(new TimeSyncMessageT());
7493 UnPackTo(_o.get(), _resolver);
7494 return _o.release();
7495 }
7496
7497 inline void TimeSyncMessage::UnPackTo(TimeSyncMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7498 (void)_o;
7499 (void)_resolver;
7500 { auto _e = offset(); _o->offset = _e; }
7501 }
7502
7503 inline flatbuffers::Offset<TimeSyncMessage> TimeSyncMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7504 return CreateTimeSyncMessage(_fbb, _o, _rehasher);
7505 }
7506
7507 inline flatbuffers::Offset<TimeSyncMessage> CreateTimeSyncMessage(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7508 (void)_rehasher;
7509 (void)_o;
7510 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TimeSyncMessageT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7511 auto _offset = _o->offset;
7512 return chre::fbs::CreateTimeSyncMessage(
7513 _fbb,
7514 _offset);
7515 }
7516
7517 inline DebugDumpRequestT *DebugDumpRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7518 std::unique_ptr<chre::fbs::DebugDumpRequestT> _o = std::unique_ptr<chre::fbs::DebugDumpRequestT>(new DebugDumpRequestT());
7519 UnPackTo(_o.get(), _resolver);
7520 return _o.release();
7521 }
7522
7523 inline void DebugDumpRequest::UnPackTo(DebugDumpRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7524 (void)_o;
7525 (void)_resolver;
7526 }
7527
7528 inline flatbuffers::Offset<DebugDumpRequest> DebugDumpRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7529 return CreateDebugDumpRequest(_fbb, _o, _rehasher);
7530 }
7531
7532 inline flatbuffers::Offset<DebugDumpRequest> CreateDebugDumpRequest(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7533 (void)_rehasher;
7534 (void)_o;
7535 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DebugDumpRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7536 return chre::fbs::CreateDebugDumpRequest(
7537 _fbb);
7538 }
7539
7540 inline DebugDumpDataT *DebugDumpData::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7541 std::unique_ptr<chre::fbs::DebugDumpDataT> _o = std::unique_ptr<chre::fbs::DebugDumpDataT>(new DebugDumpDataT());
7542 UnPackTo(_o.get(), _resolver);
7543 return _o.release();
7544 }
7545
7546 inline void DebugDumpData::UnPackTo(DebugDumpDataT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7547 (void)_o;
7548 (void)_resolver;
7549 { 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); } } }
7550 }
7551
7552 inline flatbuffers::Offset<DebugDumpData> DebugDumpData::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7553 return CreateDebugDumpData(_fbb, _o, _rehasher);
7554 }
7555
7556 inline flatbuffers::Offset<DebugDumpData> CreateDebugDumpData(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7557 (void)_rehasher;
7558 (void)_o;
7559 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DebugDumpDataT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7560 auto _debug_str = _o->debug_str.size() ? _fbb.CreateVector(_o->debug_str) : 0;
7561 return chre::fbs::CreateDebugDumpData(
7562 _fbb,
7563 _debug_str);
7564 }
7565
7566 inline DebugDumpResponseT *DebugDumpResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7567 std::unique_ptr<chre::fbs::DebugDumpResponseT> _o = std::unique_ptr<chre::fbs::DebugDumpResponseT>(new DebugDumpResponseT());
7568 UnPackTo(_o.get(), _resolver);
7569 return _o.release();
7570 }
7571
7572 inline void DebugDumpResponse::UnPackTo(DebugDumpResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7573 (void)_o;
7574 (void)_resolver;
7575 { auto _e = success(); _o->success = _e; }
7576 { auto _e = data_count(); _o->data_count = _e; }
7577 }
7578
7579 inline flatbuffers::Offset<DebugDumpResponse> DebugDumpResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7580 return CreateDebugDumpResponse(_fbb, _o, _rehasher);
7581 }
7582
7583 inline flatbuffers::Offset<DebugDumpResponse> CreateDebugDumpResponse(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7584 (void)_rehasher;
7585 (void)_o;
7586 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DebugDumpResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7587 auto _success = _o->success;
7588 auto _data_count = _o->data_count;
7589 return chre::fbs::CreateDebugDumpResponse(
7590 _fbb,
7591 _success,
7592 _data_count);
7593 }
7594
7595 inline TimeSyncRequestT *TimeSyncRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7596 std::unique_ptr<chre::fbs::TimeSyncRequestT> _o = std::unique_ptr<chre::fbs::TimeSyncRequestT>(new TimeSyncRequestT());
7597 UnPackTo(_o.get(), _resolver);
7598 return _o.release();
7599 }
7600
7601 inline void TimeSyncRequest::UnPackTo(TimeSyncRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7602 (void)_o;
7603 (void)_resolver;
7604 }
7605
7606 inline flatbuffers::Offset<TimeSyncRequest> TimeSyncRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7607 return CreateTimeSyncRequest(_fbb, _o, _rehasher);
7608 }
7609
7610 inline flatbuffers::Offset<TimeSyncRequest> CreateTimeSyncRequest(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7611 (void)_rehasher;
7612 (void)_o;
7613 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TimeSyncRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7614 return chre::fbs::CreateTimeSyncRequest(
7615 _fbb);
7616 }
7617
7618 inline LowPowerMicAccessRequestT *LowPowerMicAccessRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7619 std::unique_ptr<chre::fbs::LowPowerMicAccessRequestT> _o = std::unique_ptr<chre::fbs::LowPowerMicAccessRequestT>(new LowPowerMicAccessRequestT());
7620 UnPackTo(_o.get(), _resolver);
7621 return _o.release();
7622 }
7623
7624 inline void LowPowerMicAccessRequest::UnPackTo(LowPowerMicAccessRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7625 (void)_o;
7626 (void)_resolver;
7627 }
7628
7629 inline flatbuffers::Offset<LowPowerMicAccessRequest> LowPowerMicAccessRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7630 return CreateLowPowerMicAccessRequest(_fbb, _o, _rehasher);
7631 }
7632
7633 inline flatbuffers::Offset<LowPowerMicAccessRequest> CreateLowPowerMicAccessRequest(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7634 (void)_rehasher;
7635 (void)_o;
7636 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LowPowerMicAccessRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7637 return chre::fbs::CreateLowPowerMicAccessRequest(
7638 _fbb);
7639 }
7640
7641 inline LowPowerMicAccessReleaseT *LowPowerMicAccessRelease::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7642 std::unique_ptr<chre::fbs::LowPowerMicAccessReleaseT> _o = std::unique_ptr<chre::fbs::LowPowerMicAccessReleaseT>(new LowPowerMicAccessReleaseT());
7643 UnPackTo(_o.get(), _resolver);
7644 return _o.release();
7645 }
7646
7647 inline void LowPowerMicAccessRelease::UnPackTo(LowPowerMicAccessReleaseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7648 (void)_o;
7649 (void)_resolver;
7650 }
7651
7652 inline flatbuffers::Offset<LowPowerMicAccessRelease> LowPowerMicAccessRelease::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessReleaseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7653 return CreateLowPowerMicAccessRelease(_fbb, _o, _rehasher);
7654 }
7655
7656 inline flatbuffers::Offset<LowPowerMicAccessRelease> CreateLowPowerMicAccessRelease(flatbuffers::FlatBufferBuilder &_fbb, const LowPowerMicAccessReleaseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7657 (void)_rehasher;
7658 (void)_o;
7659 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LowPowerMicAccessReleaseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7660 return chre::fbs::CreateLowPowerMicAccessRelease(
7661 _fbb);
7662 }
7663
7664 inline SettingChangeMessageT *SettingChangeMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7665 std::unique_ptr<chre::fbs::SettingChangeMessageT> _o = std::unique_ptr<chre::fbs::SettingChangeMessageT>(new SettingChangeMessageT());
7666 UnPackTo(_o.get(), _resolver);
7667 return _o.release();
7668 }
7669
7670 inline void SettingChangeMessage::UnPackTo(SettingChangeMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7671 (void)_o;
7672 (void)_resolver;
7673 { auto _e = setting(); _o->setting = _e; }
7674 { auto _e = state(); _o->state = _e; }
7675 }
7676
7677 inline flatbuffers::Offset<SettingChangeMessage> SettingChangeMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SettingChangeMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7678 return CreateSettingChangeMessage(_fbb, _o, _rehasher);
7679 }
7680
7681 inline flatbuffers::Offset<SettingChangeMessage> CreateSettingChangeMessage(flatbuffers::FlatBufferBuilder &_fbb, const SettingChangeMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7682 (void)_rehasher;
7683 (void)_o;
7684 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SettingChangeMessageT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7685 auto _setting = _o->setting;
7686 auto _state = _o->state;
7687 return chre::fbs::CreateSettingChangeMessage(
7688 _fbb,
7689 _setting,
7690 _state);
7691 }
7692
7693 inline LogMessageV2T *LogMessageV2::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7694 std::unique_ptr<chre::fbs::LogMessageV2T> _o = std::unique_ptr<chre::fbs::LogMessageV2T>(new LogMessageV2T());
7695 UnPackTo(_o.get(), _resolver);
7696 return _o.release();
7697 }
7698
7699 inline void LogMessageV2::UnPackTo(LogMessageV2T *_o, const flatbuffers::resolver_function_t *_resolver) const {
7700 (void)_o;
7701 (void)_resolver;
7702 { 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); } } }
7703 { auto _e = num_logs_dropped(); _o->num_logs_dropped = _e; }
7704 }
7705
7706 inline flatbuffers::Offset<LogMessageV2> LogMessageV2::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageV2T* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7707 return CreateLogMessageV2(_fbb, _o, _rehasher);
7708 }
7709
7710 inline flatbuffers::Offset<LogMessageV2> CreateLogMessageV2(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageV2T *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7711 (void)_rehasher;
7712 (void)_o;
7713 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LogMessageV2T* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7714 auto _buffer = _o->buffer.size() ? _fbb.CreateVector(_o->buffer) : 0;
7715 auto _num_logs_dropped = _o->num_logs_dropped;
7716 return chre::fbs::CreateLogMessageV2(
7717 _fbb,
7718 _buffer,
7719 _num_logs_dropped);
7720 }
7721
7722 inline SelfTestRequestT *SelfTestRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7723 std::unique_ptr<chre::fbs::SelfTestRequestT> _o = std::unique_ptr<chre::fbs::SelfTestRequestT>(new SelfTestRequestT());
7724 UnPackTo(_o.get(), _resolver);
7725 return _o.release();
7726 }
7727
7728 inline void SelfTestRequest::UnPackTo(SelfTestRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7729 (void)_o;
7730 (void)_resolver;
7731 }
7732
7733 inline flatbuffers::Offset<SelfTestRequest> SelfTestRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7734 return CreateSelfTestRequest(_fbb, _o, _rehasher);
7735 }
7736
7737 inline flatbuffers::Offset<SelfTestRequest> CreateSelfTestRequest(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7738 (void)_rehasher;
7739 (void)_o;
7740 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SelfTestRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7741 return chre::fbs::CreateSelfTestRequest(
7742 _fbb);
7743 }
7744
7745 inline SelfTestResponseT *SelfTestResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7746 std::unique_ptr<chre::fbs::SelfTestResponseT> _o = std::unique_ptr<chre::fbs::SelfTestResponseT>(new SelfTestResponseT());
7747 UnPackTo(_o.get(), _resolver);
7748 return _o.release();
7749 }
7750
7751 inline void SelfTestResponse::UnPackTo(SelfTestResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7752 (void)_o;
7753 (void)_resolver;
7754 { auto _e = success(); _o->success = _e; }
7755 }
7756
7757 inline flatbuffers::Offset<SelfTestResponse> SelfTestResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7758 return CreateSelfTestResponse(_fbb, _o, _rehasher);
7759 }
7760
7761 inline flatbuffers::Offset<SelfTestResponse> CreateSelfTestResponse(flatbuffers::FlatBufferBuilder &_fbb, const SelfTestResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7762 (void)_rehasher;
7763 (void)_o;
7764 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SelfTestResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7765 auto _success = _o->success;
7766 return chre::fbs::CreateSelfTestResponse(
7767 _fbb,
7768 _success);
7769 }
7770
7771 inline HostEndpointConnectedT *HostEndpointConnected::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7772 std::unique_ptr<chre::fbs::HostEndpointConnectedT> _o = std::unique_ptr<chre::fbs::HostEndpointConnectedT>(new HostEndpointConnectedT());
7773 UnPackTo(_o.get(), _resolver);
7774 return _o.release();
7775 }
7776
7777 inline void HostEndpointConnected::UnPackTo(HostEndpointConnectedT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7778 (void)_o;
7779 (void)_resolver;
7780 { auto _e = host_endpoint(); _o->host_endpoint = _e; }
7781 { auto _e = type(); _o->type = _e; }
7782 { 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); } } }
7783 { 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); } } }
7784 }
7785
7786 inline flatbuffers::Offset<HostEndpointConnected> HostEndpointConnected::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointConnectedT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7787 return CreateHostEndpointConnected(_fbb, _o, _rehasher);
7788 }
7789
7790 inline flatbuffers::Offset<HostEndpointConnected> CreateHostEndpointConnected(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointConnectedT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7791 (void)_rehasher;
7792 (void)_o;
7793 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const HostEndpointConnectedT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7794 auto _host_endpoint = _o->host_endpoint;
7795 auto _type = _o->type;
7796 auto _package_name = _o->package_name.size() ? _fbb.CreateVector(_o->package_name) : 0;
7797 auto _attribution_tag = _o->attribution_tag.size() ? _fbb.CreateVector(_o->attribution_tag) : 0;
7798 return chre::fbs::CreateHostEndpointConnected(
7799 _fbb,
7800 _host_endpoint,
7801 _type,
7802 _package_name,
7803 _attribution_tag);
7804 }
7805
7806 inline HostEndpointDisconnectedT *HostEndpointDisconnected::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7807 std::unique_ptr<chre::fbs::HostEndpointDisconnectedT> _o = std::unique_ptr<chre::fbs::HostEndpointDisconnectedT>(new HostEndpointDisconnectedT());
7808 UnPackTo(_o.get(), _resolver);
7809 return _o.release();
7810 }
7811
7812 inline void HostEndpointDisconnected::UnPackTo(HostEndpointDisconnectedT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7813 (void)_o;
7814 (void)_resolver;
7815 { auto _e = host_endpoint(); _o->host_endpoint = _e; }
7816 }
7817
7818 inline flatbuffers::Offset<HostEndpointDisconnected> HostEndpointDisconnected::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointDisconnectedT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7819 return CreateHostEndpointDisconnected(_fbb, _o, _rehasher);
7820 }
7821
7822 inline flatbuffers::Offset<HostEndpointDisconnected> CreateHostEndpointDisconnected(flatbuffers::FlatBufferBuilder &_fbb, const HostEndpointDisconnectedT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7823 (void)_rehasher;
7824 (void)_o;
7825 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const HostEndpointDisconnectedT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7826 auto _host_endpoint = _o->host_endpoint;
7827 return chre::fbs::CreateHostEndpointDisconnected(
7828 _fbb,
7829 _host_endpoint);
7830 }
7831
7832 inline MetricLogT *MetricLog::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7833 std::unique_ptr<chre::fbs::MetricLogT> _o = std::unique_ptr<chre::fbs::MetricLogT>(new MetricLogT());
7834 UnPackTo(_o.get(), _resolver);
7835 return _o.release();
7836 }
7837
7838 inline void MetricLog::UnPackTo(MetricLogT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7839 (void)_o;
7840 (void)_resolver;
7841 { auto _e = id(); _o->id = _e; }
7842 { 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); } } }
7843 }
7844
7845 inline flatbuffers::Offset<MetricLog> MetricLog::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MetricLogT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7846 return CreateMetricLog(_fbb, _o, _rehasher);
7847 }
7848
7849 inline flatbuffers::Offset<MetricLog> CreateMetricLog(flatbuffers::FlatBufferBuilder &_fbb, const MetricLogT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7850 (void)_rehasher;
7851 (void)_o;
7852 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MetricLogT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7853 auto _id = _o->id;
7854 auto _encoded_metric = _o->encoded_metric.size() ? _fbb.CreateVector(_o->encoded_metric) : 0;
7855 return chre::fbs::CreateMetricLog(
7856 _fbb,
7857 _id,
7858 _encoded_metric);
7859 }
7860
7861 inline BatchedMetricLogT *BatchedMetricLog::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7862 std::unique_ptr<chre::fbs::BatchedMetricLogT> _o = std::unique_ptr<chre::fbs::BatchedMetricLogT>(new BatchedMetricLogT());
7863 UnPackTo(_o.get(), _resolver);
7864 return _o.release();
7865 }
7866
7867 inline void BatchedMetricLog::UnPackTo(BatchedMetricLogT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7868 (void)_o;
7869 (void)_resolver;
7870 { 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)); } } }
7871 }
7872
7873 inline flatbuffers::Offset<BatchedMetricLog> BatchedMetricLog::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchedMetricLogT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7874 return CreateBatchedMetricLog(_fbb, _o, _rehasher);
7875 }
7876
7877 inline flatbuffers::Offset<BatchedMetricLog> CreateBatchedMetricLog(flatbuffers::FlatBufferBuilder &_fbb, const BatchedMetricLogT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7878 (void)_rehasher;
7879 (void)_o;
7880 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BatchedMetricLogT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7881 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;
7882 return chre::fbs::CreateBatchedMetricLog(
7883 _fbb,
7884 _metrics);
7885 }
7886
7887 inline NanConfigurationRequestT *NanConfigurationRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7888 std::unique_ptr<chre::fbs::NanConfigurationRequestT> _o = std::unique_ptr<chre::fbs::NanConfigurationRequestT>(new NanConfigurationRequestT());
7889 UnPackTo(_o.get(), _resolver);
7890 return _o.release();
7891 }
7892
7893 inline void NanConfigurationRequest::UnPackTo(NanConfigurationRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7894 (void)_o;
7895 (void)_resolver;
7896 { auto _e = enable(); _o->enable = _e; }
7897 }
7898
7899 inline flatbuffers::Offset<NanConfigurationRequest> NanConfigurationRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7900 return CreateNanConfigurationRequest(_fbb, _o, _rehasher);
7901 }
7902
7903 inline flatbuffers::Offset<NanConfigurationRequest> CreateNanConfigurationRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7904 (void)_rehasher;
7905 (void)_o;
7906 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanConfigurationRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7907 auto _enable = _o->enable;
7908 return chre::fbs::CreateNanConfigurationRequest(
7909 _fbb,
7910 _enable);
7911 }
7912
7913 inline NanConfigurationUpdateT *NanConfigurationUpdate::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7914 std::unique_ptr<chre::fbs::NanConfigurationUpdateT> _o = std::unique_ptr<chre::fbs::NanConfigurationUpdateT>(new NanConfigurationUpdateT());
7915 UnPackTo(_o.get(), _resolver);
7916 return _o.release();
7917 }
7918
7919 inline void NanConfigurationUpdate::UnPackTo(NanConfigurationUpdateT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7920 (void)_o;
7921 (void)_resolver;
7922 { auto _e = enabled(); _o->enabled = _e; }
7923 }
7924
7925 inline flatbuffers::Offset<NanConfigurationUpdate> NanConfigurationUpdate::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationUpdateT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7926 return CreateNanConfigurationUpdate(_fbb, _o, _rehasher);
7927 }
7928
7929 inline flatbuffers::Offset<NanConfigurationUpdate> CreateNanConfigurationUpdate(flatbuffers::FlatBufferBuilder &_fbb, const NanConfigurationUpdateT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7930 (void)_rehasher;
7931 (void)_o;
7932 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NanConfigurationUpdateT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7933 auto _enabled = _o->enabled;
7934 return chre::fbs::CreateNanConfigurationUpdate(
7935 _fbb,
7936 _enabled);
7937 }
7938
7939 inline DebugConfigurationT *DebugConfiguration::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7940 std::unique_ptr<chre::fbs::DebugConfigurationT> _o = std::unique_ptr<chre::fbs::DebugConfigurationT>(new DebugConfigurationT());
7941 UnPackTo(_o.get(), _resolver);
7942 return _o.release();
7943 }
7944
7945 inline void DebugConfiguration::UnPackTo(DebugConfigurationT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7946 (void)_o;
7947 (void)_resolver;
7948 { auto _e = health_monitor_failure_crash(); _o->health_monitor_failure_crash = _e; }
7949 }
7950
7951 inline flatbuffers::Offset<DebugConfiguration> DebugConfiguration::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugConfigurationT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7952 return CreateDebugConfiguration(_fbb, _o, _rehasher);
7953 }
7954
7955 inline flatbuffers::Offset<DebugConfiguration> CreateDebugConfiguration(flatbuffers::FlatBufferBuilder &_fbb, const DebugConfigurationT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7956 (void)_rehasher;
7957 (void)_o;
7958 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DebugConfigurationT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7959 auto _health_monitor_failure_crash = _o->health_monitor_failure_crash;
7960 return chre::fbs::CreateDebugConfiguration(
7961 _fbb,
7962 _health_monitor_failure_crash);
7963 }
7964
7965 inline PulseRequestT *PulseRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7966 std::unique_ptr<chre::fbs::PulseRequestT> _o = std::unique_ptr<chre::fbs::PulseRequestT>(new PulseRequestT());
7967 UnPackTo(_o.get(), _resolver);
7968 return _o.release();
7969 }
7970
7971 inline void PulseRequest::UnPackTo(PulseRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7972 (void)_o;
7973 (void)_resolver;
7974 }
7975
7976 inline flatbuffers::Offset<PulseRequest> PulseRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const PulseRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
7977 return CreatePulseRequest(_fbb, _o, _rehasher);
7978 }
7979
7980 inline flatbuffers::Offset<PulseRequest> CreatePulseRequest(flatbuffers::FlatBufferBuilder &_fbb, const PulseRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
7981 (void)_rehasher;
7982 (void)_o;
7983 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const PulseRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
7984 return chre::fbs::CreatePulseRequest(
7985 _fbb);
7986 }
7987
7988 inline PulseResponseT *PulseResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
7989 std::unique_ptr<chre::fbs::PulseResponseT> _o = std::unique_ptr<chre::fbs::PulseResponseT>(new PulseResponseT());
7990 UnPackTo(_o.get(), _resolver);
7991 return _o.release();
7992 }
7993
7994 inline void PulseResponse::UnPackTo(PulseResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
7995 (void)_o;
7996 (void)_resolver;
7997 }
7998
7999 inline flatbuffers::Offset<PulseResponse> PulseResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const PulseResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8000 return CreatePulseResponse(_fbb, _o, _rehasher);
8001 }
8002
8003 inline flatbuffers::Offset<PulseResponse> CreatePulseResponse(flatbuffers::FlatBufferBuilder &_fbb, const PulseResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8004 (void)_rehasher;
8005 (void)_o;
8006 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const PulseResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8007 return chre::fbs::CreatePulseResponse(
8008 _fbb);
8009 }
8010
8011 inline LeCocChannelInfoT *LeCocChannelInfo::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8012 std::unique_ptr<chre::fbs::LeCocChannelInfoT> _o = std::unique_ptr<chre::fbs::LeCocChannelInfoT>(new LeCocChannelInfoT());
8013 UnPackTo(_o.get(), _resolver);
8014 return _o.release();
8015 }
8016
8017 inline void LeCocChannelInfo::UnPackTo(LeCocChannelInfoT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8018 (void)_o;
8019 (void)_resolver;
8020 { auto _e = localCid(); _o->localCid = _e; }
8021 { auto _e = remoteCid(); _o->remoteCid = _e; }
8022 { auto _e = psm(); _o->psm = _e; }
8023 { auto _e = localMtu(); _o->localMtu = _e; }
8024 { auto _e = remoteMtu(); _o->remoteMtu = _e; }
8025 { auto _e = localMps(); _o->localMps = _e; }
8026 { auto _e = remoteMps(); _o->remoteMps = _e; }
8027 { auto _e = initialRxCredits(); _o->initialRxCredits = _e; }
8028 { auto _e = initialTxCredits(); _o->initialTxCredits = _e; }
8029 }
8030
8031 inline flatbuffers::Offset<LeCocChannelInfo> LeCocChannelInfo::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LeCocChannelInfoT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8032 return CreateLeCocChannelInfo(_fbb, _o, _rehasher);
8033 }
8034
8035 inline flatbuffers::Offset<LeCocChannelInfo> CreateLeCocChannelInfo(flatbuffers::FlatBufferBuilder &_fbb, const LeCocChannelInfoT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8036 (void)_rehasher;
8037 (void)_o;
8038 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LeCocChannelInfoT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8039 auto _localCid = _o->localCid;
8040 auto _remoteCid = _o->remoteCid;
8041 auto _psm = _o->psm;
8042 auto _localMtu = _o->localMtu;
8043 auto _remoteMtu = _o->remoteMtu;
8044 auto _localMps = _o->localMps;
8045 auto _remoteMps = _o->remoteMps;
8046 auto _initialRxCredits = _o->initialRxCredits;
8047 auto _initialTxCredits = _o->initialTxCredits;
8048 return chre::fbs::CreateLeCocChannelInfo(
8049 _fbb,
8050 _localCid,
8051 _remoteCid,
8052 _psm,
8053 _localMtu,
8054 _remoteMtu,
8055 _localMps,
8056 _remoteMps,
8057 _initialRxCredits,
8058 _initialTxCredits);
8059 }
8060
8061 inline BtSocketOpenT *BtSocketOpen::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8062 std::unique_ptr<chre::fbs::BtSocketOpenT> _o = std::unique_ptr<chre::fbs::BtSocketOpenT>(new BtSocketOpenT());
8063 UnPackTo(_o.get(), _resolver);
8064 return _o.release();
8065 }
8066
8067 inline void BtSocketOpen::UnPackTo(BtSocketOpenT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8068 (void)_o;
8069 (void)_resolver;
8070 { auto _e = socketId(); _o->socketId = _e; }
8071 { 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); } } }
8072 { auto _e = aclConnectionHandle(); _o->aclConnectionHandle = _e; }
8073 { auto _e = channelInfo_type(); _o->channelInfo.type = _e; }
8074 { auto _e = channelInfo(); if (_e) _o->channelInfo.value = chre::fbs::ChannelInfoUnion::UnPack(_e, channelInfo_type(), _resolver); }
8075 { auto _e = hubId(); _o->hubId = _e; }
8076 { auto _e = endpointId(); _o->endpointId = _e; }
8077 }
8078
8079 inline flatbuffers::Offset<BtSocketOpen> BtSocketOpen::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketOpenT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8080 return CreateBtSocketOpen(_fbb, _o, _rehasher);
8081 }
8082
8083 inline flatbuffers::Offset<BtSocketOpen> CreateBtSocketOpen(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketOpenT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8084 (void)_rehasher;
8085 (void)_o;
8086 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BtSocketOpenT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8087 auto _socketId = _o->socketId;
8088 auto _name = _o->name.size() ? _fbb.CreateVector(_o->name) : 0;
8089 auto _aclConnectionHandle = _o->aclConnectionHandle;
8090 auto _channelInfo_type = _o->channelInfo.type;
8091 auto _channelInfo = _o->channelInfo.Pack(_fbb);
8092 auto _hubId = _o->hubId;
8093 auto _endpointId = _o->endpointId;
8094 return chre::fbs::CreateBtSocketOpen(
8095 _fbb,
8096 _socketId,
8097 _name,
8098 _aclConnectionHandle,
8099 _channelInfo_type,
8100 _channelInfo,
8101 _hubId,
8102 _endpointId);
8103 }
8104
8105 inline BtSocketOpenResponseT *BtSocketOpenResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8106 std::unique_ptr<chre::fbs::BtSocketOpenResponseT> _o = std::unique_ptr<chre::fbs::BtSocketOpenResponseT>(new BtSocketOpenResponseT());
8107 UnPackTo(_o.get(), _resolver);
8108 return _o.release();
8109 }
8110
8111 inline void BtSocketOpenResponse::UnPackTo(BtSocketOpenResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8112 (void)_o;
8113 (void)_resolver;
8114 { auto _e = socketId(); _o->socketId = _e; }
8115 { auto _e = status(); _o->status = _e; }
8116 { auto _e = reason(); if (_e) { _o->reason.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->reason[_i] = _e->Get(_i); } } }
8117 }
8118
8119 inline flatbuffers::Offset<BtSocketOpenResponse> BtSocketOpenResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketOpenResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8120 return CreateBtSocketOpenResponse(_fbb, _o, _rehasher);
8121 }
8122
8123 inline flatbuffers::Offset<BtSocketOpenResponse> CreateBtSocketOpenResponse(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketOpenResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8124 (void)_rehasher;
8125 (void)_o;
8126 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BtSocketOpenResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8127 auto _socketId = _o->socketId;
8128 auto _status = _o->status;
8129 auto _reason = _o->reason.size() ? _fbb.CreateVector(_o->reason) : 0;
8130 return chre::fbs::CreateBtSocketOpenResponse(
8131 _fbb,
8132 _socketId,
8133 _status,
8134 _reason);
8135 }
8136
8137 inline BtSocketCloseT *BtSocketClose::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8138 std::unique_ptr<chre::fbs::BtSocketCloseT> _o = std::unique_ptr<chre::fbs::BtSocketCloseT>(new BtSocketCloseT());
8139 UnPackTo(_o.get(), _resolver);
8140 return _o.release();
8141 }
8142
8143 inline void BtSocketClose::UnPackTo(BtSocketCloseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8144 (void)_o;
8145 (void)_resolver;
8146 { auto _e = socketId(); _o->socketId = _e; }
8147 { auto _e = reason(); if (_e) { _o->reason.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->reason[_i] = _e->Get(_i); } } }
8148 }
8149
8150 inline flatbuffers::Offset<BtSocketClose> BtSocketClose::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketCloseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8151 return CreateBtSocketClose(_fbb, _o, _rehasher);
8152 }
8153
8154 inline flatbuffers::Offset<BtSocketClose> CreateBtSocketClose(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketCloseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8155 (void)_rehasher;
8156 (void)_o;
8157 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BtSocketCloseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8158 auto _socketId = _o->socketId;
8159 auto _reason = _o->reason.size() ? _fbb.CreateVector(_o->reason) : 0;
8160 return chre::fbs::CreateBtSocketClose(
8161 _fbb,
8162 _socketId,
8163 _reason);
8164 }
8165
8166 inline BtSocketCloseResponseT *BtSocketCloseResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8167 std::unique_ptr<chre::fbs::BtSocketCloseResponseT> _o = std::unique_ptr<chre::fbs::BtSocketCloseResponseT>(new BtSocketCloseResponseT());
8168 UnPackTo(_o.get(), _resolver);
8169 return _o.release();
8170 }
8171
8172 inline void BtSocketCloseResponse::UnPackTo(BtSocketCloseResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8173 (void)_o;
8174 (void)_resolver;
8175 { auto _e = socketId(); _o->socketId = _e; }
8176 }
8177
8178 inline flatbuffers::Offset<BtSocketCloseResponse> BtSocketCloseResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketCloseResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8179 return CreateBtSocketCloseResponse(_fbb, _o, _rehasher);
8180 }
8181
8182 inline flatbuffers::Offset<BtSocketCloseResponse> CreateBtSocketCloseResponse(flatbuffers::FlatBufferBuilder &_fbb, const BtSocketCloseResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8183 (void)_rehasher;
8184 (void)_o;
8185 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BtSocketCloseResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8186 auto _socketId = _o->socketId;
8187 return chre::fbs::CreateBtSocketCloseResponse(
8188 _fbb,
8189 _socketId);
8190 }
8191
8192 inline VendorHubInfoT *VendorHubInfo::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8193 std::unique_ptr<chre::fbs::VendorHubInfoT> _o = std::unique_ptr<chre::fbs::VendorHubInfoT>(new VendorHubInfoT());
8194 UnPackTo(_o.get(), _resolver);
8195 return _o.release();
8196 }
8197
8198 inline void VendorHubInfo::UnPackTo(VendorHubInfoT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8199 (void)_o;
8200 (void)_resolver;
8201 { 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); } } }
8202 { auto _e = version(); _o->version = _e; }
8203 { auto _e = extended_info(); if (_e) { _o->extended_info.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->extended_info[_i] = _e->Get(_i); } } }
8204 }
8205
8206 inline flatbuffers::Offset<VendorHubInfo> VendorHubInfo::Pack(flatbuffers::FlatBufferBuilder &_fbb, const VendorHubInfoT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8207 return CreateVendorHubInfo(_fbb, _o, _rehasher);
8208 }
8209
8210 inline flatbuffers::Offset<VendorHubInfo> CreateVendorHubInfo(flatbuffers::FlatBufferBuilder &_fbb, const VendorHubInfoT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8211 (void)_rehasher;
8212 (void)_o;
8213 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const VendorHubInfoT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8214 auto _name = _o->name.size() ? _fbb.CreateVector(_o->name) : 0;
8215 auto _version = _o->version;
8216 auto _extended_info = _o->extended_info.size() ? _fbb.CreateVector(_o->extended_info) : 0;
8217 return chre::fbs::CreateVendorHubInfo(
8218 _fbb,
8219 _name,
8220 _version,
8221 _extended_info);
8222 }
8223
8224 inline MessageHubT *MessageHub::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8225 std::unique_ptr<chre::fbs::MessageHubT> _o = std::unique_ptr<chre::fbs::MessageHubT>(new MessageHubT());
8226 UnPackTo(_o.get(), _resolver);
8227 return _o.release();
8228 }
8229
8230 inline void MessageHub::UnPackTo(MessageHubT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8231 (void)_o;
8232 (void)_resolver;
8233 { auto _e = id(); _o->id = _e; }
8234 { auto _e = details_type(); _o->details.type = _e; }
8235 { auto _e = details(); if (_e) _o->details.value = chre::fbs::MessageHubDetailsUnion::UnPack(_e, details_type(), _resolver); }
8236 }
8237
8238 inline flatbuffers::Offset<MessageHub> MessageHub::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageHubT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8239 return CreateMessageHub(_fbb, _o, _rehasher);
8240 }
8241
8242 inline flatbuffers::Offset<MessageHub> CreateMessageHub(flatbuffers::FlatBufferBuilder &_fbb, const MessageHubT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8243 (void)_rehasher;
8244 (void)_o;
8245 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MessageHubT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8246 auto _id = _o->id;
8247 auto _details_type = _o->details.type;
8248 auto _details = _o->details.Pack(_fbb);
8249 return chre::fbs::CreateMessageHub(
8250 _fbb,
8251 _id,
8252 _details_type,
8253 _details);
8254 }
8255
8256 inline RegisterMessageHubT *RegisterMessageHub::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8257 std::unique_ptr<chre::fbs::RegisterMessageHubT> _o = std::unique_ptr<chre::fbs::RegisterMessageHubT>(new RegisterMessageHubT());
8258 UnPackTo(_o.get(), _resolver);
8259 return _o.release();
8260 }
8261
8262 inline void RegisterMessageHub::UnPackTo(RegisterMessageHubT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8263 (void)_o;
8264 (void)_resolver;
8265 { auto _e = hub(); if (_e) _o->hub = std::unique_ptr<chre::fbs::MessageHubT>(_e->UnPack(_resolver)); }
8266 }
8267
8268 inline flatbuffers::Offset<RegisterMessageHub> RegisterMessageHub::Pack(flatbuffers::FlatBufferBuilder &_fbb, const RegisterMessageHubT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8269 return CreateRegisterMessageHub(_fbb, _o, _rehasher);
8270 }
8271
8272 inline flatbuffers::Offset<RegisterMessageHub> CreateRegisterMessageHub(flatbuffers::FlatBufferBuilder &_fbb, const RegisterMessageHubT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8273 (void)_rehasher;
8274 (void)_o;
8275 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const RegisterMessageHubT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8276 auto _hub = _o->hub ? CreateMessageHub(_fbb, _o->hub.get(), _rehasher) : 0;
8277 return chre::fbs::CreateRegisterMessageHub(
8278 _fbb,
8279 _hub);
8280 }
8281
8282 inline UnregisterMessageHubT *UnregisterMessageHub::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8283 std::unique_ptr<chre::fbs::UnregisterMessageHubT> _o = std::unique_ptr<chre::fbs::UnregisterMessageHubT>(new UnregisterMessageHubT());
8284 UnPackTo(_o.get(), _resolver);
8285 return _o.release();
8286 }
8287
8288 inline void UnregisterMessageHub::UnPackTo(UnregisterMessageHubT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8289 (void)_o;
8290 (void)_resolver;
8291 { auto _e = id(); _o->id = _e; }
8292 }
8293
8294 inline flatbuffers::Offset<UnregisterMessageHub> UnregisterMessageHub::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnregisterMessageHubT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8295 return CreateUnregisterMessageHub(_fbb, _o, _rehasher);
8296 }
8297
8298 inline flatbuffers::Offset<UnregisterMessageHub> CreateUnregisterMessageHub(flatbuffers::FlatBufferBuilder &_fbb, const UnregisterMessageHubT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8299 (void)_rehasher;
8300 (void)_o;
8301 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const UnregisterMessageHubT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8302 auto _id = _o->id;
8303 return chre::fbs::CreateUnregisterMessageHub(
8304 _fbb,
8305 _id);
8306 }
8307
8308 inline EndpointIdT *EndpointId::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8309 std::unique_ptr<chre::fbs::EndpointIdT> _o = std::unique_ptr<chre::fbs::EndpointIdT>(new EndpointIdT());
8310 UnPackTo(_o.get(), _resolver);
8311 return _o.release();
8312 }
8313
8314 inline void EndpointId::UnPackTo(EndpointIdT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8315 (void)_o;
8316 (void)_resolver;
8317 { auto _e = hubId(); _o->hubId = _e; }
8318 { auto _e = id(); _o->id = _e; }
8319 }
8320
8321 inline flatbuffers::Offset<EndpointId> EndpointId::Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointIdT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8322 return CreateEndpointId(_fbb, _o, _rehasher);
8323 }
8324
8325 inline flatbuffers::Offset<EndpointId> CreateEndpointId(flatbuffers::FlatBufferBuilder &_fbb, const EndpointIdT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8326 (void)_rehasher;
8327 (void)_o;
8328 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const EndpointIdT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8329 auto _hubId = _o->hubId;
8330 auto _id = _o->id;
8331 return chre::fbs::CreateEndpointId(
8332 _fbb,
8333 _hubId,
8334 _id);
8335 }
8336
8337 inline ServiceT *Service::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8338 std::unique_ptr<chre::fbs::ServiceT> _o = std::unique_ptr<chre::fbs::ServiceT>(new ServiceT());
8339 UnPackTo(_o.get(), _resolver);
8340 return _o.release();
8341 }
8342
8343 inline void Service::UnPackTo(ServiceT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8344 (void)_o;
8345 (void)_resolver;
8346 { auto _e = format(); _o->format = _e; }
8347 { auto _e = descriptor(); if (_e) { _o->descriptor.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->descriptor[_i] = _e->Get(_i); } } }
8348 { auto _e = major_version(); _o->major_version = _e; }
8349 { auto _e = minor_version(); _o->minor_version = _e; }
8350 }
8351
8352 inline flatbuffers::Offset<Service> Service::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ServiceT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8353 return CreateService(_fbb, _o, _rehasher);
8354 }
8355
8356 inline flatbuffers::Offset<Service> CreateService(flatbuffers::FlatBufferBuilder &_fbb, const ServiceT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8357 (void)_rehasher;
8358 (void)_o;
8359 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ServiceT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8360 auto _format = _o->format;
8361 auto _descriptor = _o->descriptor.size() ? _fbb.CreateVector(_o->descriptor) : 0;
8362 auto _major_version = _o->major_version;
8363 auto _minor_version = _o->minor_version;
8364 return chre::fbs::CreateService(
8365 _fbb,
8366 _format,
8367 _descriptor,
8368 _major_version,
8369 _minor_version);
8370 }
8371
8372 inline EndpointInfoT *EndpointInfo::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8373 std::unique_ptr<chre::fbs::EndpointInfoT> _o = std::unique_ptr<chre::fbs::EndpointInfoT>(new EndpointInfoT());
8374 UnPackTo(_o.get(), _resolver);
8375 return _o.release();
8376 }
8377
8378 inline void EndpointInfo::UnPackTo(EndpointInfoT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8379 (void)_o;
8380 (void)_resolver;
8381 { auto _e = id(); if (_e) _o->id = std::unique_ptr<chre::fbs::EndpointIdT>(_e->UnPack(_resolver)); }
8382 { auto _e = type(); _o->type = _e; }
8383 { 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); } } }
8384 { auto _e = version(); _o->version = _e; }
8385 { auto _e = required_permissions(); _o->required_permissions = _e; }
8386 { auto _e = services(); if (_e) { _o->services.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->services[_i] = std::unique_ptr<chre::fbs::ServiceT>(_e->Get(_i)->UnPack(_resolver)); } } }
8387 }
8388
8389 inline flatbuffers::Offset<EndpointInfo> EndpointInfo::Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointInfoT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8390 return CreateEndpointInfo(_fbb, _o, _rehasher);
8391 }
8392
8393 inline flatbuffers::Offset<EndpointInfo> CreateEndpointInfo(flatbuffers::FlatBufferBuilder &_fbb, const EndpointInfoT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8394 (void)_rehasher;
8395 (void)_o;
8396 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const EndpointInfoT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8397 auto _id = _o->id ? CreateEndpointId(_fbb, _o->id.get(), _rehasher) : 0;
8398 auto _type = _o->type;
8399 auto _name = _o->name.size() ? _fbb.CreateVector(_o->name) : 0;
8400 auto _version = _o->version;
8401 auto _required_permissions = _o->required_permissions;
8402 auto _services = _o->services.size() ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::Service>> (_o->services.size(), [](size_t i, _VectorArgs *__va) { return CreateService(*__va->__fbb, __va->__o->services[i].get(), __va->__rehasher); }, &_va ) : 0;
8403 return chre::fbs::CreateEndpointInfo(
8404 _fbb,
8405 _id,
8406 _type,
8407 _name,
8408 _version,
8409 _required_permissions,
8410 _services);
8411 }
8412
8413 inline RegisterEndpointT *RegisterEndpoint::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8414 std::unique_ptr<chre::fbs::RegisterEndpointT> _o = std::unique_ptr<chre::fbs::RegisterEndpointT>(new RegisterEndpointT());
8415 UnPackTo(_o.get(), _resolver);
8416 return _o.release();
8417 }
8418
8419 inline void RegisterEndpoint::UnPackTo(RegisterEndpointT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8420 (void)_o;
8421 (void)_resolver;
8422 { auto _e = endpoint(); if (_e) _o->endpoint = std::unique_ptr<chre::fbs::EndpointInfoT>(_e->UnPack(_resolver)); }
8423 }
8424
8425 inline flatbuffers::Offset<RegisterEndpoint> RegisterEndpoint::Pack(flatbuffers::FlatBufferBuilder &_fbb, const RegisterEndpointT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8426 return CreateRegisterEndpoint(_fbb, _o, _rehasher);
8427 }
8428
8429 inline flatbuffers::Offset<RegisterEndpoint> CreateRegisterEndpoint(flatbuffers::FlatBufferBuilder &_fbb, const RegisterEndpointT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8430 (void)_rehasher;
8431 (void)_o;
8432 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const RegisterEndpointT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8433 auto _endpoint = _o->endpoint ? CreateEndpointInfo(_fbb, _o->endpoint.get(), _rehasher) : 0;
8434 return chre::fbs::CreateRegisterEndpoint(
8435 _fbb,
8436 _endpoint);
8437 }
8438
8439 inline UnregisterEndpointT *UnregisterEndpoint::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8440 std::unique_ptr<chre::fbs::UnregisterEndpointT> _o = std::unique_ptr<chre::fbs::UnregisterEndpointT>(new UnregisterEndpointT());
8441 UnPackTo(_o.get(), _resolver);
8442 return _o.release();
8443 }
8444
8445 inline void UnregisterEndpoint::UnPackTo(UnregisterEndpointT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8446 (void)_o;
8447 (void)_resolver;
8448 { auto _e = endpoint(); if (_e) _o->endpoint = std::unique_ptr<chre::fbs::EndpointIdT>(_e->UnPack(_resolver)); }
8449 }
8450
8451 inline flatbuffers::Offset<UnregisterEndpoint> UnregisterEndpoint::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnregisterEndpointT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8452 return CreateUnregisterEndpoint(_fbb, _o, _rehasher);
8453 }
8454
8455 inline flatbuffers::Offset<UnregisterEndpoint> CreateUnregisterEndpoint(flatbuffers::FlatBufferBuilder &_fbb, const UnregisterEndpointT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8456 (void)_rehasher;
8457 (void)_o;
8458 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const UnregisterEndpointT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8459 auto _endpoint = _o->endpoint ? CreateEndpointId(_fbb, _o->endpoint.get(), _rehasher) : 0;
8460 return chre::fbs::CreateUnregisterEndpoint(
8461 _fbb,
8462 _endpoint);
8463 }
8464
8465 inline GetMessageHubsAndEndpointsRequestT *GetMessageHubsAndEndpointsRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8466 std::unique_ptr<chre::fbs::GetMessageHubsAndEndpointsRequestT> _o = std::unique_ptr<chre::fbs::GetMessageHubsAndEndpointsRequestT>(new GetMessageHubsAndEndpointsRequestT());
8467 UnPackTo(_o.get(), _resolver);
8468 return _o.release();
8469 }
8470
8471 inline void GetMessageHubsAndEndpointsRequest::UnPackTo(GetMessageHubsAndEndpointsRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8472 (void)_o;
8473 (void)_resolver;
8474 }
8475
8476 inline flatbuffers::Offset<GetMessageHubsAndEndpointsRequest> GetMessageHubsAndEndpointsRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const GetMessageHubsAndEndpointsRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8477 return CreateGetMessageHubsAndEndpointsRequest(_fbb, _o, _rehasher);
8478 }
8479
8480 inline flatbuffers::Offset<GetMessageHubsAndEndpointsRequest> CreateGetMessageHubsAndEndpointsRequest(flatbuffers::FlatBufferBuilder &_fbb, const GetMessageHubsAndEndpointsRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8481 (void)_rehasher;
8482 (void)_o;
8483 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const GetMessageHubsAndEndpointsRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8484 return chre::fbs::CreateGetMessageHubsAndEndpointsRequest(
8485 _fbb);
8486 }
8487
8488 inline GetMessageHubsAndEndpointsResponseT *GetMessageHubsAndEndpointsResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8489 std::unique_ptr<chre::fbs::GetMessageHubsAndEndpointsResponseT> _o = std::unique_ptr<chre::fbs::GetMessageHubsAndEndpointsResponseT>(new GetMessageHubsAndEndpointsResponseT());
8490 UnPackTo(_o.get(), _resolver);
8491 return _o.release();
8492 }
8493
8494 inline void GetMessageHubsAndEndpointsResponse::UnPackTo(GetMessageHubsAndEndpointsResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8495 (void)_o;
8496 (void)_resolver;
8497 { auto _e = hubs(); if (_e) { _o->hubs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->hubs[_i] = std::unique_ptr<chre::fbs::MessageHubT>(_e->Get(_i)->UnPack(_resolver)); } } }
8498 { auto _e = endpoints(); if (_e) { _o->endpoints.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->endpoints[_i] = std::unique_ptr<chre::fbs::EndpointInfoT>(_e->Get(_i)->UnPack(_resolver)); } } }
8499 }
8500
8501 inline flatbuffers::Offset<GetMessageHubsAndEndpointsResponse> GetMessageHubsAndEndpointsResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const GetMessageHubsAndEndpointsResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8502 return CreateGetMessageHubsAndEndpointsResponse(_fbb, _o, _rehasher);
8503 }
8504
8505 inline flatbuffers::Offset<GetMessageHubsAndEndpointsResponse> CreateGetMessageHubsAndEndpointsResponse(flatbuffers::FlatBufferBuilder &_fbb, const GetMessageHubsAndEndpointsResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8506 (void)_rehasher;
8507 (void)_o;
8508 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const GetMessageHubsAndEndpointsResponseT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8509 auto _hubs = _o->hubs.size() ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::MessageHub>> (_o->hubs.size(), [](size_t i, _VectorArgs *__va) { return CreateMessageHub(*__va->__fbb, __va->__o->hubs[i].get(), __va->__rehasher); }, &_va ) : 0;
8510 auto _endpoints = _o->endpoints.size() ? _fbb.CreateVector<flatbuffers::Offset<chre::fbs::EndpointInfo>> (_o->endpoints.size(), [](size_t i, _VectorArgs *__va) { return CreateEndpointInfo(*__va->__fbb, __va->__o->endpoints[i].get(), __va->__rehasher); }, &_va ) : 0;
8511 return chre::fbs::CreateGetMessageHubsAndEndpointsResponse(
8512 _fbb,
8513 _hubs,
8514 _endpoints);
8515 }
8516
8517 inline OpenEndpointSessionRequestT *OpenEndpointSessionRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8518 std::unique_ptr<chre::fbs::OpenEndpointSessionRequestT> _o = std::unique_ptr<chre::fbs::OpenEndpointSessionRequestT>(new OpenEndpointSessionRequestT());
8519 UnPackTo(_o.get(), _resolver);
8520 return _o.release();
8521 }
8522
8523 inline void OpenEndpointSessionRequest::UnPackTo(OpenEndpointSessionRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8524 (void)_o;
8525 (void)_resolver;
8526 { auto _e = id(); _o->id = _e; }
8527 { auto _e = fromEndpoint(); if (_e) _o->fromEndpoint = std::unique_ptr<chre::fbs::EndpointIdT>(_e->UnPack(_resolver)); }
8528 { auto _e = toEndpoint(); if (_e) _o->toEndpoint = std::unique_ptr<chre::fbs::EndpointIdT>(_e->UnPack(_resolver)); }
8529 { auto _e = serviceDescriptor(); if (_e) { _o->serviceDescriptor.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->serviceDescriptor[_i] = _e->Get(_i); } } }
8530 }
8531
8532 inline flatbuffers::Offset<OpenEndpointSessionRequest> OpenEndpointSessionRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const OpenEndpointSessionRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8533 return CreateOpenEndpointSessionRequest(_fbb, _o, _rehasher);
8534 }
8535
8536 inline flatbuffers::Offset<OpenEndpointSessionRequest> CreateOpenEndpointSessionRequest(flatbuffers::FlatBufferBuilder &_fbb, const OpenEndpointSessionRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8537 (void)_rehasher;
8538 (void)_o;
8539 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const OpenEndpointSessionRequestT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8540 auto _id = _o->id;
8541 auto _fromEndpoint = _o->fromEndpoint ? CreateEndpointId(_fbb, _o->fromEndpoint.get(), _rehasher) : 0;
8542 auto _toEndpoint = _o->toEndpoint ? CreateEndpointId(_fbb, _o->toEndpoint.get(), _rehasher) : 0;
8543 auto _serviceDescriptor = _o->serviceDescriptor.size() ? _fbb.CreateVector(_o->serviceDescriptor) : 0;
8544 return chre::fbs::CreateOpenEndpointSessionRequest(
8545 _fbb,
8546 _id,
8547 _fromEndpoint,
8548 _toEndpoint,
8549 _serviceDescriptor);
8550 }
8551
8552 inline EndpointSessionOpenedT *EndpointSessionOpened::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8553 std::unique_ptr<chre::fbs::EndpointSessionOpenedT> _o = std::unique_ptr<chre::fbs::EndpointSessionOpenedT>(new EndpointSessionOpenedT());
8554 UnPackTo(_o.get(), _resolver);
8555 return _o.release();
8556 }
8557
8558 inline void EndpointSessionOpened::UnPackTo(EndpointSessionOpenedT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8559 (void)_o;
8560 (void)_resolver;
8561 { auto _e = id(); _o->id = _e; }
8562 }
8563
8564 inline flatbuffers::Offset<EndpointSessionOpened> EndpointSessionOpened::Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionOpenedT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8565 return CreateEndpointSessionOpened(_fbb, _o, _rehasher);
8566 }
8567
8568 inline flatbuffers::Offset<EndpointSessionOpened> CreateEndpointSessionOpened(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionOpenedT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8569 (void)_rehasher;
8570 (void)_o;
8571 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const EndpointSessionOpenedT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8572 auto _id = _o->id;
8573 return chre::fbs::CreateEndpointSessionOpened(
8574 _fbb,
8575 _id);
8576 }
8577
8578 inline EndpointSessionClosedT *EndpointSessionClosed::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8579 std::unique_ptr<chre::fbs::EndpointSessionClosedT> _o = std::unique_ptr<chre::fbs::EndpointSessionClosedT>(new EndpointSessionClosedT());
8580 UnPackTo(_o.get(), _resolver);
8581 return _o.release();
8582 }
8583
8584 inline void EndpointSessionClosed::UnPackTo(EndpointSessionClosedT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8585 (void)_o;
8586 (void)_resolver;
8587 { auto _e = id(); _o->id = _e; }
8588 { auto _e = reason(); _o->reason = _e; }
8589 }
8590
8591 inline flatbuffers::Offset<EndpointSessionClosed> EndpointSessionClosed::Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionClosedT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8592 return CreateEndpointSessionClosed(_fbb, _o, _rehasher);
8593 }
8594
8595 inline flatbuffers::Offset<EndpointSessionClosed> CreateEndpointSessionClosed(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionClosedT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8596 (void)_rehasher;
8597 (void)_o;
8598 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const EndpointSessionClosedT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8599 auto _id = _o->id;
8600 auto _reason = _o->reason;
8601 return chre::fbs::CreateEndpointSessionClosed(
8602 _fbb,
8603 _id,
8604 _reason);
8605 }
8606
8607 inline EndpointSessionMessageT *EndpointSessionMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8608 std::unique_ptr<chre::fbs::EndpointSessionMessageT> _o = std::unique_ptr<chre::fbs::EndpointSessionMessageT>(new EndpointSessionMessageT());
8609 UnPackTo(_o.get(), _resolver);
8610 return _o.release();
8611 }
8612
8613 inline void EndpointSessionMessage::UnPackTo(EndpointSessionMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8614 (void)_o;
8615 (void)_resolver;
8616 { auto _e = session_id(); _o->session_id = _e; }
8617 { auto _e = type(); _o->type = _e; }
8618 { auto _e = permissions(); _o->permissions = _e; }
8619 { auto _e = data(); if (_e) { _o->data.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->data[_i] = _e->Get(_i); } } }
8620 { auto _e = flags(); _o->flags = _e; }
8621 { auto _e = sequence_number(); _o->sequence_number = _e; }
8622 }
8623
8624 inline flatbuffers::Offset<EndpointSessionMessage> EndpointSessionMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8625 return CreateEndpointSessionMessage(_fbb, _o, _rehasher);
8626 }
8627
8628 inline flatbuffers::Offset<EndpointSessionMessage> CreateEndpointSessionMessage(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8629 (void)_rehasher;
8630 (void)_o;
8631 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const EndpointSessionMessageT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8632 auto _session_id = _o->session_id;
8633 auto _type = _o->type;
8634 auto _permissions = _o->permissions;
8635 auto _data = _o->data.size() ? _fbb.CreateVector(_o->data) : 0;
8636 auto _flags = _o->flags;
8637 auto _sequence_number = _o->sequence_number;
8638 return chre::fbs::CreateEndpointSessionMessage(
8639 _fbb,
8640 _session_id,
8641 _type,
8642 _permissions,
8643 _data,
8644 _flags,
8645 _sequence_number);
8646 }
8647
8648 inline EndpointSessionMessageDeliveryStatusT *EndpointSessionMessageDeliveryStatus::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8649 std::unique_ptr<chre::fbs::EndpointSessionMessageDeliveryStatusT> _o = std::unique_ptr<chre::fbs::EndpointSessionMessageDeliveryStatusT>(new EndpointSessionMessageDeliveryStatusT());
8650 UnPackTo(_o.get(), _resolver);
8651 return _o.release();
8652 }
8653
8654 inline void EndpointSessionMessageDeliveryStatus::UnPackTo(EndpointSessionMessageDeliveryStatusT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8655 (void)_o;
8656 (void)_resolver;
8657 { auto _e = session_id(); _o->session_id = _e; }
8658 { auto _e = status(); if (_e) _o->status = std::unique_ptr<chre::fbs::MessageDeliveryStatusT>(_e->UnPack(_resolver)); }
8659 }
8660
8661 inline flatbuffers::Offset<EndpointSessionMessageDeliveryStatus> EndpointSessionMessageDeliveryStatus::Pack(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionMessageDeliveryStatusT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8662 return CreateEndpointSessionMessageDeliveryStatus(_fbb, _o, _rehasher);
8663 }
8664
8665 inline flatbuffers::Offset<EndpointSessionMessageDeliveryStatus> CreateEndpointSessionMessageDeliveryStatus(flatbuffers::FlatBufferBuilder &_fbb, const EndpointSessionMessageDeliveryStatusT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8666 (void)_rehasher;
8667 (void)_o;
8668 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const EndpointSessionMessageDeliveryStatusT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8669 auto _session_id = _o->session_id;
8670 auto _status = _o->status ? CreateMessageDeliveryStatus(_fbb, _o->status.get(), _rehasher) : 0;
8671 return chre::fbs::CreateEndpointSessionMessageDeliveryStatus(
8672 _fbb,
8673 _session_id,
8674 _status);
8675 }
8676
8677 inline MessageContainerT *MessageContainer::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
8678 std::unique_ptr<chre::fbs::MessageContainerT> _o = std::unique_ptr<chre::fbs::MessageContainerT>(new MessageContainerT());
8679 UnPackTo(_o.get(), _resolver);
8680 return _o.release();
8681 }
8682
8683 inline void MessageContainer::UnPackTo(MessageContainerT *_o, const flatbuffers::resolver_function_t *_resolver) const {
8684 (void)_o;
8685 (void)_resolver;
8686 { auto _e = message_type(); _o->message.type = _e; }
8687 { auto _e = message(); if (_e) _o->message.value = chre::fbs::ChreMessageUnion::UnPack(_e, message_type(), _resolver); }
8688 { auto _e = host_addr(); if (_e) _o->host_addr = std::unique_ptr<chre::fbs::HostAddress>(new chre::fbs::HostAddress(*_e)); }
8689 }
8690
8691 inline flatbuffers::Offset<MessageContainer> MessageContainer::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
8692 return CreateMessageContainer(_fbb, _o, _rehasher);
8693 }
8694
8695 inline flatbuffers::Offset<MessageContainer> CreateMessageContainer(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
8696 (void)_rehasher;
8697 (void)_o;
8698 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MessageContainerT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
8699 auto _message_type = _o->message.type;
8700 auto _message = _o->message.Pack(_fbb);
8701 auto _host_addr = _o->host_addr ? _o->host_addr.get() : 0;
8702 return chre::fbs::CreateMessageContainer(
8703 _fbb,
8704 _message_type,
8705 _message,
8706 _host_addr);
8707 }
8708
8709 inline bool VerifyChannelInfo(flatbuffers::Verifier &verifier, const void *obj, ChannelInfo type) {
8710 switch (type) {
8711 case ChannelInfo::NONE: {
8712 return true;
8713 }
8714 case ChannelInfo::LeCocChannelInfo: {
8715 auto ptr = reinterpret_cast<const chre::fbs::LeCocChannelInfo *>(obj);
8716 return verifier.VerifyTable(ptr);
8717 }
8718 default: return true;
8719 }
8720 }
8721
8722 inline bool VerifyChannelInfoVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
8723 if (!values || !types) return !values && !types;
8724 if (values->size() != types->size()) return false;
8725 for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
8726 if (!VerifyChannelInfo(
8727 verifier, values->Get(i), types->GetEnum<ChannelInfo>(i))) {
8728 return false;
8729 }
8730 }
8731 return true;
8732 }
8733
8734 inline void *ChannelInfoUnion::UnPack(const void *obj, ChannelInfo type, const flatbuffers::resolver_function_t *resolver) {
8735 switch (type) {
8736 case ChannelInfo::LeCocChannelInfo: {
8737 auto ptr = reinterpret_cast<const chre::fbs::LeCocChannelInfo *>(obj);
8738 return ptr->UnPack(resolver);
8739 }
8740 default: return nullptr;
8741 }
8742 }
8743
8744 inline flatbuffers::Offset<void> ChannelInfoUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const {
8745 switch (type) {
8746 case ChannelInfo::LeCocChannelInfo: {
8747 auto ptr = reinterpret_cast<const chre::fbs::LeCocChannelInfoT *>(value);
8748 return CreateLeCocChannelInfo(_fbb, ptr, _rehasher).Union();
8749 }
8750 default: return 0;
8751 }
8752 }
8753
8754 inline ChannelInfoUnion::ChannelInfoUnion(const ChannelInfoUnion &u) : type(u.type), value(nullptr) {
8755 switch (type) {
8756 case ChannelInfo::LeCocChannelInfo: {
8757 value = new chre::fbs::LeCocChannelInfoT(*reinterpret_cast<chre::fbs::LeCocChannelInfoT *>(u.value));
8758 break;
8759 }
8760 default:
8761 break;
8762 }
8763 }
8764
8765 inline void ChannelInfoUnion::Reset() {
8766 switch (type) {
8767 case ChannelInfo::LeCocChannelInfo: {
8768 auto ptr = reinterpret_cast<chre::fbs::LeCocChannelInfoT *>(value);
8769 delete ptr;
8770 break;
8771 }
8772 default: break;
8773 }
8774 value = nullptr;
8775 type = ChannelInfo::NONE;
8776 }
8777
8778 inline bool VerifyMessageHubDetails(flatbuffers::Verifier &verifier, const void *obj, MessageHubDetails type) {
8779 switch (type) {
8780 case MessageHubDetails::NONE: {
8781 return true;
8782 }
8783 case MessageHubDetails::HubInfoResponse: {
8784 auto ptr = reinterpret_cast<const chre::fbs::HubInfoResponse *>(obj);
8785 return verifier.VerifyTable(ptr);
8786 }
8787 case MessageHubDetails::VendorHubInfo: {
8788 auto ptr = reinterpret_cast<const chre::fbs::VendorHubInfo *>(obj);
8789 return verifier.VerifyTable(ptr);
8790 }
8791 default: return true;
8792 }
8793 }
8794
8795 inline bool VerifyMessageHubDetailsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
8796 if (!values || !types) return !values && !types;
8797 if (values->size() != types->size()) return false;
8798 for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
8799 if (!VerifyMessageHubDetails(
8800 verifier, values->Get(i), types->GetEnum<MessageHubDetails>(i))) {
8801 return false;
8802 }
8803 }
8804 return true;
8805 }
8806
8807 inline void *MessageHubDetailsUnion::UnPack(const void *obj, MessageHubDetails type, const flatbuffers::resolver_function_t *resolver) {
8808 switch (type) {
8809 case MessageHubDetails::HubInfoResponse: {
8810 auto ptr = reinterpret_cast<const chre::fbs::HubInfoResponse *>(obj);
8811 return ptr->UnPack(resolver);
8812 }
8813 case MessageHubDetails::VendorHubInfo: {
8814 auto ptr = reinterpret_cast<const chre::fbs::VendorHubInfo *>(obj);
8815 return ptr->UnPack(resolver);
8816 }
8817 default: return nullptr;
8818 }
8819 }
8820
8821 inline flatbuffers::Offset<void> MessageHubDetailsUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const {
8822 switch (type) {
8823 case MessageHubDetails::HubInfoResponse: {
8824 auto ptr = reinterpret_cast<const chre::fbs::HubInfoResponseT *>(value);
8825 return CreateHubInfoResponse(_fbb, ptr, _rehasher).Union();
8826 }
8827 case MessageHubDetails::VendorHubInfo: {
8828 auto ptr = reinterpret_cast<const chre::fbs::VendorHubInfoT *>(value);
8829 return CreateVendorHubInfo(_fbb, ptr, _rehasher).Union();
8830 }
8831 default: return 0;
8832 }
8833 }
8834
8835 inline MessageHubDetailsUnion::MessageHubDetailsUnion(const MessageHubDetailsUnion &u) : type(u.type), value(nullptr) {
8836 switch (type) {
8837 case MessageHubDetails::HubInfoResponse: {
8838 value = new chre::fbs::HubInfoResponseT(*reinterpret_cast<chre::fbs::HubInfoResponseT *>(u.value));
8839 break;
8840 }
8841 case MessageHubDetails::VendorHubInfo: {
8842 value = new chre::fbs::VendorHubInfoT(*reinterpret_cast<chre::fbs::VendorHubInfoT *>(u.value));
8843 break;
8844 }
8845 default:
8846 break;
8847 }
8848 }
8849
8850 inline void MessageHubDetailsUnion::Reset() {
8851 switch (type) {
8852 case MessageHubDetails::HubInfoResponse: {
8853 auto ptr = reinterpret_cast<chre::fbs::HubInfoResponseT *>(value);
8854 delete ptr;
8855 break;
8856 }
8857 case MessageHubDetails::VendorHubInfo: {
8858 auto ptr = reinterpret_cast<chre::fbs::VendorHubInfoT *>(value);
8859 delete ptr;
8860 break;
8861 }
8862 default: break;
8863 }
8864 value = nullptr;
8865 type = MessageHubDetails::NONE;
8866 }
8867
8868 inline bool VerifyChreMessage(flatbuffers::Verifier &verifier, const void *obj, ChreMessage type) {
8869 switch (type) {
8870 case ChreMessage::NONE: {
8871 return true;
8872 }
8873 case ChreMessage::NanoappMessage: {
8874 auto ptr = reinterpret_cast<const chre::fbs::NanoappMessage *>(obj);
8875 return verifier.VerifyTable(ptr);
8876 }
8877 case ChreMessage::HubInfoRequest: {
8878 auto ptr = reinterpret_cast<const chre::fbs::HubInfoRequest *>(obj);
8879 return verifier.VerifyTable(ptr);
8880 }
8881 case ChreMessage::HubInfoResponse: {
8882 auto ptr = reinterpret_cast<const chre::fbs::HubInfoResponse *>(obj);
8883 return verifier.VerifyTable(ptr);
8884 }
8885 case ChreMessage::NanoappListRequest: {
8886 auto ptr = reinterpret_cast<const chre::fbs::NanoappListRequest *>(obj);
8887 return verifier.VerifyTable(ptr);
8888 }
8889 case ChreMessage::NanoappListResponse: {
8890 auto ptr = reinterpret_cast<const chre::fbs::NanoappListResponse *>(obj);
8891 return verifier.VerifyTable(ptr);
8892 }
8893 case ChreMessage::LoadNanoappRequest: {
8894 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappRequest *>(obj);
8895 return verifier.VerifyTable(ptr);
8896 }
8897 case ChreMessage::LoadNanoappResponse: {
8898 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappResponse *>(obj);
8899 return verifier.VerifyTable(ptr);
8900 }
8901 case ChreMessage::UnloadNanoappRequest: {
8902 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappRequest *>(obj);
8903 return verifier.VerifyTable(ptr);
8904 }
8905 case ChreMessage::UnloadNanoappResponse: {
8906 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappResponse *>(obj);
8907 return verifier.VerifyTable(ptr);
8908 }
8909 case ChreMessage::LogMessage: {
8910 auto ptr = reinterpret_cast<const chre::fbs::LogMessage *>(obj);
8911 return verifier.VerifyTable(ptr);
8912 }
8913 case ChreMessage::TimeSyncMessage: {
8914 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncMessage *>(obj);
8915 return verifier.VerifyTable(ptr);
8916 }
8917 case ChreMessage::DebugDumpRequest: {
8918 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpRequest *>(obj);
8919 return verifier.VerifyTable(ptr);
8920 }
8921 case ChreMessage::DebugDumpData: {
8922 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpData *>(obj);
8923 return verifier.VerifyTable(ptr);
8924 }
8925 case ChreMessage::DebugDumpResponse: {
8926 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpResponse *>(obj);
8927 return verifier.VerifyTable(ptr);
8928 }
8929 case ChreMessage::TimeSyncRequest: {
8930 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncRequest *>(obj);
8931 return verifier.VerifyTable(ptr);
8932 }
8933 case ChreMessage::LowPowerMicAccessRequest: {
8934 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessRequest *>(obj);
8935 return verifier.VerifyTable(ptr);
8936 }
8937 case ChreMessage::LowPowerMicAccessRelease: {
8938 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessRelease *>(obj);
8939 return verifier.VerifyTable(ptr);
8940 }
8941 case ChreMessage::SettingChangeMessage: {
8942 auto ptr = reinterpret_cast<const chre::fbs::SettingChangeMessage *>(obj);
8943 return verifier.VerifyTable(ptr);
8944 }
8945 case ChreMessage::LogMessageV2: {
8946 auto ptr = reinterpret_cast<const chre::fbs::LogMessageV2 *>(obj);
8947 return verifier.VerifyTable(ptr);
8948 }
8949 case ChreMessage::SelfTestRequest: {
8950 auto ptr = reinterpret_cast<const chre::fbs::SelfTestRequest *>(obj);
8951 return verifier.VerifyTable(ptr);
8952 }
8953 case ChreMessage::SelfTestResponse: {
8954 auto ptr = reinterpret_cast<const chre::fbs::SelfTestResponse *>(obj);
8955 return verifier.VerifyTable(ptr);
8956 }
8957 case ChreMessage::HostEndpointConnected: {
8958 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointConnected *>(obj);
8959 return verifier.VerifyTable(ptr);
8960 }
8961 case ChreMessage::HostEndpointDisconnected: {
8962 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointDisconnected *>(obj);
8963 return verifier.VerifyTable(ptr);
8964 }
8965 case ChreMessage::MetricLog: {
8966 auto ptr = reinterpret_cast<const chre::fbs::MetricLog *>(obj);
8967 return verifier.VerifyTable(ptr);
8968 }
8969 case ChreMessage::BatchedMetricLog: {
8970 auto ptr = reinterpret_cast<const chre::fbs::BatchedMetricLog *>(obj);
8971 return verifier.VerifyTable(ptr);
8972 }
8973 case ChreMessage::NanConfigurationRequest: {
8974 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationRequest *>(obj);
8975 return verifier.VerifyTable(ptr);
8976 }
8977 case ChreMessage::NanConfigurationUpdate: {
8978 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationUpdate *>(obj);
8979 return verifier.VerifyTable(ptr);
8980 }
8981 case ChreMessage::DebugConfiguration: {
8982 auto ptr = reinterpret_cast<const chre::fbs::DebugConfiguration *>(obj);
8983 return verifier.VerifyTable(ptr);
8984 }
8985 case ChreMessage::PulseRequest: {
8986 auto ptr = reinterpret_cast<const chre::fbs::PulseRequest *>(obj);
8987 return verifier.VerifyTable(ptr);
8988 }
8989 case ChreMessage::PulseResponse: {
8990 auto ptr = reinterpret_cast<const chre::fbs::PulseResponse *>(obj);
8991 return verifier.VerifyTable(ptr);
8992 }
8993 case ChreMessage::NanoappTokenDatabaseInfo: {
8994 auto ptr = reinterpret_cast<const chre::fbs::NanoappTokenDatabaseInfo *>(obj);
8995 return verifier.VerifyTable(ptr);
8996 }
8997 case ChreMessage::MessageDeliveryStatus: {
8998 auto ptr = reinterpret_cast<const chre::fbs::MessageDeliveryStatus *>(obj);
8999 return verifier.VerifyTable(ptr);
9000 }
9001 case ChreMessage::BtSocketOpen: {
9002 auto ptr = reinterpret_cast<const chre::fbs::BtSocketOpen *>(obj);
9003 return verifier.VerifyTable(ptr);
9004 }
9005 case ChreMessage::BtSocketOpenResponse: {
9006 auto ptr = reinterpret_cast<const chre::fbs::BtSocketOpenResponse *>(obj);
9007 return verifier.VerifyTable(ptr);
9008 }
9009 case ChreMessage::BtSocketClose: {
9010 auto ptr = reinterpret_cast<const chre::fbs::BtSocketClose *>(obj);
9011 return verifier.VerifyTable(ptr);
9012 }
9013 case ChreMessage::BtSocketCloseResponse: {
9014 auto ptr = reinterpret_cast<const chre::fbs::BtSocketCloseResponse *>(obj);
9015 return verifier.VerifyTable(ptr);
9016 }
9017 case ChreMessage::GetMessageHubsAndEndpointsRequest: {
9018 auto ptr = reinterpret_cast<const chre::fbs::GetMessageHubsAndEndpointsRequest *>(obj);
9019 return verifier.VerifyTable(ptr);
9020 }
9021 case ChreMessage::GetMessageHubsAndEndpointsResponse: {
9022 auto ptr = reinterpret_cast<const chre::fbs::GetMessageHubsAndEndpointsResponse *>(obj);
9023 return verifier.VerifyTable(ptr);
9024 }
9025 case ChreMessage::RegisterMessageHub: {
9026 auto ptr = reinterpret_cast<const chre::fbs::RegisterMessageHub *>(obj);
9027 return verifier.VerifyTable(ptr);
9028 }
9029 case ChreMessage::UnregisterMessageHub: {
9030 auto ptr = reinterpret_cast<const chre::fbs::UnregisterMessageHub *>(obj);
9031 return verifier.VerifyTable(ptr);
9032 }
9033 case ChreMessage::RegisterEndpoint: {
9034 auto ptr = reinterpret_cast<const chre::fbs::RegisterEndpoint *>(obj);
9035 return verifier.VerifyTable(ptr);
9036 }
9037 case ChreMessage::UnregisterEndpoint: {
9038 auto ptr = reinterpret_cast<const chre::fbs::UnregisterEndpoint *>(obj);
9039 return verifier.VerifyTable(ptr);
9040 }
9041 case ChreMessage::OpenEndpointSessionRequest: {
9042 auto ptr = reinterpret_cast<const chre::fbs::OpenEndpointSessionRequest *>(obj);
9043 return verifier.VerifyTable(ptr);
9044 }
9045 case ChreMessage::EndpointSessionOpened: {
9046 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionOpened *>(obj);
9047 return verifier.VerifyTable(ptr);
9048 }
9049 case ChreMessage::EndpointSessionClosed: {
9050 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionClosed *>(obj);
9051 return verifier.VerifyTable(ptr);
9052 }
9053 case ChreMessage::EndpointSessionMessage: {
9054 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionMessage *>(obj);
9055 return verifier.VerifyTable(ptr);
9056 }
9057 case ChreMessage::EndpointSessionMessageDeliveryStatus: {
9058 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionMessageDeliveryStatus *>(obj);
9059 return verifier.VerifyTable(ptr);
9060 }
9061 default: return true;
9062 }
9063 }
9064
9065 inline bool VerifyChreMessageVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
9066 if (!values || !types) return !values && !types;
9067 if (values->size() != types->size()) return false;
9068 for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
9069 if (!VerifyChreMessage(
9070 verifier, values->Get(i), types->GetEnum<ChreMessage>(i))) {
9071 return false;
9072 }
9073 }
9074 return true;
9075 }
9076
9077 inline void *ChreMessageUnion::UnPack(const void *obj, ChreMessage type, const flatbuffers::resolver_function_t *resolver) {
9078 switch (type) {
9079 case ChreMessage::NanoappMessage: {
9080 auto ptr = reinterpret_cast<const chre::fbs::NanoappMessage *>(obj);
9081 return ptr->UnPack(resolver);
9082 }
9083 case ChreMessage::HubInfoRequest: {
9084 auto ptr = reinterpret_cast<const chre::fbs::HubInfoRequest *>(obj);
9085 return ptr->UnPack(resolver);
9086 }
9087 case ChreMessage::HubInfoResponse: {
9088 auto ptr = reinterpret_cast<const chre::fbs::HubInfoResponse *>(obj);
9089 return ptr->UnPack(resolver);
9090 }
9091 case ChreMessage::NanoappListRequest: {
9092 auto ptr = reinterpret_cast<const chre::fbs::NanoappListRequest *>(obj);
9093 return ptr->UnPack(resolver);
9094 }
9095 case ChreMessage::NanoappListResponse: {
9096 auto ptr = reinterpret_cast<const chre::fbs::NanoappListResponse *>(obj);
9097 return ptr->UnPack(resolver);
9098 }
9099 case ChreMessage::LoadNanoappRequest: {
9100 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappRequest *>(obj);
9101 return ptr->UnPack(resolver);
9102 }
9103 case ChreMessage::LoadNanoappResponse: {
9104 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappResponse *>(obj);
9105 return ptr->UnPack(resolver);
9106 }
9107 case ChreMessage::UnloadNanoappRequest: {
9108 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappRequest *>(obj);
9109 return ptr->UnPack(resolver);
9110 }
9111 case ChreMessage::UnloadNanoappResponse: {
9112 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappResponse *>(obj);
9113 return ptr->UnPack(resolver);
9114 }
9115 case ChreMessage::LogMessage: {
9116 auto ptr = reinterpret_cast<const chre::fbs::LogMessage *>(obj);
9117 return ptr->UnPack(resolver);
9118 }
9119 case ChreMessage::TimeSyncMessage: {
9120 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncMessage *>(obj);
9121 return ptr->UnPack(resolver);
9122 }
9123 case ChreMessage::DebugDumpRequest: {
9124 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpRequest *>(obj);
9125 return ptr->UnPack(resolver);
9126 }
9127 case ChreMessage::DebugDumpData: {
9128 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpData *>(obj);
9129 return ptr->UnPack(resolver);
9130 }
9131 case ChreMessage::DebugDumpResponse: {
9132 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpResponse *>(obj);
9133 return ptr->UnPack(resolver);
9134 }
9135 case ChreMessage::TimeSyncRequest: {
9136 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncRequest *>(obj);
9137 return ptr->UnPack(resolver);
9138 }
9139 case ChreMessage::LowPowerMicAccessRequest: {
9140 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessRequest *>(obj);
9141 return ptr->UnPack(resolver);
9142 }
9143 case ChreMessage::LowPowerMicAccessRelease: {
9144 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessRelease *>(obj);
9145 return ptr->UnPack(resolver);
9146 }
9147 case ChreMessage::SettingChangeMessage: {
9148 auto ptr = reinterpret_cast<const chre::fbs::SettingChangeMessage *>(obj);
9149 return ptr->UnPack(resolver);
9150 }
9151 case ChreMessage::LogMessageV2: {
9152 auto ptr = reinterpret_cast<const chre::fbs::LogMessageV2 *>(obj);
9153 return ptr->UnPack(resolver);
9154 }
9155 case ChreMessage::SelfTestRequest: {
9156 auto ptr = reinterpret_cast<const chre::fbs::SelfTestRequest *>(obj);
9157 return ptr->UnPack(resolver);
9158 }
9159 case ChreMessage::SelfTestResponse: {
9160 auto ptr = reinterpret_cast<const chre::fbs::SelfTestResponse *>(obj);
9161 return ptr->UnPack(resolver);
9162 }
9163 case ChreMessage::HostEndpointConnected: {
9164 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointConnected *>(obj);
9165 return ptr->UnPack(resolver);
9166 }
9167 case ChreMessage::HostEndpointDisconnected: {
9168 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointDisconnected *>(obj);
9169 return ptr->UnPack(resolver);
9170 }
9171 case ChreMessage::MetricLog: {
9172 auto ptr = reinterpret_cast<const chre::fbs::MetricLog *>(obj);
9173 return ptr->UnPack(resolver);
9174 }
9175 case ChreMessage::BatchedMetricLog: {
9176 auto ptr = reinterpret_cast<const chre::fbs::BatchedMetricLog *>(obj);
9177 return ptr->UnPack(resolver);
9178 }
9179 case ChreMessage::NanConfigurationRequest: {
9180 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationRequest *>(obj);
9181 return ptr->UnPack(resolver);
9182 }
9183 case ChreMessage::NanConfigurationUpdate: {
9184 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationUpdate *>(obj);
9185 return ptr->UnPack(resolver);
9186 }
9187 case ChreMessage::DebugConfiguration: {
9188 auto ptr = reinterpret_cast<const chre::fbs::DebugConfiguration *>(obj);
9189 return ptr->UnPack(resolver);
9190 }
9191 case ChreMessage::PulseRequest: {
9192 auto ptr = reinterpret_cast<const chre::fbs::PulseRequest *>(obj);
9193 return ptr->UnPack(resolver);
9194 }
9195 case ChreMessage::PulseResponse: {
9196 auto ptr = reinterpret_cast<const chre::fbs::PulseResponse *>(obj);
9197 return ptr->UnPack(resolver);
9198 }
9199 case ChreMessage::NanoappTokenDatabaseInfo: {
9200 auto ptr = reinterpret_cast<const chre::fbs::NanoappTokenDatabaseInfo *>(obj);
9201 return ptr->UnPack(resolver);
9202 }
9203 case ChreMessage::MessageDeliveryStatus: {
9204 auto ptr = reinterpret_cast<const chre::fbs::MessageDeliveryStatus *>(obj);
9205 return ptr->UnPack(resolver);
9206 }
9207 case ChreMessage::BtSocketOpen: {
9208 auto ptr = reinterpret_cast<const chre::fbs::BtSocketOpen *>(obj);
9209 return ptr->UnPack(resolver);
9210 }
9211 case ChreMessage::BtSocketOpenResponse: {
9212 auto ptr = reinterpret_cast<const chre::fbs::BtSocketOpenResponse *>(obj);
9213 return ptr->UnPack(resolver);
9214 }
9215 case ChreMessage::BtSocketClose: {
9216 auto ptr = reinterpret_cast<const chre::fbs::BtSocketClose *>(obj);
9217 return ptr->UnPack(resolver);
9218 }
9219 case ChreMessage::BtSocketCloseResponse: {
9220 auto ptr = reinterpret_cast<const chre::fbs::BtSocketCloseResponse *>(obj);
9221 return ptr->UnPack(resolver);
9222 }
9223 case ChreMessage::GetMessageHubsAndEndpointsRequest: {
9224 auto ptr = reinterpret_cast<const chre::fbs::GetMessageHubsAndEndpointsRequest *>(obj);
9225 return ptr->UnPack(resolver);
9226 }
9227 case ChreMessage::GetMessageHubsAndEndpointsResponse: {
9228 auto ptr = reinterpret_cast<const chre::fbs::GetMessageHubsAndEndpointsResponse *>(obj);
9229 return ptr->UnPack(resolver);
9230 }
9231 case ChreMessage::RegisterMessageHub: {
9232 auto ptr = reinterpret_cast<const chre::fbs::RegisterMessageHub *>(obj);
9233 return ptr->UnPack(resolver);
9234 }
9235 case ChreMessage::UnregisterMessageHub: {
9236 auto ptr = reinterpret_cast<const chre::fbs::UnregisterMessageHub *>(obj);
9237 return ptr->UnPack(resolver);
9238 }
9239 case ChreMessage::RegisterEndpoint: {
9240 auto ptr = reinterpret_cast<const chre::fbs::RegisterEndpoint *>(obj);
9241 return ptr->UnPack(resolver);
9242 }
9243 case ChreMessage::UnregisterEndpoint: {
9244 auto ptr = reinterpret_cast<const chre::fbs::UnregisterEndpoint *>(obj);
9245 return ptr->UnPack(resolver);
9246 }
9247 case ChreMessage::OpenEndpointSessionRequest: {
9248 auto ptr = reinterpret_cast<const chre::fbs::OpenEndpointSessionRequest *>(obj);
9249 return ptr->UnPack(resolver);
9250 }
9251 case ChreMessage::EndpointSessionOpened: {
9252 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionOpened *>(obj);
9253 return ptr->UnPack(resolver);
9254 }
9255 case ChreMessage::EndpointSessionClosed: {
9256 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionClosed *>(obj);
9257 return ptr->UnPack(resolver);
9258 }
9259 case ChreMessage::EndpointSessionMessage: {
9260 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionMessage *>(obj);
9261 return ptr->UnPack(resolver);
9262 }
9263 case ChreMessage::EndpointSessionMessageDeliveryStatus: {
9264 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionMessageDeliveryStatus *>(obj);
9265 return ptr->UnPack(resolver);
9266 }
9267 default: return nullptr;
9268 }
9269 }
9270
9271 inline flatbuffers::Offset<void> ChreMessageUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const {
9272 switch (type) {
9273 case ChreMessage::NanoappMessage: {
9274 auto ptr = reinterpret_cast<const chre::fbs::NanoappMessageT *>(value);
9275 return CreateNanoappMessage(_fbb, ptr, _rehasher).Union();
9276 }
9277 case ChreMessage::HubInfoRequest: {
9278 auto ptr = reinterpret_cast<const chre::fbs::HubInfoRequestT *>(value);
9279 return CreateHubInfoRequest(_fbb, ptr, _rehasher).Union();
9280 }
9281 case ChreMessage::HubInfoResponse: {
9282 auto ptr = reinterpret_cast<const chre::fbs::HubInfoResponseT *>(value);
9283 return CreateHubInfoResponse(_fbb, ptr, _rehasher).Union();
9284 }
9285 case ChreMessage::NanoappListRequest: {
9286 auto ptr = reinterpret_cast<const chre::fbs::NanoappListRequestT *>(value);
9287 return CreateNanoappListRequest(_fbb, ptr, _rehasher).Union();
9288 }
9289 case ChreMessage::NanoappListResponse: {
9290 auto ptr = reinterpret_cast<const chre::fbs::NanoappListResponseT *>(value);
9291 return CreateNanoappListResponse(_fbb, ptr, _rehasher).Union();
9292 }
9293 case ChreMessage::LoadNanoappRequest: {
9294 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappRequestT *>(value);
9295 return CreateLoadNanoappRequest(_fbb, ptr, _rehasher).Union();
9296 }
9297 case ChreMessage::LoadNanoappResponse: {
9298 auto ptr = reinterpret_cast<const chre::fbs::LoadNanoappResponseT *>(value);
9299 return CreateLoadNanoappResponse(_fbb, ptr, _rehasher).Union();
9300 }
9301 case ChreMessage::UnloadNanoappRequest: {
9302 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappRequestT *>(value);
9303 return CreateUnloadNanoappRequest(_fbb, ptr, _rehasher).Union();
9304 }
9305 case ChreMessage::UnloadNanoappResponse: {
9306 auto ptr = reinterpret_cast<const chre::fbs::UnloadNanoappResponseT *>(value);
9307 return CreateUnloadNanoappResponse(_fbb, ptr, _rehasher).Union();
9308 }
9309 case ChreMessage::LogMessage: {
9310 auto ptr = reinterpret_cast<const chre::fbs::LogMessageT *>(value);
9311 return CreateLogMessage(_fbb, ptr, _rehasher).Union();
9312 }
9313 case ChreMessage::TimeSyncMessage: {
9314 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncMessageT *>(value);
9315 return CreateTimeSyncMessage(_fbb, ptr, _rehasher).Union();
9316 }
9317 case ChreMessage::DebugDumpRequest: {
9318 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpRequestT *>(value);
9319 return CreateDebugDumpRequest(_fbb, ptr, _rehasher).Union();
9320 }
9321 case ChreMessage::DebugDumpData: {
9322 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpDataT *>(value);
9323 return CreateDebugDumpData(_fbb, ptr, _rehasher).Union();
9324 }
9325 case ChreMessage::DebugDumpResponse: {
9326 auto ptr = reinterpret_cast<const chre::fbs::DebugDumpResponseT *>(value);
9327 return CreateDebugDumpResponse(_fbb, ptr, _rehasher).Union();
9328 }
9329 case ChreMessage::TimeSyncRequest: {
9330 auto ptr = reinterpret_cast<const chre::fbs::TimeSyncRequestT *>(value);
9331 return CreateTimeSyncRequest(_fbb, ptr, _rehasher).Union();
9332 }
9333 case ChreMessage::LowPowerMicAccessRequest: {
9334 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessRequestT *>(value);
9335 return CreateLowPowerMicAccessRequest(_fbb, ptr, _rehasher).Union();
9336 }
9337 case ChreMessage::LowPowerMicAccessRelease: {
9338 auto ptr = reinterpret_cast<const chre::fbs::LowPowerMicAccessReleaseT *>(value);
9339 return CreateLowPowerMicAccessRelease(_fbb, ptr, _rehasher).Union();
9340 }
9341 case ChreMessage::SettingChangeMessage: {
9342 auto ptr = reinterpret_cast<const chre::fbs::SettingChangeMessageT *>(value);
9343 return CreateSettingChangeMessage(_fbb, ptr, _rehasher).Union();
9344 }
9345 case ChreMessage::LogMessageV2: {
9346 auto ptr = reinterpret_cast<const chre::fbs::LogMessageV2T *>(value);
9347 return CreateLogMessageV2(_fbb, ptr, _rehasher).Union();
9348 }
9349 case ChreMessage::SelfTestRequest: {
9350 auto ptr = reinterpret_cast<const chre::fbs::SelfTestRequestT *>(value);
9351 return CreateSelfTestRequest(_fbb, ptr, _rehasher).Union();
9352 }
9353 case ChreMessage::SelfTestResponse: {
9354 auto ptr = reinterpret_cast<const chre::fbs::SelfTestResponseT *>(value);
9355 return CreateSelfTestResponse(_fbb, ptr, _rehasher).Union();
9356 }
9357 case ChreMessage::HostEndpointConnected: {
9358 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointConnectedT *>(value);
9359 return CreateHostEndpointConnected(_fbb, ptr, _rehasher).Union();
9360 }
9361 case ChreMessage::HostEndpointDisconnected: {
9362 auto ptr = reinterpret_cast<const chre::fbs::HostEndpointDisconnectedT *>(value);
9363 return CreateHostEndpointDisconnected(_fbb, ptr, _rehasher).Union();
9364 }
9365 case ChreMessage::MetricLog: {
9366 auto ptr = reinterpret_cast<const chre::fbs::MetricLogT *>(value);
9367 return CreateMetricLog(_fbb, ptr, _rehasher).Union();
9368 }
9369 case ChreMessage::BatchedMetricLog: {
9370 auto ptr = reinterpret_cast<const chre::fbs::BatchedMetricLogT *>(value);
9371 return CreateBatchedMetricLog(_fbb, ptr, _rehasher).Union();
9372 }
9373 case ChreMessage::NanConfigurationRequest: {
9374 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationRequestT *>(value);
9375 return CreateNanConfigurationRequest(_fbb, ptr, _rehasher).Union();
9376 }
9377 case ChreMessage::NanConfigurationUpdate: {
9378 auto ptr = reinterpret_cast<const chre::fbs::NanConfigurationUpdateT *>(value);
9379 return CreateNanConfigurationUpdate(_fbb, ptr, _rehasher).Union();
9380 }
9381 case ChreMessage::DebugConfiguration: {
9382 auto ptr = reinterpret_cast<const chre::fbs::DebugConfigurationT *>(value);
9383 return CreateDebugConfiguration(_fbb, ptr, _rehasher).Union();
9384 }
9385 case ChreMessage::PulseRequest: {
9386 auto ptr = reinterpret_cast<const chre::fbs::PulseRequestT *>(value);
9387 return CreatePulseRequest(_fbb, ptr, _rehasher).Union();
9388 }
9389 case ChreMessage::PulseResponse: {
9390 auto ptr = reinterpret_cast<const chre::fbs::PulseResponseT *>(value);
9391 return CreatePulseResponse(_fbb, ptr, _rehasher).Union();
9392 }
9393 case ChreMessage::NanoappTokenDatabaseInfo: {
9394 auto ptr = reinterpret_cast<const chre::fbs::NanoappTokenDatabaseInfoT *>(value);
9395 return CreateNanoappTokenDatabaseInfo(_fbb, ptr, _rehasher).Union();
9396 }
9397 case ChreMessage::MessageDeliveryStatus: {
9398 auto ptr = reinterpret_cast<const chre::fbs::MessageDeliveryStatusT *>(value);
9399 return CreateMessageDeliveryStatus(_fbb, ptr, _rehasher).Union();
9400 }
9401 case ChreMessage::BtSocketOpen: {
9402 auto ptr = reinterpret_cast<const chre::fbs::BtSocketOpenT *>(value);
9403 return CreateBtSocketOpen(_fbb, ptr, _rehasher).Union();
9404 }
9405 case ChreMessage::BtSocketOpenResponse: {
9406 auto ptr = reinterpret_cast<const chre::fbs::BtSocketOpenResponseT *>(value);
9407 return CreateBtSocketOpenResponse(_fbb, ptr, _rehasher).Union();
9408 }
9409 case ChreMessage::BtSocketClose: {
9410 auto ptr = reinterpret_cast<const chre::fbs::BtSocketCloseT *>(value);
9411 return CreateBtSocketClose(_fbb, ptr, _rehasher).Union();
9412 }
9413 case ChreMessage::BtSocketCloseResponse: {
9414 auto ptr = reinterpret_cast<const chre::fbs::BtSocketCloseResponseT *>(value);
9415 return CreateBtSocketCloseResponse(_fbb, ptr, _rehasher).Union();
9416 }
9417 case ChreMessage::GetMessageHubsAndEndpointsRequest: {
9418 auto ptr = reinterpret_cast<const chre::fbs::GetMessageHubsAndEndpointsRequestT *>(value);
9419 return CreateGetMessageHubsAndEndpointsRequest(_fbb, ptr, _rehasher).Union();
9420 }
9421 case ChreMessage::GetMessageHubsAndEndpointsResponse: {
9422 auto ptr = reinterpret_cast<const chre::fbs::GetMessageHubsAndEndpointsResponseT *>(value);
9423 return CreateGetMessageHubsAndEndpointsResponse(_fbb, ptr, _rehasher).Union();
9424 }
9425 case ChreMessage::RegisterMessageHub: {
9426 auto ptr = reinterpret_cast<const chre::fbs::RegisterMessageHubT *>(value);
9427 return CreateRegisterMessageHub(_fbb, ptr, _rehasher).Union();
9428 }
9429 case ChreMessage::UnregisterMessageHub: {
9430 auto ptr = reinterpret_cast<const chre::fbs::UnregisterMessageHubT *>(value);
9431 return CreateUnregisterMessageHub(_fbb, ptr, _rehasher).Union();
9432 }
9433 case ChreMessage::RegisterEndpoint: {
9434 auto ptr = reinterpret_cast<const chre::fbs::RegisterEndpointT *>(value);
9435 return CreateRegisterEndpoint(_fbb, ptr, _rehasher).Union();
9436 }
9437 case ChreMessage::UnregisterEndpoint: {
9438 auto ptr = reinterpret_cast<const chre::fbs::UnregisterEndpointT *>(value);
9439 return CreateUnregisterEndpoint(_fbb, ptr, _rehasher).Union();
9440 }
9441 case ChreMessage::OpenEndpointSessionRequest: {
9442 auto ptr = reinterpret_cast<const chre::fbs::OpenEndpointSessionRequestT *>(value);
9443 return CreateOpenEndpointSessionRequest(_fbb, ptr, _rehasher).Union();
9444 }
9445 case ChreMessage::EndpointSessionOpened: {
9446 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionOpenedT *>(value);
9447 return CreateEndpointSessionOpened(_fbb, ptr, _rehasher).Union();
9448 }
9449 case ChreMessage::EndpointSessionClosed: {
9450 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionClosedT *>(value);
9451 return CreateEndpointSessionClosed(_fbb, ptr, _rehasher).Union();
9452 }
9453 case ChreMessage::EndpointSessionMessage: {
9454 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionMessageT *>(value);
9455 return CreateEndpointSessionMessage(_fbb, ptr, _rehasher).Union();
9456 }
9457 case ChreMessage::EndpointSessionMessageDeliveryStatus: {
9458 auto ptr = reinterpret_cast<const chre::fbs::EndpointSessionMessageDeliveryStatusT *>(value);
9459 return CreateEndpointSessionMessageDeliveryStatus(_fbb, ptr, _rehasher).Union();
9460 }
9461 default: return 0;
9462 }
9463 }
9464
9465 inline ChreMessageUnion::ChreMessageUnion(const ChreMessageUnion &u) : type(u.type), value(nullptr) {
9466 switch (type) {
9467 case ChreMessage::NanoappMessage: {
9468 value = new chre::fbs::NanoappMessageT(*reinterpret_cast<chre::fbs::NanoappMessageT *>(u.value));
9469 break;
9470 }
9471 case ChreMessage::HubInfoRequest: {
9472 value = new chre::fbs::HubInfoRequestT(*reinterpret_cast<chre::fbs::HubInfoRequestT *>(u.value));
9473 break;
9474 }
9475 case ChreMessage::HubInfoResponse: {
9476 value = new chre::fbs::HubInfoResponseT(*reinterpret_cast<chre::fbs::HubInfoResponseT *>(u.value));
9477 break;
9478 }
9479 case ChreMessage::NanoappListRequest: {
9480 value = new chre::fbs::NanoappListRequestT(*reinterpret_cast<chre::fbs::NanoappListRequestT *>(u.value));
9481 break;
9482 }
9483 case ChreMessage::NanoappListResponse: {
9484 FLATBUFFERS_ASSERT(false); // chre::fbs::NanoappListResponseT not copyable.
9485 break;
9486 }
9487 case ChreMessage::LoadNanoappRequest: {
9488 value = new chre::fbs::LoadNanoappRequestT(*reinterpret_cast<chre::fbs::LoadNanoappRequestT *>(u.value));
9489 break;
9490 }
9491 case ChreMessage::LoadNanoappResponse: {
9492 value = new chre::fbs::LoadNanoappResponseT(*reinterpret_cast<chre::fbs::LoadNanoappResponseT *>(u.value));
9493 break;
9494 }
9495 case ChreMessage::UnloadNanoappRequest: {
9496 value = new chre::fbs::UnloadNanoappRequestT(*reinterpret_cast<chre::fbs::UnloadNanoappRequestT *>(u.value));
9497 break;
9498 }
9499 case ChreMessage::UnloadNanoappResponse: {
9500 value = new chre::fbs::UnloadNanoappResponseT(*reinterpret_cast<chre::fbs::UnloadNanoappResponseT *>(u.value));
9501 break;
9502 }
9503 case ChreMessage::LogMessage: {
9504 value = new chre::fbs::LogMessageT(*reinterpret_cast<chre::fbs::LogMessageT *>(u.value));
9505 break;
9506 }
9507 case ChreMessage::TimeSyncMessage: {
9508 value = new chre::fbs::TimeSyncMessageT(*reinterpret_cast<chre::fbs::TimeSyncMessageT *>(u.value));
9509 break;
9510 }
9511 case ChreMessage::DebugDumpRequest: {
9512 value = new chre::fbs::DebugDumpRequestT(*reinterpret_cast<chre::fbs::DebugDumpRequestT *>(u.value));
9513 break;
9514 }
9515 case ChreMessage::DebugDumpData: {
9516 value = new chre::fbs::DebugDumpDataT(*reinterpret_cast<chre::fbs::DebugDumpDataT *>(u.value));
9517 break;
9518 }
9519 case ChreMessage::DebugDumpResponse: {
9520 value = new chre::fbs::DebugDumpResponseT(*reinterpret_cast<chre::fbs::DebugDumpResponseT *>(u.value));
9521 break;
9522 }
9523 case ChreMessage::TimeSyncRequest: {
9524 value = new chre::fbs::TimeSyncRequestT(*reinterpret_cast<chre::fbs::TimeSyncRequestT *>(u.value));
9525 break;
9526 }
9527 case ChreMessage::LowPowerMicAccessRequest: {
9528 value = new chre::fbs::LowPowerMicAccessRequestT(*reinterpret_cast<chre::fbs::LowPowerMicAccessRequestT *>(u.value));
9529 break;
9530 }
9531 case ChreMessage::LowPowerMicAccessRelease: {
9532 value = new chre::fbs::LowPowerMicAccessReleaseT(*reinterpret_cast<chre::fbs::LowPowerMicAccessReleaseT *>(u.value));
9533 break;
9534 }
9535 case ChreMessage::SettingChangeMessage: {
9536 value = new chre::fbs::SettingChangeMessageT(*reinterpret_cast<chre::fbs::SettingChangeMessageT *>(u.value));
9537 break;
9538 }
9539 case ChreMessage::LogMessageV2: {
9540 value = new chre::fbs::LogMessageV2T(*reinterpret_cast<chre::fbs::LogMessageV2T *>(u.value));
9541 break;
9542 }
9543 case ChreMessage::SelfTestRequest: {
9544 value = new chre::fbs::SelfTestRequestT(*reinterpret_cast<chre::fbs::SelfTestRequestT *>(u.value));
9545 break;
9546 }
9547 case ChreMessage::SelfTestResponse: {
9548 value = new chre::fbs::SelfTestResponseT(*reinterpret_cast<chre::fbs::SelfTestResponseT *>(u.value));
9549 break;
9550 }
9551 case ChreMessage::HostEndpointConnected: {
9552 value = new chre::fbs::HostEndpointConnectedT(*reinterpret_cast<chre::fbs::HostEndpointConnectedT *>(u.value));
9553 break;
9554 }
9555 case ChreMessage::HostEndpointDisconnected: {
9556 value = new chre::fbs::HostEndpointDisconnectedT(*reinterpret_cast<chre::fbs::HostEndpointDisconnectedT *>(u.value));
9557 break;
9558 }
9559 case ChreMessage::MetricLog: {
9560 value = new chre::fbs::MetricLogT(*reinterpret_cast<chre::fbs::MetricLogT *>(u.value));
9561 break;
9562 }
9563 case ChreMessage::BatchedMetricLog: {
9564 FLATBUFFERS_ASSERT(false); // chre::fbs::BatchedMetricLogT not copyable.
9565 break;
9566 }
9567 case ChreMessage::NanConfigurationRequest: {
9568 value = new chre::fbs::NanConfigurationRequestT(*reinterpret_cast<chre::fbs::NanConfigurationRequestT *>(u.value));
9569 break;
9570 }
9571 case ChreMessage::NanConfigurationUpdate: {
9572 value = new chre::fbs::NanConfigurationUpdateT(*reinterpret_cast<chre::fbs::NanConfigurationUpdateT *>(u.value));
9573 break;
9574 }
9575 case ChreMessage::DebugConfiguration: {
9576 value = new chre::fbs::DebugConfigurationT(*reinterpret_cast<chre::fbs::DebugConfigurationT *>(u.value));
9577 break;
9578 }
9579 case ChreMessage::PulseRequest: {
9580 value = new chre::fbs::PulseRequestT(*reinterpret_cast<chre::fbs::PulseRequestT *>(u.value));
9581 break;
9582 }
9583 case ChreMessage::PulseResponse: {
9584 value = new chre::fbs::PulseResponseT(*reinterpret_cast<chre::fbs::PulseResponseT *>(u.value));
9585 break;
9586 }
9587 case ChreMessage::NanoappTokenDatabaseInfo: {
9588 value = new chre::fbs::NanoappTokenDatabaseInfoT(*reinterpret_cast<chre::fbs::NanoappTokenDatabaseInfoT *>(u.value));
9589 break;
9590 }
9591 case ChreMessage::MessageDeliveryStatus: {
9592 value = new chre::fbs::MessageDeliveryStatusT(*reinterpret_cast<chre::fbs::MessageDeliveryStatusT *>(u.value));
9593 break;
9594 }
9595 case ChreMessage::BtSocketOpen: {
9596 value = new chre::fbs::BtSocketOpenT(*reinterpret_cast<chre::fbs::BtSocketOpenT *>(u.value));
9597 break;
9598 }
9599 case ChreMessage::BtSocketOpenResponse: {
9600 value = new chre::fbs::BtSocketOpenResponseT(*reinterpret_cast<chre::fbs::BtSocketOpenResponseT *>(u.value));
9601 break;
9602 }
9603 case ChreMessage::BtSocketClose: {
9604 value = new chre::fbs::BtSocketCloseT(*reinterpret_cast<chre::fbs::BtSocketCloseT *>(u.value));
9605 break;
9606 }
9607 case ChreMessage::BtSocketCloseResponse: {
9608 value = new chre::fbs::BtSocketCloseResponseT(*reinterpret_cast<chre::fbs::BtSocketCloseResponseT *>(u.value));
9609 break;
9610 }
9611 case ChreMessage::GetMessageHubsAndEndpointsRequest: {
9612 value = new chre::fbs::GetMessageHubsAndEndpointsRequestT(*reinterpret_cast<chre::fbs::GetMessageHubsAndEndpointsRequestT *>(u.value));
9613 break;
9614 }
9615 case ChreMessage::GetMessageHubsAndEndpointsResponse: {
9616 FLATBUFFERS_ASSERT(false); // chre::fbs::GetMessageHubsAndEndpointsResponseT not copyable.
9617 break;
9618 }
9619 case ChreMessage::RegisterMessageHub: {
9620 FLATBUFFERS_ASSERT(false); // chre::fbs::RegisterMessageHubT not copyable.
9621 break;
9622 }
9623 case ChreMessage::UnregisterMessageHub: {
9624 value = new chre::fbs::UnregisterMessageHubT(*reinterpret_cast<chre::fbs::UnregisterMessageHubT *>(u.value));
9625 break;
9626 }
9627 case ChreMessage::RegisterEndpoint: {
9628 FLATBUFFERS_ASSERT(false); // chre::fbs::RegisterEndpointT not copyable.
9629 break;
9630 }
9631 case ChreMessage::UnregisterEndpoint: {
9632 FLATBUFFERS_ASSERT(false); // chre::fbs::UnregisterEndpointT not copyable.
9633 break;
9634 }
9635 case ChreMessage::OpenEndpointSessionRequest: {
9636 FLATBUFFERS_ASSERT(false); // chre::fbs::OpenEndpointSessionRequestT not copyable.
9637 break;
9638 }
9639 case ChreMessage::EndpointSessionOpened: {
9640 value = new chre::fbs::EndpointSessionOpenedT(*reinterpret_cast<chre::fbs::EndpointSessionOpenedT *>(u.value));
9641 break;
9642 }
9643 case ChreMessage::EndpointSessionClosed: {
9644 value = new chre::fbs::EndpointSessionClosedT(*reinterpret_cast<chre::fbs::EndpointSessionClosedT *>(u.value));
9645 break;
9646 }
9647 case ChreMessage::EndpointSessionMessage: {
9648 value = new chre::fbs::EndpointSessionMessageT(*reinterpret_cast<chre::fbs::EndpointSessionMessageT *>(u.value));
9649 break;
9650 }
9651 case ChreMessage::EndpointSessionMessageDeliveryStatus: {
9652 FLATBUFFERS_ASSERT(false); // chre::fbs::EndpointSessionMessageDeliveryStatusT not copyable.
9653 break;
9654 }
9655 default:
9656 break;
9657 }
9658 }
9659
9660 inline void ChreMessageUnion::Reset() {
9661 switch (type) {
9662 case ChreMessage::NanoappMessage: {
9663 auto ptr = reinterpret_cast<chre::fbs::NanoappMessageT *>(value);
9664 delete ptr;
9665 break;
9666 }
9667 case ChreMessage::HubInfoRequest: {
9668 auto ptr = reinterpret_cast<chre::fbs::HubInfoRequestT *>(value);
9669 delete ptr;
9670 break;
9671 }
9672 case ChreMessage::HubInfoResponse: {
9673 auto ptr = reinterpret_cast<chre::fbs::HubInfoResponseT *>(value);
9674 delete ptr;
9675 break;
9676 }
9677 case ChreMessage::NanoappListRequest: {
9678 auto ptr = reinterpret_cast<chre::fbs::NanoappListRequestT *>(value);
9679 delete ptr;
9680 break;
9681 }
9682 case ChreMessage::NanoappListResponse: {
9683 auto ptr = reinterpret_cast<chre::fbs::NanoappListResponseT *>(value);
9684 delete ptr;
9685 break;
9686 }
9687 case ChreMessage::LoadNanoappRequest: {
9688 auto ptr = reinterpret_cast<chre::fbs::LoadNanoappRequestT *>(value);
9689 delete ptr;
9690 break;
9691 }
9692 case ChreMessage::LoadNanoappResponse: {
9693 auto ptr = reinterpret_cast<chre::fbs::LoadNanoappResponseT *>(value);
9694 delete ptr;
9695 break;
9696 }
9697 case ChreMessage::UnloadNanoappRequest: {
9698 auto ptr = reinterpret_cast<chre::fbs::UnloadNanoappRequestT *>(value);
9699 delete ptr;
9700 break;
9701 }
9702 case ChreMessage::UnloadNanoappResponse: {
9703 auto ptr = reinterpret_cast<chre::fbs::UnloadNanoappResponseT *>(value);
9704 delete ptr;
9705 break;
9706 }
9707 case ChreMessage::LogMessage: {
9708 auto ptr = reinterpret_cast<chre::fbs::LogMessageT *>(value);
9709 delete ptr;
9710 break;
9711 }
9712 case ChreMessage::TimeSyncMessage: {
9713 auto ptr = reinterpret_cast<chre::fbs::TimeSyncMessageT *>(value);
9714 delete ptr;
9715 break;
9716 }
9717 case ChreMessage::DebugDumpRequest: {
9718 auto ptr = reinterpret_cast<chre::fbs::DebugDumpRequestT *>(value);
9719 delete ptr;
9720 break;
9721 }
9722 case ChreMessage::DebugDumpData: {
9723 auto ptr = reinterpret_cast<chre::fbs::DebugDumpDataT *>(value);
9724 delete ptr;
9725 break;
9726 }
9727 case ChreMessage::DebugDumpResponse: {
9728 auto ptr = reinterpret_cast<chre::fbs::DebugDumpResponseT *>(value);
9729 delete ptr;
9730 break;
9731 }
9732 case ChreMessage::TimeSyncRequest: {
9733 auto ptr = reinterpret_cast<chre::fbs::TimeSyncRequestT *>(value);
9734 delete ptr;
9735 break;
9736 }
9737 case ChreMessage::LowPowerMicAccessRequest: {
9738 auto ptr = reinterpret_cast<chre::fbs::LowPowerMicAccessRequestT *>(value);
9739 delete ptr;
9740 break;
9741 }
9742 case ChreMessage::LowPowerMicAccessRelease: {
9743 auto ptr = reinterpret_cast<chre::fbs::LowPowerMicAccessReleaseT *>(value);
9744 delete ptr;
9745 break;
9746 }
9747 case ChreMessage::SettingChangeMessage: {
9748 auto ptr = reinterpret_cast<chre::fbs::SettingChangeMessageT *>(value);
9749 delete ptr;
9750 break;
9751 }
9752 case ChreMessage::LogMessageV2: {
9753 auto ptr = reinterpret_cast<chre::fbs::LogMessageV2T *>(value);
9754 delete ptr;
9755 break;
9756 }
9757 case ChreMessage::SelfTestRequest: {
9758 auto ptr = reinterpret_cast<chre::fbs::SelfTestRequestT *>(value);
9759 delete ptr;
9760 break;
9761 }
9762 case ChreMessage::SelfTestResponse: {
9763 auto ptr = reinterpret_cast<chre::fbs::SelfTestResponseT *>(value);
9764 delete ptr;
9765 break;
9766 }
9767 case ChreMessage::HostEndpointConnected: {
9768 auto ptr = reinterpret_cast<chre::fbs::HostEndpointConnectedT *>(value);
9769 delete ptr;
9770 break;
9771 }
9772 case ChreMessage::HostEndpointDisconnected: {
9773 auto ptr = reinterpret_cast<chre::fbs::HostEndpointDisconnectedT *>(value);
9774 delete ptr;
9775 break;
9776 }
9777 case ChreMessage::MetricLog: {
9778 auto ptr = reinterpret_cast<chre::fbs::MetricLogT *>(value);
9779 delete ptr;
9780 break;
9781 }
9782 case ChreMessage::BatchedMetricLog: {
9783 auto ptr = reinterpret_cast<chre::fbs::BatchedMetricLogT *>(value);
9784 delete ptr;
9785 break;
9786 }
9787 case ChreMessage::NanConfigurationRequest: {
9788 auto ptr = reinterpret_cast<chre::fbs::NanConfigurationRequestT *>(value);
9789 delete ptr;
9790 break;
9791 }
9792 case ChreMessage::NanConfigurationUpdate: {
9793 auto ptr = reinterpret_cast<chre::fbs::NanConfigurationUpdateT *>(value);
9794 delete ptr;
9795 break;
9796 }
9797 case ChreMessage::DebugConfiguration: {
9798 auto ptr = reinterpret_cast<chre::fbs::DebugConfigurationT *>(value);
9799 delete ptr;
9800 break;
9801 }
9802 case ChreMessage::PulseRequest: {
9803 auto ptr = reinterpret_cast<chre::fbs::PulseRequestT *>(value);
9804 delete ptr;
9805 break;
9806 }
9807 case ChreMessage::PulseResponse: {
9808 auto ptr = reinterpret_cast<chre::fbs::PulseResponseT *>(value);
9809 delete ptr;
9810 break;
9811 }
9812 case ChreMessage::NanoappTokenDatabaseInfo: {
9813 auto ptr = reinterpret_cast<chre::fbs::NanoappTokenDatabaseInfoT *>(value);
9814 delete ptr;
9815 break;
9816 }
9817 case ChreMessage::MessageDeliveryStatus: {
9818 auto ptr = reinterpret_cast<chre::fbs::MessageDeliveryStatusT *>(value);
9819 delete ptr;
9820 break;
9821 }
9822 case ChreMessage::BtSocketOpen: {
9823 auto ptr = reinterpret_cast<chre::fbs::BtSocketOpenT *>(value);
9824 delete ptr;
9825 break;
9826 }
9827 case ChreMessage::BtSocketOpenResponse: {
9828 auto ptr = reinterpret_cast<chre::fbs::BtSocketOpenResponseT *>(value);
9829 delete ptr;
9830 break;
9831 }
9832 case ChreMessage::BtSocketClose: {
9833 auto ptr = reinterpret_cast<chre::fbs::BtSocketCloseT *>(value);
9834 delete ptr;
9835 break;
9836 }
9837 case ChreMessage::BtSocketCloseResponse: {
9838 auto ptr = reinterpret_cast<chre::fbs::BtSocketCloseResponseT *>(value);
9839 delete ptr;
9840 break;
9841 }
9842 case ChreMessage::GetMessageHubsAndEndpointsRequest: {
9843 auto ptr = reinterpret_cast<chre::fbs::GetMessageHubsAndEndpointsRequestT *>(value);
9844 delete ptr;
9845 break;
9846 }
9847 case ChreMessage::GetMessageHubsAndEndpointsResponse: {
9848 auto ptr = reinterpret_cast<chre::fbs::GetMessageHubsAndEndpointsResponseT *>(value);
9849 delete ptr;
9850 break;
9851 }
9852 case ChreMessage::RegisterMessageHub: {
9853 auto ptr = reinterpret_cast<chre::fbs::RegisterMessageHubT *>(value);
9854 delete ptr;
9855 break;
9856 }
9857 case ChreMessage::UnregisterMessageHub: {
9858 auto ptr = reinterpret_cast<chre::fbs::UnregisterMessageHubT *>(value);
9859 delete ptr;
9860 break;
9861 }
9862 case ChreMessage::RegisterEndpoint: {
9863 auto ptr = reinterpret_cast<chre::fbs::RegisterEndpointT *>(value);
9864 delete ptr;
9865 break;
9866 }
9867 case ChreMessage::UnregisterEndpoint: {
9868 auto ptr = reinterpret_cast<chre::fbs::UnregisterEndpointT *>(value);
9869 delete ptr;
9870 break;
9871 }
9872 case ChreMessage::OpenEndpointSessionRequest: {
9873 auto ptr = reinterpret_cast<chre::fbs::OpenEndpointSessionRequestT *>(value);
9874 delete ptr;
9875 break;
9876 }
9877 case ChreMessage::EndpointSessionOpened: {
9878 auto ptr = reinterpret_cast<chre::fbs::EndpointSessionOpenedT *>(value);
9879 delete ptr;
9880 break;
9881 }
9882 case ChreMessage::EndpointSessionClosed: {
9883 auto ptr = reinterpret_cast<chre::fbs::EndpointSessionClosedT *>(value);
9884 delete ptr;
9885 break;
9886 }
9887 case ChreMessage::EndpointSessionMessage: {
9888 auto ptr = reinterpret_cast<chre::fbs::EndpointSessionMessageT *>(value);
9889 delete ptr;
9890 break;
9891 }
9892 case ChreMessage::EndpointSessionMessageDeliveryStatus: {
9893 auto ptr = reinterpret_cast<chre::fbs::EndpointSessionMessageDeliveryStatusT *>(value);
9894 delete ptr;
9895 break;
9896 }
9897 default: break;
9898 }
9899 value = nullptr;
9900 type = ChreMessage::NONE;
9901 }
9902
9903 inline const chre::fbs::MessageContainer *GetMessageContainer(const void *buf) {
9904 return flatbuffers::GetRoot<chre::fbs::MessageContainer>(buf);
9905 }
9906
9907 inline const chre::fbs::MessageContainer *GetSizePrefixedMessageContainer(const void *buf) {
9908 return flatbuffers::GetSizePrefixedRoot<chre::fbs::MessageContainer>(buf);
9909 }
9910
9911 inline MessageContainer *GetMutableMessageContainer(void *buf) {
9912 return flatbuffers::GetMutableRoot<MessageContainer>(buf);
9913 }
9914
9915 inline bool VerifyMessageContainerBuffer(
9916 flatbuffers::Verifier &verifier) {
9917 return verifier.VerifyBuffer<chre::fbs::MessageContainer>(nullptr);
9918 }
9919
9920 inline bool VerifySizePrefixedMessageContainerBuffer(
9921 flatbuffers::Verifier &verifier) {
9922 return verifier.VerifySizePrefixedBuffer<chre::fbs::MessageContainer>(nullptr);
9923 }
9924
9925 inline void FinishMessageContainerBuffer(
9926 flatbuffers::FlatBufferBuilder &fbb,
9927 flatbuffers::Offset<chre::fbs::MessageContainer> root) {
9928 fbb.Finish(root);
9929 }
9930
9931 inline void FinishSizePrefixedMessageContainerBuffer(
9932 flatbuffers::FlatBufferBuilder &fbb,
9933 flatbuffers::Offset<chre::fbs::MessageContainer> root) {
9934 fbb.FinishSizePrefixed(root);
9935 }
9936
9937 inline std::unique_ptr<chre::fbs::MessageContainerT> UnPackMessageContainer(
9938 const void *buf,
9939 const flatbuffers::resolver_function_t *res = nullptr) {
9940 return std::unique_ptr<chre::fbs::MessageContainerT>(GetMessageContainer(buf)->UnPack(res));
9941 }
9942
9943 inline std::unique_ptr<chre::fbs::MessageContainerT> UnPackSizePrefixedMessageContainer(
9944 const void *buf,
9945 const flatbuffers::resolver_function_t *res = nullptr) {
9946 return std::unique_ptr<chre::fbs::MessageContainerT>(GetSizePrefixedMessageContainer(buf)->UnPack(res));
9947 }
9948
9949 } // namespace fbs
9950 } // namespace chre
9951
9952 #endif // FLATBUFFERS_GENERATED_HOSTMESSAGES_CHRE_FBS_H_
9953