host_messages_generated.h revision 07da7d6425058577d477074f99bafd4b8e81bb83
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 MessageContainer; 31struct MessageContainerT; 32 33/// A union that joins together all possible messages. Note that in FlatBuffers, 34/// unions have an implicit type 35enum class ChreMessage : uint8_t { 36 NONE = 0, 37 NanoappMessage = 1, 38 HubInfoRequest = 2, 39 HubInfoResponse = 3, 40 NanoappListRequest = 4, 41 NanoappListResponse = 5, 42 MIN = NONE, 43 MAX = NanoappListResponse 44}; 45 46inline const char **EnumNamesChreMessage() { 47 static const char *names[] = { 48 "NONE", 49 "NanoappMessage", 50 "HubInfoRequest", 51 "HubInfoResponse", 52 "NanoappListRequest", 53 "NanoappListResponse", 54 nullptr 55 }; 56 return names; 57} 58 59inline const char *EnumNameChreMessage(ChreMessage e) { 60 const size_t index = static_cast<int>(e); 61 return EnumNamesChreMessage()[index]; 62} 63 64template<typename T> struct ChreMessageTraits { 65 static const ChreMessage enum_value = ChreMessage::NONE; 66}; 67 68template<> struct ChreMessageTraits<NanoappMessage> { 69 static const ChreMessage enum_value = ChreMessage::NanoappMessage; 70}; 71 72template<> struct ChreMessageTraits<HubInfoRequest> { 73 static const ChreMessage enum_value = ChreMessage::HubInfoRequest; 74}; 75 76template<> struct ChreMessageTraits<HubInfoResponse> { 77 static const ChreMessage enum_value = ChreMessage::HubInfoResponse; 78}; 79 80template<> struct ChreMessageTraits<NanoappListRequest> { 81 static const ChreMessage enum_value = ChreMessage::NanoappListRequest; 82}; 83 84template<> struct ChreMessageTraits<NanoappListResponse> { 85 static const ChreMessage enum_value = ChreMessage::NanoappListResponse; 86}; 87 88struct ChreMessageUnion { 89 ChreMessage type; 90 flatbuffers::NativeTable *table; 91 92 ChreMessageUnion() : type(ChreMessage::NONE), table(nullptr) {} 93 ChreMessageUnion(ChreMessageUnion&& u): 94 type(std::move(u.type)), table(std::move(u.table)) {} 95 ChreMessageUnion(const ChreMessageUnion &); 96 ChreMessageUnion &operator=(const ChreMessageUnion &); 97 ~ChreMessageUnion() { Reset(); } 98 99 void Reset(); 100 101 template <typename T> 102 void Set(T&& value) { 103 Reset(); 104 type = ChreMessageTraits<typename T::TableType>::enum_value; 105 if (type != ChreMessage::NONE) { 106 table = new T(std::forward<T>(value)); 107 } 108 } 109 110 static flatbuffers::NativeTable *UnPack(const void *obj, ChreMessage type, const flatbuffers::resolver_function_t *resolver); 111 flatbuffers::Offset<void> Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const; 112 113 NanoappMessageT *AsNanoappMessage() { 114 return type == ChreMessage::NanoappMessage ? 115 reinterpret_cast<NanoappMessageT *>(table) : nullptr; 116 } 117 HubInfoRequestT *AsHubInfoRequest() { 118 return type == ChreMessage::HubInfoRequest ? 119 reinterpret_cast<HubInfoRequestT *>(table) : nullptr; 120 } 121 HubInfoResponseT *AsHubInfoResponse() { 122 return type == ChreMessage::HubInfoResponse ? 123 reinterpret_cast<HubInfoResponseT *>(table) : nullptr; 124 } 125 NanoappListRequestT *AsNanoappListRequest() { 126 return type == ChreMessage::NanoappListRequest ? 127 reinterpret_cast<NanoappListRequestT *>(table) : nullptr; 128 } 129 NanoappListResponseT *AsNanoappListResponse() { 130 return type == ChreMessage::NanoappListResponse ? 131 reinterpret_cast<NanoappListResponseT *>(table) : nullptr; 132 } 133}; 134 135bool VerifyChreMessage(flatbuffers::Verifier &verifier, const void *obj, ChreMessage type); 136bool VerifyChreMessageVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types); 137 138struct NanoappMessageT : public flatbuffers::NativeTable { 139 typedef NanoappMessage TableType; 140 uint64_t app_id; 141 uint32_t message_type; 142 uint16_t host_endpoint; 143 std::vector<uint8_t> message; 144 NanoappMessageT() 145 : app_id(0), 146 message_type(0), 147 host_endpoint(65534) { 148 } 149}; 150 151/// Represents a message sent to/from a nanoapp from/to a client on the host 152struct NanoappMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 153 typedef NanoappMessageT NativeTableType; 154 enum { 155 VT_APP_ID = 4, 156 VT_MESSAGE_TYPE = 6, 157 VT_HOST_ENDPOINT = 8, 158 VT_MESSAGE = 10 159 }; 160 uint64_t app_id() const { 161 return GetField<uint64_t>(VT_APP_ID, 0); 162 } 163 bool mutate_app_id(uint64_t _app_id) { 164 return SetField(VT_APP_ID, _app_id); 165 } 166 uint32_t message_type() const { 167 return GetField<uint32_t>(VT_MESSAGE_TYPE, 0); 168 } 169 bool mutate_message_type(uint32_t _message_type) { 170 return SetField(VT_MESSAGE_TYPE, _message_type); 171 } 172 /// Identifies the host-side endpoint on the host that sent or should receive 173 /// this message. The default value is a special value defined in the HAL and 174 /// elsewhere that indicates that the endpoint is unspecified. 175 uint16_t host_endpoint() const { 176 return GetField<uint16_t>(VT_HOST_ENDPOINT, 65534); 177 } 178 bool mutate_host_endpoint(uint16_t _host_endpoint) { 179 return SetField(VT_HOST_ENDPOINT, _host_endpoint); 180 } 181 /// Vector containing arbitrary application-specific message data 182 const flatbuffers::Vector<uint8_t> *message() const { 183 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_MESSAGE); 184 } 185 flatbuffers::Vector<uint8_t> *mutable_message() { 186 return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_MESSAGE); 187 } 188 bool Verify(flatbuffers::Verifier &verifier) const { 189 return VerifyTableStart(verifier) && 190 VerifyField<uint64_t>(verifier, VT_APP_ID) && 191 VerifyField<uint32_t>(verifier, VT_MESSAGE_TYPE) && 192 VerifyField<uint16_t>(verifier, VT_HOST_ENDPOINT) && 193 VerifyFieldRequired<flatbuffers::uoffset_t>(verifier, VT_MESSAGE) && 194 verifier.Verify(message()) && 195 verifier.EndTable(); 196 } 197 NanoappMessageT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 198 void UnPackTo(NanoappMessageT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 199 static flatbuffers::Offset<NanoappMessage> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 200}; 201 202struct NanoappMessageBuilder { 203 flatbuffers::FlatBufferBuilder &fbb_; 204 flatbuffers::uoffset_t start_; 205 void add_app_id(uint64_t app_id) { 206 fbb_.AddElement<uint64_t>(NanoappMessage::VT_APP_ID, app_id, 0); 207 } 208 void add_message_type(uint32_t message_type) { 209 fbb_.AddElement<uint32_t>(NanoappMessage::VT_MESSAGE_TYPE, message_type, 0); 210 } 211 void add_host_endpoint(uint16_t host_endpoint) { 212 fbb_.AddElement<uint16_t>(NanoappMessage::VT_HOST_ENDPOINT, host_endpoint, 65534); 213 } 214 void add_message(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> message) { 215 fbb_.AddOffset(NanoappMessage::VT_MESSAGE, message); 216 } 217 NanoappMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) 218 : fbb_(_fbb) { 219 start_ = fbb_.StartTable(); 220 } 221 NanoappMessageBuilder &operator=(const NanoappMessageBuilder &); 222 flatbuffers::Offset<NanoappMessage> Finish() { 223 const auto end = fbb_.EndTable(start_, 4); 224 auto o = flatbuffers::Offset<NanoappMessage>(end); 225 fbb_.Required(o, NanoappMessage::VT_MESSAGE); 226 return o; 227 } 228}; 229 230inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessage( 231 flatbuffers::FlatBufferBuilder &_fbb, 232 uint64_t app_id = 0, 233 uint32_t message_type = 0, 234 uint16_t host_endpoint = 65534, 235 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> message = 0) { 236 NanoappMessageBuilder builder_(_fbb); 237 builder_.add_app_id(app_id); 238 builder_.add_message(message); 239 builder_.add_message_type(message_type); 240 builder_.add_host_endpoint(host_endpoint); 241 return builder_.Finish(); 242} 243 244inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessageDirect( 245 flatbuffers::FlatBufferBuilder &_fbb, 246 uint64_t app_id = 0, 247 uint32_t message_type = 0, 248 uint16_t host_endpoint = 65534, 249 const std::vector<uint8_t> *message = nullptr) { 250 return chre::fbs::CreateNanoappMessage( 251 _fbb, 252 app_id, 253 message_type, 254 host_endpoint, 255 message ? _fbb.CreateVector<uint8_t>(*message) : 0); 256} 257 258flatbuffers::Offset<NanoappMessage> CreateNanoappMessage(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 259 260struct HubInfoRequestT : public flatbuffers::NativeTable { 261 typedef HubInfoRequest TableType; 262 HubInfoRequestT() { 263 } 264}; 265 266struct HubInfoRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 267 typedef HubInfoRequestT NativeTableType; 268 bool Verify(flatbuffers::Verifier &verifier) const { 269 return VerifyTableStart(verifier) && 270 verifier.EndTable(); 271 } 272 HubInfoRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 273 void UnPackTo(HubInfoRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 274 static flatbuffers::Offset<HubInfoRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 275}; 276 277struct HubInfoRequestBuilder { 278 flatbuffers::FlatBufferBuilder &fbb_; 279 flatbuffers::uoffset_t start_; 280 HubInfoRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb) 281 : fbb_(_fbb) { 282 start_ = fbb_.StartTable(); 283 } 284 HubInfoRequestBuilder &operator=(const HubInfoRequestBuilder &); 285 flatbuffers::Offset<HubInfoRequest> Finish() { 286 const auto end = fbb_.EndTable(start_, 0); 287 auto o = flatbuffers::Offset<HubInfoRequest>(end); 288 return o; 289 } 290}; 291 292inline flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest( 293 flatbuffers::FlatBufferBuilder &_fbb) { 294 HubInfoRequestBuilder builder_(_fbb); 295 return builder_.Finish(); 296} 297 298flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 299 300struct HubInfoResponseT : public flatbuffers::NativeTable { 301 typedef HubInfoResponse TableType; 302 std::vector<int8_t> name; 303 std::vector<int8_t> vendor; 304 std::vector<int8_t> toolchain; 305 uint32_t platform_version; 306 uint32_t toolchain_version; 307 float peak_mips; 308 float stopped_power; 309 float sleep_power; 310 float peak_power; 311 uint32_t max_msg_len; 312 uint64_t platform_id; 313 uint32_t chre_platform_version; 314 HubInfoResponseT() 315 : platform_version(0), 316 toolchain_version(0), 317 peak_mips(0.0f), 318 stopped_power(0.0f), 319 sleep_power(0.0f), 320 peak_power(0.0f), 321 max_msg_len(0), 322 platform_id(0), 323 chre_platform_version(0) { 324 } 325}; 326 327struct HubInfoResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 328 typedef HubInfoResponseT NativeTableType; 329 enum { 330 VT_NAME = 4, 331 VT_VENDOR = 6, 332 VT_TOOLCHAIN = 8, 333 VT_PLATFORM_VERSION = 10, 334 VT_TOOLCHAIN_VERSION = 12, 335 VT_PEAK_MIPS = 14, 336 VT_STOPPED_POWER = 16, 337 VT_SLEEP_POWER = 18, 338 VT_PEAK_POWER = 20, 339 VT_MAX_MSG_LEN = 22, 340 VT_PLATFORM_ID = 24, 341 VT_CHRE_PLATFORM_VERSION = 26 342 }; 343 /// The name of the hub. Nominally a UTF-8 string, but note that we're not 344 /// using the built-in "string" data type from FlatBuffers here, because the 345 /// generated C++ uses std::string which is not well-supported in CHRE. This 346 /// applies for vendor and toolchain as well. 347 const flatbuffers::Vector<int8_t> *name() const { 348 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_NAME); 349 } 350 flatbuffers::Vector<int8_t> *mutable_name() { 351 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_NAME); 352 } 353 const flatbuffers::Vector<int8_t> *vendor() const { 354 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_VENDOR); 355 } 356 flatbuffers::Vector<int8_t> *mutable_vendor() { 357 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_VENDOR); 358 } 359 const flatbuffers::Vector<int8_t> *toolchain() const { 360 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_TOOLCHAIN); 361 } 362 flatbuffers::Vector<int8_t> *mutable_toolchain() { 363 return GetPointer<flatbuffers::Vector<int8_t> *>(VT_TOOLCHAIN); 364 } 365 /// Legacy platform version reported in the HAL; semantics not strictly 366 /// defined 367 uint32_t platform_version() const { 368 return GetField<uint32_t>(VT_PLATFORM_VERSION, 0); 369 } 370 bool mutate_platform_version(uint32_t _platform_version) { 371 return SetField(VT_PLATFORM_VERSION, _platform_version); 372 } 373 /// Toolchain version reported in the HAL; semantics not strictly defined 374 uint32_t toolchain_version() const { 375 return GetField<uint32_t>(VT_TOOLCHAIN_VERSION, 0); 376 } 377 bool mutate_toolchain_version(uint32_t _toolchain_version) { 378 return SetField(VT_TOOLCHAIN_VERSION, _toolchain_version); 379 } 380 float peak_mips() const { 381 return GetField<float>(VT_PEAK_MIPS, 0.0f); 382 } 383 bool mutate_peak_mips(float _peak_mips) { 384 return SetField(VT_PEAK_MIPS, _peak_mips); 385 } 386 float stopped_power() const { 387 return GetField<float>(VT_STOPPED_POWER, 0.0f); 388 } 389 bool mutate_stopped_power(float _stopped_power) { 390 return SetField(VT_STOPPED_POWER, _stopped_power); 391 } 392 float sleep_power() const { 393 return GetField<float>(VT_SLEEP_POWER, 0.0f); 394 } 395 bool mutate_sleep_power(float _sleep_power) { 396 return SetField(VT_SLEEP_POWER, _sleep_power); 397 } 398 float peak_power() const { 399 return GetField<float>(VT_PEAK_POWER, 0.0f); 400 } 401 bool mutate_peak_power(float _peak_power) { 402 return SetField(VT_PEAK_POWER, _peak_power); 403 } 404 /// Maximum size message that can be sent to a nanoapp 405 uint32_t max_msg_len() const { 406 return GetField<uint32_t>(VT_MAX_MSG_LEN, 0); 407 } 408 bool mutate_max_msg_len(uint32_t _max_msg_len) { 409 return SetField(VT_MAX_MSG_LEN, _max_msg_len); 410 } 411 /// @see chreGetPlatformId() 412 uint64_t platform_id() const { 413 return GetField<uint64_t>(VT_PLATFORM_ID, 0); 414 } 415 bool mutate_platform_id(uint64_t _platform_id) { 416 return SetField(VT_PLATFORM_ID, _platform_id); 417 } 418 /// @see chreGetVersion() 419 uint32_t chre_platform_version() const { 420 return GetField<uint32_t>(VT_CHRE_PLATFORM_VERSION, 0); 421 } 422 bool mutate_chre_platform_version(uint32_t _chre_platform_version) { 423 return SetField(VT_CHRE_PLATFORM_VERSION, _chre_platform_version); 424 } 425 bool Verify(flatbuffers::Verifier &verifier) const { 426 return VerifyTableStart(verifier) && 427 VerifyField<flatbuffers::uoffset_t>(verifier, VT_NAME) && 428 verifier.Verify(name()) && 429 VerifyField<flatbuffers::uoffset_t>(verifier, VT_VENDOR) && 430 verifier.Verify(vendor()) && 431 VerifyField<flatbuffers::uoffset_t>(verifier, VT_TOOLCHAIN) && 432 verifier.Verify(toolchain()) && 433 VerifyField<uint32_t>(verifier, VT_PLATFORM_VERSION) && 434 VerifyField<uint32_t>(verifier, VT_TOOLCHAIN_VERSION) && 435 VerifyField<float>(verifier, VT_PEAK_MIPS) && 436 VerifyField<float>(verifier, VT_STOPPED_POWER) && 437 VerifyField<float>(verifier, VT_SLEEP_POWER) && 438 VerifyField<float>(verifier, VT_PEAK_POWER) && 439 VerifyField<uint32_t>(verifier, VT_MAX_MSG_LEN) && 440 VerifyField<uint64_t>(verifier, VT_PLATFORM_ID) && 441 VerifyField<uint32_t>(verifier, VT_CHRE_PLATFORM_VERSION) && 442 verifier.EndTable(); 443 } 444 HubInfoResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 445 void UnPackTo(HubInfoResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 446 static flatbuffers::Offset<HubInfoResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 447}; 448 449struct HubInfoResponseBuilder { 450 flatbuffers::FlatBufferBuilder &fbb_; 451 flatbuffers::uoffset_t start_; 452 void add_name(flatbuffers::Offset<flatbuffers::Vector<int8_t>> name) { 453 fbb_.AddOffset(HubInfoResponse::VT_NAME, name); 454 } 455 void add_vendor(flatbuffers::Offset<flatbuffers::Vector<int8_t>> vendor) { 456 fbb_.AddOffset(HubInfoResponse::VT_VENDOR, vendor); 457 } 458 void add_toolchain(flatbuffers::Offset<flatbuffers::Vector<int8_t>> toolchain) { 459 fbb_.AddOffset(HubInfoResponse::VT_TOOLCHAIN, toolchain); 460 } 461 void add_platform_version(uint32_t platform_version) { 462 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_PLATFORM_VERSION, platform_version, 0); 463 } 464 void add_toolchain_version(uint32_t toolchain_version) { 465 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_TOOLCHAIN_VERSION, toolchain_version, 0); 466 } 467 void add_peak_mips(float peak_mips) { 468 fbb_.AddElement<float>(HubInfoResponse::VT_PEAK_MIPS, peak_mips, 0.0f); 469 } 470 void add_stopped_power(float stopped_power) { 471 fbb_.AddElement<float>(HubInfoResponse::VT_STOPPED_POWER, stopped_power, 0.0f); 472 } 473 void add_sleep_power(float sleep_power) { 474 fbb_.AddElement<float>(HubInfoResponse::VT_SLEEP_POWER, sleep_power, 0.0f); 475 } 476 void add_peak_power(float peak_power) { 477 fbb_.AddElement<float>(HubInfoResponse::VT_PEAK_POWER, peak_power, 0.0f); 478 } 479 void add_max_msg_len(uint32_t max_msg_len) { 480 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_MAX_MSG_LEN, max_msg_len, 0); 481 } 482 void add_platform_id(uint64_t platform_id) { 483 fbb_.AddElement<uint64_t>(HubInfoResponse::VT_PLATFORM_ID, platform_id, 0); 484 } 485 void add_chre_platform_version(uint32_t chre_platform_version) { 486 fbb_.AddElement<uint32_t>(HubInfoResponse::VT_CHRE_PLATFORM_VERSION, chre_platform_version, 0); 487 } 488 HubInfoResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb) 489 : fbb_(_fbb) { 490 start_ = fbb_.StartTable(); 491 } 492 HubInfoResponseBuilder &operator=(const HubInfoResponseBuilder &); 493 flatbuffers::Offset<HubInfoResponse> Finish() { 494 const auto end = fbb_.EndTable(start_, 12); 495 auto o = flatbuffers::Offset<HubInfoResponse>(end); 496 return o; 497 } 498}; 499 500inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse( 501 flatbuffers::FlatBufferBuilder &_fbb, 502 flatbuffers::Offset<flatbuffers::Vector<int8_t>> name = 0, 503 flatbuffers::Offset<flatbuffers::Vector<int8_t>> vendor = 0, 504 flatbuffers::Offset<flatbuffers::Vector<int8_t>> toolchain = 0, 505 uint32_t platform_version = 0, 506 uint32_t toolchain_version = 0, 507 float peak_mips = 0.0f, 508 float stopped_power = 0.0f, 509 float sleep_power = 0.0f, 510 float peak_power = 0.0f, 511 uint32_t max_msg_len = 0, 512 uint64_t platform_id = 0, 513 uint32_t chre_platform_version = 0) { 514 HubInfoResponseBuilder builder_(_fbb); 515 builder_.add_platform_id(platform_id); 516 builder_.add_chre_platform_version(chre_platform_version); 517 builder_.add_max_msg_len(max_msg_len); 518 builder_.add_peak_power(peak_power); 519 builder_.add_sleep_power(sleep_power); 520 builder_.add_stopped_power(stopped_power); 521 builder_.add_peak_mips(peak_mips); 522 builder_.add_toolchain_version(toolchain_version); 523 builder_.add_platform_version(platform_version); 524 builder_.add_toolchain(toolchain); 525 builder_.add_vendor(vendor); 526 builder_.add_name(name); 527 return builder_.Finish(); 528} 529 530inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponseDirect( 531 flatbuffers::FlatBufferBuilder &_fbb, 532 const std::vector<int8_t> *name = nullptr, 533 const std::vector<int8_t> *vendor = nullptr, 534 const std::vector<int8_t> *toolchain = nullptr, 535 uint32_t platform_version = 0, 536 uint32_t toolchain_version = 0, 537 float peak_mips = 0.0f, 538 float stopped_power = 0.0f, 539 float sleep_power = 0.0f, 540 float peak_power = 0.0f, 541 uint32_t max_msg_len = 0, 542 uint64_t platform_id = 0, 543 uint32_t chre_platform_version = 0) { 544 return chre::fbs::CreateHubInfoResponse( 545 _fbb, 546 name ? _fbb.CreateVector<int8_t>(*name) : 0, 547 vendor ? _fbb.CreateVector<int8_t>(*vendor) : 0, 548 toolchain ? _fbb.CreateVector<int8_t>(*toolchain) : 0, 549 platform_version, 550 toolchain_version, 551 peak_mips, 552 stopped_power, 553 sleep_power, 554 peak_power, 555 max_msg_len, 556 platform_id, 557 chre_platform_version); 558} 559 560flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 561 562struct NanoappListRequestT : public flatbuffers::NativeTable { 563 typedef NanoappListRequest TableType; 564 NanoappListRequestT() { 565 } 566}; 567 568struct NanoappListRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 569 typedef NanoappListRequestT NativeTableType; 570 bool Verify(flatbuffers::Verifier &verifier) const { 571 return VerifyTableStart(verifier) && 572 verifier.EndTable(); 573 } 574 NanoappListRequestT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 575 void UnPackTo(NanoappListRequestT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 576 static flatbuffers::Offset<NanoappListRequest> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 577}; 578 579struct NanoappListRequestBuilder { 580 flatbuffers::FlatBufferBuilder &fbb_; 581 flatbuffers::uoffset_t start_; 582 NanoappListRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb) 583 : fbb_(_fbb) { 584 start_ = fbb_.StartTable(); 585 } 586 NanoappListRequestBuilder &operator=(const NanoappListRequestBuilder &); 587 flatbuffers::Offset<NanoappListRequest> Finish() { 588 const auto end = fbb_.EndTable(start_, 0); 589 auto o = flatbuffers::Offset<NanoappListRequest>(end); 590 return o; 591 } 592}; 593 594inline flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest( 595 flatbuffers::FlatBufferBuilder &_fbb) { 596 NanoappListRequestBuilder builder_(_fbb); 597 return builder_.Finish(); 598} 599 600flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 601 602struct NanoappListEntryT : public flatbuffers::NativeTable { 603 typedef NanoappListEntry TableType; 604 uint64_t app_id; 605 uint32_t version; 606 bool enabled; 607 bool is_system; 608 NanoappListEntryT() 609 : app_id(0), 610 version(0), 611 enabled(true), 612 is_system(false) { 613 } 614}; 615 616struct NanoappListEntry FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 617 typedef NanoappListEntryT NativeTableType; 618 enum { 619 VT_APP_ID = 4, 620 VT_VERSION = 6, 621 VT_ENABLED = 8, 622 VT_IS_SYSTEM = 10 623 }; 624 uint64_t app_id() const { 625 return GetField<uint64_t>(VT_APP_ID, 0); 626 } 627 bool mutate_app_id(uint64_t _app_id) { 628 return SetField(VT_APP_ID, _app_id); 629 } 630 uint32_t version() const { 631 return GetField<uint32_t>(VT_VERSION, 0); 632 } 633 bool mutate_version(uint32_t _version) { 634 return SetField(VT_VERSION, _version); 635 } 636 bool enabled() const { 637 return GetField<uint8_t>(VT_ENABLED, 1) != 0; 638 } 639 bool mutate_enabled(bool _enabled) { 640 return SetField(VT_ENABLED, static_cast<uint8_t>(_enabled)); 641 } 642 /// Whether the nanoapp is a pre-loaded "system" nanoapp, i.e. one that should 643 /// not show up in the list of nanoapps in the context hub HAL. System 644 /// nanoapps are typically used to leverage CHRE for some device functionality 645 /// and do not interact via the context hub HAL. 646 bool is_system() const { 647 return GetField<uint8_t>(VT_IS_SYSTEM, 0) != 0; 648 } 649 bool mutate_is_system(bool _is_system) { 650 return SetField(VT_IS_SYSTEM, static_cast<uint8_t>(_is_system)); 651 } 652 bool Verify(flatbuffers::Verifier &verifier) const { 653 return VerifyTableStart(verifier) && 654 VerifyField<uint64_t>(verifier, VT_APP_ID) && 655 VerifyField<uint32_t>(verifier, VT_VERSION) && 656 VerifyField<uint8_t>(verifier, VT_ENABLED) && 657 VerifyField<uint8_t>(verifier, VT_IS_SYSTEM) && 658 verifier.EndTable(); 659 } 660 NanoappListEntryT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 661 void UnPackTo(NanoappListEntryT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 662 static flatbuffers::Offset<NanoappListEntry> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 663}; 664 665struct NanoappListEntryBuilder { 666 flatbuffers::FlatBufferBuilder &fbb_; 667 flatbuffers::uoffset_t start_; 668 void add_app_id(uint64_t app_id) { 669 fbb_.AddElement<uint64_t>(NanoappListEntry::VT_APP_ID, app_id, 0); 670 } 671 void add_version(uint32_t version) { 672 fbb_.AddElement<uint32_t>(NanoappListEntry::VT_VERSION, version, 0); 673 } 674 void add_enabled(bool enabled) { 675 fbb_.AddElement<uint8_t>(NanoappListEntry::VT_ENABLED, static_cast<uint8_t>(enabled), 1); 676 } 677 void add_is_system(bool is_system) { 678 fbb_.AddElement<uint8_t>(NanoappListEntry::VT_IS_SYSTEM, static_cast<uint8_t>(is_system), 0); 679 } 680 NanoappListEntryBuilder(flatbuffers::FlatBufferBuilder &_fbb) 681 : fbb_(_fbb) { 682 start_ = fbb_.StartTable(); 683 } 684 NanoappListEntryBuilder &operator=(const NanoappListEntryBuilder &); 685 flatbuffers::Offset<NanoappListEntry> Finish() { 686 const auto end = fbb_.EndTable(start_, 4); 687 auto o = flatbuffers::Offset<NanoappListEntry>(end); 688 return o; 689 } 690}; 691 692inline flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry( 693 flatbuffers::FlatBufferBuilder &_fbb, 694 uint64_t app_id = 0, 695 uint32_t version = 0, 696 bool enabled = true, 697 bool is_system = false) { 698 NanoappListEntryBuilder builder_(_fbb); 699 builder_.add_app_id(app_id); 700 builder_.add_version(version); 701 builder_.add_is_system(is_system); 702 builder_.add_enabled(enabled); 703 return builder_.Finish(); 704} 705 706flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 707 708struct NanoappListResponseT : public flatbuffers::NativeTable { 709 typedef NanoappListResponse TableType; 710 std::vector<std::unique_ptr<NanoappListEntryT>> nanoapps; 711 NanoappListResponseT() { 712 } 713}; 714 715struct NanoappListResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 716 typedef NanoappListResponseT NativeTableType; 717 enum { 718 VT_NANOAPPS = 4 719 }; 720 const flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>> *nanoapps() const { 721 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>> *>(VT_NANOAPPS); 722 } 723 flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>> *mutable_nanoapps() { 724 return GetPointer<flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>> *>(VT_NANOAPPS); 725 } 726 bool Verify(flatbuffers::Verifier &verifier) const { 727 return VerifyTableStart(verifier) && 728 VerifyFieldRequired<flatbuffers::uoffset_t>(verifier, VT_NANOAPPS) && 729 verifier.Verify(nanoapps()) && 730 verifier.VerifyVectorOfTables(nanoapps()) && 731 verifier.EndTable(); 732 } 733 NanoappListResponseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 734 void UnPackTo(NanoappListResponseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 735 static flatbuffers::Offset<NanoappListResponse> Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 736}; 737 738struct NanoappListResponseBuilder { 739 flatbuffers::FlatBufferBuilder &fbb_; 740 flatbuffers::uoffset_t start_; 741 void add_nanoapps(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>>> nanoapps) { 742 fbb_.AddOffset(NanoappListResponse::VT_NANOAPPS, nanoapps); 743 } 744 NanoappListResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb) 745 : fbb_(_fbb) { 746 start_ = fbb_.StartTable(); 747 } 748 NanoappListResponseBuilder &operator=(const NanoappListResponseBuilder &); 749 flatbuffers::Offset<NanoappListResponse> Finish() { 750 const auto end = fbb_.EndTable(start_, 1); 751 auto o = flatbuffers::Offset<NanoappListResponse>(end); 752 fbb_.Required(o, NanoappListResponse::VT_NANOAPPS); 753 return o; 754 } 755}; 756 757inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse( 758 flatbuffers::FlatBufferBuilder &_fbb, 759 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<NanoappListEntry>>> nanoapps = 0) { 760 NanoappListResponseBuilder builder_(_fbb); 761 builder_.add_nanoapps(nanoapps); 762 return builder_.Finish(); 763} 764 765inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponseDirect( 766 flatbuffers::FlatBufferBuilder &_fbb, 767 const std::vector<flatbuffers::Offset<NanoappListEntry>> *nanoapps = nullptr) { 768 return chre::fbs::CreateNanoappListResponse( 769 _fbb, 770 nanoapps ? _fbb.CreateVector<flatbuffers::Offset<NanoappListEntry>>(*nanoapps) : 0); 771} 772 773flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 774 775struct MessageContainerT : public flatbuffers::NativeTable { 776 typedef MessageContainer TableType; 777 ChreMessageUnion message; 778 MessageContainerT() { 779 } 780}; 781 782/// The top-level container that encapsulates all possible messages. Note that 783/// per FlatBuffers requirements, we can't use a union as the top-level structure 784/// (root type), so we must wrap it in a table. 785struct MessageContainer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 786 typedef MessageContainerT NativeTableType; 787 enum { 788 VT_MESSAGE_TYPE = 4, 789 VT_MESSAGE = 6 790 }; 791 ChreMessage message_type() const { 792 return static_cast<ChreMessage>(GetField<uint8_t>(VT_MESSAGE_TYPE, 0)); 793 } 794 bool mutate_message_type(ChreMessage _message_type) { 795 return SetField(VT_MESSAGE_TYPE, static_cast<uint8_t>(_message_type)); 796 } 797 const void *message() const { 798 return GetPointer<const void *>(VT_MESSAGE); 799 } 800 void *mutable_message() { 801 return GetPointer<void *>(VT_MESSAGE); 802 } 803 bool Verify(flatbuffers::Verifier &verifier) const { 804 return VerifyTableStart(verifier) && 805 VerifyField<uint8_t>(verifier, VT_MESSAGE_TYPE) && 806 VerifyFieldRequired<flatbuffers::uoffset_t>(verifier, VT_MESSAGE) && 807 VerifyChreMessage(verifier, message(), message_type()) && 808 verifier.EndTable(); 809 } 810 MessageContainerT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 811 void UnPackTo(MessageContainerT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 812 static flatbuffers::Offset<MessageContainer> Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 813}; 814 815struct MessageContainerBuilder { 816 flatbuffers::FlatBufferBuilder &fbb_; 817 flatbuffers::uoffset_t start_; 818 void add_message_type(ChreMessage message_type) { 819 fbb_.AddElement<uint8_t>(MessageContainer::VT_MESSAGE_TYPE, static_cast<uint8_t>(message_type), 0); 820 } 821 void add_message(flatbuffers::Offset<void> message) { 822 fbb_.AddOffset(MessageContainer::VT_MESSAGE, message); 823 } 824 MessageContainerBuilder(flatbuffers::FlatBufferBuilder &_fbb) 825 : fbb_(_fbb) { 826 start_ = fbb_.StartTable(); 827 } 828 MessageContainerBuilder &operator=(const MessageContainerBuilder &); 829 flatbuffers::Offset<MessageContainer> Finish() { 830 const auto end = fbb_.EndTable(start_, 2); 831 auto o = flatbuffers::Offset<MessageContainer>(end); 832 fbb_.Required(o, MessageContainer::VT_MESSAGE); 833 return o; 834 } 835}; 836 837inline flatbuffers::Offset<MessageContainer> CreateMessageContainer( 838 flatbuffers::FlatBufferBuilder &_fbb, 839 ChreMessage message_type = ChreMessage::NONE, 840 flatbuffers::Offset<void> message = 0) { 841 MessageContainerBuilder builder_(_fbb); 842 builder_.add_message(message); 843 builder_.add_message_type(message_type); 844 return builder_.Finish(); 845} 846 847flatbuffers::Offset<MessageContainer> CreateMessageContainer(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 848 849inline NanoappMessageT *NanoappMessage::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 850 auto _o = new NanoappMessageT(); 851 UnPackTo(_o, _resolver); 852 return _o; 853} 854 855inline void NanoappMessage::UnPackTo(NanoappMessageT *_o, const flatbuffers::resolver_function_t *_resolver) const { 856 (void)_o; 857 (void)_resolver; 858 { auto _e = app_id(); _o->app_id = _e; }; 859 { auto _e = message_type(); _o->message_type = _e; }; 860 { auto _e = host_endpoint(); _o->host_endpoint = _e; }; 861 { auto _e = message(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->message.push_back(_e->Get(_i)); } }; 862} 863 864inline flatbuffers::Offset<NanoappMessage> NanoappMessage::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 865 return CreateNanoappMessage(_fbb, _o, _rehasher); 866} 867 868inline flatbuffers::Offset<NanoappMessage> CreateNanoappMessage(flatbuffers::FlatBufferBuilder &_fbb, const NanoappMessageT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 869 (void)_rehasher; 870 (void)_o; 871 auto _app_id = _o->app_id; 872 auto _message_type = _o->message_type; 873 auto _host_endpoint = _o->host_endpoint; 874 auto _message = _fbb.CreateVector(_o->message); 875 return chre::fbs::CreateNanoappMessage( 876 _fbb, 877 _app_id, 878 _message_type, 879 _host_endpoint, 880 _message); 881} 882 883inline HubInfoRequestT *HubInfoRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 884 auto _o = new HubInfoRequestT(); 885 UnPackTo(_o, _resolver); 886 return _o; 887} 888 889inline void HubInfoRequest::UnPackTo(HubInfoRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const { 890 (void)_o; 891 (void)_resolver; 892} 893 894inline flatbuffers::Offset<HubInfoRequest> HubInfoRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 895 return CreateHubInfoRequest(_fbb, _o, _rehasher); 896} 897 898inline flatbuffers::Offset<HubInfoRequest> CreateHubInfoRequest(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 899 (void)_rehasher; 900 (void)_o; 901 return chre::fbs::CreateHubInfoRequest( 902 _fbb); 903} 904 905inline HubInfoResponseT *HubInfoResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 906 auto _o = new HubInfoResponseT(); 907 UnPackTo(_o, _resolver); 908 return _o; 909} 910 911inline void HubInfoResponse::UnPackTo(HubInfoResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const { 912 (void)_o; 913 (void)_resolver; 914 { auto _e = name(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->name.push_back(_e->Get(_i)); } }; 915 { auto _e = vendor(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->vendor.push_back(_e->Get(_i)); } }; 916 { auto _e = toolchain(); if (_e) for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->toolchain.push_back(_e->Get(_i)); } }; 917 { auto _e = platform_version(); _o->platform_version = _e; }; 918 { auto _e = toolchain_version(); _o->toolchain_version = _e; }; 919 { auto _e = peak_mips(); _o->peak_mips = _e; }; 920 { auto _e = stopped_power(); _o->stopped_power = _e; }; 921 { auto _e = sleep_power(); _o->sleep_power = _e; }; 922 { auto _e = peak_power(); _o->peak_power = _e; }; 923 { auto _e = max_msg_len(); _o->max_msg_len = _e; }; 924 { auto _e = platform_id(); _o->platform_id = _e; }; 925 { auto _e = chre_platform_version(); _o->chre_platform_version = _e; }; 926} 927 928inline flatbuffers::Offset<HubInfoResponse> HubInfoResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 929 return CreateHubInfoResponse(_fbb, _o, _rehasher); 930} 931 932inline flatbuffers::Offset<HubInfoResponse> CreateHubInfoResponse(flatbuffers::FlatBufferBuilder &_fbb, const HubInfoResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 933 (void)_rehasher; 934 (void)_o; 935 auto _name = _o->name.size() ? _fbb.CreateVector(_o->name) : 0; 936 auto _vendor = _o->vendor.size() ? _fbb.CreateVector(_o->vendor) : 0; 937 auto _toolchain = _o->toolchain.size() ? _fbb.CreateVector(_o->toolchain) : 0; 938 auto _platform_version = _o->platform_version; 939 auto _toolchain_version = _o->toolchain_version; 940 auto _peak_mips = _o->peak_mips; 941 auto _stopped_power = _o->stopped_power; 942 auto _sleep_power = _o->sleep_power; 943 auto _peak_power = _o->peak_power; 944 auto _max_msg_len = _o->max_msg_len; 945 auto _platform_id = _o->platform_id; 946 auto _chre_platform_version = _o->chre_platform_version; 947 return chre::fbs::CreateHubInfoResponse( 948 _fbb, 949 _name, 950 _vendor, 951 _toolchain, 952 _platform_version, 953 _toolchain_version, 954 _peak_mips, 955 _stopped_power, 956 _sleep_power, 957 _peak_power, 958 _max_msg_len, 959 _platform_id, 960 _chre_platform_version); 961} 962 963inline NanoappListRequestT *NanoappListRequest::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 964 auto _o = new NanoappListRequestT(); 965 UnPackTo(_o, _resolver); 966 return _o; 967} 968 969inline void NanoappListRequest::UnPackTo(NanoappListRequestT *_o, const flatbuffers::resolver_function_t *_resolver) const { 970 (void)_o; 971 (void)_resolver; 972} 973 974inline flatbuffers::Offset<NanoappListRequest> NanoappListRequest::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 975 return CreateNanoappListRequest(_fbb, _o, _rehasher); 976} 977 978inline flatbuffers::Offset<NanoappListRequest> CreateNanoappListRequest(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListRequestT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 979 (void)_rehasher; 980 (void)_o; 981 return chre::fbs::CreateNanoappListRequest( 982 _fbb); 983} 984 985inline NanoappListEntryT *NanoappListEntry::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 986 auto _o = new NanoappListEntryT(); 987 UnPackTo(_o, _resolver); 988 return _o; 989} 990 991inline void NanoappListEntry::UnPackTo(NanoappListEntryT *_o, const flatbuffers::resolver_function_t *_resolver) const { 992 (void)_o; 993 (void)_resolver; 994 { auto _e = app_id(); _o->app_id = _e; }; 995 { auto _e = version(); _o->version = _e; }; 996 { auto _e = enabled(); _o->enabled = _e; }; 997 { auto _e = is_system(); _o->is_system = _e; }; 998} 999 1000inline flatbuffers::Offset<NanoappListEntry> NanoappListEntry::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1001 return CreateNanoappListEntry(_fbb, _o, _rehasher); 1002} 1003 1004inline flatbuffers::Offset<NanoappListEntry> CreateNanoappListEntry(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListEntryT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1005 (void)_rehasher; 1006 (void)_o; 1007 auto _app_id = _o->app_id; 1008 auto _version = _o->version; 1009 auto _enabled = _o->enabled; 1010 auto _is_system = _o->is_system; 1011 return chre::fbs::CreateNanoappListEntry( 1012 _fbb, 1013 _app_id, 1014 _version, 1015 _enabled, 1016 _is_system); 1017} 1018 1019inline NanoappListResponseT *NanoappListResponse::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1020 auto _o = new NanoappListResponseT(); 1021 UnPackTo(_o, _resolver); 1022 return _o; 1023} 1024 1025inline void NanoappListResponse::UnPackTo(NanoappListResponseT *_o, const flatbuffers::resolver_function_t *_resolver) const { 1026 (void)_o; 1027 (void)_resolver; 1028 { 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))); } }; 1029} 1030 1031inline flatbuffers::Offset<NanoappListResponse> NanoappListResponse::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1032 return CreateNanoappListResponse(_fbb, _o, _rehasher); 1033} 1034 1035inline flatbuffers::Offset<NanoappListResponse> CreateNanoappListResponse(flatbuffers::FlatBufferBuilder &_fbb, const NanoappListResponseT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1036 (void)_rehasher; 1037 (void)_o; 1038 auto _nanoapps = _fbb.CreateVector<flatbuffers::Offset<NanoappListEntry>>(_o->nanoapps.size(), [&](size_t i) { return CreateNanoappListEntry(_fbb, _o->nanoapps[i].get(), _rehasher); }); 1039 return chre::fbs::CreateNanoappListResponse( 1040 _fbb, 1041 _nanoapps); 1042} 1043 1044inline MessageContainerT *MessageContainer::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 1045 auto _o = new MessageContainerT(); 1046 UnPackTo(_o, _resolver); 1047 return _o; 1048} 1049 1050inline void MessageContainer::UnPackTo(MessageContainerT *_o, const flatbuffers::resolver_function_t *_resolver) const { 1051 (void)_o; 1052 (void)_resolver; 1053 { auto _e = message_type(); _o->message.type = _e; }; 1054 { auto _e = message(); if (_e) _o->message.table = ChreMessageUnion::UnPack(_e, message_type(),_resolver); }; 1055} 1056 1057inline flatbuffers::Offset<MessageContainer> MessageContainer::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 1058 return CreateMessageContainer(_fbb, _o, _rehasher); 1059} 1060 1061inline flatbuffers::Offset<MessageContainer> CreateMessageContainer(flatbuffers::FlatBufferBuilder &_fbb, const MessageContainerT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 1062 (void)_rehasher; 1063 (void)_o; 1064 auto _message_type = _o->message.type; 1065 auto _message = _o->message.Pack(_fbb); 1066 return chre::fbs::CreateMessageContainer( 1067 _fbb, 1068 _message_type, 1069 _message); 1070} 1071 1072inline bool VerifyChreMessage(flatbuffers::Verifier &verifier, const void *obj, ChreMessage type) { 1073 switch (type) { 1074 case ChreMessage::NONE: { 1075 return true; 1076 } 1077 case ChreMessage::NanoappMessage: { 1078 auto ptr = reinterpret_cast<const NanoappMessage *>(obj); 1079 return verifier.VerifyTable(ptr); 1080 } 1081 case ChreMessage::HubInfoRequest: { 1082 auto ptr = reinterpret_cast<const HubInfoRequest *>(obj); 1083 return verifier.VerifyTable(ptr); 1084 } 1085 case ChreMessage::HubInfoResponse: { 1086 auto ptr = reinterpret_cast<const HubInfoResponse *>(obj); 1087 return verifier.VerifyTable(ptr); 1088 } 1089 case ChreMessage::NanoappListRequest: { 1090 auto ptr = reinterpret_cast<const NanoappListRequest *>(obj); 1091 return verifier.VerifyTable(ptr); 1092 } 1093 case ChreMessage::NanoappListResponse: { 1094 auto ptr = reinterpret_cast<const NanoappListResponse *>(obj); 1095 return verifier.VerifyTable(ptr); 1096 } 1097 default: return false; 1098 } 1099} 1100 1101inline bool VerifyChreMessageVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) { 1102 if (values->size() != types->size()) return false; 1103 for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { 1104 if (!VerifyChreMessage( 1105 verifier, values->Get(i), types->GetEnum<ChreMessage>(i))) { 1106 return false; 1107 } 1108 } 1109 return true; 1110} 1111 1112inline flatbuffers::NativeTable *ChreMessageUnion::UnPack(const void *obj, ChreMessage type, const flatbuffers::resolver_function_t *resolver) { 1113 switch (type) { 1114 case ChreMessage::NanoappMessage: { 1115 auto ptr = reinterpret_cast<const NanoappMessage *>(obj); 1116 return ptr->UnPack(resolver); 1117 } 1118 case ChreMessage::HubInfoRequest: { 1119 auto ptr = reinterpret_cast<const HubInfoRequest *>(obj); 1120 return ptr->UnPack(resolver); 1121 } 1122 case ChreMessage::HubInfoResponse: { 1123 auto ptr = reinterpret_cast<const HubInfoResponse *>(obj); 1124 return ptr->UnPack(resolver); 1125 } 1126 case ChreMessage::NanoappListRequest: { 1127 auto ptr = reinterpret_cast<const NanoappListRequest *>(obj); 1128 return ptr->UnPack(resolver); 1129 } 1130 case ChreMessage::NanoappListResponse: { 1131 auto ptr = reinterpret_cast<const NanoappListResponse *>(obj); 1132 return ptr->UnPack(resolver); 1133 } 1134 default: return nullptr; 1135 } 1136} 1137 1138inline flatbuffers::Offset<void> ChreMessageUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const { 1139 switch (type) { 1140 case ChreMessage::NanoappMessage: { 1141 auto ptr = reinterpret_cast<const NanoappMessageT *>(table); 1142 return CreateNanoappMessage(_fbb, ptr, _rehasher).Union(); 1143 } 1144 case ChreMessage::HubInfoRequest: { 1145 auto ptr = reinterpret_cast<const HubInfoRequestT *>(table); 1146 return CreateHubInfoRequest(_fbb, ptr, _rehasher).Union(); 1147 } 1148 case ChreMessage::HubInfoResponse: { 1149 auto ptr = reinterpret_cast<const HubInfoResponseT *>(table); 1150 return CreateHubInfoResponse(_fbb, ptr, _rehasher).Union(); 1151 } 1152 case ChreMessage::NanoappListRequest: { 1153 auto ptr = reinterpret_cast<const NanoappListRequestT *>(table); 1154 return CreateNanoappListRequest(_fbb, ptr, _rehasher).Union(); 1155 } 1156 case ChreMessage::NanoappListResponse: { 1157 auto ptr = reinterpret_cast<const NanoappListResponseT *>(table); 1158 return CreateNanoappListResponse(_fbb, ptr, _rehasher).Union(); 1159 } 1160 default: return 0; 1161 } 1162} 1163 1164inline void ChreMessageUnion::Reset() { 1165 switch (type) { 1166 case ChreMessage::NanoappMessage: { 1167 auto ptr = reinterpret_cast<NanoappMessageT *>(table); 1168 delete ptr; 1169 break; 1170 } 1171 case ChreMessage::HubInfoRequest: { 1172 auto ptr = reinterpret_cast<HubInfoRequestT *>(table); 1173 delete ptr; 1174 break; 1175 } 1176 case ChreMessage::HubInfoResponse: { 1177 auto ptr = reinterpret_cast<HubInfoResponseT *>(table); 1178 delete ptr; 1179 break; 1180 } 1181 case ChreMessage::NanoappListRequest: { 1182 auto ptr = reinterpret_cast<NanoappListRequestT *>(table); 1183 delete ptr; 1184 break; 1185 } 1186 case ChreMessage::NanoappListResponse: { 1187 auto ptr = reinterpret_cast<NanoappListResponseT *>(table); 1188 delete ptr; 1189 break; 1190 } 1191 default: break; 1192 } 1193 table = nullptr; 1194 type = ChreMessage::NONE; 1195} 1196 1197inline const chre::fbs::MessageContainer *GetMessageContainer(const void *buf) { 1198 return flatbuffers::GetRoot<chre::fbs::MessageContainer>(buf); 1199} 1200 1201inline MessageContainer *GetMutableMessageContainer(void *buf) { 1202 return flatbuffers::GetMutableRoot<MessageContainer>(buf); 1203} 1204 1205inline bool VerifyMessageContainerBuffer( 1206 flatbuffers::Verifier &verifier) { 1207 return verifier.VerifyBuffer<chre::fbs::MessageContainer>(nullptr); 1208} 1209 1210inline void FinishMessageContainerBuffer( 1211 flatbuffers::FlatBufferBuilder &fbb, 1212 flatbuffers::Offset<chre::fbs::MessageContainer> root) { 1213 fbb.Finish(root); 1214} 1215 1216inline std::unique_ptr<MessageContainerT> UnPackMessageContainer( 1217 const void *buf, 1218 const flatbuffers::resolver_function_t *res = nullptr) { 1219 return std::unique_ptr<MessageContainerT>(GetMessageContainer(buf)->UnPack(res)); 1220} 1221 1222} // namespace fbs 1223} // namespace chre 1224 1225#endif // FLATBUFFERS_GENERATED_HOSTMESSAGES_CHRE_FBS_H_ 1226