host_messages_generated.h revision 58276308709e5568ba2976e93b37211a52589166
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 9namespace chre { 10namespace fbs { 11 12struct NanoappMessage; 13struct NanoappMessageT; 14 15struct HubInfoRequest; 16struct HubInfoRequestT; 17 18struct HubInfoResponse; 19struct HubInfoResponseT; 20 21struct NanoappListRequest; 22struct NanoappListRequestT; 23 24struct NanoappListEntry; 25struct NanoappListEntryT; 26 27struct NanoappListResponse; 28struct NanoappListResponseT; 29 30struct LoadNanoappRequest; 31struct LoadNanoappRequestT; 32 33struct LoadNanoappResponse; 34struct LoadNanoappResponseT; 35 36struct UnloadNanoappRequest; 37struct UnloadNanoappRequestT; 38 39struct UnloadNanoappResponse; 40struct UnloadNanoappResponseT; 41 42struct LogMessage; 43struct LogMessageT; 44 45struct TimeSyncMessage; 46struct TimeSyncMessageT; 47 48struct DebugDumpRequest; 49struct DebugDumpRequestT; 50 51struct DebugDumpData; 52struct DebugDumpDataT; 53 54struct DebugDumpResponse; 55struct DebugDumpResponseT; 56 57struct HostAddress; 58 59struct MessageContainer; 60struct MessageContainerT; 61 62/// A union that joins together all possible messages. Note that in FlatBuffers, 63/// unions have an implicit type 64enum class ChreMessage : uint8_t { 65 NONE = 0, 66 NanoappMessage = 1, 67 HubInfoRequest = 2, 68 HubInfoResponse = 3, 69 NanoappListRequest = 4, 70 NanoappListResponse = 5, 71 LoadNanoappRequest = 6, 72 LoadNanoappResponse = 7, 73 UnloadNanoappRequest = 8, 74 UnloadNanoappResponse = 9, 75 LogMessage = 10, 76 TimeSyncMessage = 11, 77 DebugDumpRequest = 12, 78 DebugDumpData = 13, 79 DebugDumpResponse = 14, 80 MIN = NONE, 81 MAX = DebugDumpResponse 82}; 83 84inline const char **EnumNamesChreMessage() { 85 static const char *names[] = { 86 "NONE", 87 "NanoappMessage", 88 "HubInfoRequest", 89 "HubInfoResponse", 90 "NanoappListRequest", 91 "NanoappListResponse", 92 "LoadNanoappRequest", 93 "LoadNanoappResponse", 94 "UnloadNanoappRequest", 95 "UnloadNanoappResponse", 96 "LogMessage", 97 "TimeSyncMessage", 98 "DebugDumpRequest", 99 "DebugDumpData", 100 "DebugDumpResponse", 101 nullptr 102 }; 103 return names; 104} 105 106inline const char *EnumNameChreMessage(ChreMessage e) { 107 const size_t index = static_cast<int>(e); 108 return EnumNamesChreMessage()[index]; 109} 110 111template<typename T> struct ChreMessageTraits { 112 static const ChreMessage enum_value = ChreMessage::NONE; 113}; 114 115template<> struct ChreMessageTraits<NanoappMessage> { 116 static const ChreMessage enum_value = ChreMessage::NanoappMessage; 117}; 118 119template<> struct ChreMessageTraits<HubInfoRequest> { 120 static const ChreMessage enum_value = ChreMessage::HubInfoRequest; 121}; 122 123template<> struct ChreMessageTraits<HubInfoResponse> { 124 static const ChreMessage enum_value = ChreMessage::HubInfoResponse; 125}; 126 127template<> struct ChreMessageTraits<NanoappListRequest> { 128 static const ChreMessage enum_value = ChreMessage::NanoappListRequest; 129}; 130 131template<> struct ChreMessageTraits<NanoappListResponse> { 132 static const ChreMessage enum_value = ChreMessage::NanoappListResponse; 133}; 134 135template<> struct ChreMessageTraits<LoadNanoappRequest> { 136 static const ChreMessage enum_value = ChreMessage::LoadNanoappRequest; 137}; 138 139template<> struct ChreMessageTraits<LoadNanoappResponse> { 140 static const ChreMessage enum_value = ChreMessage::LoadNanoappResponse; 141}; 142 143template<> struct ChreMessageTraits<UnloadNanoappRequest> { 144 static const ChreMessage enum_value = ChreMessage::UnloadNanoappRequest; 145}; 146 147template<> struct ChreMessageTraits<UnloadNanoappResponse> { 148 static const ChreMessage enum_value = ChreMessage::UnloadNanoappResponse; 149}; 150 151template<> struct ChreMessageTraits<LogMessage> { 152 static const ChreMessage enum_value = ChreMessage::LogMessage; 153}; 154 155template<> struct ChreMessageTraits<TimeSyncMessage> { 156 static const ChreMessage enum_value = ChreMessage::TimeSyncMessage; 157}; 158 159template<> struct ChreMessageTraits<DebugDumpRequest> { 160 static const ChreMessage enum_value = ChreMessage::DebugDumpRequest; 161}; 162 163template<> struct ChreMessageTraits<DebugDumpData> { 164 static const ChreMessage enum_value = ChreMessage::DebugDumpData; 165}; 166 167template<> struct ChreMessageTraits<DebugDumpResponse> { 168 static const ChreMessage enum_value = ChreMessage::DebugDumpResponse; 169}; 170 171struct ChreMessageUnion { 172 ChreMessage type; 173 flatbuffers::NativeTable *table; 174 175 ChreMessageUnion() : type(ChreMessage::NONE), table(nullptr) {} 176 ChreMessageUnion(ChreMessageUnion&& u): 177 type(std::move(u.type)), table(std::move(u.table)) {} 178 ChreMessageUnion(const ChreMessageUnion &); 179 ChreMessageUnion &operator=(const ChreMessageUnion &); 180 ~ChreMessageUnion() { Reset(); } 181 182 void Reset(); 183 184 template <typename T> 185 void Set(T&& value) { 186 Reset(); 187 type = ChreMessageTraits<typename T::TableType>::enum_value; 188 if (type != ChreMessage::NONE) { 189 table = new T(std::forward<T>(value)); 190 } 191 } 192 193 static flatbuffers::NativeTable *UnPack(const void *obj, ChreMessage type, const flatbuffers::resolver_function_t *resolver); 194 flatbuffers::Offset<void> Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const; 195 196 NanoappMessageT *AsNanoappMessage() { 197 return type == ChreMessage::NanoappMessage ? 198 reinterpret_cast<NanoappMessageT *>(table) : nullptr; 199 } 200 HubInfoRequestT *AsHubInfoRequest() { 201 return type == ChreMessage::HubInfoRequest ? 202 reinterpret_cast<HubInfoRequestT *>(table) : nullptr; 203 } 204 HubInfoResponseT *AsHubInfoResponse() { 205 return type == ChreMessage::HubInfoResponse ? 206 reinterpret_cast<HubInfoResponseT *>(table) : nullptr; 207 } 208 NanoappListRequestT *AsNanoappListRequest() { 209 return type == ChreMessage::NanoappListRequest ? 210 reinterpret_cast<NanoappListRequestT *>(table) : nullptr; 211 } 212 NanoappListResponseT *AsNanoappListResponse() { 213 return type == ChreMessage::NanoappListResponse ? 214 reinterpret_cast<NanoappListResponseT *>(table) : nullptr; 215 } 216 LoadNanoappRequestT *AsLoadNanoappRequest() { 217 return type == ChreMessage::LoadNanoappRequest ? 218 reinterpret_cast<LoadNanoappRequestT *>(table) : nullptr; 219 } 220 LoadNanoappResponseT *AsLoadNanoappResponse() { 221 return type == ChreMessage::LoadNanoappResponse ? 222 reinterpret_cast<LoadNanoappResponseT *>(table) : nullptr; 223 } 224 UnloadNanoappRequestT *AsUnloadNanoappRequest() { 225 return type == ChreMessage::UnloadNanoappRequest ? 226 reinterpret_cast<UnloadNanoappRequestT *>(table) : nullptr; 227 } 228 UnloadNanoappResponseT *AsUnloadNanoappResponse() { 229 return type == ChreMessage::UnloadNanoappResponse ? 230 reinterpret_cast<UnloadNanoappResponseT *>(table) : nullptr; 231 } 232 LogMessageT *AsLogMessage() { 233 return type == ChreMessage::LogMessage ? 234 reinterpret_cast<LogMessageT *>(table) : nullptr; 235 } 236 TimeSyncMessageT *AsTimeSyncMessage() { 237 return type == ChreMessage::TimeSyncMessage ? 238 reinterpret_cast<TimeSyncMessageT *>(table) : nullptr; 239 } 240 DebugDumpRequestT *AsDebugDumpRequest() { 241 return type == ChreMessage::DebugDumpRequest ? 242 reinterpret_cast<DebugDumpRequestT *>(table) : nullptr; 243 } 244 DebugDumpDataT *AsDebugDumpData() { 245 return type == ChreMessage::DebugDumpData ? 246 reinterpret_cast<DebugDumpDataT *>(table) : nullptr; 247 } 248 DebugDumpResponseT *AsDebugDumpResponse() { 249 return type == ChreMessage::DebugDumpResponse ? 250 reinterpret_cast<DebugDumpResponseT *>(table) : nullptr; 251 } 252}; 253 254bool VerifyChreMessage(flatbuffers::Verifier &verifier, const void *obj, ChreMessage type); 255bool VerifyChreMessageVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types); 256 257MANUALLY_ALIGNED_STRUCT(2) HostAddress FLATBUFFERS_FINAL_CLASS { 258 private: 259 uint16_t client_id_; 260 261 public: 262 HostAddress() { 263 memset(this, 0, sizeof(HostAddress)); 264 } 265 HostAddress(const HostAddress &_o) { 266 memcpy(this, &_o, sizeof(HostAddress)); 267 } 268 HostAddress(uint16_t _client_id) 269 : client_id_(flatbuffers::EndianScalar(_client_id)) { 270 } 271 uint16_t client_id() const { 272 return flatbuffers::EndianScalar(client_id_); 273 } 274 void mutate_client_id(uint16_t _client_id) { 275 flatbuffers::WriteScalar(&client_id_, _client_id); 276 } 277}; 278STRUCT_END(HostAddress, 2); 279 280struct NanoappMessageT : public flatbuffers::NativeTable { 281 typedef NanoappMessage TableType; 282 uint64_t app_id; 283 uint32_t message_type; 284 uint16_t host_endpoint; 285 std::vector<uint8_t> message; 286 NanoappMessageT() 287 : app_id(0), 288 message_type(0), 289 host_endpoint(65534) { 290 } 291}; 292 293/// Represents a message sent to/from a nanoapp from/to a client on the host 294struct NanoappMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 295 typedef NanoappMessageT NativeTableType; 296 enum { 297 VT_APP_ID = 4, 298 VT_MESSAGE_TYPE = 6, 299 VT_HOST_ENDPOINT = 8, 300 VT_MESSAGE = 10 301 }; 302 uint64_t app_id() const { 303 return GetField<uint64_t>(VT_APP_ID, 0); 304 } 305 bool mutate_app_id(uint64_t _app_id) { 306 return SetField(VT_APP_ID, _app_id); 307 } 308 uint32_t message_type() const { 309 return GetField<uint32_t>(VT_MESSAGE_TYPE, 0); 310 } 311 bool mutate_message_type(uint32_t _message_type) { 312 return SetField(VT_MESSAGE_TYPE, _message_type); 313 } 314 /// Identifies the host-side endpoint on the host that sent or should receive 315 /// this message. The default value is a special value defined in the HAL and 316 /// elsewhere that indicates that the endpoint is unspecified. 317 uint16_t host_endpoint() const { 318 return GetField<uint16_t>(VT_HOST_ENDPOINT, 65534); 319 } 320 bool mutate_host_endpoint(uint16_t _host_endpoint) { 321 return SetField(VT_HOST_ENDPOINT, _host_endpoint); 322 } 323 /// Vector containing arbitrary application-specific message data 324 const flatbuffers::Vector<uint8_t> *message() const { 325 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_MESSAGE); 326 } 327 flatbuffers::Vector<uint8_t> *mutable_message() { 328 return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_MESSAGE); 329 } 330 bool Verify(flatbuffers::Verifier &verifier) const { 331 return VerifyTableStart(verifier) && 332 VerifyField<uint64_t>(verifier, VT_APP_ID) && 333 VerifyField<uint32_t>(verifier, VT_MESSAGE_TYPE) && 334 VerifyField<uint16_t>(verifier, VT_HOST_ENDPOINT) && 335 VerifyFieldRequired<flatbuffers::uoffset_t>(verifier, VT_MESSAGE) && 336 verifier.Verify(message()) && 337 verifier.EndTable(); 338 } 339 NanoappMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 340 void UnPackTo(NanoappMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 341 static flatbuffers::Offset<NanoappMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 342}; 343 344struct NanoappMessageBuilder { 345 flatbuffers::FlatBufferBuilder &fbb_; 346 flatbuffers::uoffset_t start_; 347 void add_app_id(uint64_t app_id) { 348 fbb_.AddElement<uint64_t>(NanoappMessage::VT_APP_ID, app_id, 0); 349 } 350 void add_message_type(uint32_t message_type) { 351 fbb_.AddElement<uint32_t>(NanoappMessage::VT_MESSAGE_TYPE, message_type, 0); 352 } 353 void add_host_endpoint(uint16_t host_endpoint) { 354 fbb_.AddElement<uint16_t>(NanoappMessage::VT_HOST_ENDPOINT, host_endpoint, 65534); 355 } 356 void add_message(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> message) { 357 fbb_.AddOffset(NanoappMessage::VT_MESSAGE, message); 358 } 359 NanoappMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) 360 : fbb_(_fbb) { 361 start_ = fbb_.StartTable(); 362 } 363 NanoappMessageBuilder &operator=(const NanoappMessageBuilder &); 364 flatbuffers::Offset<NanoappMessage> Finish() { 365 const auto end = fbb_.EndTable(start_, 4); 366 auto o = flatbuffers::Offset<NanoappMessage>(end); 367 fbb_.Required(o, NanoappMessage::VT_MESSAGE); 368 return o; 369 } 370}; 371 372inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessage( 373 flatbuffers::FlatBufferBuilder &_fbb, 374 uint64_t app_id = 0, 375 uint32_t message_type = 0, 376 uint16_t host_endpoint = 65534, 377 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> message = 0) { 378 NanoappMessageBuilder builder_(_fbb); 379 builder_.add_app_id(app_id); 380 builder_.add_message(message); 381 builder_.add_message_type(message_type); 382 builder_.add_host_endpoint(host_endpoint); 383 return builder_.Finish(); 384} 385 386inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessageDirect( 387 flatbuffers::FlatBufferBuilder &_fbb, 388 uint64_t app_id = 0, 389 uint32_t message_type = 0, 390 uint16_t host_endpoint = 65534, 391 const std::vector<uint8_t> *message = nullptr) { 392 return chre::fbs::CreateNanoappMessage( 393 _fbb, 394 app_id, 395 message_type, 396 host_endpoint, 397 message ? _fbb.CreateVector<uint8_t>(*message) : 0); 398} 399 400flatbuffers::Offset<NanoappMessage> CreateNanoappMessage(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 401 402struct HubInfoRequestT : public flatbuffers::NativeTable { 403 typedef HubInfoRequest TableType; 404 HubInfoRequestT() { 405 } 406}; 407 408struct HubInfoRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 409 typedef HubInfoRequestT NativeTableType; 410 bool Verify(flatbuffers::Verifier &verifier) const { 411 return VerifyTableStart(verifier) && 412 verifier.EndTable(); 413 } 414 HubInfoRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 415 void UnPackTo(HubInfoRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 416 static flatbuffers::Offset<HubInfoRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 417}; 418 419struct HubInfoRequestBuilder { 420 flatbuffers::FlatBufferBuilder &fbb_; 421 flatbuffers::uoffset_t start_; 422 HubInfoRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb) 423 : fbb_(_fbb) { 424 start_ = fbb_.StartTable(); 425 } 426 HubInfoRequestBuilder &operator=(const HubInfoRequestBuilder &); 427 flatbuffers::Offset<HubInfoRequest> Finish() { 428 const auto end = fbb_.EndTable(start_, 0); 429 auto o = flatbuffers::Offset<HubInfoRequest>(end); 430 return o; 431 } 432}; 433 434inline flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest( 435 flatbuffers::FlatBufferBuilder &_fbb) { 436 HubInfoRequestBuilder builder_(_fbb); 437 return builder_.Finish(); 438} 439 440flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 441 442struct HubInfoResponseT : public flatbuffers::NativeTable { 443 typedef HubInfoResponse TableType; 444 std::vector<int8_t> name; 445 std::vector<int8_t> vendor; 446 std::vector<int8_t> toolchain; 447 uint32_t platform_version; 448 uint32_t toolchain_version; 449 float peak_mips; 450 float stopped_power; 451 float sleep_power; 452 float peak_power; 453 uint32_t max_msg_len; 454 uint64_t platform_id; 455 uint32_t chre_platform_version; 456 HubInfoResponseT() 457 : platform_version(0), 458 toolchain_version(0), 459 peak_mips(0.0f), 460 stopped_power(0.0f), 461 sleep_power(0.0f), 462 peak_power(0.0f), 463 max_msg_len(0), 464 platform_id(0), 465 chre_platform_version(0) { 466 } 467}; 468 469struct HubInfoResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 470 typedef HubInfoResponseT NativeTableType; 471 enum { 472 VT_NAME = 4, 473 VT_VENDOR = 6, 474 VT_TOOLCHAIN = 8, 475 VT_PLATFORM_VERSION = 10, 476 VT_TOOLCHAIN_VERSION = 12, 477 VT_PEAK_MIPS = 14, 478 VT_STOPPED_POWER = 16, 479 VT_SLEEP_POWER = 18, 480 VT_PEAK_POWER = 20, 481 VT_MAX_MSG_LEN = 22, 482 VT_PLATFORM_ID = 24, 483 VT_CHRE_PLATFORM_VERSION = 26 484 }; 485 /// The name of the hub. Nominally a UTF-8 string, but note that we're not 486 /// using the built-in "string" data type from FlatBuffers here, because the 487 /// generated C++ uses std::string which is not well-supported in CHRE. This 488 /// applies for vendor and toolchain as well. 489 const flatbuffers::Vector<int8_t> *name() const { 490 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_NAME); 491 } 492 flatbuffers::Vector<int8_t> *mutable_name() { 493 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_NAME); 494 } 495 const flatbuffers::Vector<int8_t> *vendor() const { 496 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_VENDOR); 497 } 498 flatbuffers::Vector<int8_t> *mutable_vendor() { 499 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_VENDOR); 500 } 501 const flatbuffers::Vector<int8_t> *toolchain() const { 502 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_TOOLCHAIN); 503 } 504 flatbuffers::Vector<int8_t> *mutable_toolchain() { 505 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_TOOLCHAIN); 506 } 507 /// Legacy platform version reported in the HAL; semantics not strictly 508 /// defined 509 uint32_t platform_version() const { 510 return GetField<uint32_t>(VT_PLATFORM_VERSION, 0); 511 } 512 bool mutate_platform_version(uint32_t _platform_version) { 513 return SetField(VT_PLATFORM_VERSION, _platform_version); 514 } 515 /// Toolchain version reported in the HAL; semantics not strictly defined 516 uint32_t toolchain_version() const { 517 return GetField<uint32_t>(VT_TOOLCHAIN_VERSION, 0); 518 } 519 bool mutate_toolchain_version(uint32_t _toolchain_version) { 520 return SetField(VT_TOOLCHAIN_VERSION, _toolchain_version); 521 } 522 float peak_mips() const { 523 return GetField<float>(VT_PEAK_MIPS, 0.0f); 524 } 525 bool mutate_peak_mips(float _peak_mips) { 526 return SetField(VT_PEAK_MIPS, _peak_mips); 527 } 528 float stopped_power() const { 529 return GetField<float>(VT_STOPPED_POWER, 0.0f); 530 } 531 bool mutate_stopped_power(float _stopped_power) { 532 return SetField(VT_STOPPED_POWER, _stopped_power); 533 } 534 float sleep_power() const { 535 return GetField<float>(VT_SLEEP_POWER, 0.0f); 536 } 537 bool mutate_sleep_power(float _sleep_power) { 538 return SetField(VT_SLEEP_POWER, _sleep_power); 539 } 540 float peak_power() const { 541 return GetField<float>(VT_PEAK_POWER, 0.0f); 542 } 543 bool mutate_peak_power(float _peak_power) { 544 return SetField(VT_PEAK_POWER, _peak_power); 545 } 546 /// Maximum size message that can be sent to a nanoapp 547 uint32_t max_msg_len() const { 548 return GetField<uint32_t>(VT_MAX_MSG_LEN, 0); 549 } 550 bool mutate_max_msg_len(uint32_t _max_msg_len) { 551 return SetField(VT_MAX_MSG_LEN, _max_msg_len); 552 } 553 /// @see chreGetPlatformId() 554 uint64_t platform_id() const { 555 return GetField<uint64_t>(VT_PLATFORM_ID, 0); 556 } 557 bool mutate_platform_id(uint64_t _platform_id) { 558 return SetField(VT_PLATFORM_ID, _platform_id); 559 } 560 /// @see chreGetVersion() 561 uint32_t chre_platform_version() const { 562 return GetField<uint32_t>(VT_CHRE_PLATFORM_VERSION, 0); 563 } 564 bool mutate_chre_platform_version(uint32_t _chre_platform_version) { 565 return SetField(VT_CHRE_PLATFORM_VERSION, _chre_platform_version); 566 } 567 bool Verify(flatbuffers::Verifier &verifier) const { 568 return VerifyTableStart(verifier) && 569 VerifyField<flatbuffers::uoffset_t>(verifier, VT_NAME) && 570 verifier.Verify(name()) && 571 VerifyField<flatbuffers::uoffset_t>(verifier, VT_VENDOR) && 572 verifier.Verify(vendor()) && 573 VerifyField<flatbuffers::uoffset_t>(verifier, VT_TOOLCHAIN) && 574 verifier.Verify(toolchain()) && 575 VerifyField<uint32_t>(verifier, VT_PLATFORM_VERSION) && 576 VerifyField<uint32_t>(verifier, VT_TOOLCHAIN_VERSION) && 577 VerifyField<float>(verifier, VT_PEAK_MIPS) && 578 VerifyField<float>(verifier, VT_STOPPED_POWER) && 579 VerifyField<float>(verifier, VT_SLEEP_POWER) && 580 VerifyField<float>(verifier, VT_PEAK_POWER) && 581 VerifyField<uint32_t>(verifier, VT_MAX_MSG_LEN) && 582 VerifyField<uint64_t>(verifier, VT_PLATFORM_ID) && 583 VerifyField<uint32_t>(verifier, VT_CHRE_PLATFORM_VERSION) && 584 verifier.EndTable(); 585 } 586 HubInfoResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 587 void UnPackTo(HubInfoResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 588 static flatbuffers::Offset<HubInfoResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 589}; 590 591struct HubInfoResponseBuilder { 592 flatbuffers::FlatBufferBuilder &fbb_; 593 flatbuffers::uoffset_t start_; 594 void add_name(flatbuffers::Offset<flatbuffers::Vector<int8_t>> name) { 595 fbb_.AddOffset(HubInfoResponse::VT_NAME, name); 596 } 597 void add_vendor(flatbuffers::Offset<flatbuffers::Vector<int8_t>> vendor) { 598 fbb_.AddOffset(HubInfoResponse::VT_VENDOR, vendor); 599 } 600 void add_toolchain(flatbuffers::Offset<flatbuffers::Vector<int8_t>> toolchain) { 601 fbb_.AddOffset(HubInfoResponse::VT_TOOLCHAIN, toolchain); 602 } 603 void add_platform_version(uint32_t platform_version) { 604 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_PLATFORM_VERSION, platform_version, 0); 605 } 606 void add_toolchain_version(uint32_t toolchain_version) { 607 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_TOOLCHAIN_VERSION, toolchain_version, 0); 608 } 609 void add_peak_mips(float peak_mips) { 610 fbb_.AddElement<float>(HubInfoResponse::VT_PEAK_MIPS, peak_mips, 0.0f); 611 } 612 void add_stopped_power(float stopped_power) { 613 fbb_.AddElement<float>(HubInfoResponse::VT_STOPPED_POWER, stopped_power, 0.0f); 614 } 615 void add_sleep_power(float sleep_power) { 616 fbb_.AddElement<float>(HubInfoResponse::VT_SLEEP_POWER, sleep_power, 0.0f); 617 } 618 void add_peak_power(float peak_power) { 619 fbb_.AddElement<float>(HubInfoResponse::VT_PEAK_POWER, peak_power, 0.0f); 620 } 621 void add_max_msg_len(uint32_t max_msg_len) { 622 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_MAX_MSG_LEN, max_msg_len, 0); 623 } 624 void add_platform_id(uint64_t platform_id) { 625 fbb_.AddElement<uint64_t>(HubInfoResponse::VT_PLATFORM_ID, platform_id, 0); 626 } 627 void add_chre_platform_version(uint32_t chre_platform_version) { 628 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_CHRE_PLATFORM_VERSION, chre_platform_version, 0); 629 } 630 HubInfoResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb) 631 : fbb_(_fbb) { 632 start_ = fbb_.StartTable(); 633 } 634 HubInfoResponseBuilder &operator=(const HubInfoResponseBuilder &); 635 flatbuffers::Offset<HubInfoResponse> Finish() { 636 const auto end = fbb_.EndTable(start_, 12); 637 auto o = flatbuffers::Offset<HubInfoResponse>(end); 638 return o; 639 } 640}; 641 642inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse( 643 flatbuffers::FlatBufferBuilder &_fbb, 644 flatbuffers::Offset<flatbuffers::Vector<int8_t>> name = 0, 645 flatbuffers::Offset<flatbuffers::Vector<int8_t>> vendor = 0, 646 flatbuffers::Offset<flatbuffers::Vector<int8_t>> toolchain = 0, 647 uint32_t platform_version = 0, 648 uint32_t toolchain_version = 0, 649 float peak_mips = 0.0f, 650 float stopped_power = 0.0f, 651 float sleep_power = 0.0f, 652 float peak_power = 0.0f, 653 uint32_t max_msg_len = 0, 654 uint64_t platform_id = 0, 655 uint32_t chre_platform_version = 0) { 656 HubInfoResponseBuilder builder_(_fbb); 657 builder_.add_platform_id(platform_id); 658 builder_.add_chre_platform_version(chre_platform_version); 659 builder_.add_max_msg_len(max_msg_len); 660 builder_.add_peak_power(peak_power); 661 builder_.add_sleep_power(sleep_power); 662 builder_.add_stopped_power(stopped_power); 663 builder_.add_peak_mips(peak_mips); 664 builder_.add_toolchain_version(toolchain_version); 665 builder_.add_platform_version(platform_version); 666 builder_.add_toolchain(toolchain); 667 builder_.add_vendor(vendor); 668 builder_.add_name(name); 669 return builder_.Finish(); 670} 671 672inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponseDirect( 673 flatbuffers::FlatBufferBuilder &_fbb, 674 const std::vector<int8_t> *name = nullptr, 675 const std::vector<int8_t> *vendor = nullptr, 676 const std::vector<int8_t> *toolchain = nullptr, 677 uint32_t platform_version = 0, 678 uint32_t toolchain_version = 0, 679 float peak_mips = 0.0f, 680 float stopped_power = 0.0f, 681 float sleep_power = 0.0f, 682 float peak_power = 0.0f, 683 uint32_t max_msg_len = 0, 684 uint64_t platform_id = 0, 685 uint32_t chre_platform_version = 0) { 686 return chre::fbs::CreateHubInfoResponse( 687 _fbb, 688 name ? _fbb.CreateVector<int8_t>(*name) : 0, 689 vendor ? _fbb.CreateVector<int8_t>(*vendor) : 0, 690 toolchain ? _fbb.CreateVector<int8_t>(*toolchain) : 0, 691 platform_version, 692 toolchain_version, 693 peak_mips, 694 stopped_power, 695 sleep_power, 696 peak_power, 697 max_msg_len, 698 platform_id, 699 chre_platform_version); 700} 701 702flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 703 704struct NanoappListRequestT : public flatbuffers::NativeTable { 705 typedef NanoappListRequest TableType; 706 NanoappListRequestT() { 707 } 708}; 709 710struct NanoappListRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 711 typedef NanoappListRequestT NativeTableType; 712 bool Verify(flatbuffers::Verifier &verifier) const { 713 return VerifyTableStart(verifier) && 714 verifier.EndTable(); 715 } 716 NanoappListRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 717 void UnPackTo(NanoappListRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 718 static flatbuffers::Offset<NanoappListRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 719}; 720 721struct NanoappListRequestBuilder { 722 flatbuffers::FlatBufferBuilder &fbb_; 723 flatbuffers::uoffset_t start_; 724 NanoappListRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb) 725 : fbb_(_fbb) { 726 start_ = fbb_.StartTable(); 727 } 728 NanoappListRequestBuilder &operator=(const NanoappListRequestBuilder &); 729 flatbuffers::Offset<NanoappListRequest> Finish() { 730 const auto end = fbb_.EndTable(start_, 0); 731 auto o = flatbuffers::Offset<NanoappListRequest>(end); 732 return o; 733 } 734}; 735 736inline flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest( 737 flatbuffers::FlatBufferBuilder &_fbb) { 738 NanoappListRequestBuilder builder_(_fbb); 739 return builder_.Finish(); 740} 741 742flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 743 744struct NanoappListEntryT : public flatbuffers::NativeTable { 745 typedef NanoappListEntry TableType; 746 uint64_t app_id; 747 uint32_t version; 748 bool enabled; 749 bool is_system; 750 NanoappListEntryT() 751 : app_id(0), 752 version(0), 753 enabled(true), 754 is_system(false) { 755 } 756}; 757 758struct NanoappListEntry FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 759 typedef NanoappListEntryT NativeTableType; 760 enum { 761 VT_APP_ID = 4, 762 VT_VERSION = 6, 763 VT_ENABLED = 8, 764 VT_IS_SYSTEM = 10 765 }; 766 uint64_t app_id() const { 767 return GetField<uint64_t>(VT_APP_ID, 0); 768 } 769 bool mutate_app_id(uint64_t _app_id) { 770 return SetField(VT_APP_ID, _app_id); 771 } 772 uint32_t version() const { 773 return GetField<uint32_t>(VT_VERSION, 0); 774 } 775 bool mutate_version(uint32_t _version) { 776 return SetField(VT_VERSION, _version); 777 } 778 bool enabled() const { 779 return GetField<uint8_t>(VT_ENABLED, 1) != 0; 780 } 781 bool mutate_enabled(bool _enabled) { 782 return SetField(VT_ENABLED, static_cast<uint8_t>(_enabled)); 783 } 784 /// Whether the nanoapp is a pre-loaded "system" nanoapp, i.e. one that should 785 /// not show up in the list of nanoapps in the context hub HAL. System 786 /// nanoapps are typically used to leverage CHRE for some device functionality 787 /// and do not interact via the context hub HAL. 788 bool is_system() const { 789 return GetField<uint8_t>(VT_IS_SYSTEM, 0) != 0; 790 } 791 bool mutate_is_system(bool _is_system) { 792 return SetField(VT_IS_SYSTEM, static_cast<uint8_t>(_is_system)); 793 } 794 bool Verify(flatbuffers::Verifier &verifier) const { 795 return VerifyTableStart(verifier) && 796 VerifyField<uint64_t>(verifier, VT_APP_ID) && 797 VerifyField<uint32_t>(verifier, VT_VERSION) && 798 VerifyField<uint8_t>(verifier, VT_ENABLED) && 799 VerifyField<uint8_t>(verifier, VT_IS_SYSTEM) && 800 verifier.EndTable(); 801 } 802 NanoappListEntryT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 803 void UnPackTo(NanoappListEntryT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 804 static flatbuffers::Offset<NanoappListEntry> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 805}; 806 807struct NanoappListEntryBuilder { 808 flatbuffers::FlatBufferBuilder &fbb_; 809 flatbuffers::uoffset_t start_; 810 void add_app_id(uint64_t app_id) { 811 fbb_.AddElement<uint64_t>(NanoappListEntry::VT_APP_ID, app_id, 0); 812 } 813 void add_version(uint32_t version) { 814 fbb_.AddElement<uint32_t>(NanoappListEntry::VT_VERSION, version, 0); 815 } 816 void add_enabled(bool enabled) { 817 fbb_.AddElement<uint8_t>(NanoappListEntry::VT_ENABLED, static_cast<uint8_t>(enabled), 1); 818 } 819 void add_is_system(bool is_system) { 820 fbb_.AddElement<uint8_t>(NanoappListEntry::VT_IS_SYSTEM, static_cast<uint8_t>(is_system), 0); 821 } 822 NanoappListEntryBuilder(flatbuffers::FlatBufferBuilder &_fbb) 823 : fbb_(_fbb) { 824 start_ = fbb_.StartTable(); 825 } 826 NanoappListEntryBuilder &operator=(const NanoappListEntryBuilder &); 827 flatbuffers::Offset<NanoappListEntry> Finish() { 828 const auto end = fbb_.EndTable(start_, 4); 829 auto o = flatbuffers::Offset<NanoappListEntry>(end); 830 return o; 831 } 832}; 833 834inline flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry( 835 flatbuffers::FlatBufferBuilder &_fbb, 836 uint64_t app_id = 0, 837 uint32_t version = 0, 838 bool enabled = true, 839 bool is_system = false) { 840 NanoappListEntryBuilder builder_(_fbb); 841 builder_.add_app_id(app_id); 842 builder_.add_version(version); 843 builder_.add_is_system(is_system); 844 builder_.add_enabled(enabled); 845 return builder_.Finish(); 846} 847 848flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 849 850struct NanoappListResponseT : public flatbuffers::NativeTable { 851 typedef NanoappListResponse TableType; 852 std::vector<std::unique_ptr<NanoappListEntryT>> nanoapps; 853 NanoappListResponseT() { 854 } 855}; 856 857struct NanoappListResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 858 typedef NanoappListResponseT NativeTableType; 859 enum { 860 VT_NANOAPPS = 4 861 }; 862 const flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>> *nanoapps() const { 863 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>> *>(VT_NANOAPPS); 864 } 865 flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>> *mutable_nanoapps() { 866 return GetPointer<flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>> *>(VT_NANOAPPS); 867 } 868 bool Verify(flatbuffers::Verifier &verifier) const { 869 return VerifyTableStart(verifier) && 870 VerifyFieldRequired<flatbuffers::uoffset_t>(verifier, VT_NANOAPPS) && 871 verifier.Verify(nanoapps()) && 872 verifier.VerifyVectorOfTables(nanoapps()) && 873 verifier.EndTable(); 874 } 875 NanoappListResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 876 void UnPackTo(NanoappListResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 877 static flatbuffers::Offset<NanoappListResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 878}; 879 880struct NanoappListResponseBuilder { 881 flatbuffers::FlatBufferBuilder &fbb_; 882 flatbuffers::uoffset_t start_; 883 void add_nanoapps(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>>> nanoapps) { 884 fbb_.AddOffset(NanoappListResponse::VT_NANOAPPS, nanoapps); 885 } 886 NanoappListResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb) 887 : fbb_(_fbb) { 888 start_ = fbb_.StartTable(); 889 } 890 NanoappListResponseBuilder &operator=(const NanoappListResponseBuilder &); 891 flatbuffers::Offset<NanoappListResponse> Finish() { 892 const auto end = fbb_.EndTable(start_, 1); 893 auto o = flatbuffers::Offset<NanoappListResponse>(end); 894 fbb_.Required(o, NanoappListResponse::VT_NANOAPPS); 895 return o; 896 } 897}; 898 899inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse( 900 flatbuffers::FlatBufferBuilder &_fbb, 901 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>>> nanoapps = 0) { 902 NanoappListResponseBuilder builder_(_fbb); 903 builder_.add_nanoapps(nanoapps); 904 return builder_.Finish(); 905} 906 907inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponseDirect( 908 flatbuffers::FlatBufferBuilder &_fbb, 909 const std::vector<flatbuffers::Offset<NanoappListEntry>> *nanoapps = nullptr) { 910 return chre::fbs::CreateNanoappListResponse( 911 _fbb, 912 nanoapps ? _fbb.CreateVector<flatbuffers::Offset<NanoappListEntry>>(*nanoapps) : 0); 913} 914 915flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 916 917struct LoadNanoappRequestT : public flatbuffers::NativeTable { 918 typedef LoadNanoappRequest TableType; 919 uint32_t transaction_id; 920 uint64_t app_id; 921 uint32_t app_version; 922 uint32_t target_api_version; 923 std::vector<uint8_t> app_binary; 924 LoadNanoappRequestT() 925 : transaction_id(0), 926 app_id(0), 927 app_version(0), 928 target_api_version(0) { 929 } 930}; 931 932struct LoadNanoappRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 933 typedef LoadNanoappRequestT NativeTableType; 934 enum { 935 VT_TRANSACTION_ID = 4, 936 VT_APP_ID = 6, 937 VT_APP_VERSION = 8, 938 VT_TARGET_API_VERSION = 10, 939 VT_APP_BINARY = 12 940 }; 941 uint32_t transaction_id() const { 942 return GetField<uint32_t>(VT_TRANSACTION_ID, 0); 943 } 944 bool mutate_transaction_id(uint32_t _transaction_id) { 945 return SetField(VT_TRANSACTION_ID, _transaction_id); 946 } 947 uint64_t app_id() const { 948 return GetField<uint64_t>(VT_APP_ID, 0); 949 } 950 bool mutate_app_id(uint64_t _app_id) { 951 return SetField(VT_APP_ID, _app_id); 952 } 953 uint32_t app_version() const { 954 return GetField<uint32_t>(VT_APP_VERSION, 0); 955 } 956 bool mutate_app_version(uint32_t _app_version) { 957 return SetField(VT_APP_VERSION, _app_version); 958 } 959 uint32_t target_api_version() const { 960 return GetField<uint32_t>(VT_TARGET_API_VERSION, 0); 961 } 962 bool mutate_target_api_version(uint32_t _target_api_version) { 963 return SetField(VT_TARGET_API_VERSION, _target_api_version); 964 } 965 const flatbuffers::Vector<uint8_t> *app_binary() const { 966 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_APP_BINARY); 967 } 968 flatbuffers::Vector<uint8_t> *mutable_app_binary() { 969 return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_APP_BINARY); 970 } 971 bool Verify(flatbuffers::Verifier &verifier) const { 972 return VerifyTableStart(verifier) && 973 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) && 974 VerifyField<uint64_t>(verifier, VT_APP_ID) && 975 VerifyField<uint32_t>(verifier, VT_APP_VERSION) && 976 VerifyField<uint32_t>(verifier, VT_TARGET_API_VERSION) && 977 VerifyFieldRequired<flatbuffers::uoffset_t>(verifier, VT_APP_BINARY) && 978 verifier.Verify(app_binary()) && 979 verifier.EndTable(); 980 } 981 LoadNanoappRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 982 void UnPackTo(LoadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 983 static flatbuffers::Offset<LoadNanoappRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 984}; 985 986struct LoadNanoappRequestBuilder { 987 flatbuffers::FlatBufferBuilder &fbb_; 988 flatbuffers::uoffset_t start_; 989 void add_transaction_id(uint32_t transaction_id) { 990 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_TRANSACTION_ID, transaction_id, 0); 991 } 992 void add_app_id(uint64_t app_id) { 993 fbb_.AddElement<uint64_t>(LoadNanoappRequest::VT_APP_ID, app_id, 0); 994 } 995 void add_app_version(uint32_t app_version) { 996 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_APP_VERSION, app_version, 0); 997 } 998 void add_target_api_version(uint32_t target_api_version) { 999 fbb_.AddElement<uint32_t>(LoadNanoappRequest::VT_TARGET_API_VERSION, target_api_version, 0); 1000 } 1001 void add_app_binary(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> app_binary) { 1002 fbb_.AddOffset(LoadNanoappRequest::VT_APP_BINARY, app_binary); 1003 } 1004 LoadNanoappRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb) 1005 : fbb_(_fbb) { 1006 start_ = fbb_.StartTable(); 1007 } 1008 LoadNanoappRequestBuilder &operator=(const LoadNanoappRequestBuilder &); 1009 flatbuffers::Offset<LoadNanoappRequest> Finish() { 1010 const auto end = fbb_.EndTable(start_, 5); 1011 auto o = flatbuffers::Offset<LoadNanoappRequest>(end); 1012 fbb_.Required(o, LoadNanoappRequest::VT_APP_BINARY); 1013 return o; 1014 } 1015}; 1016 1017inline flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequest( 1018 flatbuffers::FlatBufferBuilder &_fbb, 1019 uint32_t transaction_id = 0, 1020 uint64_t app_id = 0, 1021 uint32_t app_version = 0, 1022 uint32_t target_api_version = 0, 1023 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> app_binary = 0) { 1024 LoadNanoappRequestBuilder builder_(_fbb); 1025 builder_.add_app_id(app_id); 1026 builder_.add_app_binary(app_binary); 1027 builder_.add_target_api_version(target_api_version); 1028 builder_.add_app_version(app_version); 1029 builder_.add_transaction_id(transaction_id); 1030 return builder_.Finish(); 1031} 1032 1033inline flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequestDirect( 1034 flatbuffers::FlatBufferBuilder &_fbb, 1035 uint32_t transaction_id = 0, 1036 uint64_t app_id = 0, 1037 uint32_t app_version = 0, 1038 uint32_t target_api_version = 0, 1039 const std::vector<uint8_t> *app_binary = nullptr) { 1040 return chre::fbs::CreateLoadNanoappRequest( 1041 _fbb, 1042 transaction_id, 1043 app_id, 1044 app_version, 1045 target_api_version, 1046 app_binary ? _fbb.CreateVector<uint8_t>(*app_binary) : 0); 1047} 1048 1049flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1050 1051struct LoadNanoappResponseT : public flatbuffers::NativeTable { 1052 typedef LoadNanoappResponse TableType; 1053 uint32_t transaction_id; 1054 bool success; 1055 LoadNanoappResponseT() 1056 : transaction_id(0), 1057 success(false) { 1058 } 1059}; 1060 1061struct LoadNanoappResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 1062 typedef LoadNanoappResponseT NativeTableType; 1063 enum { 1064 VT_TRANSACTION_ID = 4, 1065 VT_SUCCESS = 6 1066 }; 1067 uint32_t transaction_id() const { 1068 return GetField<uint32_t>(VT_TRANSACTION_ID, 0); 1069 } 1070 bool mutate_transaction_id(uint32_t _transaction_id) { 1071 return SetField(VT_TRANSACTION_ID, _transaction_id); 1072 } 1073 bool success() const { 1074 return GetField<uint8_t>(VT_SUCCESS, 0) != 0; 1075 } 1076 bool mutate_success(bool _success) { 1077 return SetField(VT_SUCCESS, static_cast<uint8_t>(_success)); 1078 } 1079 bool Verify(flatbuffers::Verifier &verifier) const { 1080 return VerifyTableStart(verifier) && 1081 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) && 1082 VerifyField<uint8_t>(verifier, VT_SUCCESS) && 1083 verifier.EndTable(); 1084 } 1085 LoadNanoappResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1086 void UnPackTo(LoadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1087 static flatbuffers::Offset<LoadNanoappResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1088}; 1089 1090struct LoadNanoappResponseBuilder { 1091 flatbuffers::FlatBufferBuilder &fbb_; 1092 flatbuffers::uoffset_t start_; 1093 void add_transaction_id(uint32_t transaction_id) { 1094 fbb_.AddElement<uint32_t>(LoadNanoappResponse::VT_TRANSACTION_ID, transaction_id, 0); 1095 } 1096 void add_success(bool success) { 1097 fbb_.AddElement<uint8_t>(LoadNanoappResponse::VT_SUCCESS, static_cast<uint8_t>(success), 0); 1098 } 1099 LoadNanoappResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb) 1100 : fbb_(_fbb) { 1101 start_ = fbb_.StartTable(); 1102 } 1103 LoadNanoappResponseBuilder &operator=(const LoadNanoappResponseBuilder &); 1104 flatbuffers::Offset<LoadNanoappResponse> Finish() { 1105 const auto end = fbb_.EndTable(start_, 2); 1106 auto o = flatbuffers::Offset<LoadNanoappResponse>(end); 1107 return o; 1108 } 1109}; 1110 1111inline flatbuffers::Offset<LoadNanoappResponse> CreateLoadNanoappResponse( 1112 flatbuffers::FlatBufferBuilder &_fbb, 1113 uint32_t transaction_id = 0, 1114 bool success = false) { 1115 LoadNanoappResponseBuilder builder_(_fbb); 1116 builder_.add_transaction_id(transaction_id); 1117 builder_.add_success(success); 1118 return builder_.Finish(); 1119} 1120 1121flatbuffers::Offset<LoadNanoappResponse> CreateLoadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1122 1123struct UnloadNanoappRequestT : public flatbuffers::NativeTable { 1124 typedef UnloadNanoappRequest TableType; 1125 uint32_t transaction_id; 1126 uint64_t app_id; 1127 bool allow_system_nanoapp_unload; 1128 UnloadNanoappRequestT() 1129 : transaction_id(0), 1130 app_id(0), 1131 allow_system_nanoapp_unload(false) { 1132 } 1133}; 1134 1135struct UnloadNanoappRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 1136 typedef UnloadNanoappRequestT NativeTableType; 1137 enum { 1138 VT_TRANSACTION_ID = 4, 1139 VT_APP_ID = 6, 1140 VT_ALLOW_SYSTEM_NANOAPP_UNLOAD = 8 1141 }; 1142 uint32_t transaction_id() const { 1143 return GetField<uint32_t>(VT_TRANSACTION_ID, 0); 1144 } 1145 bool mutate_transaction_id(uint32_t _transaction_id) { 1146 return SetField(VT_TRANSACTION_ID, _transaction_id); 1147 } 1148 uint64_t app_id() const { 1149 return GetField<uint64_t>(VT_APP_ID, 0); 1150 } 1151 bool mutate_app_id(uint64_t _app_id) { 1152 return SetField(VT_APP_ID, _app_id); 1153 } 1154 /// Set to true to allow this request to unload nanoapps identified as "system 1155 /// nanoapps", i.e. ones with is_system set to true in NanoappListResponse. 1156 bool allow_system_nanoapp_unload() const { 1157 return GetField<uint8_t>(VT_ALLOW_SYSTEM_NANOAPP_UNLOAD, 0) != 0; 1158 } 1159 bool mutate_allow_system_nanoapp_unload(bool _allow_system_nanoapp_unload) { 1160 return SetField(VT_ALLOW_SYSTEM_NANOAPP_UNLOAD, static_cast<uint8_t>(_allow_system_nanoapp_unload)); 1161 } 1162 bool Verify(flatbuffers::Verifier &verifier) const { 1163 return VerifyTableStart(verifier) && 1164 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) && 1165 VerifyField<uint64_t>(verifier, VT_APP_ID) && 1166 VerifyField<uint8_t>(verifier, VT_ALLOW_SYSTEM_NANOAPP_UNLOAD) && 1167 verifier.EndTable(); 1168 } 1169 UnloadNanoappRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1170 void UnPackTo(UnloadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1171 static flatbuffers::Offset<UnloadNanoappRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1172}; 1173 1174struct UnloadNanoappRequestBuilder { 1175 flatbuffers::FlatBufferBuilder &fbb_; 1176 flatbuffers::uoffset_t start_; 1177 void add_transaction_id(uint32_t transaction_id) { 1178 fbb_.AddElement<uint32_t>(UnloadNanoappRequest::VT_TRANSACTION_ID, transaction_id, 0); 1179 } 1180 void add_app_id(uint64_t app_id) { 1181 fbb_.AddElement<uint64_t>(UnloadNanoappRequest::VT_APP_ID, app_id, 0); 1182 } 1183 void add_allow_system_nanoapp_unload(bool allow_system_nanoapp_unload) { 1184 fbb_.AddElement<uint8_t>(UnloadNanoappRequest::VT_ALLOW_SYSTEM_NANOAPP_UNLOAD, static_cast<uint8_t>(allow_system_nanoapp_unload), 0); 1185 } 1186 UnloadNanoappRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb) 1187 : fbb_(_fbb) { 1188 start_ = fbb_.StartTable(); 1189 } 1190 UnloadNanoappRequestBuilder &operator=(const UnloadNanoappRequestBuilder &); 1191 flatbuffers::Offset<UnloadNanoappRequest> Finish() { 1192 const auto end = fbb_.EndTable(start_, 3); 1193 auto o = flatbuffers::Offset<UnloadNanoappRequest>(end); 1194 return o; 1195 } 1196}; 1197 1198inline flatbuffers::Offset<UnloadNanoappRequest> CreateUnloadNanoappRequest( 1199 flatbuffers::FlatBufferBuilder &_fbb, 1200 uint32_t transaction_id = 0, 1201 uint64_t app_id = 0, 1202 bool allow_system_nanoapp_unload = false) { 1203 UnloadNanoappRequestBuilder builder_(_fbb); 1204 builder_.add_app_id(app_id); 1205 builder_.add_transaction_id(transaction_id); 1206 builder_.add_allow_system_nanoapp_unload(allow_system_nanoapp_unload); 1207 return builder_.Finish(); 1208} 1209 1210flatbuffers::Offset<UnloadNanoappRequest> CreateUnloadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1211 1212struct UnloadNanoappResponseT : public flatbuffers::NativeTable { 1213 typedef UnloadNanoappResponse TableType; 1214 uint32_t transaction_id; 1215 bool success; 1216 UnloadNanoappResponseT() 1217 : transaction_id(0), 1218 success(false) { 1219 } 1220}; 1221 1222struct UnloadNanoappResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 1223 typedef UnloadNanoappResponseT NativeTableType; 1224 enum { 1225 VT_TRANSACTION_ID = 4, 1226 VT_SUCCESS = 6 1227 }; 1228 uint32_t transaction_id() const { 1229 return GetField<uint32_t>(VT_TRANSACTION_ID, 0); 1230 } 1231 bool mutate_transaction_id(uint32_t _transaction_id) { 1232 return SetField(VT_TRANSACTION_ID, _transaction_id); 1233 } 1234 bool success() const { 1235 return GetField<uint8_t>(VT_SUCCESS, 0) != 0; 1236 } 1237 bool mutate_success(bool _success) { 1238 return SetField(VT_SUCCESS, static_cast<uint8_t>(_success)); 1239 } 1240 bool Verify(flatbuffers::Verifier &verifier) const { 1241 return VerifyTableStart(verifier) && 1242 VerifyField<uint32_t>(verifier, VT_TRANSACTION_ID) && 1243 VerifyField<uint8_t>(verifier, VT_SUCCESS) && 1244 verifier.EndTable(); 1245 } 1246 UnloadNanoappResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1247 void UnPackTo(UnloadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1248 static flatbuffers::Offset<UnloadNanoappResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1249}; 1250 1251struct UnloadNanoappResponseBuilder { 1252 flatbuffers::FlatBufferBuilder &fbb_; 1253 flatbuffers::uoffset_t start_; 1254 void add_transaction_id(uint32_t transaction_id) { 1255 fbb_.AddElement<uint32_t>(UnloadNanoappResponse::VT_TRANSACTION_ID, transaction_id, 0); 1256 } 1257 void add_success(bool success) { 1258 fbb_.AddElement<uint8_t>(UnloadNanoappResponse::VT_SUCCESS, static_cast<uint8_t>(success), 0); 1259 } 1260 UnloadNanoappResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb) 1261 : fbb_(_fbb) { 1262 start_ = fbb_.StartTable(); 1263 } 1264 UnloadNanoappResponseBuilder &operator=(const UnloadNanoappResponseBuilder &); 1265 flatbuffers::Offset<UnloadNanoappResponse> Finish() { 1266 const auto end = fbb_.EndTable(start_, 2); 1267 auto o = flatbuffers::Offset<UnloadNanoappResponse>(end); 1268 return o; 1269 } 1270}; 1271 1272inline flatbuffers::Offset<UnloadNanoappResponse> CreateUnloadNanoappResponse( 1273 flatbuffers::FlatBufferBuilder &_fbb, 1274 uint32_t transaction_id = 0, 1275 bool success = false) { 1276 UnloadNanoappResponseBuilder builder_(_fbb); 1277 builder_.add_transaction_id(transaction_id); 1278 builder_.add_success(success); 1279 return builder_.Finish(); 1280} 1281 1282flatbuffers::Offset<UnloadNanoappResponse> CreateUnloadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1283 1284struct LogMessageT : public flatbuffers::NativeTable { 1285 typedef LogMessage TableType; 1286 std::vector<int8_t> buffer; 1287 LogMessageT() { 1288 } 1289}; 1290 1291/// Represents log messages from CHRE. 1292struct LogMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 1293 typedef LogMessageT NativeTableType; 1294 enum { 1295 VT_BUFFER = 4 1296 }; 1297 /// A buffer containing formatted log data. A flat array is used here to avoid 1298 /// overhead in serializing and deserializing. The format is as follows: 1299 /// 1300 /// uint8_t - log level (1 = error, 2 = warning, 1301 /// 3 = info, 4 = debug) 1302 /// uint64_t, little-endian - timestamp in nanoseconds 1303 /// char[] - message to log 1304 /// char, \0 - null-terminator 1305 /// 1306 /// This pattern repeats until the end of the buffer for multiple log 1307 /// messages. The last byte will always be a null-terminator. There are no 1308 /// padding bytes between these fields. Treat this like a packed struct and be 1309 /// cautious with unaligned access when reading/writing this buffer. 1310 const flatbuffers::Vector<int8_t> *buffer() const { 1311 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_BUFFER); 1312 } 1313 flatbuffers::Vector<int8_t> *mutable_buffer() { 1314 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_BUFFER); 1315 } 1316 bool Verify(flatbuffers::Verifier &verifier) const { 1317 return VerifyTableStart(verifier) && 1318 VerifyField<flatbuffers::uoffset_t>(verifier, VT_BUFFER) && 1319 verifier.Verify(buffer()) && 1320 verifier.EndTable(); 1321 } 1322 LogMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1323 void UnPackTo(LogMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1324 static flatbuffers::Offset<LogMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1325}; 1326 1327struct LogMessageBuilder { 1328 flatbuffers::FlatBufferBuilder &fbb_; 1329 flatbuffers::uoffset_t start_; 1330 void add_buffer(flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer) { 1331 fbb_.AddOffset(LogMessage::VT_BUFFER, buffer); 1332 } 1333 LogMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) 1334 : fbb_(_fbb) { 1335 start_ = fbb_.StartTable(); 1336 } 1337 LogMessageBuilder &operator=(const LogMessageBuilder &); 1338 flatbuffers::Offset<LogMessage> Finish() { 1339 const auto end = fbb_.EndTable(start_, 1); 1340 auto o = flatbuffers::Offset<LogMessage>(end); 1341 return o; 1342 } 1343}; 1344 1345inline flatbuffers::Offset<LogMessage> CreateLogMessage( 1346 flatbuffers::FlatBufferBuilder &_fbb, 1347 flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer = 0) { 1348 LogMessageBuilder builder_(_fbb); 1349 builder_.add_buffer(buffer); 1350 return builder_.Finish(); 1351} 1352 1353inline flatbuffers::Offset<LogMessage> CreateLogMessageDirect( 1354 flatbuffers::FlatBufferBuilder &_fbb, 1355 const std::vector<int8_t> *buffer = nullptr) { 1356 return chre::fbs::CreateLogMessage( 1357 _fbb, 1358 buffer ? _fbb.CreateVector<int8_t>(*buffer) : 0); 1359} 1360 1361flatbuffers::Offset<LogMessage> CreateLogMessage(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1362 1363struct TimeSyncMessageT : public flatbuffers::NativeTable { 1364 typedef TimeSyncMessage TableType; 1365 int64_t offset; 1366 TimeSyncMessageT() 1367 : offset(0) { 1368 } 1369}; 1370 1371/// Represents a message sent to CHRE to indicate AP timestamp for time sync 1372struct TimeSyncMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 1373 typedef TimeSyncMessageT NativeTableType; 1374 enum { 1375 VT_OFFSET = 4 1376 }; 1377 /// Offset between AP and CHRE timestamp 1378 int64_t offset() const { 1379 return GetField<int64_t>(VT_OFFSET, 0); 1380 } 1381 bool mutate_offset(int64_t _offset) { 1382 return SetField(VT_OFFSET, _offset); 1383 } 1384 bool Verify(flatbuffers::Verifier &verifier) const { 1385 return VerifyTableStart(verifier) && 1386 VerifyField<int64_t>(verifier, VT_OFFSET) && 1387 verifier.EndTable(); 1388 } 1389 TimeSyncMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1390 void UnPackTo(TimeSyncMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1391 static flatbuffers::Offset<TimeSyncMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1392}; 1393 1394struct TimeSyncMessageBuilder { 1395 flatbuffers::FlatBufferBuilder &fbb_; 1396 flatbuffers::uoffset_t start_; 1397 void add_offset(int64_t offset) { 1398 fbb_.AddElement<int64_t>(TimeSyncMessage::VT_OFFSET, offset, 0); 1399 } 1400 TimeSyncMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) 1401 : fbb_(_fbb) { 1402 start_ = fbb_.StartTable(); 1403 } 1404 TimeSyncMessageBuilder &operator=(const TimeSyncMessageBuilder &); 1405 flatbuffers::Offset<TimeSyncMessage> Finish() { 1406 const auto end = fbb_.EndTable(start_, 1); 1407 auto o = flatbuffers::Offset<TimeSyncMessage>(end); 1408 return o; 1409 } 1410}; 1411 1412inline flatbuffers::Offset<TimeSyncMessage> CreateTimeSyncMessage( 1413 flatbuffers::FlatBufferBuilder &_fbb, 1414 int64_t offset = 0) { 1415 TimeSyncMessageBuilder builder_(_fbb); 1416 builder_.add_offset(offset); 1417 return builder_.Finish(); 1418} 1419 1420flatbuffers::Offset<TimeSyncMessage> CreateTimeSyncMessage(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1421 1422struct DebugDumpRequestT : public flatbuffers::NativeTable { 1423 typedef DebugDumpRequest TableType; 1424 DebugDumpRequestT() { 1425 } 1426}; 1427 1428/// A request to gather and return debugging information. Only one debug dump 1429/// session can be active at a time. Upon accepting a request, zero or more 1430/// DebugDumpData messages are generated, followed by a DebugDumpResponse 1431/// indicating the completion of the operation. 1432struct DebugDumpRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 1433 typedef DebugDumpRequestT NativeTableType; 1434 bool Verify(flatbuffers::Verifier &verifier) const { 1435 return VerifyTableStart(verifier) && 1436 verifier.EndTable(); 1437 } 1438 DebugDumpRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1439 void UnPackTo(DebugDumpRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1440 static flatbuffers::Offset<DebugDumpRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1441}; 1442 1443struct DebugDumpRequestBuilder { 1444 flatbuffers::FlatBufferBuilder &fbb_; 1445 flatbuffers::uoffset_t start_; 1446 DebugDumpRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb) 1447 : fbb_(_fbb) { 1448 start_ = fbb_.StartTable(); 1449 } 1450 DebugDumpRequestBuilder &operator=(const DebugDumpRequestBuilder &); 1451 flatbuffers::Offset<DebugDumpRequest> Finish() { 1452 const auto end = fbb_.EndTable(start_, 0); 1453 auto o = flatbuffers::Offset<DebugDumpRequest>(end); 1454 return o; 1455 } 1456}; 1457 1458inline flatbuffers::Offset<DebugDumpRequest> CreateDebugDumpRequest( 1459 flatbuffers::FlatBufferBuilder &_fbb) { 1460 DebugDumpRequestBuilder builder_(_fbb); 1461 return builder_.Finish(); 1462} 1463 1464flatbuffers::Offset<DebugDumpRequest> CreateDebugDumpRequest(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1465 1466struct DebugDumpDataT : public flatbuffers::NativeTable { 1467 typedef DebugDumpData TableType; 1468 std::vector<int8_t> debug_str; 1469 DebugDumpDataT() { 1470 } 1471}; 1472 1473struct DebugDumpData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 1474 typedef DebugDumpDataT NativeTableType; 1475 enum { 1476 VT_DEBUG_STR = 4 1477 }; 1478 /// Null-terminated ASCII string containing debugging information 1479 const flatbuffers::Vector<int8_t> *debug_str() const { 1480 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_DEBUG_STR); 1481 } 1482 flatbuffers::Vector<int8_t> *mutable_debug_str() { 1483 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_DEBUG_STR); 1484 } 1485 bool Verify(flatbuffers::Verifier &verifier) const { 1486 return VerifyTableStart(verifier) && 1487 VerifyField<flatbuffers::uoffset_t>(verifier, VT_DEBUG_STR) && 1488 verifier.Verify(debug_str()) && 1489 verifier.EndTable(); 1490 } 1491 DebugDumpDataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1492 void UnPackTo(DebugDumpDataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1493 static flatbuffers::Offset<DebugDumpData> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1494}; 1495 1496struct DebugDumpDataBuilder { 1497 flatbuffers::FlatBufferBuilder &fbb_; 1498 flatbuffers::uoffset_t start_; 1499 void add_debug_str(flatbuffers::Offset<flatbuffers::Vector<int8_t>> debug_str) { 1500 fbb_.AddOffset(DebugDumpData::VT_DEBUG_STR, debug_str); 1501 } 1502 DebugDumpDataBuilder(flatbuffers::FlatBufferBuilder &_fbb) 1503 : fbb_(_fbb) { 1504 start_ = fbb_.StartTable(); 1505 } 1506 DebugDumpDataBuilder &operator=(const DebugDumpDataBuilder &); 1507 flatbuffers::Offset<DebugDumpData> Finish() { 1508 const auto end = fbb_.EndTable(start_, 1); 1509 auto o = flatbuffers::Offset<DebugDumpData>(end); 1510 return o; 1511 } 1512}; 1513 1514inline flatbuffers::Offset<DebugDumpData> CreateDebugDumpData( 1515 flatbuffers::FlatBufferBuilder &_fbb, 1516 flatbuffers::Offset<flatbuffers::Vector<int8_t>> debug_str = 0) { 1517 DebugDumpDataBuilder builder_(_fbb); 1518 builder_.add_debug_str(debug_str); 1519 return builder_.Finish(); 1520} 1521 1522inline flatbuffers::Offset<DebugDumpData> CreateDebugDumpDataDirect( 1523 flatbuffers::FlatBufferBuilder &_fbb, 1524 const std::vector<int8_t> *debug_str = nullptr) { 1525 return chre::fbs::CreateDebugDumpData( 1526 _fbb, 1527 debug_str ? _fbb.CreateVector<int8_t>(*debug_str) : 0); 1528} 1529 1530flatbuffers::Offset<DebugDumpData> CreateDebugDumpData(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1531 1532struct DebugDumpResponseT : public flatbuffers::NativeTable { 1533 typedef DebugDumpResponse TableType; 1534 bool success; 1535 uint32_t data_count; 1536 DebugDumpResponseT() 1537 : success(false), 1538 data_count(0) { 1539 } 1540}; 1541 1542struct DebugDumpResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 1543 typedef DebugDumpResponseT NativeTableType; 1544 enum { 1545 VT_SUCCESS = 4, 1546 VT_DATA_COUNT = 6 1547 }; 1548 /// true if the request was accepted and a dump was performed, false if it was 1549 /// rejected or failed to complete for some reason 1550 bool success() const { 1551 return GetField<uint8_t>(VT_SUCCESS, 0) != 0; 1552 } 1553 bool mutate_success(bool _success) { 1554 return SetField(VT_SUCCESS, static_cast<uint8_t>(_success)); 1555 } 1556 /// The number of DebugDumpData messages sent in this session 1557 uint32_t data_count() const { 1558 return GetField<uint32_t>(VT_DATA_COUNT, 0); 1559 } 1560 bool mutate_data_count(uint32_t _data_count) { 1561 return SetField(VT_DATA_COUNT, _data_count); 1562 } 1563 bool Verify(flatbuffers::Verifier &verifier) const { 1564 return VerifyTableStart(verifier) && 1565 VerifyField<uint8_t>(verifier, VT_SUCCESS) && 1566 VerifyField<uint32_t>(verifier, VT_DATA_COUNT) && 1567 verifier.EndTable(); 1568 } 1569 DebugDumpResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1570 void UnPackTo(DebugDumpResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1571 static flatbuffers::Offset<DebugDumpResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1572}; 1573 1574struct DebugDumpResponseBuilder { 1575 flatbuffers::FlatBufferBuilder &fbb_; 1576 flatbuffers::uoffset_t start_; 1577 void add_success(bool success) { 1578 fbb_.AddElement<uint8_t>(DebugDumpResponse::VT_SUCCESS, static_cast<uint8_t>(success), 0); 1579 } 1580 void add_data_count(uint32_t data_count) { 1581 fbb_.AddElement<uint32_t>(DebugDumpResponse::VT_DATA_COUNT, data_count, 0); 1582 } 1583 DebugDumpResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb) 1584 : fbb_(_fbb) { 1585 start_ = fbb_.StartTable(); 1586 } 1587 DebugDumpResponseBuilder &operator=(const DebugDumpResponseBuilder &); 1588 flatbuffers::Offset<DebugDumpResponse> Finish() { 1589 const auto end = fbb_.EndTable(start_, 2); 1590 auto o = flatbuffers::Offset<DebugDumpResponse>(end); 1591 return o; 1592 } 1593}; 1594 1595inline flatbuffers::Offset<DebugDumpResponse> CreateDebugDumpResponse( 1596 flatbuffers::FlatBufferBuilder &_fbb, 1597 bool success = false, 1598 uint32_t data_count = 0) { 1599 DebugDumpResponseBuilder builder_(_fbb); 1600 builder_.add_data_count(data_count); 1601 builder_.add_success(success); 1602 return builder_.Finish(); 1603} 1604 1605flatbuffers::Offset<DebugDumpResponse> CreateDebugDumpResponse(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1606 1607struct MessageContainerT : public flatbuffers::NativeTable { 1608 typedef MessageContainer TableType; 1609 ChreMessageUnion message; 1610 std::unique_ptr<HostAddress> host_addr; 1611 MessageContainerT() { 1612 } 1613}; 1614 1615/// The top-level container that encapsulates all possible messages. Note that 1616/// per FlatBuffers requirements, we can't use a union as the top-level 1617/// structure (root type), so we must wrap it in a table. 1618struct MessageContainer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 1619 typedef MessageContainerT NativeTableType; 1620 enum { 1621 VT_MESSAGE_TYPE = 4, 1622 VT_MESSAGE = 6, 1623 VT_HOST_ADDR = 8 1624 }; 1625 ChreMessage message_type() const { 1626 return static_cast<ChreMessage>(GetField<uint8_t>(VT_MESSAGE_TYPE, 0)); 1627 } 1628 bool mutate_message_type(ChreMessage _message_type) { 1629 return SetField(VT_MESSAGE_TYPE, static_cast<uint8_t>(_message_type)); 1630 } 1631 const void *message() const { 1632 return GetPointer<const void *>(VT_MESSAGE); 1633 } 1634 void *mutable_message() { 1635 return GetPointer<void *>(VT_MESSAGE); 1636 } 1637 /// The originating or destination client ID on the host side, used to direct 1638 /// responses only to the client that sent the request. Although initially 1639 /// populated by the requesting client, this is enforced to be the correct 1640 /// value by the entity guarding access to CHRE. 1641 /// This is wrapped in a struct to ensure that it is always included when 1642 /// encoding the message, so it can be mutated by the host daemon. 1643 const HostAddress *host_addr() const { 1644 return GetStruct<const HostAddress *>(VT_HOST_ADDR); 1645 } 1646 HostAddress *mutable_host_addr() { 1647 return GetStruct<HostAddress *>(VT_HOST_ADDR); 1648 } 1649 bool Verify(flatbuffers::Verifier &verifier) const { 1650 return VerifyTableStart(verifier) && 1651 VerifyField<uint8_t>(verifier, VT_MESSAGE_TYPE) && 1652 VerifyFieldRequired<flatbuffers::uoffset_t>(verifier, VT_MESSAGE) && 1653 VerifyChreMessage(verifier, message(), message_type()) && 1654 VerifyFieldRequired<HostAddress>(verifier, VT_HOST_ADDR) && 1655 verifier.EndTable(); 1656 } 1657 MessageContainerT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1658 void UnPackTo(MessageContainerT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 1659 static flatbuffers::Offset<MessageContainer> Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1660}; 1661 1662struct MessageContainerBuilder { 1663 flatbuffers::FlatBufferBuilder &fbb_; 1664 flatbuffers::uoffset_t start_; 1665 void add_message_type(ChreMessage message_type) { 1666 fbb_.AddElement<uint8_t>(MessageContainer::VT_MESSAGE_TYPE, static_cast<uint8_t>(message_type), 0); 1667 } 1668 void add_message(flatbuffers::Offset<void> message) { 1669 fbb_.AddOffset(MessageContainer::VT_MESSAGE, message); 1670 } 1671 void add_host_addr(const HostAddress *host_addr) { 1672 fbb_.AddStruct(MessageContainer::VT_HOST_ADDR, host_addr); 1673 } 1674 MessageContainerBuilder(flatbuffers::FlatBufferBuilder &_fbb) 1675 : fbb_(_fbb) { 1676 start_ = fbb_.StartTable(); 1677 } 1678 MessageContainerBuilder &operator=(const MessageContainerBuilder &); 1679 flatbuffers::Offset<MessageContainer> Finish() { 1680 const auto end = fbb_.EndTable(start_, 3); 1681 auto o = flatbuffers::Offset<MessageContainer>(end); 1682 fbb_.Required(o, MessageContainer::VT_MESSAGE); 1683 fbb_.Required(o, MessageContainer::VT_HOST_ADDR); 1684 return o; 1685 } 1686}; 1687 1688inline flatbuffers::Offset<MessageContainer> CreateMessageContainer( 1689 flatbuffers::FlatBufferBuilder &_fbb, 1690 ChreMessage message_type = ChreMessage::NONE, 1691 flatbuffers::Offset<void> message = 0, 1692 const HostAddress *host_addr = 0) { 1693 MessageContainerBuilder builder_(_fbb); 1694 builder_.add_host_addr(host_addr); 1695 builder_.add_message(message); 1696 builder_.add_message_type(message_type); 1697 return builder_.Finish(); 1698} 1699 1700flatbuffers::Offset<MessageContainer> CreateMessageContainer(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 1701 1702inline NanoappMessageT *NanoappMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1703 auto _o = new NanoappMessageT(); 1704 UnPackTo(_o, _resolver); 1705 return _o; 1706} 1707 1708inline void NanoappMessage::UnPackTo(NanoappMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const { 1709 (void)_o; 1710 (void)_resolver; 1711 { auto _e = app_id(); _o->app_id = _e; }; 1712 { auto _e = message_type(); _o->message_type = _e; }; 1713 { auto _e = host_endpoint(); _o->host_endpoint = _e; }; 1714 { auto _e = message(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->message.push_back(_e->Get(_i)); } }; 1715} 1716 1717inline flatbuffers::Offset<NanoappMessage> NanoappMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1718 return CreateNanoappMessage(_fbb, _o, _rehasher); 1719} 1720 1721inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessage(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1722 (void)_rehasher; 1723 (void)_o; 1724 auto _app_id = _o->app_id; 1725 auto _message_type = _o->message_type; 1726 auto _host_endpoint = _o->host_endpoint; 1727 auto _message = _fbb.CreateVector(_o->message); 1728 return chre::fbs::CreateNanoappMessage( 1729 _fbb, 1730 _app_id, 1731 _message_type, 1732 _host_endpoint, 1733 _message); 1734} 1735 1736inline HubInfoRequestT *HubInfoRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1737 auto _o = new HubInfoRequestT(); 1738 UnPackTo(_o, _resolver); 1739 return _o; 1740} 1741 1742inline void HubInfoRequest::UnPackTo(HubInfoRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const { 1743 (void)_o; 1744 (void)_resolver; 1745} 1746 1747inline flatbuffers::Offset<HubInfoRequest> HubInfoRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1748 return CreateHubInfoRequest(_fbb, _o, _rehasher); 1749} 1750 1751inline flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1752 (void)_rehasher; 1753 (void)_o; 1754 return chre::fbs::CreateHubInfoRequest( 1755 _fbb); 1756} 1757 1758inline HubInfoResponseT *HubInfoResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1759 auto _o = new HubInfoResponseT(); 1760 UnPackTo(_o, _resolver); 1761 return _o; 1762} 1763 1764inline void HubInfoResponse::UnPackTo(HubInfoResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const { 1765 (void)_o; 1766 (void)_resolver; 1767 { auto _e = name(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->name.push_back(_e->Get(_i)); } }; 1768 { auto _e = vendor(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->vendor.push_back(_e->Get(_i)); } }; 1769 { auto _e = toolchain(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->toolchain.push_back(_e->Get(_i)); } }; 1770 { auto _e = platform_version(); _o->platform_version = _e; }; 1771 { auto _e = toolchain_version(); _o->toolchain_version = _e; }; 1772 { auto _e = peak_mips(); _o->peak_mips = _e; }; 1773 { auto _e = stopped_power(); _o->stopped_power = _e; }; 1774 { auto _e = sleep_power(); _o->sleep_power = _e; }; 1775 { auto _e = peak_power(); _o->peak_power = _e; }; 1776 { auto _e = max_msg_len(); _o->max_msg_len = _e; }; 1777 { auto _e = platform_id(); _o->platform_id = _e; }; 1778 { auto _e = chre_platform_version(); _o->chre_platform_version = _e; }; 1779} 1780 1781inline flatbuffers::Offset<HubInfoResponse> HubInfoResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1782 return CreateHubInfoResponse(_fbb, _o, _rehasher); 1783} 1784 1785inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1786 (void)_rehasher; 1787 (void)_o; 1788 auto _name = _o->name.size() ? _fbb.CreateVector(_o->name) : 0; 1789 auto _vendor = _o->vendor.size() ? _fbb.CreateVector(_o->vendor) : 0; 1790 auto _toolchain = _o->toolchain.size() ? _fbb.CreateVector(_o->toolchain) : 0; 1791 auto _platform_version = _o->platform_version; 1792 auto _toolchain_version = _o->toolchain_version; 1793 auto _peak_mips = _o->peak_mips; 1794 auto _stopped_power = _o->stopped_power; 1795 auto _sleep_power = _o->sleep_power; 1796 auto _peak_power = _o->peak_power; 1797 auto _max_msg_len = _o->max_msg_len; 1798 auto _platform_id = _o->platform_id; 1799 auto _chre_platform_version = _o->chre_platform_version; 1800 return chre::fbs::CreateHubInfoResponse( 1801 _fbb, 1802 _name, 1803 _vendor, 1804 _toolchain, 1805 _platform_version, 1806 _toolchain_version, 1807 _peak_mips, 1808 _stopped_power, 1809 _sleep_power, 1810 _peak_power, 1811 _max_msg_len, 1812 _platform_id, 1813 _chre_platform_version); 1814} 1815 1816inline NanoappListRequestT *NanoappListRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1817 auto _o = new NanoappListRequestT(); 1818 UnPackTo(_o, _resolver); 1819 return _o; 1820} 1821 1822inline void NanoappListRequest::UnPackTo(NanoappListRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const { 1823 (void)_o; 1824 (void)_resolver; 1825} 1826 1827inline flatbuffers::Offset<NanoappListRequest> NanoappListRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1828 return CreateNanoappListRequest(_fbb, _o, _rehasher); 1829} 1830 1831inline flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1832 (void)_rehasher; 1833 (void)_o; 1834 return chre::fbs::CreateNanoappListRequest( 1835 _fbb); 1836} 1837 1838inline NanoappListEntryT *NanoappListEntry::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1839 auto _o = new NanoappListEntryT(); 1840 UnPackTo(_o, _resolver); 1841 return _o; 1842} 1843 1844inline void NanoappListEntry::UnPackTo(NanoappListEntryT *_o, const flatbuffers::resolver_function_t *_resolver) const { 1845 (void)_o; 1846 (void)_resolver; 1847 { auto _e = app_id(); _o->app_id = _e; }; 1848 { auto _e = version(); _o->version = _e; }; 1849 { auto _e = enabled(); _o->enabled = _e; }; 1850 { auto _e = is_system(); _o->is_system = _e; }; 1851} 1852 1853inline flatbuffers::Offset<NanoappListEntry> NanoappListEntry::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1854 return CreateNanoappListEntry(_fbb, _o, _rehasher); 1855} 1856 1857inline flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1858 (void)_rehasher; 1859 (void)_o; 1860 auto _app_id = _o->app_id; 1861 auto _version = _o->version; 1862 auto _enabled = _o->enabled; 1863 auto _is_system = _o->is_system; 1864 return chre::fbs::CreateNanoappListEntry( 1865 _fbb, 1866 _app_id, 1867 _version, 1868 _enabled, 1869 _is_system); 1870} 1871 1872inline NanoappListResponseT *NanoappListResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1873 auto _o = new NanoappListResponseT(); 1874 UnPackTo(_o, _resolver); 1875 return _o; 1876} 1877 1878inline void NanoappListResponse::UnPackTo(NanoappListResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const { 1879 (void)_o; 1880 (void)_resolver; 1881 { auto _e = nanoapps(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->nanoapps.push_back(std::unique_ptr<NanoappListEntryT>(_e->Get(_i)->UnPack(_resolver))); } }; 1882} 1883 1884inline flatbuffers::Offset<NanoappListResponse> NanoappListResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1885 return CreateNanoappListResponse(_fbb, _o, _rehasher); 1886} 1887 1888inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1889 (void)_rehasher; 1890 (void)_o; 1891 auto _nanoapps = _fbb.CreateVector<flatbuffers::Offset<NanoappListEntry>>(_o->nanoapps.size(), [&](size_t i) { return CreateNanoappListEntry(_fbb, _o->nanoapps[i].get(), _rehasher); }); 1892 return chre::fbs::CreateNanoappListResponse( 1893 _fbb, 1894 _nanoapps); 1895} 1896 1897inline LoadNanoappRequestT *LoadNanoappRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1898 auto _o = new LoadNanoappRequestT(); 1899 UnPackTo(_o, _resolver); 1900 return _o; 1901} 1902 1903inline void LoadNanoappRequest::UnPackTo(LoadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const { 1904 (void)_o; 1905 (void)_resolver; 1906 { auto _e = transaction_id(); _o->transaction_id = _e; }; 1907 { auto _e = app_id(); _o->app_id = _e; }; 1908 { auto _e = app_version(); _o->app_version = _e; }; 1909 { auto _e = target_api_version(); _o->target_api_version = _e; }; 1910 { auto _e = app_binary(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->app_binary.push_back(_e->Get(_i)); } }; 1911} 1912 1913inline flatbuffers::Offset<LoadNanoappRequest> LoadNanoappRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1914 return CreateLoadNanoappRequest(_fbb, _o, _rehasher); 1915} 1916 1917inline flatbuffers::Offset<LoadNanoappRequest> CreateLoadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1918 (void)_rehasher; 1919 (void)_o; 1920 auto _transaction_id = _o->transaction_id; 1921 auto _app_id = _o->app_id; 1922 auto _app_version = _o->app_version; 1923 auto _target_api_version = _o->target_api_version; 1924 auto _app_binary = _fbb.CreateVector(_o->app_binary); 1925 return chre::fbs::CreateLoadNanoappRequest( 1926 _fbb, 1927 _transaction_id, 1928 _app_id, 1929 _app_version, 1930 _target_api_version, 1931 _app_binary); 1932} 1933 1934inline LoadNanoappResponseT *LoadNanoappResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1935 auto _o = new LoadNanoappResponseT(); 1936 UnPackTo(_o, _resolver); 1937 return _o; 1938} 1939 1940inline void LoadNanoappResponse::UnPackTo(LoadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const { 1941 (void)_o; 1942 (void)_resolver; 1943 { auto _e = transaction_id(); _o->transaction_id = _e; }; 1944 { auto _e = success(); _o->success = _e; }; 1945} 1946 1947inline flatbuffers::Offset<LoadNanoappResponse> LoadNanoappResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1948 return CreateLoadNanoappResponse(_fbb, _o, _rehasher); 1949} 1950 1951inline flatbuffers::Offset<LoadNanoappResponse> CreateLoadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const LoadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1952 (void)_rehasher; 1953 (void)_o; 1954 auto _transaction_id = _o->transaction_id; 1955 auto _success = _o->success; 1956 return chre::fbs::CreateLoadNanoappResponse( 1957 _fbb, 1958 _transaction_id, 1959 _success); 1960} 1961 1962inline UnloadNanoappRequestT *UnloadNanoappRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1963 auto _o = new UnloadNanoappRequestT(); 1964 UnPackTo(_o, _resolver); 1965 return _o; 1966} 1967 1968inline void UnloadNanoappRequest::UnPackTo(UnloadNanoappRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const { 1969 (void)_o; 1970 (void)_resolver; 1971 { auto _e = transaction_id(); _o->transaction_id = _e; }; 1972 { auto _e = app_id(); _o->app_id = _e; }; 1973 { auto _e = allow_system_nanoapp_unload(); _o->allow_system_nanoapp_unload = _e; }; 1974} 1975 1976inline flatbuffers::Offset<UnloadNanoappRequest> UnloadNanoappRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1977 return CreateUnloadNanoappRequest(_fbb, _o, _rehasher); 1978} 1979 1980inline flatbuffers::Offset<UnloadNanoappRequest> CreateUnloadNanoappRequest(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1981 (void)_rehasher; 1982 (void)_o; 1983 auto _transaction_id = _o->transaction_id; 1984 auto _app_id = _o->app_id; 1985 auto _allow_system_nanoapp_unload = _o->allow_system_nanoapp_unload; 1986 return chre::fbs::CreateUnloadNanoappRequest( 1987 _fbb, 1988 _transaction_id, 1989 _app_id, 1990 _allow_system_nanoapp_unload); 1991} 1992 1993inline UnloadNanoappResponseT *UnloadNanoappResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1994 auto _o = new UnloadNanoappResponseT(); 1995 UnPackTo(_o, _resolver); 1996 return _o; 1997} 1998 1999inline void UnloadNanoappResponse::UnPackTo(UnloadNanoappResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const { 2000 (void)_o; 2001 (void)_resolver; 2002 { auto _e = transaction_id(); _o->transaction_id = _e; }; 2003 { auto _e = success(); _o->success = _e; }; 2004} 2005 2006inline flatbuffers::Offset<UnloadNanoappResponse> UnloadNanoappResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 2007 return CreateUnloadNanoappResponse(_fbb, _o, _rehasher); 2008} 2009 2010inline flatbuffers::Offset<UnloadNanoappResponse> CreateUnloadNanoappResponse(flatbuffers::FlatBufferBuilder &_fbb, const UnloadNanoappResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 2011 (void)_rehasher; 2012 (void)_o; 2013 auto _transaction_id = _o->transaction_id; 2014 auto _success = _o->success; 2015 return chre::fbs::CreateUnloadNanoappResponse( 2016 _fbb, 2017 _transaction_id, 2018 _success); 2019} 2020 2021inline LogMessageT *LogMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 2022 auto _o = new LogMessageT(); 2023 UnPackTo(_o, _resolver); 2024 return _o; 2025} 2026 2027inline void LogMessage::UnPackTo(LogMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const { 2028 (void)_o; 2029 (void)_resolver; 2030 { auto _e = buffer(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->buffer.push_back(_e->Get(_i)); } }; 2031} 2032 2033inline flatbuffers::Offset<LogMessage> LogMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 2034 return CreateLogMessage(_fbb, _o, _rehasher); 2035} 2036 2037inline flatbuffers::Offset<LogMessage> CreateLogMessage(flatbuffers::FlatBufferBuilder &_fbb, const LogMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 2038 (void)_rehasher; 2039 (void)_o; 2040 auto _buffer = _o->buffer.size() ? _fbb.CreateVector(_o->buffer) : 0; 2041 return chre::fbs::CreateLogMessage( 2042 _fbb, 2043 _buffer); 2044} 2045 2046inline TimeSyncMessageT *TimeSyncMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 2047 auto _o = new TimeSyncMessageT(); 2048 UnPackTo(_o, _resolver); 2049 return _o; 2050} 2051 2052inline void TimeSyncMessage::UnPackTo(TimeSyncMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const { 2053 (void)_o; 2054 (void)_resolver; 2055 { auto _e = offset(); _o->offset = _e; }; 2056} 2057 2058inline flatbuffers::Offset<TimeSyncMessage> TimeSyncMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 2059 return CreateTimeSyncMessage(_fbb, _o, _rehasher); 2060} 2061 2062inline flatbuffers::Offset<TimeSyncMessage> CreateTimeSyncMessage(flatbuffers::FlatBufferBuilder &_fbb, const TimeSyncMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 2063 (void)_rehasher; 2064 (void)_o; 2065 auto _offset = _o->offset; 2066 return chre::fbs::CreateTimeSyncMessage( 2067 _fbb, 2068 _offset); 2069} 2070 2071inline DebugDumpRequestT *DebugDumpRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 2072 auto _o = new DebugDumpRequestT(); 2073 UnPackTo(_o, _resolver); 2074 return _o; 2075} 2076 2077inline void DebugDumpRequest::UnPackTo(DebugDumpRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const { 2078 (void)_o; 2079 (void)_resolver; 2080} 2081 2082inline flatbuffers::Offset<DebugDumpRequest> DebugDumpRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 2083 return CreateDebugDumpRequest(_fbb, _o, _rehasher); 2084} 2085 2086inline flatbuffers::Offset<DebugDumpRequest> CreateDebugDumpRequest(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 2087 (void)_rehasher; 2088 (void)_o; 2089 return chre::fbs::CreateDebugDumpRequest( 2090 _fbb); 2091} 2092 2093inline DebugDumpDataT *DebugDumpData::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 2094 auto _o = new DebugDumpDataT(); 2095 UnPackTo(_o, _resolver); 2096 return _o; 2097} 2098 2099inline void DebugDumpData::UnPackTo(DebugDumpDataT *_o, const flatbuffers::resolver_function_t *_resolver) const { 2100 (void)_o; 2101 (void)_resolver; 2102 { auto _e = debug_str(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->debug_str.push_back(_e->Get(_i)); } }; 2103} 2104 2105inline flatbuffers::Offset<DebugDumpData> DebugDumpData::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 2106 return CreateDebugDumpData(_fbb, _o, _rehasher); 2107} 2108 2109inline flatbuffers::Offset<DebugDumpData> CreateDebugDumpData(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpDataT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 2110 (void)_rehasher; 2111 (void)_o; 2112 auto _debug_str = _o->debug_str.size() ? _fbb.CreateVector(_o->debug_str) : 0; 2113 return chre::fbs::CreateDebugDumpData( 2114 _fbb, 2115 _debug_str); 2116} 2117 2118inline DebugDumpResponseT *DebugDumpResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 2119 auto _o = new DebugDumpResponseT(); 2120 UnPackTo(_o, _resolver); 2121 return _o; 2122} 2123 2124inline void DebugDumpResponse::UnPackTo(DebugDumpResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const { 2125 (void)_o; 2126 (void)_resolver; 2127 { auto _e = success(); _o->success = _e; }; 2128 { auto _e = data_count(); _o->data_count = _e; }; 2129} 2130 2131inline flatbuffers::Offset<DebugDumpResponse> DebugDumpResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 2132 return CreateDebugDumpResponse(_fbb, _o, _rehasher); 2133} 2134 2135inline flatbuffers::Offset<DebugDumpResponse> CreateDebugDumpResponse(flatbuffers::FlatBufferBuilder &_fbb, const DebugDumpResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 2136 (void)_rehasher; 2137 (void)_o; 2138 auto _success = _o->success; 2139 auto _data_count = _o->data_count; 2140 return chre::fbs::CreateDebugDumpResponse( 2141 _fbb, 2142 _success, 2143 _data_count); 2144} 2145 2146inline MessageContainerT *MessageContainer::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 2147 auto _o = new MessageContainerT(); 2148 UnPackTo(_o, _resolver); 2149 return _o; 2150} 2151 2152inline void MessageContainer::UnPackTo(MessageContainerT *_o, const flatbuffers::resolver_function_t *_resolver) const { 2153 (void)_o; 2154 (void)_resolver; 2155 { auto _e = message_type(); _o->message.type = _e; }; 2156 { auto _e = message(); if (_e) _o->message.table = ChreMessageUnion::UnPack(_e, message_type(),_resolver); }; 2157 { auto _e = host_addr(); if (_e) _o->host_addr = std::unique_ptr<HostAddress>(new HostAddress(*_e)); }; 2158} 2159 2160inline flatbuffers::Offset<MessageContainer> MessageContainer::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 2161 return CreateMessageContainer(_fbb, _o, _rehasher); 2162} 2163 2164inline flatbuffers::Offset<MessageContainer> CreateMessageContainer(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 2165 (void)_rehasher; 2166 (void)_o; 2167 auto _message_type = _o->message.type; 2168 auto _message = _o->message.Pack(_fbb); 2169 auto _host_addr = _o->host_addr ? _o->host_addr.get() : 0; 2170 return chre::fbs::CreateMessageContainer( 2171 _fbb, 2172 _message_type, 2173 _message, 2174 _host_addr); 2175} 2176 2177inline bool VerifyChreMessage(flatbuffers::Verifier &verifier, const void *obj, ChreMessage type) { 2178 switch (type) { 2179 case ChreMessage::NONE: { 2180 return true; 2181 } 2182 case ChreMessage::NanoappMessage: { 2183 auto ptr = reinterpret_cast<const NanoappMessage *>(obj); 2184 return verifier.VerifyTable(ptr); 2185 } 2186 case ChreMessage::HubInfoRequest: { 2187 auto ptr = reinterpret_cast<const HubInfoRequest *>(obj); 2188 return verifier.VerifyTable(ptr); 2189 } 2190 case ChreMessage::HubInfoResponse: { 2191 auto ptr = reinterpret_cast<const HubInfoResponse *>(obj); 2192 return verifier.VerifyTable(ptr); 2193 } 2194 case ChreMessage::NanoappListRequest: { 2195 auto ptr = reinterpret_cast<const NanoappListRequest *>(obj); 2196 return verifier.VerifyTable(ptr); 2197 } 2198 case ChreMessage::NanoappListResponse: { 2199 auto ptr = reinterpret_cast<const NanoappListResponse *>(obj); 2200 return verifier.VerifyTable(ptr); 2201 } 2202 case ChreMessage::LoadNanoappRequest: { 2203 auto ptr = reinterpret_cast<const LoadNanoappRequest *>(obj); 2204 return verifier.VerifyTable(ptr); 2205 } 2206 case ChreMessage::LoadNanoappResponse: { 2207 auto ptr = reinterpret_cast<const LoadNanoappResponse *>(obj); 2208 return verifier.VerifyTable(ptr); 2209 } 2210 case ChreMessage::UnloadNanoappRequest: { 2211 auto ptr = reinterpret_cast<const UnloadNanoappRequest *>(obj); 2212 return verifier.VerifyTable(ptr); 2213 } 2214 case ChreMessage::UnloadNanoappResponse: { 2215 auto ptr = reinterpret_cast<const UnloadNanoappResponse *>(obj); 2216 return verifier.VerifyTable(ptr); 2217 } 2218 case ChreMessage::LogMessage: { 2219 auto ptr = reinterpret_cast<const LogMessage *>(obj); 2220 return verifier.VerifyTable(ptr); 2221 } 2222 case ChreMessage::TimeSyncMessage: { 2223 auto ptr = reinterpret_cast<const TimeSyncMessage *>(obj); 2224 return verifier.VerifyTable(ptr); 2225 } 2226 case ChreMessage::DebugDumpRequest: { 2227 auto ptr = reinterpret_cast<const DebugDumpRequest *>(obj); 2228 return verifier.VerifyTable(ptr); 2229 } 2230 case ChreMessage::DebugDumpData: { 2231 auto ptr = reinterpret_cast<const DebugDumpData *>(obj); 2232 return verifier.VerifyTable(ptr); 2233 } 2234 case ChreMessage::DebugDumpResponse: { 2235 auto ptr = reinterpret_cast<const DebugDumpResponse *>(obj); 2236 return verifier.VerifyTable(ptr); 2237 } 2238 default: return false; 2239 } 2240} 2241 2242inline bool VerifyChreMessageVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) { 2243 if (values->size() != types->size()) return false; 2244 for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { 2245 if (!VerifyChreMessage( 2246 verifier, values->Get(i), types->GetEnum<ChreMessage>(i))) { 2247 return false; 2248 } 2249 } 2250 return true; 2251} 2252 2253inline flatbuffers::NativeTable *ChreMessageUnion::UnPack(const void *obj, ChreMessage type, const flatbuffers::resolver_function_t *resolver) { 2254 switch (type) { 2255 case ChreMessage::NanoappMessage: { 2256 auto ptr = reinterpret_cast<const NanoappMessage *>(obj); 2257 return ptr->UnPack(resolver); 2258 } 2259 case ChreMessage::HubInfoRequest: { 2260 auto ptr = reinterpret_cast<const HubInfoRequest *>(obj); 2261 return ptr->UnPack(resolver); 2262 } 2263 case ChreMessage::HubInfoResponse: { 2264 auto ptr = reinterpret_cast<const HubInfoResponse *>(obj); 2265 return ptr->UnPack(resolver); 2266 } 2267 case ChreMessage::NanoappListRequest: { 2268 auto ptr = reinterpret_cast<const NanoappListRequest *>(obj); 2269 return ptr->UnPack(resolver); 2270 } 2271 case ChreMessage::NanoappListResponse: { 2272 auto ptr = reinterpret_cast<const NanoappListResponse *>(obj); 2273 return ptr->UnPack(resolver); 2274 } 2275 case ChreMessage::LoadNanoappRequest: { 2276 auto ptr = reinterpret_cast<const LoadNanoappRequest *>(obj); 2277 return ptr->UnPack(resolver); 2278 } 2279 case ChreMessage::LoadNanoappResponse: { 2280 auto ptr = reinterpret_cast<const LoadNanoappResponse *>(obj); 2281 return ptr->UnPack(resolver); 2282 } 2283 case ChreMessage::UnloadNanoappRequest: { 2284 auto ptr = reinterpret_cast<const UnloadNanoappRequest *>(obj); 2285 return ptr->UnPack(resolver); 2286 } 2287 case ChreMessage::UnloadNanoappResponse: { 2288 auto ptr = reinterpret_cast<const UnloadNanoappResponse *>(obj); 2289 return ptr->UnPack(resolver); 2290 } 2291 case ChreMessage::LogMessage: { 2292 auto ptr = reinterpret_cast<const LogMessage *>(obj); 2293 return ptr->UnPack(resolver); 2294 } 2295 case ChreMessage::TimeSyncMessage: { 2296 auto ptr = reinterpret_cast<const TimeSyncMessage *>(obj); 2297 return ptr->UnPack(resolver); 2298 } 2299 case ChreMessage::DebugDumpRequest: { 2300 auto ptr = reinterpret_cast<const DebugDumpRequest *>(obj); 2301 return ptr->UnPack(resolver); 2302 } 2303 case ChreMessage::DebugDumpData: { 2304 auto ptr = reinterpret_cast<const DebugDumpData *>(obj); 2305 return ptr->UnPack(resolver); 2306 } 2307 case ChreMessage::DebugDumpResponse: { 2308 auto ptr = reinterpret_cast<const DebugDumpResponse *>(obj); 2309 return ptr->UnPack(resolver); 2310 } 2311 default: return nullptr; 2312 } 2313} 2314 2315inline flatbuffers::Offset<void> ChreMessageUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const { 2316 switch (type) { 2317 case ChreMessage::NanoappMessage: { 2318 auto ptr = reinterpret_cast<const NanoappMessageT *>(table); 2319 return CreateNanoappMessage(_fbb, ptr, _rehasher).Union(); 2320 } 2321 case ChreMessage::HubInfoRequest: { 2322 auto ptr = reinterpret_cast<const HubInfoRequestT *>(table); 2323 return CreateHubInfoRequest(_fbb, ptr, _rehasher).Union(); 2324 } 2325 case ChreMessage::HubInfoResponse: { 2326 auto ptr = reinterpret_cast<const HubInfoResponseT *>(table); 2327 return CreateHubInfoResponse(_fbb, ptr, _rehasher).Union(); 2328 } 2329 case ChreMessage::NanoappListRequest: { 2330 auto ptr = reinterpret_cast<const NanoappListRequestT *>(table); 2331 return CreateNanoappListRequest(_fbb, ptr, _rehasher).Union(); 2332 } 2333 case ChreMessage::NanoappListResponse: { 2334 auto ptr = reinterpret_cast<const NanoappListResponseT *>(table); 2335 return CreateNanoappListResponse(_fbb, ptr, _rehasher).Union(); 2336 } 2337 case ChreMessage::LoadNanoappRequest: { 2338 auto ptr = reinterpret_cast<const LoadNanoappRequestT *>(table); 2339 return CreateLoadNanoappRequest(_fbb, ptr, _rehasher).Union(); 2340 } 2341 case ChreMessage::LoadNanoappResponse: { 2342 auto ptr = reinterpret_cast<const LoadNanoappResponseT *>(table); 2343 return CreateLoadNanoappResponse(_fbb, ptr, _rehasher).Union(); 2344 } 2345 case ChreMessage::UnloadNanoappRequest: { 2346 auto ptr = reinterpret_cast<const UnloadNanoappRequestT *>(table); 2347 return CreateUnloadNanoappRequest(_fbb, ptr, _rehasher).Union(); 2348 } 2349 case ChreMessage::UnloadNanoappResponse: { 2350 auto ptr = reinterpret_cast<const UnloadNanoappResponseT *>(table); 2351 return CreateUnloadNanoappResponse(_fbb, ptr, _rehasher).Union(); 2352 } 2353 case ChreMessage::LogMessage: { 2354 auto ptr = reinterpret_cast<const LogMessageT *>(table); 2355 return CreateLogMessage(_fbb, ptr, _rehasher).Union(); 2356 } 2357 case ChreMessage::TimeSyncMessage: { 2358 auto ptr = reinterpret_cast<const TimeSyncMessageT *>(table); 2359 return CreateTimeSyncMessage(_fbb, ptr, _rehasher).Union(); 2360 } 2361 case ChreMessage::DebugDumpRequest: { 2362 auto ptr = reinterpret_cast<const DebugDumpRequestT *>(table); 2363 return CreateDebugDumpRequest(_fbb, ptr, _rehasher).Union(); 2364 } 2365 case ChreMessage::DebugDumpData: { 2366 auto ptr = reinterpret_cast<const DebugDumpDataT *>(table); 2367 return CreateDebugDumpData(_fbb, ptr, _rehasher).Union(); 2368 } 2369 case ChreMessage::DebugDumpResponse: { 2370 auto ptr = reinterpret_cast<const DebugDumpResponseT *>(table); 2371 return CreateDebugDumpResponse(_fbb, ptr, _rehasher).Union(); 2372 } 2373 default: return 0; 2374 } 2375} 2376 2377inline void ChreMessageUnion::Reset() { 2378 switch (type) { 2379 case ChreMessage::NanoappMessage: { 2380 auto ptr = reinterpret_cast<NanoappMessageT *>(table); 2381 delete ptr; 2382 break; 2383 } 2384 case ChreMessage::HubInfoRequest: { 2385 auto ptr = reinterpret_cast<HubInfoRequestT *>(table); 2386 delete ptr; 2387 break; 2388 } 2389 case ChreMessage::HubInfoResponse: { 2390 auto ptr = reinterpret_cast<HubInfoResponseT *>(table); 2391 delete ptr; 2392 break; 2393 } 2394 case ChreMessage::NanoappListRequest: { 2395 auto ptr = reinterpret_cast<NanoappListRequestT *>(table); 2396 delete ptr; 2397 break; 2398 } 2399 case ChreMessage::NanoappListResponse: { 2400 auto ptr = reinterpret_cast<NanoappListResponseT *>(table); 2401 delete ptr; 2402 break; 2403 } 2404 case ChreMessage::LoadNanoappRequest: { 2405 auto ptr = reinterpret_cast<LoadNanoappRequestT *>(table); 2406 delete ptr; 2407 break; 2408 } 2409 case ChreMessage::LoadNanoappResponse: { 2410 auto ptr = reinterpret_cast<LoadNanoappResponseT *>(table); 2411 delete ptr; 2412 break; 2413 } 2414 case ChreMessage::UnloadNanoappRequest: { 2415 auto ptr = reinterpret_cast<UnloadNanoappRequestT *>(table); 2416 delete ptr; 2417 break; 2418 } 2419 case ChreMessage::UnloadNanoappResponse: { 2420 auto ptr = reinterpret_cast<UnloadNanoappResponseT *>(table); 2421 delete ptr; 2422 break; 2423 } 2424 case ChreMessage::LogMessage: { 2425 auto ptr = reinterpret_cast<LogMessageT *>(table); 2426 delete ptr; 2427 break; 2428 } 2429 case ChreMessage::TimeSyncMessage: { 2430 auto ptr = reinterpret_cast<TimeSyncMessageT *>(table); 2431 delete ptr; 2432 break; 2433 } 2434 case ChreMessage::DebugDumpRequest: { 2435 auto ptr = reinterpret_cast<DebugDumpRequestT *>(table); 2436 delete ptr; 2437 break; 2438 } 2439 case ChreMessage::DebugDumpData: { 2440 auto ptr = reinterpret_cast<DebugDumpDataT *>(table); 2441 delete ptr; 2442 break; 2443 } 2444 case ChreMessage::DebugDumpResponse: { 2445 auto ptr = reinterpret_cast<DebugDumpResponseT *>(table); 2446 delete ptr; 2447 break; 2448 } 2449 default: break; 2450 } 2451 table = nullptr; 2452 type = ChreMessage::NONE; 2453} 2454 2455inline const chre::fbs::MessageContainer *GetMessageContainer(const void *buf) { 2456 return flatbuffers::GetRoot<chre::fbs::MessageContainer>(buf); 2457} 2458 2459inline MessageContainer *GetMutableMessageContainer(void *buf) { 2460 return flatbuffers::GetMutableRoot<MessageContainer>(buf); 2461} 2462 2463inline bool VerifyMessageContainerBuffer( 2464 flatbuffers::Verifier &verifier) { 2465 return verifier.VerifyBuffer<chre::fbs::MessageContainer>(nullptr); 2466} 2467 2468inline void FinishMessageContainerBuffer( 2469 flatbuffers::FlatBufferBuilder &fbb, 2470 flatbuffers::Offset<chre::fbs::MessageContainer> root) { 2471 fbb.Finish(root); 2472} 2473 2474inline std::unique_ptr<MessageContainerT> UnPackMessageContainer( 2475 const void *buf, 2476 const flatbuffers::resolver_function_t *res = nullptr) { 2477 return std::unique_ptr<MessageContainerT>(GetMessageContainer(buf)->UnPack(res)); 2478} 2479 2480} // namespace fbs 2481} // namespace chre 2482 2483#endif // FLATBUFFERS_GENERATED_HOSTMESSAGES_CHRE_FBS_H_ 2484