1 // automatically generated by the FlatBuffers compiler, do not modify
2
3
4 #ifndef FLATBUFFERS_GENERATED_CHREPOWERTEST_CHRE_POWER_TEST_H_
5 #define FLATBUFFERS_GENERATED_CHREPOWERTEST_CHRE_POWER_TEST_H_
6
7 #include "flatbuffers/flatbuffers.h"
8
9 namespace chre {
10 namespace power_test {
11
12 struct TimerMessage;
13 struct TimerMessageBuilder;
14
15 struct WifiScanMessage;
16 struct WifiScanMessageBuilder;
17
18 struct GnssLocationMessage;
19 struct GnssLocationMessageBuilder;
20
21 struct CellQueryMessage;
22 struct CellQueryMessageBuilder;
23
24 struct AudioRequestMessage;
25 struct AudioRequestMessageBuilder;
26
27 struct SensorRequestMessage;
28 struct SensorRequestMessageBuilder;
29
30 struct BreakItMessage;
31 struct BreakItMessageBuilder;
32
33 struct NanoappResponseMessage;
34 struct NanoappResponseMessageBuilder;
35
36 struct GnssMeasurementMessage;
37 struct GnssMeasurementMessageBuilder;
38
39 struct WifiNanSubMessage;
40 struct WifiNanSubMessageBuilder;
41
42 struct WifiNanSubCancelMessage;
43 struct WifiNanSubCancelMessageBuilder;
44
45 struct WifiNanSubResponseMessage;
46 struct WifiNanSubResponseMessageBuilder;
47
48 /// Indicates which of the following messages is being sent to / from the
49 /// nanoapp. Use uint as the base type to match the message type in
50 /// chreMessageFromHostData.
51 enum class MessageType : uint32_t {
52 UNSPECIFIED = 0,
53 /// Should be used with TimerMessage
54 TIMER_TEST = 1,
55 /// Should be used with WifiScanMessage
56 WIFI_SCAN_TEST = 2,
57 /// Should be used with GnssLocationMessage
58 GNSS_LOCATION_TEST = 3,
59 /// Should be used with CellQueryMessage
60 CELL_QUERY_TEST = 4,
61 /// Should be used with AudioRequestMessage
62 AUDIO_REQUEST_TEST = 5,
63 /// Should be used with SensorRequestMessage
64 SENSOR_REQUEST_TEST = 6,
65 /// Should be used with BreakItMessage
66 BREAK_IT_TEST = 7,
67 /// Should be used with NanoappResponseMessage
68 NANOAPP_RESPONSE = 8,
69 /// Should be used with GnssMeasurementMessage
70 GNSS_MEASUREMENT_TEST = 9,
71 /// Should be used with WifiNanSubMessage
72 WIFI_NAN_SUB = 10,
73 /// Should be used with WifiNanSubCancelMessage
74 WIFI_NAN_SUB_CANCEL = 11,
75 /// Should be used with WifiNanSubResponseMessage
76 WIFI_NAN_SUB_RESP = 12,
77 MIN = UNSPECIFIED,
78 MAX = WIFI_NAN_SUB_RESP
79 };
80
EnumValuesMessageType()81 inline const MessageType (&EnumValuesMessageType())[13] {
82 static const MessageType values[] = {
83 MessageType::UNSPECIFIED,
84 MessageType::TIMER_TEST,
85 MessageType::WIFI_SCAN_TEST,
86 MessageType::GNSS_LOCATION_TEST,
87 MessageType::CELL_QUERY_TEST,
88 MessageType::AUDIO_REQUEST_TEST,
89 MessageType::SENSOR_REQUEST_TEST,
90 MessageType::BREAK_IT_TEST,
91 MessageType::NANOAPP_RESPONSE,
92 MessageType::GNSS_MEASUREMENT_TEST,
93 MessageType::WIFI_NAN_SUB,
94 MessageType::WIFI_NAN_SUB_CANCEL,
95 MessageType::WIFI_NAN_SUB_RESP
96 };
97 return values;
98 }
99
EnumNamesMessageType()100 inline const char * const *EnumNamesMessageType() {
101 static const char * const names[14] = {
102 "UNSPECIFIED",
103 "TIMER_TEST",
104 "WIFI_SCAN_TEST",
105 "GNSS_LOCATION_TEST",
106 "CELL_QUERY_TEST",
107 "AUDIO_REQUEST_TEST",
108 "SENSOR_REQUEST_TEST",
109 "BREAK_IT_TEST",
110 "NANOAPP_RESPONSE",
111 "GNSS_MEASUREMENT_TEST",
112 "WIFI_NAN_SUB",
113 "WIFI_NAN_SUB_CANCEL",
114 "WIFI_NAN_SUB_RESP",
115 nullptr
116 };
117 return names;
118 }
119
EnumNameMessageType(MessageType e)120 inline const char *EnumNameMessageType(MessageType e) {
121 if (flatbuffers::IsOutRange(e, MessageType::UNSPECIFIED, MessageType::WIFI_NAN_SUB_RESP)) return "";
122 const size_t index = static_cast<size_t>(e);
123 return EnumNamesMessageType()[index];
124 }
125
126 /// All the various WiFi scan types that can be interacted with inside the
127 /// nanoapp. The values used here map directly to values from the CHRE API.
128 enum class WifiScanType : uint8_t {
129 ACTIVE = 0,
130 ACTIVE_PLUS_PASSIVE_DFS = 1,
131 PASSIVE = 2,
132 NO_PREFERENCE = 3,
133 MIN = ACTIVE,
134 MAX = NO_PREFERENCE
135 };
136
EnumValuesWifiScanType()137 inline const WifiScanType (&EnumValuesWifiScanType())[4] {
138 static const WifiScanType values[] = {
139 WifiScanType::ACTIVE,
140 WifiScanType::ACTIVE_PLUS_PASSIVE_DFS,
141 WifiScanType::PASSIVE,
142 WifiScanType::NO_PREFERENCE
143 };
144 return values;
145 }
146
EnumNamesWifiScanType()147 inline const char * const *EnumNamesWifiScanType() {
148 static const char * const names[5] = {
149 "ACTIVE",
150 "ACTIVE_PLUS_PASSIVE_DFS",
151 "PASSIVE",
152 "NO_PREFERENCE",
153 nullptr
154 };
155 return names;
156 }
157
EnumNameWifiScanType(WifiScanType e)158 inline const char *EnumNameWifiScanType(WifiScanType e) {
159 if (flatbuffers::IsOutRange(e, WifiScanType::ACTIVE, WifiScanType::NO_PREFERENCE)) return "";
160 const size_t index = static_cast<size_t>(e);
161 return EnumNamesWifiScanType()[index];
162 }
163
164 /// All the various WiFi radio chain preferences that can be interacted with
165 /// inside the nanoapp. The values used here map directly to values from the
166 /// CHRE API.
167 enum class WifiRadioChain : uint8_t {
168 DEFAULT = 0,
169 LOW_LATENCY = 1,
170 LOW_POWER = 2,
171 HIGH_ACCURACY = 3,
172 MIN = DEFAULT,
173 MAX = HIGH_ACCURACY
174 };
175
EnumValuesWifiRadioChain()176 inline const WifiRadioChain (&EnumValuesWifiRadioChain())[4] {
177 static const WifiRadioChain values[] = {
178 WifiRadioChain::DEFAULT,
179 WifiRadioChain::LOW_LATENCY,
180 WifiRadioChain::LOW_POWER,
181 WifiRadioChain::HIGH_ACCURACY
182 };
183 return values;
184 }
185
EnumNamesWifiRadioChain()186 inline const char * const *EnumNamesWifiRadioChain() {
187 static const char * const names[5] = {
188 "DEFAULT",
189 "LOW_LATENCY",
190 "LOW_POWER",
191 "HIGH_ACCURACY",
192 nullptr
193 };
194 return names;
195 }
196
EnumNameWifiRadioChain(WifiRadioChain e)197 inline const char *EnumNameWifiRadioChain(WifiRadioChain e) {
198 if (flatbuffers::IsOutRange(e, WifiRadioChain::DEFAULT, WifiRadioChain::HIGH_ACCURACY)) return "";
199 const size_t index = static_cast<size_t>(e);
200 return EnumNamesWifiRadioChain()[index];
201 }
202
203 /// All the various WiFi channel sets that can be interacted with inside the
204 /// nanoapp. The values used here map directly to values from the CHRE API.
205 enum class WifiChannelSet : uint8_t {
206 NON_DFS = 0,
207 ALL = 1,
208 MIN = NON_DFS,
209 MAX = ALL
210 };
211
EnumValuesWifiChannelSet()212 inline const WifiChannelSet (&EnumValuesWifiChannelSet())[2] {
213 static const WifiChannelSet values[] = {
214 WifiChannelSet::NON_DFS,
215 WifiChannelSet::ALL
216 };
217 return values;
218 }
219
EnumNamesWifiChannelSet()220 inline const char * const *EnumNamesWifiChannelSet() {
221 static const char * const names[3] = {
222 "NON_DFS",
223 "ALL",
224 nullptr
225 };
226 return names;
227 }
228
EnumNameWifiChannelSet(WifiChannelSet e)229 inline const char *EnumNameWifiChannelSet(WifiChannelSet e) {
230 if (flatbuffers::IsOutRange(e, WifiChannelSet::NON_DFS, WifiChannelSet::ALL)) return "";
231 const size_t index = static_cast<size_t>(e);
232 return EnumNamesWifiChannelSet()[index];
233 }
234
235 /// All the various sensors that can be interacted with inside the nanoapp.
236 /// The values used here map directly to values from the CHRE API
237 enum class SensorType : uint8_t {
238 UNKNOWN = 0,
239 ACCELEROMETER = 1,
240 INSTANT_MOTION_DETECT = 2,
241 STATIONARY_DETECT = 3,
242 GYROSCOPE = 6,
243 UNCALIBRATED_GYROSCOPE = 7,
244 GEOMAGNETIC_FIELD = 8,
245 UNCALIBRATED_GEOMAGNETIC_FIELD = 9,
246 PRESSURE = 10,
247 LIGHT = 12,
248 PROXIMITY = 13,
249 STEP_DETECT = 23,
250 STEP_COUNTER = 24,
251 UNCALIBRATED_ACCELEROMETER = 55,
252 ACCELEROMETER_TEMPERATURE = 56,
253 GYROSCOPE_TEMPERATURE = 57,
254 GEOMAGNETIC_FIELD_TEMPERATURE = 58,
255 MIN = UNKNOWN,
256 MAX = GEOMAGNETIC_FIELD_TEMPERATURE
257 };
258
EnumValuesSensorType()259 inline const SensorType (&EnumValuesSensorType())[17] {
260 static const SensorType values[] = {
261 SensorType::UNKNOWN,
262 SensorType::ACCELEROMETER,
263 SensorType::INSTANT_MOTION_DETECT,
264 SensorType::STATIONARY_DETECT,
265 SensorType::GYROSCOPE,
266 SensorType::UNCALIBRATED_GYROSCOPE,
267 SensorType::GEOMAGNETIC_FIELD,
268 SensorType::UNCALIBRATED_GEOMAGNETIC_FIELD,
269 SensorType::PRESSURE,
270 SensorType::LIGHT,
271 SensorType::PROXIMITY,
272 SensorType::STEP_DETECT,
273 SensorType::STEP_COUNTER,
274 SensorType::UNCALIBRATED_ACCELEROMETER,
275 SensorType::ACCELEROMETER_TEMPERATURE,
276 SensorType::GYROSCOPE_TEMPERATURE,
277 SensorType::GEOMAGNETIC_FIELD_TEMPERATURE
278 };
279 return values;
280 }
281
EnumNamesSensorType()282 inline const char * const *EnumNamesSensorType() {
283 static const char * const names[60] = {
284 "UNKNOWN",
285 "ACCELEROMETER",
286 "INSTANT_MOTION_DETECT",
287 "STATIONARY_DETECT",
288 "",
289 "",
290 "GYROSCOPE",
291 "UNCALIBRATED_GYROSCOPE",
292 "GEOMAGNETIC_FIELD",
293 "UNCALIBRATED_GEOMAGNETIC_FIELD",
294 "PRESSURE",
295 "",
296 "LIGHT",
297 "PROXIMITY",
298 "",
299 "",
300 "",
301 "",
302 "",
303 "",
304 "",
305 "",
306 "",
307 "STEP_DETECT",
308 "STEP_COUNTER",
309 "",
310 "",
311 "",
312 "",
313 "",
314 "",
315 "",
316 "",
317 "",
318 "",
319 "",
320 "",
321 "",
322 "",
323 "",
324 "",
325 "",
326 "",
327 "",
328 "",
329 "",
330 "",
331 "",
332 "",
333 "",
334 "",
335 "",
336 "",
337 "",
338 "",
339 "UNCALIBRATED_ACCELEROMETER",
340 "ACCELEROMETER_TEMPERATURE",
341 "GYROSCOPE_TEMPERATURE",
342 "GEOMAGNETIC_FIELD_TEMPERATURE",
343 nullptr
344 };
345 return names;
346 }
347
EnumNameSensorType(SensorType e)348 inline const char *EnumNameSensorType(SensorType e) {
349 if (flatbuffers::IsOutRange(e, SensorType::UNKNOWN, SensorType::GEOMAGNETIC_FIELD_TEMPERATURE)) return "";
350 const size_t index = static_cast<size_t>(e);
351 return EnumNamesSensorType()[index];
352 }
353
354 /// Represents a message to ask the nanoapp to create a timer that wakes up at
355 /// the given interval
356 struct TimerMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
357 typedef TimerMessageBuilder Builder;
358 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
359 VT_ENABLE = 4,
360 VT_WAKEUP_INTERVAL_NS = 6
361 };
enableFLATBUFFERS_FINAL_CLASS362 bool enable() const {
363 return GetField<uint8_t>(VT_ENABLE, 0) != 0;
364 }
wakeup_interval_nsFLATBUFFERS_FINAL_CLASS365 uint64_t wakeup_interval_ns() const {
366 return GetField<uint64_t>(VT_WAKEUP_INTERVAL_NS, 0);
367 }
VerifyFLATBUFFERS_FINAL_CLASS368 bool Verify(flatbuffers::Verifier &verifier) const {
369 return VerifyTableStart(verifier) &&
370 VerifyField<uint8_t>(verifier, VT_ENABLE) &&
371 VerifyField<uint64_t>(verifier, VT_WAKEUP_INTERVAL_NS) &&
372 verifier.EndTable();
373 }
374 };
375
376 struct TimerMessageBuilder {
377 typedef TimerMessage Table;
378 flatbuffers::FlatBufferBuilder &fbb_;
379 flatbuffers::uoffset_t start_;
add_enableTimerMessageBuilder380 void add_enable(bool enable) {
381 fbb_.AddElement<uint8_t>(TimerMessage::VT_ENABLE, static_cast<uint8_t>(enable), 0);
382 }
add_wakeup_interval_nsTimerMessageBuilder383 void add_wakeup_interval_ns(uint64_t wakeup_interval_ns) {
384 fbb_.AddElement<uint64_t>(TimerMessage::VT_WAKEUP_INTERVAL_NS, wakeup_interval_ns, 0);
385 }
TimerMessageBuilderTimerMessageBuilder386 explicit TimerMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
387 : fbb_(_fbb) {
388 start_ = fbb_.StartTable();
389 }
390 TimerMessageBuilder &operator=(const TimerMessageBuilder &);
FinishTimerMessageBuilder391 flatbuffers::Offset<TimerMessage> Finish() {
392 const auto end = fbb_.EndTable(start_);
393 auto o = flatbuffers::Offset<TimerMessage>(end);
394 return o;
395 }
396 };
397
398 inline flatbuffers::Offset<TimerMessage> CreateTimerMessage(
399 flatbuffers::FlatBufferBuilder &_fbb,
400 bool enable = false,
401 uint64_t wakeup_interval_ns = 0) {
402 TimerMessageBuilder builder_(_fbb);
403 builder_.add_wakeup_interval_ns(wakeup_interval_ns);
404 builder_.add_enable(enable);
405 return builder_.Finish();
406 }
407
408 /// Represents a message to ask the nanoapp to start or stop WiFi scanning and
409 /// the scan interval to use if scanning is being started
410 struct WifiScanMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
411 typedef WifiScanMessageBuilder Builder;
412 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
413 VT_ENABLE = 4,
414 VT_SCAN_INTERVAL_NS = 6,
415 VT_SCAN_TYPE = 8,
416 VT_RADIO_CHAIN = 10,
417 VT_CHANNEL_SET = 12
418 };
enableFLATBUFFERS_FINAL_CLASS419 bool enable() const {
420 return GetField<uint8_t>(VT_ENABLE, 0) != 0;
421 }
scan_interval_nsFLATBUFFERS_FINAL_CLASS422 uint64_t scan_interval_ns() const {
423 return GetField<uint64_t>(VT_SCAN_INTERVAL_NS, 0);
424 }
scan_typeFLATBUFFERS_FINAL_CLASS425 chre::power_test::WifiScanType scan_type() const {
426 return static_cast<chre::power_test::WifiScanType>(GetField<uint8_t>(VT_SCAN_TYPE, 0));
427 }
radio_chainFLATBUFFERS_FINAL_CLASS428 chre::power_test::WifiRadioChain radio_chain() const {
429 return static_cast<chre::power_test::WifiRadioChain>(GetField<uint8_t>(VT_RADIO_CHAIN, 0));
430 }
channel_setFLATBUFFERS_FINAL_CLASS431 chre::power_test::WifiChannelSet channel_set() const {
432 return static_cast<chre::power_test::WifiChannelSet>(GetField<uint8_t>(VT_CHANNEL_SET, 0));
433 }
VerifyFLATBUFFERS_FINAL_CLASS434 bool Verify(flatbuffers::Verifier &verifier) const {
435 return VerifyTableStart(verifier) &&
436 VerifyField<uint8_t>(verifier, VT_ENABLE) &&
437 VerifyField<uint64_t>(verifier, VT_SCAN_INTERVAL_NS) &&
438 VerifyField<uint8_t>(verifier, VT_SCAN_TYPE) &&
439 VerifyField<uint8_t>(verifier, VT_RADIO_CHAIN) &&
440 VerifyField<uint8_t>(verifier, VT_CHANNEL_SET) &&
441 verifier.EndTable();
442 }
443 };
444
445 struct WifiScanMessageBuilder {
446 typedef WifiScanMessage Table;
447 flatbuffers::FlatBufferBuilder &fbb_;
448 flatbuffers::uoffset_t start_;
add_enableWifiScanMessageBuilder449 void add_enable(bool enable) {
450 fbb_.AddElement<uint8_t>(WifiScanMessage::VT_ENABLE, static_cast<uint8_t>(enable), 0);
451 }
add_scan_interval_nsWifiScanMessageBuilder452 void add_scan_interval_ns(uint64_t scan_interval_ns) {
453 fbb_.AddElement<uint64_t>(WifiScanMessage::VT_SCAN_INTERVAL_NS, scan_interval_ns, 0);
454 }
add_scan_typeWifiScanMessageBuilder455 void add_scan_type(chre::power_test::WifiScanType scan_type) {
456 fbb_.AddElement<uint8_t>(WifiScanMessage::VT_SCAN_TYPE, static_cast<uint8_t>(scan_type), 0);
457 }
add_radio_chainWifiScanMessageBuilder458 void add_radio_chain(chre::power_test::WifiRadioChain radio_chain) {
459 fbb_.AddElement<uint8_t>(WifiScanMessage::VT_RADIO_CHAIN, static_cast<uint8_t>(radio_chain), 0);
460 }
add_channel_setWifiScanMessageBuilder461 void add_channel_set(chre::power_test::WifiChannelSet channel_set) {
462 fbb_.AddElement<uint8_t>(WifiScanMessage::VT_CHANNEL_SET, static_cast<uint8_t>(channel_set), 0);
463 }
WifiScanMessageBuilderWifiScanMessageBuilder464 explicit WifiScanMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
465 : fbb_(_fbb) {
466 start_ = fbb_.StartTable();
467 }
468 WifiScanMessageBuilder &operator=(const WifiScanMessageBuilder &);
FinishWifiScanMessageBuilder469 flatbuffers::Offset<WifiScanMessage> Finish() {
470 const auto end = fbb_.EndTable(start_);
471 auto o = flatbuffers::Offset<WifiScanMessage>(end);
472 return o;
473 }
474 };
475
476 inline flatbuffers::Offset<WifiScanMessage> CreateWifiScanMessage(
477 flatbuffers::FlatBufferBuilder &_fbb,
478 bool enable = false,
479 uint64_t scan_interval_ns = 0,
480 chre::power_test::WifiScanType scan_type = chre::power_test::WifiScanType::ACTIVE,
481 chre::power_test::WifiRadioChain radio_chain = chre::power_test::WifiRadioChain::DEFAULT,
482 chre::power_test::WifiChannelSet channel_set = chre::power_test::WifiChannelSet::NON_DFS) {
483 WifiScanMessageBuilder builder_(_fbb);
484 builder_.add_scan_interval_ns(scan_interval_ns);
485 builder_.add_channel_set(channel_set);
486 builder_.add_radio_chain(radio_chain);
487 builder_.add_scan_type(scan_type);
488 builder_.add_enable(enable);
489 return builder_.Finish();
490 }
491
492 /// Represents a message to ask the nanoapp to start or stop Gnss location
493 /// sampling at the requested interval
494 struct GnssLocationMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
495 typedef GnssLocationMessageBuilder Builder;
496 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
497 VT_ENABLE = 4,
498 VT_SCAN_INTERVAL_MILLIS = 6,
499 VT_MIN_TIME_TO_NEXT_FIX_MILLIS = 8
500 };
enableFLATBUFFERS_FINAL_CLASS501 bool enable() const {
502 return GetField<uint8_t>(VT_ENABLE, 0) != 0;
503 }
scan_interval_millisFLATBUFFERS_FINAL_CLASS504 uint32_t scan_interval_millis() const {
505 return GetField<uint32_t>(VT_SCAN_INTERVAL_MILLIS, 0);
506 }
min_time_to_next_fix_millisFLATBUFFERS_FINAL_CLASS507 uint32_t min_time_to_next_fix_millis() const {
508 return GetField<uint32_t>(VT_MIN_TIME_TO_NEXT_FIX_MILLIS, 0);
509 }
VerifyFLATBUFFERS_FINAL_CLASS510 bool Verify(flatbuffers::Verifier &verifier) const {
511 return VerifyTableStart(verifier) &&
512 VerifyField<uint8_t>(verifier, VT_ENABLE) &&
513 VerifyField<uint32_t>(verifier, VT_SCAN_INTERVAL_MILLIS) &&
514 VerifyField<uint32_t>(verifier, VT_MIN_TIME_TO_NEXT_FIX_MILLIS) &&
515 verifier.EndTable();
516 }
517 };
518
519 struct GnssLocationMessageBuilder {
520 typedef GnssLocationMessage Table;
521 flatbuffers::FlatBufferBuilder &fbb_;
522 flatbuffers::uoffset_t start_;
add_enableGnssLocationMessageBuilder523 void add_enable(bool enable) {
524 fbb_.AddElement<uint8_t>(GnssLocationMessage::VT_ENABLE, static_cast<uint8_t>(enable), 0);
525 }
add_scan_interval_millisGnssLocationMessageBuilder526 void add_scan_interval_millis(uint32_t scan_interval_millis) {
527 fbb_.AddElement<uint32_t>(GnssLocationMessage::VT_SCAN_INTERVAL_MILLIS, scan_interval_millis, 0);
528 }
add_min_time_to_next_fix_millisGnssLocationMessageBuilder529 void add_min_time_to_next_fix_millis(uint32_t min_time_to_next_fix_millis) {
530 fbb_.AddElement<uint32_t>(GnssLocationMessage::VT_MIN_TIME_TO_NEXT_FIX_MILLIS, min_time_to_next_fix_millis, 0);
531 }
GnssLocationMessageBuilderGnssLocationMessageBuilder532 explicit GnssLocationMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
533 : fbb_(_fbb) {
534 start_ = fbb_.StartTable();
535 }
536 GnssLocationMessageBuilder &operator=(const GnssLocationMessageBuilder &);
FinishGnssLocationMessageBuilder537 flatbuffers::Offset<GnssLocationMessage> Finish() {
538 const auto end = fbb_.EndTable(start_);
539 auto o = flatbuffers::Offset<GnssLocationMessage>(end);
540 return o;
541 }
542 };
543
544 inline flatbuffers::Offset<GnssLocationMessage> CreateGnssLocationMessage(
545 flatbuffers::FlatBufferBuilder &_fbb,
546 bool enable = false,
547 uint32_t scan_interval_millis = 0,
548 uint32_t min_time_to_next_fix_millis = 0) {
549 GnssLocationMessageBuilder builder_(_fbb);
550 builder_.add_min_time_to_next_fix_millis(min_time_to_next_fix_millis);
551 builder_.add_scan_interval_millis(scan_interval_millis);
552 builder_.add_enable(enable);
553 return builder_.Finish();
554 }
555
556 /// Represents a message to ask the nanoapp to start or stop querying the cell
557 /// modem for the latest cell scan results on the given interval
558 struct CellQueryMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
559 typedef CellQueryMessageBuilder Builder;
560 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
561 VT_ENABLE = 4,
562 VT_QUERY_INTERVAL_NS = 6
563 };
enableFLATBUFFERS_FINAL_CLASS564 bool enable() const {
565 return GetField<uint8_t>(VT_ENABLE, 0) != 0;
566 }
query_interval_nsFLATBUFFERS_FINAL_CLASS567 uint64_t query_interval_ns() const {
568 return GetField<uint64_t>(VT_QUERY_INTERVAL_NS, 0);
569 }
VerifyFLATBUFFERS_FINAL_CLASS570 bool Verify(flatbuffers::Verifier &verifier) const {
571 return VerifyTableStart(verifier) &&
572 VerifyField<uint8_t>(verifier, VT_ENABLE) &&
573 VerifyField<uint64_t>(verifier, VT_QUERY_INTERVAL_NS) &&
574 verifier.EndTable();
575 }
576 };
577
578 struct CellQueryMessageBuilder {
579 typedef CellQueryMessage Table;
580 flatbuffers::FlatBufferBuilder &fbb_;
581 flatbuffers::uoffset_t start_;
add_enableCellQueryMessageBuilder582 void add_enable(bool enable) {
583 fbb_.AddElement<uint8_t>(CellQueryMessage::VT_ENABLE, static_cast<uint8_t>(enable), 0);
584 }
add_query_interval_nsCellQueryMessageBuilder585 void add_query_interval_ns(uint64_t query_interval_ns) {
586 fbb_.AddElement<uint64_t>(CellQueryMessage::VT_QUERY_INTERVAL_NS, query_interval_ns, 0);
587 }
CellQueryMessageBuilderCellQueryMessageBuilder588 explicit CellQueryMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
589 : fbb_(_fbb) {
590 start_ = fbb_.StartTable();
591 }
592 CellQueryMessageBuilder &operator=(const CellQueryMessageBuilder &);
FinishCellQueryMessageBuilder593 flatbuffers::Offset<CellQueryMessage> Finish() {
594 const auto end = fbb_.EndTable(start_);
595 auto o = flatbuffers::Offset<CellQueryMessage>(end);
596 return o;
597 }
598 };
599
600 inline flatbuffers::Offset<CellQueryMessage> CreateCellQueryMessage(
601 flatbuffers::FlatBufferBuilder &_fbb,
602 bool enable = false,
603 uint64_t query_interval_ns = 0) {
604 CellQueryMessageBuilder builder_(_fbb);
605 builder_.add_query_interval_ns(query_interval_ns);
606 builder_.add_enable(enable);
607 return builder_.Finish();
608 }
609
610 /// Represents a message to ask the nanoapp to start / stop requesting Audio
611 /// data buffered at given interval. Note: If there is more than one audio
612 /// source, the nanoapp will only request audio from the first source.
613 struct AudioRequestMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
614 typedef AudioRequestMessageBuilder Builder;
615 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
616 VT_ENABLE = 4,
617 VT_BUFFER_DURATION_NS = 6
618 };
enableFLATBUFFERS_FINAL_CLASS619 bool enable() const {
620 return GetField<uint8_t>(VT_ENABLE, 0) != 0;
621 }
622 /// The buffer duration is also used as the interval for how often
623 /// the buffer should be delivered to the nanoapp.
buffer_duration_nsFLATBUFFERS_FINAL_CLASS624 uint64_t buffer_duration_ns() const {
625 return GetField<uint64_t>(VT_BUFFER_DURATION_NS, 0);
626 }
VerifyFLATBUFFERS_FINAL_CLASS627 bool Verify(flatbuffers::Verifier &verifier) const {
628 return VerifyTableStart(verifier) &&
629 VerifyField<uint8_t>(verifier, VT_ENABLE) &&
630 VerifyField<uint64_t>(verifier, VT_BUFFER_DURATION_NS) &&
631 verifier.EndTable();
632 }
633 };
634
635 struct AudioRequestMessageBuilder {
636 typedef AudioRequestMessage Table;
637 flatbuffers::FlatBufferBuilder &fbb_;
638 flatbuffers::uoffset_t start_;
add_enableAudioRequestMessageBuilder639 void add_enable(bool enable) {
640 fbb_.AddElement<uint8_t>(AudioRequestMessage::VT_ENABLE, static_cast<uint8_t>(enable), 0);
641 }
add_buffer_duration_nsAudioRequestMessageBuilder642 void add_buffer_duration_ns(uint64_t buffer_duration_ns) {
643 fbb_.AddElement<uint64_t>(AudioRequestMessage::VT_BUFFER_DURATION_NS, buffer_duration_ns, 0);
644 }
AudioRequestMessageBuilderAudioRequestMessageBuilder645 explicit AudioRequestMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
646 : fbb_(_fbb) {
647 start_ = fbb_.StartTable();
648 }
649 AudioRequestMessageBuilder &operator=(const AudioRequestMessageBuilder &);
FinishAudioRequestMessageBuilder650 flatbuffers::Offset<AudioRequestMessage> Finish() {
651 const auto end = fbb_.EndTable(start_);
652 auto o = flatbuffers::Offset<AudioRequestMessage>(end);
653 return o;
654 }
655 };
656
657 inline flatbuffers::Offset<AudioRequestMessage> CreateAudioRequestMessage(
658 flatbuffers::FlatBufferBuilder &_fbb,
659 bool enable = false,
660 uint64_t buffer_duration_ns = 0) {
661 AudioRequestMessageBuilder builder_(_fbb);
662 builder_.add_buffer_duration_ns(buffer_duration_ns);
663 builder_.add_enable(enable);
664 return builder_.Finish();
665 }
666
667 /// Represents a message to ask the nanoapp to start / stop sampling / batching
668 /// a given sensor
669 struct SensorRequestMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
670 typedef SensorRequestMessageBuilder Builder;
671 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
672 VT_ENABLE = 4,
673 VT_SENSOR = 6,
674 VT_SAMPLING_INTERVAL_NS = 8,
675 VT_LATENCY_NS = 10
676 };
enableFLATBUFFERS_FINAL_CLASS677 bool enable() const {
678 return GetField<uint8_t>(VT_ENABLE, 0) != 0;
679 }
sensorFLATBUFFERS_FINAL_CLASS680 chre::power_test::SensorType sensor() const {
681 return static_cast<chre::power_test::SensorType>(GetField<uint8_t>(VT_SENSOR, 0));
682 }
sampling_interval_nsFLATBUFFERS_FINAL_CLASS683 uint64_t sampling_interval_ns() const {
684 return GetField<uint64_t>(VT_SAMPLING_INTERVAL_NS, 0);
685 }
latency_nsFLATBUFFERS_FINAL_CLASS686 uint64_t latency_ns() const {
687 return GetField<uint64_t>(VT_LATENCY_NS, 0);
688 }
VerifyFLATBUFFERS_FINAL_CLASS689 bool Verify(flatbuffers::Verifier &verifier) const {
690 return VerifyTableStart(verifier) &&
691 VerifyField<uint8_t>(verifier, VT_ENABLE) &&
692 VerifyField<uint8_t>(verifier, VT_SENSOR) &&
693 VerifyField<uint64_t>(verifier, VT_SAMPLING_INTERVAL_NS) &&
694 VerifyField<uint64_t>(verifier, VT_LATENCY_NS) &&
695 verifier.EndTable();
696 }
697 };
698
699 struct SensorRequestMessageBuilder {
700 typedef SensorRequestMessage Table;
701 flatbuffers::FlatBufferBuilder &fbb_;
702 flatbuffers::uoffset_t start_;
add_enableSensorRequestMessageBuilder703 void add_enable(bool enable) {
704 fbb_.AddElement<uint8_t>(SensorRequestMessage::VT_ENABLE, static_cast<uint8_t>(enable), 0);
705 }
add_sensorSensorRequestMessageBuilder706 void add_sensor(chre::power_test::SensorType sensor) {
707 fbb_.AddElement<uint8_t>(SensorRequestMessage::VT_SENSOR, static_cast<uint8_t>(sensor), 0);
708 }
add_sampling_interval_nsSensorRequestMessageBuilder709 void add_sampling_interval_ns(uint64_t sampling_interval_ns) {
710 fbb_.AddElement<uint64_t>(SensorRequestMessage::VT_SAMPLING_INTERVAL_NS, sampling_interval_ns, 0);
711 }
add_latency_nsSensorRequestMessageBuilder712 void add_latency_ns(uint64_t latency_ns) {
713 fbb_.AddElement<uint64_t>(SensorRequestMessage::VT_LATENCY_NS, latency_ns, 0);
714 }
SensorRequestMessageBuilderSensorRequestMessageBuilder715 explicit SensorRequestMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
716 : fbb_(_fbb) {
717 start_ = fbb_.StartTable();
718 }
719 SensorRequestMessageBuilder &operator=(const SensorRequestMessageBuilder &);
FinishSensorRequestMessageBuilder720 flatbuffers::Offset<SensorRequestMessage> Finish() {
721 const auto end = fbb_.EndTable(start_);
722 auto o = flatbuffers::Offset<SensorRequestMessage>(end);
723 return o;
724 }
725 };
726
727 inline flatbuffers::Offset<SensorRequestMessage> CreateSensorRequestMessage(
728 flatbuffers::FlatBufferBuilder &_fbb,
729 bool enable = false,
730 chre::power_test::SensorType sensor = chre::power_test::SensorType::UNKNOWN,
731 uint64_t sampling_interval_ns = 0,
732 uint64_t latency_ns = 0) {
733 SensorRequestMessageBuilder builder_(_fbb);
734 builder_.add_latency_ns(latency_ns);
735 builder_.add_sampling_interval_ns(sampling_interval_ns);
736 builder_.add_sensor(sensor);
737 builder_.add_enable(enable);
738 return builder_.Finish();
739 }
740
741 /// Represents a message to enable / disable break-it mode inside the nanoapp.
742 /// Break-it mode enables WiFi / GNSS / Cell to be queried every second and
743 /// enables all sensors at their fastest sampling rate.
744 struct BreakItMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
745 typedef BreakItMessageBuilder Builder;
746 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
747 VT_ENABLE = 4
748 };
enableFLATBUFFERS_FINAL_CLASS749 bool enable() const {
750 return GetField<uint8_t>(VT_ENABLE, 0) != 0;
751 }
VerifyFLATBUFFERS_FINAL_CLASS752 bool Verify(flatbuffers::Verifier &verifier) const {
753 return VerifyTableStart(verifier) &&
754 VerifyField<uint8_t>(verifier, VT_ENABLE) &&
755 verifier.EndTable();
756 }
757 };
758
759 struct BreakItMessageBuilder {
760 typedef BreakItMessage Table;
761 flatbuffers::FlatBufferBuilder &fbb_;
762 flatbuffers::uoffset_t start_;
add_enableBreakItMessageBuilder763 void add_enable(bool enable) {
764 fbb_.AddElement<uint8_t>(BreakItMessage::VT_ENABLE, static_cast<uint8_t>(enable), 0);
765 }
BreakItMessageBuilderBreakItMessageBuilder766 explicit BreakItMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
767 : fbb_(_fbb) {
768 start_ = fbb_.StartTable();
769 }
770 BreakItMessageBuilder &operator=(const BreakItMessageBuilder &);
FinishBreakItMessageBuilder771 flatbuffers::Offset<BreakItMessage> Finish() {
772 const auto end = fbb_.EndTable(start_);
773 auto o = flatbuffers::Offset<BreakItMessage>(end);
774 return o;
775 }
776 };
777
778 inline flatbuffers::Offset<BreakItMessage> CreateBreakItMessage(
779 flatbuffers::FlatBufferBuilder &_fbb,
780 bool enable = false) {
781 BreakItMessageBuilder builder_(_fbb);
782 builder_.add_enable(enable);
783 return builder_.Finish();
784 }
785
786 /// Indicates whether the nanoapp successfully performed the requested action.
787 /// Any failures will be printed to the logs.
788 struct NanoappResponseMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
789 typedef NanoappResponseMessageBuilder Builder;
790 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
791 VT_SUCCESS = 4
792 };
successFLATBUFFERS_FINAL_CLASS793 bool success() const {
794 return GetField<uint8_t>(VT_SUCCESS, 0) != 0;
795 }
VerifyFLATBUFFERS_FINAL_CLASS796 bool Verify(flatbuffers::Verifier &verifier) const {
797 return VerifyTableStart(verifier) &&
798 VerifyField<uint8_t>(verifier, VT_SUCCESS) &&
799 verifier.EndTable();
800 }
801 };
802
803 struct NanoappResponseMessageBuilder {
804 typedef NanoappResponseMessage Table;
805 flatbuffers::FlatBufferBuilder &fbb_;
806 flatbuffers::uoffset_t start_;
add_successNanoappResponseMessageBuilder807 void add_success(bool success) {
808 fbb_.AddElement<uint8_t>(NanoappResponseMessage::VT_SUCCESS, static_cast<uint8_t>(success), 0);
809 }
NanoappResponseMessageBuilderNanoappResponseMessageBuilder810 explicit NanoappResponseMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
811 : fbb_(_fbb) {
812 start_ = fbb_.StartTable();
813 }
814 NanoappResponseMessageBuilder &operator=(const NanoappResponseMessageBuilder &);
FinishNanoappResponseMessageBuilder815 flatbuffers::Offset<NanoappResponseMessage> Finish() {
816 const auto end = fbb_.EndTable(start_);
817 auto o = flatbuffers::Offset<NanoappResponseMessage>(end);
818 return o;
819 }
820 };
821
822 inline flatbuffers::Offset<NanoappResponseMessage> CreateNanoappResponseMessage(
823 flatbuffers::FlatBufferBuilder &_fbb,
824 bool success = false) {
825 NanoappResponseMessageBuilder builder_(_fbb);
826 builder_.add_success(success);
827 return builder_.Finish();
828 }
829
830 /// Represents a message to ask the nanoapp to start or stop Gnss measurement
831 /// sampling at the requested interval
832 struct GnssMeasurementMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
833 typedef GnssMeasurementMessageBuilder Builder;
834 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
835 VT_ENABLE = 4,
836 VT_MIN_INTERVAL_MILLIS = 6
837 };
enableFLATBUFFERS_FINAL_CLASS838 bool enable() const {
839 return GetField<uint8_t>(VT_ENABLE, 0) != 0;
840 }
min_interval_millisFLATBUFFERS_FINAL_CLASS841 uint32_t min_interval_millis() const {
842 return GetField<uint32_t>(VT_MIN_INTERVAL_MILLIS, 0);
843 }
VerifyFLATBUFFERS_FINAL_CLASS844 bool Verify(flatbuffers::Verifier &verifier) const {
845 return VerifyTableStart(verifier) &&
846 VerifyField<uint8_t>(verifier, VT_ENABLE) &&
847 VerifyField<uint32_t>(verifier, VT_MIN_INTERVAL_MILLIS) &&
848 verifier.EndTable();
849 }
850 };
851
852 struct GnssMeasurementMessageBuilder {
853 typedef GnssMeasurementMessage Table;
854 flatbuffers::FlatBufferBuilder &fbb_;
855 flatbuffers::uoffset_t start_;
add_enableGnssMeasurementMessageBuilder856 void add_enable(bool enable) {
857 fbb_.AddElement<uint8_t>(GnssMeasurementMessage::VT_ENABLE, static_cast<uint8_t>(enable), 0);
858 }
add_min_interval_millisGnssMeasurementMessageBuilder859 void add_min_interval_millis(uint32_t min_interval_millis) {
860 fbb_.AddElement<uint32_t>(GnssMeasurementMessage::VT_MIN_INTERVAL_MILLIS, min_interval_millis, 0);
861 }
GnssMeasurementMessageBuilderGnssMeasurementMessageBuilder862 explicit GnssMeasurementMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
863 : fbb_(_fbb) {
864 start_ = fbb_.StartTable();
865 }
866 GnssMeasurementMessageBuilder &operator=(const GnssMeasurementMessageBuilder &);
FinishGnssMeasurementMessageBuilder867 flatbuffers::Offset<GnssMeasurementMessage> Finish() {
868 const auto end = fbb_.EndTable(start_);
869 auto o = flatbuffers::Offset<GnssMeasurementMessage>(end);
870 return o;
871 }
872 };
873
874 inline flatbuffers::Offset<GnssMeasurementMessage> CreateGnssMeasurementMessage(
875 flatbuffers::FlatBufferBuilder &_fbb,
876 bool enable = false,
877 uint32_t min_interval_millis = 0) {
878 GnssMeasurementMessageBuilder builder_(_fbb);
879 builder_.add_min_interval_millis(min_interval_millis);
880 builder_.add_enable(enable);
881 return builder_.Finish();
882 }
883
884 /// Represents a message to ask the nanoapp to start a NAN subscription session.
885 /// See chreWifiNanSubscribeConfig for how to fill in this message.
886 struct WifiNanSubMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
887 typedef WifiNanSubMessageBuilder Builder;
888 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
889 VT_SUB_TYPE = 4,
890 VT_SERVICE_NAME = 6,
891 VT_SERVICE_SPECIFIC_INFO = 8,
892 VT_MATCH_FILTER = 10
893 };
sub_typeFLATBUFFERS_FINAL_CLASS894 uint8_t sub_type() const {
895 return GetField<uint8_t>(VT_SUB_TYPE, 0);
896 }
service_nameFLATBUFFERS_FINAL_CLASS897 const flatbuffers::Vector<uint8_t> *service_name() const {
898 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_SERVICE_NAME);
899 }
service_specific_infoFLATBUFFERS_FINAL_CLASS900 const flatbuffers::Vector<uint8_t> *service_specific_info() const {
901 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_SERVICE_SPECIFIC_INFO);
902 }
match_filterFLATBUFFERS_FINAL_CLASS903 const flatbuffers::Vector<uint8_t> *match_filter() const {
904 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_MATCH_FILTER);
905 }
VerifyFLATBUFFERS_FINAL_CLASS906 bool Verify(flatbuffers::Verifier &verifier) const {
907 return VerifyTableStart(verifier) &&
908 VerifyField<uint8_t>(verifier, VT_SUB_TYPE) &&
909 VerifyOffset(verifier, VT_SERVICE_NAME) &&
910 verifier.VerifyVector(service_name()) &&
911 VerifyOffset(verifier, VT_SERVICE_SPECIFIC_INFO) &&
912 verifier.VerifyVector(service_specific_info()) &&
913 VerifyOffset(verifier, VT_MATCH_FILTER) &&
914 verifier.VerifyVector(match_filter()) &&
915 verifier.EndTable();
916 }
917 };
918
919 struct WifiNanSubMessageBuilder {
920 typedef WifiNanSubMessage Table;
921 flatbuffers::FlatBufferBuilder &fbb_;
922 flatbuffers::uoffset_t start_;
add_sub_typeWifiNanSubMessageBuilder923 void add_sub_type(uint8_t sub_type) {
924 fbb_.AddElement<uint8_t>(WifiNanSubMessage::VT_SUB_TYPE, sub_type, 0);
925 }
add_service_nameWifiNanSubMessageBuilder926 void add_service_name(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> service_name) {
927 fbb_.AddOffset(WifiNanSubMessage::VT_SERVICE_NAME, service_name);
928 }
add_service_specific_infoWifiNanSubMessageBuilder929 void add_service_specific_info(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> service_specific_info) {
930 fbb_.AddOffset(WifiNanSubMessage::VT_SERVICE_SPECIFIC_INFO, service_specific_info);
931 }
add_match_filterWifiNanSubMessageBuilder932 void add_match_filter(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> match_filter) {
933 fbb_.AddOffset(WifiNanSubMessage::VT_MATCH_FILTER, match_filter);
934 }
WifiNanSubMessageBuilderWifiNanSubMessageBuilder935 explicit WifiNanSubMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
936 : fbb_(_fbb) {
937 start_ = fbb_.StartTable();
938 }
939 WifiNanSubMessageBuilder &operator=(const WifiNanSubMessageBuilder &);
FinishWifiNanSubMessageBuilder940 flatbuffers::Offset<WifiNanSubMessage> Finish() {
941 const auto end = fbb_.EndTable(start_);
942 auto o = flatbuffers::Offset<WifiNanSubMessage>(end);
943 return o;
944 }
945 };
946
947 inline flatbuffers::Offset<WifiNanSubMessage> CreateWifiNanSubMessage(
948 flatbuffers::FlatBufferBuilder &_fbb,
949 uint8_t sub_type = 0,
950 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> service_name = 0,
951 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> service_specific_info = 0,
952 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> match_filter = 0) {
953 WifiNanSubMessageBuilder builder_(_fbb);
954 builder_.add_match_filter(match_filter);
955 builder_.add_service_specific_info(service_specific_info);
956 builder_.add_service_name(service_name);
957 builder_.add_sub_type(sub_type);
958 return builder_.Finish();
959 }
960
961 inline flatbuffers::Offset<WifiNanSubMessage> CreateWifiNanSubMessageDirect(
962 flatbuffers::FlatBufferBuilder &_fbb,
963 uint8_t sub_type = 0,
964 const std::vector<uint8_t> *service_name = nullptr,
965 const std::vector<uint8_t> *service_specific_info = nullptr,
966 const std::vector<uint8_t> *match_filter = nullptr) {
967 auto service_name__ = service_name ? _fbb.CreateVector<uint8_t>(*service_name) : 0;
968 auto service_specific_info__ = service_specific_info ? _fbb.CreateVector<uint8_t>(*service_specific_info) : 0;
969 auto match_filter__ = match_filter ? _fbb.CreateVector<uint8_t>(*match_filter) : 0;
970 return chre::power_test::CreateWifiNanSubMessage(
971 _fbb,
972 sub_type,
973 service_name__,
974 service_specific_info__,
975 match_filter__);
976 }
977
978 /// Represents a messages to ask the nanoapp to cancel an ongoing subscription
979 struct WifiNanSubCancelMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
980 typedef WifiNanSubCancelMessageBuilder Builder;
981 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
982 VT_SUBSCRIPTION_ID = 4
983 };
subscription_idFLATBUFFERS_FINAL_CLASS984 uint32_t subscription_id() const {
985 return GetField<uint32_t>(VT_SUBSCRIPTION_ID, 0);
986 }
VerifyFLATBUFFERS_FINAL_CLASS987 bool Verify(flatbuffers::Verifier &verifier) const {
988 return VerifyTableStart(verifier) &&
989 VerifyField<uint32_t>(verifier, VT_SUBSCRIPTION_ID) &&
990 verifier.EndTable();
991 }
992 };
993
994 struct WifiNanSubCancelMessageBuilder {
995 typedef WifiNanSubCancelMessage Table;
996 flatbuffers::FlatBufferBuilder &fbb_;
997 flatbuffers::uoffset_t start_;
add_subscription_idWifiNanSubCancelMessageBuilder998 void add_subscription_id(uint32_t subscription_id) {
999 fbb_.AddElement<uint32_t>(WifiNanSubCancelMessage::VT_SUBSCRIPTION_ID, subscription_id, 0);
1000 }
WifiNanSubCancelMessageBuilderWifiNanSubCancelMessageBuilder1001 explicit WifiNanSubCancelMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1002 : fbb_(_fbb) {
1003 start_ = fbb_.StartTable();
1004 }
1005 WifiNanSubCancelMessageBuilder &operator=(const WifiNanSubCancelMessageBuilder &);
FinishWifiNanSubCancelMessageBuilder1006 flatbuffers::Offset<WifiNanSubCancelMessage> Finish() {
1007 const auto end = fbb_.EndTable(start_);
1008 auto o = flatbuffers::Offset<WifiNanSubCancelMessage>(end);
1009 return o;
1010 }
1011 };
1012
1013 inline flatbuffers::Offset<WifiNanSubCancelMessage> CreateWifiNanSubCancelMessage(
1014 flatbuffers::FlatBufferBuilder &_fbb,
1015 uint32_t subscription_id = 0) {
1016 WifiNanSubCancelMessageBuilder builder_(_fbb);
1017 builder_.add_subscription_id(subscription_id);
1018 return builder_.Finish();
1019 }
1020
1021 /// Represents a message from the nanoapp indicating whether a subscription
1022 /// request succeeded
1023 struct WifiNanSubResponseMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1024 typedef WifiNanSubResponseMessageBuilder Builder;
1025 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1026 VT_SUCCESS = 4,
1027 VT_SUBSCRIPTION_ID = 6
1028 };
successFLATBUFFERS_FINAL_CLASS1029 bool success() const {
1030 return GetField<uint8_t>(VT_SUCCESS, 0) != 0;
1031 }
subscription_idFLATBUFFERS_FINAL_CLASS1032 uint32_t subscription_id() const {
1033 return GetField<uint32_t>(VT_SUBSCRIPTION_ID, 0);
1034 }
VerifyFLATBUFFERS_FINAL_CLASS1035 bool Verify(flatbuffers::Verifier &verifier) const {
1036 return VerifyTableStart(verifier) &&
1037 VerifyField<uint8_t>(verifier, VT_SUCCESS) &&
1038 VerifyField<uint32_t>(verifier, VT_SUBSCRIPTION_ID) &&
1039 verifier.EndTable();
1040 }
1041 };
1042
1043 struct WifiNanSubResponseMessageBuilder {
1044 typedef WifiNanSubResponseMessage Table;
1045 flatbuffers::FlatBufferBuilder &fbb_;
1046 flatbuffers::uoffset_t start_;
add_successWifiNanSubResponseMessageBuilder1047 void add_success(bool success) {
1048 fbb_.AddElement<uint8_t>(WifiNanSubResponseMessage::VT_SUCCESS, static_cast<uint8_t>(success), 0);
1049 }
add_subscription_idWifiNanSubResponseMessageBuilder1050 void add_subscription_id(uint32_t subscription_id) {
1051 fbb_.AddElement<uint32_t>(WifiNanSubResponseMessage::VT_SUBSCRIPTION_ID, subscription_id, 0);
1052 }
WifiNanSubResponseMessageBuilderWifiNanSubResponseMessageBuilder1053 explicit WifiNanSubResponseMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1054 : fbb_(_fbb) {
1055 start_ = fbb_.StartTable();
1056 }
1057 WifiNanSubResponseMessageBuilder &operator=(const WifiNanSubResponseMessageBuilder &);
FinishWifiNanSubResponseMessageBuilder1058 flatbuffers::Offset<WifiNanSubResponseMessage> Finish() {
1059 const auto end = fbb_.EndTable(start_);
1060 auto o = flatbuffers::Offset<WifiNanSubResponseMessage>(end);
1061 return o;
1062 }
1063 };
1064
1065 inline flatbuffers::Offset<WifiNanSubResponseMessage> CreateWifiNanSubResponseMessage(
1066 flatbuffers::FlatBufferBuilder &_fbb,
1067 bool success = false,
1068 uint32_t subscription_id = 0) {
1069 WifiNanSubResponseMessageBuilder builder_(_fbb);
1070 builder_.add_subscription_id(subscription_id);
1071 builder_.add_success(success);
1072 return builder_.Finish();
1073 }
1074
1075 } // namespace power_test
1076 } // namespace chre
1077
1078 #endif // FLATBUFFERS_GENERATED_CHREPOWERTEST_CHRE_POWER_TEST_H_
1079