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