YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
SensorRPCData.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5
6// Autogenerated by Thrift Compiler (0.14.1-yarped)
7//
8// This is an automatically generated file.
9// It could get re-generated if the ALLOW_IDL_GENERATION flag is on.
10
11#include <SensorRPCData.h>
12
13// Constructor with field values
14SensorRPCData::SensorRPCData(const std::vector<SensorMetadata>& ThreeAxisGyroscopes,
15 const std::vector<SensorMetadata>& ThreeAxisLinearAccelerometers,
16 const std::vector<SensorMetadata>& ThreeAxisMagnetometers,
17 const std::vector<SensorMetadata>& OrientationSensors,
18 const std::vector<SensorMetadata>& TemperatureSensors,
19 const std::vector<SensorMetadata>& SixAxisForceTorqueSensors,
20 const std::vector<SensorMetadata>& ContactLoadCellArrays,
21 const std::vector<SensorMetadata>& EncoderArrays,
22 const std::vector<SensorMetadata>& SkinPatches,
23 const std::vector<SensorMetadata>& PositionSensors,
24 const std::vector<SensorMetadata>& LinearVelocitySensors,
25 const std::vector<SensorMetadata>& ThreeAxisAngularAccelerometers) :
26 WirePortable(),
39{
40}
41
42// Read structure on a Wire
44{
45 if (!read_ThreeAxisGyroscopes(reader)) {
46 return false;
47 }
48 if (!read_ThreeAxisLinearAccelerometers(reader)) {
49 return false;
50 }
51 if (!read_ThreeAxisMagnetometers(reader)) {
52 return false;
53 }
54 if (!read_OrientationSensors(reader)) {
55 return false;
56 }
57 if (!read_TemperatureSensors(reader)) {
58 return false;
59 }
60 if (!read_SixAxisForceTorqueSensors(reader)) {
61 return false;
62 }
63 if (!read_ContactLoadCellArrays(reader)) {
64 return false;
65 }
66 if (!read_EncoderArrays(reader)) {
67 return false;
68 }
69 if (!read_SkinPatches(reader)) {
70 return false;
71 }
72 if (!read_PositionSensors(reader)) {
73 return false;
74 }
75 if (!read_LinearVelocitySensors(reader)) {
76 return false;
77 }
78 if (!read_ThreeAxisAngularAccelerometers(reader)) {
79 return false;
80 }
81 if (reader.isError()) {
82 return false;
83 }
84 return true;
85}
86
87// Read structure on a Connection
89{
90 yarp::os::idl::WireReader reader(connection);
91 if (!reader.readListHeader(12)) {
92 return false;
93 }
94 if (!read(reader)) {
95 return false;
96 }
97 return true;
98}
99
100// Write structure on a Wire
102{
103 if (!write_ThreeAxisGyroscopes(writer)) {
104 return false;
105 }
106 if (!write_ThreeAxisLinearAccelerometers(writer)) {
107 return false;
108 }
109 if (!write_ThreeAxisMagnetometers(writer)) {
110 return false;
111 }
112 if (!write_OrientationSensors(writer)) {
113 return false;
114 }
115 if (!write_TemperatureSensors(writer)) {
116 return false;
117 }
118 if (!write_SixAxisForceTorqueSensors(writer)) {
119 return false;
120 }
121 if (!write_ContactLoadCellArrays(writer)) {
122 return false;
123 }
124 if (!write_EncoderArrays(writer)) {
125 return false;
126 }
127 if (!write_SkinPatches(writer)) {
128 return false;
129 }
130 if (!write_PositionSensors(writer)) {
131 return false;
132 }
133 if (!write_LinearVelocitySensors(writer)) {
134 return false;
135 }
136 if (!write_ThreeAxisAngularAccelerometers(writer)) {
137 return false;
138 }
139 if (writer.isError()) {
140 return false;
141 }
142 return true;
143}
144
145// Write structure on a Connection
147{
148 yarp::os::idl::WireWriter writer(connection);
149 if (!writer.writeListHeader(12)) {
150 return false;
151 }
152 if (!write(writer)) {
153 return false;
154 }
155 return true;
156}
157
158// Convert to a printable string
159std::string SensorRPCData::toString() const
160{
162 if (!yarp::os::Portable::copyPortable(*this, b)) {
163 return {};
164 }
165 return b.toString();
166}
167
168// read ThreeAxisGyroscopes field
169bool SensorRPCData::read_ThreeAxisGyroscopes(yarp::os::idl::WireReader& reader)
170{
171 if (reader.noMore()) {
172 reader.fail();
173 return false;
174 }
175 size_t _csize;
177 reader.readListBegin(_etype, _csize);
178 // WireReader removes BOTTLE_TAG_LIST from the tag
179 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
180 if constexpr (expected_tag != 0) {
181 if (_csize != 0 && _etype.code != expected_tag) {
182 return false;
183 }
184 }
185 ThreeAxisGyroscopes.resize(_csize);
186 for (size_t _i = 0; _i < _csize; ++_i) {
187 if (reader.noMore()) {
188 reader.fail();
189 return false;
190 }
191 if (!reader.readNested(ThreeAxisGyroscopes[_i])) {
192 reader.fail();
193 return false;
194 }
195 }
196 reader.readListEnd();
197 return true;
198}
199
200// write ThreeAxisGyroscopes field
201bool SensorRPCData::write_ThreeAxisGyroscopes(const yarp::os::idl::WireWriter& writer) const
202{
204 return false;
205 }
206 for (const auto& _item : ThreeAxisGyroscopes) {
207 if (!writer.writeNested(_item)) {
208 return false;
209 }
210 }
211 if (!writer.writeListEnd()) {
212 return false;
213 }
214 return true;
215}
216
217// read (nested) ThreeAxisGyroscopes field
218bool SensorRPCData::nested_read_ThreeAxisGyroscopes(yarp::os::idl::WireReader& reader)
219{
220 if (reader.noMore()) {
221 reader.fail();
222 return false;
223 }
224 size_t _csize;
226 reader.readListBegin(_etype, _csize);
227 // WireReader removes BOTTLE_TAG_LIST from the tag
228 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
229 if constexpr (expected_tag != 0) {
230 if (_csize != 0 && _etype.code != expected_tag) {
231 return false;
232 }
233 }
234 ThreeAxisGyroscopes.resize(_csize);
235 for (size_t _i = 0; _i < _csize; ++_i) {
236 if (reader.noMore()) {
237 reader.fail();
238 return false;
239 }
240 if (!reader.readNested(ThreeAxisGyroscopes[_i])) {
241 reader.fail();
242 return false;
243 }
244 }
245 reader.readListEnd();
246 return true;
247}
248
249// write (nested) ThreeAxisGyroscopes field
250bool SensorRPCData::nested_write_ThreeAxisGyroscopes(const yarp::os::idl::WireWriter& writer) const
251{
253 return false;
254 }
255 for (const auto& _item : ThreeAxisGyroscopes) {
256 if (!writer.writeNested(_item)) {
257 return false;
258 }
259 }
260 if (!writer.writeListEnd()) {
261 return false;
262 }
263 return true;
264}
265
266// read ThreeAxisLinearAccelerometers field
267bool SensorRPCData::read_ThreeAxisLinearAccelerometers(yarp::os::idl::WireReader& reader)
268{
269 if (reader.noMore()) {
270 reader.fail();
271 return false;
272 }
273 size_t _csize;
275 reader.readListBegin(_etype, _csize);
276 // WireReader removes BOTTLE_TAG_LIST from the tag
277 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
278 if constexpr (expected_tag != 0) {
279 if (_csize != 0 && _etype.code != expected_tag) {
280 return false;
281 }
282 }
283 ThreeAxisLinearAccelerometers.resize(_csize);
284 for (size_t _i = 0; _i < _csize; ++_i) {
285 if (reader.noMore()) {
286 reader.fail();
287 return false;
288 }
289 if (!reader.readNested(ThreeAxisLinearAccelerometers[_i])) {
290 reader.fail();
291 return false;
292 }
293 }
294 reader.readListEnd();
295 return true;
296}
297
298// write ThreeAxisLinearAccelerometers field
299bool SensorRPCData::write_ThreeAxisLinearAccelerometers(const yarp::os::idl::WireWriter& writer) const
300{
302 return false;
303 }
304 for (const auto& _item : ThreeAxisLinearAccelerometers) {
305 if (!writer.writeNested(_item)) {
306 return false;
307 }
308 }
309 if (!writer.writeListEnd()) {
310 return false;
311 }
312 return true;
313}
314
315// read (nested) ThreeAxisLinearAccelerometers field
316bool SensorRPCData::nested_read_ThreeAxisLinearAccelerometers(yarp::os::idl::WireReader& reader)
317{
318 if (reader.noMore()) {
319 reader.fail();
320 return false;
321 }
322 size_t _csize;
324 reader.readListBegin(_etype, _csize);
325 // WireReader removes BOTTLE_TAG_LIST from the tag
326 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
327 if constexpr (expected_tag != 0) {
328 if (_csize != 0 && _etype.code != expected_tag) {
329 return false;
330 }
331 }
332 ThreeAxisLinearAccelerometers.resize(_csize);
333 for (size_t _i = 0; _i < _csize; ++_i) {
334 if (reader.noMore()) {
335 reader.fail();
336 return false;
337 }
338 if (!reader.readNested(ThreeAxisLinearAccelerometers[_i])) {
339 reader.fail();
340 return false;
341 }
342 }
343 reader.readListEnd();
344 return true;
345}
346
347// write (nested) ThreeAxisLinearAccelerometers field
348bool SensorRPCData::nested_write_ThreeAxisLinearAccelerometers(const yarp::os::idl::WireWriter& writer) const
349{
351 return false;
352 }
353 for (const auto& _item : ThreeAxisLinearAccelerometers) {
354 if (!writer.writeNested(_item)) {
355 return false;
356 }
357 }
358 if (!writer.writeListEnd()) {
359 return false;
360 }
361 return true;
362}
363
364// read ThreeAxisMagnetometers field
365bool SensorRPCData::read_ThreeAxisMagnetometers(yarp::os::idl::WireReader& reader)
366{
367 if (reader.noMore()) {
368 reader.fail();
369 return false;
370 }
371 size_t _csize;
373 reader.readListBegin(_etype, _csize);
374 // WireReader removes BOTTLE_TAG_LIST from the tag
375 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
376 if constexpr (expected_tag != 0) {
377 if (_csize != 0 && _etype.code != expected_tag) {
378 return false;
379 }
380 }
381 ThreeAxisMagnetometers.resize(_csize);
382 for (size_t _i = 0; _i < _csize; ++_i) {
383 if (reader.noMore()) {
384 reader.fail();
385 return false;
386 }
387 if (!reader.readNested(ThreeAxisMagnetometers[_i])) {
388 reader.fail();
389 return false;
390 }
391 }
392 reader.readListEnd();
393 return true;
394}
395
396// write ThreeAxisMagnetometers field
397bool SensorRPCData::write_ThreeAxisMagnetometers(const yarp::os::idl::WireWriter& writer) const
398{
400 return false;
401 }
402 for (const auto& _item : ThreeAxisMagnetometers) {
403 if (!writer.writeNested(_item)) {
404 return false;
405 }
406 }
407 if (!writer.writeListEnd()) {
408 return false;
409 }
410 return true;
411}
412
413// read (nested) ThreeAxisMagnetometers field
414bool SensorRPCData::nested_read_ThreeAxisMagnetometers(yarp::os::idl::WireReader& reader)
415{
416 if (reader.noMore()) {
417 reader.fail();
418 return false;
419 }
420 size_t _csize;
422 reader.readListBegin(_etype, _csize);
423 // WireReader removes BOTTLE_TAG_LIST from the tag
424 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
425 if constexpr (expected_tag != 0) {
426 if (_csize != 0 && _etype.code != expected_tag) {
427 return false;
428 }
429 }
430 ThreeAxisMagnetometers.resize(_csize);
431 for (size_t _i = 0; _i < _csize; ++_i) {
432 if (reader.noMore()) {
433 reader.fail();
434 return false;
435 }
436 if (!reader.readNested(ThreeAxisMagnetometers[_i])) {
437 reader.fail();
438 return false;
439 }
440 }
441 reader.readListEnd();
442 return true;
443}
444
445// write (nested) ThreeAxisMagnetometers field
446bool SensorRPCData::nested_write_ThreeAxisMagnetometers(const yarp::os::idl::WireWriter& writer) const
447{
449 return false;
450 }
451 for (const auto& _item : ThreeAxisMagnetometers) {
452 if (!writer.writeNested(_item)) {
453 return false;
454 }
455 }
456 if (!writer.writeListEnd()) {
457 return false;
458 }
459 return true;
460}
461
462// read OrientationSensors field
463bool SensorRPCData::read_OrientationSensors(yarp::os::idl::WireReader& reader)
464{
465 if (reader.noMore()) {
466 reader.fail();
467 return false;
468 }
469 size_t _csize;
471 reader.readListBegin(_etype, _csize);
472 // WireReader removes BOTTLE_TAG_LIST from the tag
473 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
474 if constexpr (expected_tag != 0) {
475 if (_csize != 0 && _etype.code != expected_tag) {
476 return false;
477 }
478 }
479 OrientationSensors.resize(_csize);
480 for (size_t _i = 0; _i < _csize; ++_i) {
481 if (reader.noMore()) {
482 reader.fail();
483 return false;
484 }
485 if (!reader.readNested(OrientationSensors[_i])) {
486 reader.fail();
487 return false;
488 }
489 }
490 reader.readListEnd();
491 return true;
492}
493
494// write OrientationSensors field
495bool SensorRPCData::write_OrientationSensors(const yarp::os::idl::WireWriter& writer) const
496{
498 return false;
499 }
500 for (const auto& _item : OrientationSensors) {
501 if (!writer.writeNested(_item)) {
502 return false;
503 }
504 }
505 if (!writer.writeListEnd()) {
506 return false;
507 }
508 return true;
509}
510
511// read (nested) OrientationSensors field
512bool SensorRPCData::nested_read_OrientationSensors(yarp::os::idl::WireReader& reader)
513{
514 if (reader.noMore()) {
515 reader.fail();
516 return false;
517 }
518 size_t _csize;
520 reader.readListBegin(_etype, _csize);
521 // WireReader removes BOTTLE_TAG_LIST from the tag
522 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
523 if constexpr (expected_tag != 0) {
524 if (_csize != 0 && _etype.code != expected_tag) {
525 return false;
526 }
527 }
528 OrientationSensors.resize(_csize);
529 for (size_t _i = 0; _i < _csize; ++_i) {
530 if (reader.noMore()) {
531 reader.fail();
532 return false;
533 }
534 if (!reader.readNested(OrientationSensors[_i])) {
535 reader.fail();
536 return false;
537 }
538 }
539 reader.readListEnd();
540 return true;
541}
542
543// write (nested) OrientationSensors field
544bool SensorRPCData::nested_write_OrientationSensors(const yarp::os::idl::WireWriter& writer) const
545{
547 return false;
548 }
549 for (const auto& _item : OrientationSensors) {
550 if (!writer.writeNested(_item)) {
551 return false;
552 }
553 }
554 if (!writer.writeListEnd()) {
555 return false;
556 }
557 return true;
558}
559
560// read TemperatureSensors field
561bool SensorRPCData::read_TemperatureSensors(yarp::os::idl::WireReader& reader)
562{
563 if (reader.noMore()) {
564 reader.fail();
565 return false;
566 }
567 size_t _csize;
569 reader.readListBegin(_etype, _csize);
570 // WireReader removes BOTTLE_TAG_LIST from the tag
571 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
572 if constexpr (expected_tag != 0) {
573 if (_csize != 0 && _etype.code != expected_tag) {
574 return false;
575 }
576 }
577 TemperatureSensors.resize(_csize);
578 for (size_t _i = 0; _i < _csize; ++_i) {
579 if (reader.noMore()) {
580 reader.fail();
581 return false;
582 }
583 if (!reader.readNested(TemperatureSensors[_i])) {
584 reader.fail();
585 return false;
586 }
587 }
588 reader.readListEnd();
589 return true;
590}
591
592// write TemperatureSensors field
593bool SensorRPCData::write_TemperatureSensors(const yarp::os::idl::WireWriter& writer) const
594{
596 return false;
597 }
598 for (const auto& _item : TemperatureSensors) {
599 if (!writer.writeNested(_item)) {
600 return false;
601 }
602 }
603 if (!writer.writeListEnd()) {
604 return false;
605 }
606 return true;
607}
608
609// read (nested) TemperatureSensors field
610bool SensorRPCData::nested_read_TemperatureSensors(yarp::os::idl::WireReader& reader)
611{
612 if (reader.noMore()) {
613 reader.fail();
614 return false;
615 }
616 size_t _csize;
618 reader.readListBegin(_etype, _csize);
619 // WireReader removes BOTTLE_TAG_LIST from the tag
620 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
621 if constexpr (expected_tag != 0) {
622 if (_csize != 0 && _etype.code != expected_tag) {
623 return false;
624 }
625 }
626 TemperatureSensors.resize(_csize);
627 for (size_t _i = 0; _i < _csize; ++_i) {
628 if (reader.noMore()) {
629 reader.fail();
630 return false;
631 }
632 if (!reader.readNested(TemperatureSensors[_i])) {
633 reader.fail();
634 return false;
635 }
636 }
637 reader.readListEnd();
638 return true;
639}
640
641// write (nested) TemperatureSensors field
642bool SensorRPCData::nested_write_TemperatureSensors(const yarp::os::idl::WireWriter& writer) const
643{
645 return false;
646 }
647 for (const auto& _item : TemperatureSensors) {
648 if (!writer.writeNested(_item)) {
649 return false;
650 }
651 }
652 if (!writer.writeListEnd()) {
653 return false;
654 }
655 return true;
656}
657
658// read SixAxisForceTorqueSensors field
659bool SensorRPCData::read_SixAxisForceTorqueSensors(yarp::os::idl::WireReader& reader)
660{
661 if (reader.noMore()) {
662 reader.fail();
663 return false;
664 }
665 size_t _csize;
667 reader.readListBegin(_etype, _csize);
668 // WireReader removes BOTTLE_TAG_LIST from the tag
669 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
670 if constexpr (expected_tag != 0) {
671 if (_csize != 0 && _etype.code != expected_tag) {
672 return false;
673 }
674 }
675 SixAxisForceTorqueSensors.resize(_csize);
676 for (size_t _i = 0; _i < _csize; ++_i) {
677 if (reader.noMore()) {
678 reader.fail();
679 return false;
680 }
681 if (!reader.readNested(SixAxisForceTorqueSensors[_i])) {
682 reader.fail();
683 return false;
684 }
685 }
686 reader.readListEnd();
687 return true;
688}
689
690// write SixAxisForceTorqueSensors field
691bool SensorRPCData::write_SixAxisForceTorqueSensors(const yarp::os::idl::WireWriter& writer) const
692{
694 return false;
695 }
696 for (const auto& _item : SixAxisForceTorqueSensors) {
697 if (!writer.writeNested(_item)) {
698 return false;
699 }
700 }
701 if (!writer.writeListEnd()) {
702 return false;
703 }
704 return true;
705}
706
707// read (nested) SixAxisForceTorqueSensors field
708bool SensorRPCData::nested_read_SixAxisForceTorqueSensors(yarp::os::idl::WireReader& reader)
709{
710 if (reader.noMore()) {
711 reader.fail();
712 return false;
713 }
714 size_t _csize;
716 reader.readListBegin(_etype, _csize);
717 // WireReader removes BOTTLE_TAG_LIST from the tag
718 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
719 if constexpr (expected_tag != 0) {
720 if (_csize != 0 && _etype.code != expected_tag) {
721 return false;
722 }
723 }
724 SixAxisForceTorqueSensors.resize(_csize);
725 for (size_t _i = 0; _i < _csize; ++_i) {
726 if (reader.noMore()) {
727 reader.fail();
728 return false;
729 }
730 if (!reader.readNested(SixAxisForceTorqueSensors[_i])) {
731 reader.fail();
732 return false;
733 }
734 }
735 reader.readListEnd();
736 return true;
737}
738
739// write (nested) SixAxisForceTorqueSensors field
740bool SensorRPCData::nested_write_SixAxisForceTorqueSensors(const yarp::os::idl::WireWriter& writer) const
741{
743 return false;
744 }
745 for (const auto& _item : SixAxisForceTorqueSensors) {
746 if (!writer.writeNested(_item)) {
747 return false;
748 }
749 }
750 if (!writer.writeListEnd()) {
751 return false;
752 }
753 return true;
754}
755
756// read ContactLoadCellArrays field
757bool SensorRPCData::read_ContactLoadCellArrays(yarp::os::idl::WireReader& reader)
758{
759 if (reader.noMore()) {
760 reader.fail();
761 return false;
762 }
763 size_t _csize;
765 reader.readListBegin(_etype, _csize);
766 // WireReader removes BOTTLE_TAG_LIST from the tag
767 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
768 if constexpr (expected_tag != 0) {
769 if (_csize != 0 && _etype.code != expected_tag) {
770 return false;
771 }
772 }
773 ContactLoadCellArrays.resize(_csize);
774 for (size_t _i = 0; _i < _csize; ++_i) {
775 if (reader.noMore()) {
776 reader.fail();
777 return false;
778 }
779 if (!reader.readNested(ContactLoadCellArrays[_i])) {
780 reader.fail();
781 return false;
782 }
783 }
784 reader.readListEnd();
785 return true;
786}
787
788// write ContactLoadCellArrays field
789bool SensorRPCData::write_ContactLoadCellArrays(const yarp::os::idl::WireWriter& writer) const
790{
792 return false;
793 }
794 for (const auto& _item : ContactLoadCellArrays) {
795 if (!writer.writeNested(_item)) {
796 return false;
797 }
798 }
799 if (!writer.writeListEnd()) {
800 return false;
801 }
802 return true;
803}
804
805// read (nested) ContactLoadCellArrays field
806bool SensorRPCData::nested_read_ContactLoadCellArrays(yarp::os::idl::WireReader& reader)
807{
808 if (reader.noMore()) {
809 reader.fail();
810 return false;
811 }
812 size_t _csize;
814 reader.readListBegin(_etype, _csize);
815 // WireReader removes BOTTLE_TAG_LIST from the tag
816 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
817 if constexpr (expected_tag != 0) {
818 if (_csize != 0 && _etype.code != expected_tag) {
819 return false;
820 }
821 }
822 ContactLoadCellArrays.resize(_csize);
823 for (size_t _i = 0; _i < _csize; ++_i) {
824 if (reader.noMore()) {
825 reader.fail();
826 return false;
827 }
828 if (!reader.readNested(ContactLoadCellArrays[_i])) {
829 reader.fail();
830 return false;
831 }
832 }
833 reader.readListEnd();
834 return true;
835}
836
837// write (nested) ContactLoadCellArrays field
838bool SensorRPCData::nested_write_ContactLoadCellArrays(const yarp::os::idl::WireWriter& writer) const
839{
841 return false;
842 }
843 for (const auto& _item : ContactLoadCellArrays) {
844 if (!writer.writeNested(_item)) {
845 return false;
846 }
847 }
848 if (!writer.writeListEnd()) {
849 return false;
850 }
851 return true;
852}
853
854// read EncoderArrays field
855bool SensorRPCData::read_EncoderArrays(yarp::os::idl::WireReader& reader)
856{
857 if (reader.noMore()) {
858 reader.fail();
859 return false;
860 }
861 size_t _csize;
863 reader.readListBegin(_etype, _csize);
864 // WireReader removes BOTTLE_TAG_LIST from the tag
865 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
866 if constexpr (expected_tag != 0) {
867 if (_csize != 0 && _etype.code != expected_tag) {
868 return false;
869 }
870 }
871 EncoderArrays.resize(_csize);
872 for (size_t _i = 0; _i < _csize; ++_i) {
873 if (reader.noMore()) {
874 reader.fail();
875 return false;
876 }
877 if (!reader.readNested(EncoderArrays[_i])) {
878 reader.fail();
879 return false;
880 }
881 }
882 reader.readListEnd();
883 return true;
884}
885
886// write EncoderArrays field
887bool SensorRPCData::write_EncoderArrays(const yarp::os::idl::WireWriter& writer) const
888{
889 if (!writer.writeListBegin(BOTTLE_TAG_LIST, EncoderArrays.size())) {
890 return false;
891 }
892 for (const auto& _item : EncoderArrays) {
893 if (!writer.writeNested(_item)) {
894 return false;
895 }
896 }
897 if (!writer.writeListEnd()) {
898 return false;
899 }
900 return true;
901}
902
903// read (nested) EncoderArrays field
904bool SensorRPCData::nested_read_EncoderArrays(yarp::os::idl::WireReader& reader)
905{
906 if (reader.noMore()) {
907 reader.fail();
908 return false;
909 }
910 size_t _csize;
912 reader.readListBegin(_etype, _csize);
913 // WireReader removes BOTTLE_TAG_LIST from the tag
914 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
915 if constexpr (expected_tag != 0) {
916 if (_csize != 0 && _etype.code != expected_tag) {
917 return false;
918 }
919 }
920 EncoderArrays.resize(_csize);
921 for (size_t _i = 0; _i < _csize; ++_i) {
922 if (reader.noMore()) {
923 reader.fail();
924 return false;
925 }
926 if (!reader.readNested(EncoderArrays[_i])) {
927 reader.fail();
928 return false;
929 }
930 }
931 reader.readListEnd();
932 return true;
933}
934
935// write (nested) EncoderArrays field
936bool SensorRPCData::nested_write_EncoderArrays(const yarp::os::idl::WireWriter& writer) const
937{
938 if (!writer.writeListBegin(BOTTLE_TAG_LIST, EncoderArrays.size())) {
939 return false;
940 }
941 for (const auto& _item : EncoderArrays) {
942 if (!writer.writeNested(_item)) {
943 return false;
944 }
945 }
946 if (!writer.writeListEnd()) {
947 return false;
948 }
949 return true;
950}
951
952// read SkinPatches field
953bool SensorRPCData::read_SkinPatches(yarp::os::idl::WireReader& reader)
954{
955 if (reader.noMore()) {
956 reader.fail();
957 return false;
958 }
959 size_t _csize;
961 reader.readListBegin(_etype, _csize);
962 // WireReader removes BOTTLE_TAG_LIST from the tag
963 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
964 if constexpr (expected_tag != 0) {
965 if (_csize != 0 && _etype.code != expected_tag) {
966 return false;
967 }
968 }
969 SkinPatches.resize(_csize);
970 for (size_t _i = 0; _i < _csize; ++_i) {
971 if (reader.noMore()) {
972 reader.fail();
973 return false;
974 }
975 if (!reader.readNested(SkinPatches[_i])) {
976 reader.fail();
977 return false;
978 }
979 }
980 reader.readListEnd();
981 return true;
982}
983
984// write SkinPatches field
985bool SensorRPCData::write_SkinPatches(const yarp::os::idl::WireWriter& writer) const
986{
987 if (!writer.writeListBegin(BOTTLE_TAG_LIST, SkinPatches.size())) {
988 return false;
989 }
990 for (const auto& _item : SkinPatches) {
991 if (!writer.writeNested(_item)) {
992 return false;
993 }
994 }
995 if (!writer.writeListEnd()) {
996 return false;
997 }
998 return true;
999}
1000
1001// read (nested) SkinPatches field
1002bool SensorRPCData::nested_read_SkinPatches(yarp::os::idl::WireReader& reader)
1003{
1004 if (reader.noMore()) {
1005 reader.fail();
1006 return false;
1007 }
1008 size_t _csize;
1010 reader.readListBegin(_etype, _csize);
1011 // WireReader removes BOTTLE_TAG_LIST from the tag
1012 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
1013 if constexpr (expected_tag != 0) {
1014 if (_csize != 0 && _etype.code != expected_tag) {
1015 return false;
1016 }
1017 }
1018 SkinPatches.resize(_csize);
1019 for (size_t _i = 0; _i < _csize; ++_i) {
1020 if (reader.noMore()) {
1021 reader.fail();
1022 return false;
1023 }
1024 if (!reader.readNested(SkinPatches[_i])) {
1025 reader.fail();
1026 return false;
1027 }
1028 }
1029 reader.readListEnd();
1030 return true;
1031}
1032
1033// write (nested) SkinPatches field
1034bool SensorRPCData::nested_write_SkinPatches(const yarp::os::idl::WireWriter& writer) const
1035{
1036 if (!writer.writeListBegin(BOTTLE_TAG_LIST, SkinPatches.size())) {
1037 return false;
1038 }
1039 for (const auto& _item : SkinPatches) {
1040 if (!writer.writeNested(_item)) {
1041 return false;
1042 }
1043 }
1044 if (!writer.writeListEnd()) {
1045 return false;
1046 }
1047 return true;
1048}
1049
1050// read PositionSensors field
1051bool SensorRPCData::read_PositionSensors(yarp::os::idl::WireReader& reader)
1052{
1053 if (reader.noMore()) {
1054 reader.fail();
1055 return false;
1056 }
1057 size_t _csize;
1059 reader.readListBegin(_etype, _csize);
1060 // WireReader removes BOTTLE_TAG_LIST from the tag
1061 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
1062 if constexpr (expected_tag != 0) {
1063 if (_csize != 0 && _etype.code != expected_tag) {
1064 return false;
1065 }
1066 }
1067 PositionSensors.resize(_csize);
1068 for (size_t _i = 0; _i < _csize; ++_i) {
1069 if (reader.noMore()) {
1070 reader.fail();
1071 return false;
1072 }
1073 if (!reader.readNested(PositionSensors[_i])) {
1074 reader.fail();
1075 return false;
1076 }
1077 }
1078 reader.readListEnd();
1079 return true;
1080}
1081
1082// write PositionSensors field
1083bool SensorRPCData::write_PositionSensors(const yarp::os::idl::WireWriter& writer) const
1084{
1085 if (!writer.writeListBegin(BOTTLE_TAG_LIST, PositionSensors.size())) {
1086 return false;
1087 }
1088 for (const auto& _item : PositionSensors) {
1089 if (!writer.writeNested(_item)) {
1090 return false;
1091 }
1092 }
1093 if (!writer.writeListEnd()) {
1094 return false;
1095 }
1096 return true;
1097}
1098
1099// read (nested) PositionSensors field
1100bool SensorRPCData::nested_read_PositionSensors(yarp::os::idl::WireReader& reader)
1101{
1102 if (reader.noMore()) {
1103 reader.fail();
1104 return false;
1105 }
1106 size_t _csize;
1108 reader.readListBegin(_etype, _csize);
1109 // WireReader removes BOTTLE_TAG_LIST from the tag
1110 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
1111 if constexpr (expected_tag != 0) {
1112 if (_csize != 0 && _etype.code != expected_tag) {
1113 return false;
1114 }
1115 }
1116 PositionSensors.resize(_csize);
1117 for (size_t _i = 0; _i < _csize; ++_i) {
1118 if (reader.noMore()) {
1119 reader.fail();
1120 return false;
1121 }
1122 if (!reader.readNested(PositionSensors[_i])) {
1123 reader.fail();
1124 return false;
1125 }
1126 }
1127 reader.readListEnd();
1128 return true;
1129}
1130
1131// write (nested) PositionSensors field
1132bool SensorRPCData::nested_write_PositionSensors(const yarp::os::idl::WireWriter& writer) const
1133{
1134 if (!writer.writeListBegin(BOTTLE_TAG_LIST, PositionSensors.size())) {
1135 return false;
1136 }
1137 for (const auto& _item : PositionSensors) {
1138 if (!writer.writeNested(_item)) {
1139 return false;
1140 }
1141 }
1142 if (!writer.writeListEnd()) {
1143 return false;
1144 }
1145 return true;
1146}
1147
1148// read LinearVelocitySensors field
1149bool SensorRPCData::read_LinearVelocitySensors(yarp::os::idl::WireReader& reader)
1150{
1151 if (reader.noMore()) {
1152 reader.fail();
1153 return false;
1154 }
1155 size_t _csize;
1157 reader.readListBegin(_etype, _csize);
1158 // WireReader removes BOTTLE_TAG_LIST from the tag
1159 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
1160 if constexpr (expected_tag != 0) {
1161 if (_csize != 0 && _etype.code != expected_tag) {
1162 return false;
1163 }
1164 }
1165 LinearVelocitySensors.resize(_csize);
1166 for (size_t _i = 0; _i < _csize; ++_i) {
1167 if (reader.noMore()) {
1168 reader.fail();
1169 return false;
1170 }
1171 if (!reader.readNested(LinearVelocitySensors[_i])) {
1172 reader.fail();
1173 return false;
1174 }
1175 }
1176 reader.readListEnd();
1177 return true;
1178}
1179
1180// write LinearVelocitySensors field
1181bool SensorRPCData::write_LinearVelocitySensors(const yarp::os::idl::WireWriter& writer) const
1182{
1184 return false;
1185 }
1186 for (const auto& _item : LinearVelocitySensors) {
1187 if (!writer.writeNested(_item)) {
1188 return false;
1189 }
1190 }
1191 if (!writer.writeListEnd()) {
1192 return false;
1193 }
1194 return true;
1195}
1196
1197// read (nested) LinearVelocitySensors field
1198bool SensorRPCData::nested_read_LinearVelocitySensors(yarp::os::idl::WireReader& reader)
1199{
1200 if (reader.noMore()) {
1201 reader.fail();
1202 return false;
1203 }
1204 size_t _csize;
1206 reader.readListBegin(_etype, _csize);
1207 // WireReader removes BOTTLE_TAG_LIST from the tag
1208 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
1209 if constexpr (expected_tag != 0) {
1210 if (_csize != 0 && _etype.code != expected_tag) {
1211 return false;
1212 }
1213 }
1214 LinearVelocitySensors.resize(_csize);
1215 for (size_t _i = 0; _i < _csize; ++_i) {
1216 if (reader.noMore()) {
1217 reader.fail();
1218 return false;
1219 }
1220 if (!reader.readNested(LinearVelocitySensors[_i])) {
1221 reader.fail();
1222 return false;
1223 }
1224 }
1225 reader.readListEnd();
1226 return true;
1227}
1228
1229// write (nested) LinearVelocitySensors field
1230bool SensorRPCData::nested_write_LinearVelocitySensors(const yarp::os::idl::WireWriter& writer) const
1231{
1233 return false;
1234 }
1235 for (const auto& _item : LinearVelocitySensors) {
1236 if (!writer.writeNested(_item)) {
1237 return false;
1238 }
1239 }
1240 if (!writer.writeListEnd()) {
1241 return false;
1242 }
1243 return true;
1244}
1245
1246// read ThreeAxisAngularAccelerometers field
1247bool SensorRPCData::read_ThreeAxisAngularAccelerometers(yarp::os::idl::WireReader& reader)
1248{
1249 if (reader.noMore()) {
1250 reader.fail();
1251 return false;
1252 }
1253 size_t _csize;
1255 reader.readListBegin(_etype, _csize);
1256 // WireReader removes BOTTLE_TAG_LIST from the tag
1257 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
1258 if constexpr (expected_tag != 0) {
1259 if (_csize != 0 && _etype.code != expected_tag) {
1260 return false;
1261 }
1262 }
1263 ThreeAxisAngularAccelerometers.resize(_csize);
1264 for (size_t _i = 0; _i < _csize; ++_i) {
1265 if (reader.noMore()) {
1266 reader.fail();
1267 return false;
1268 }
1269 if (!reader.readNested(ThreeAxisAngularAccelerometers[_i])) {
1270 reader.fail();
1271 return false;
1272 }
1273 }
1274 reader.readListEnd();
1275 return true;
1276}
1277
1278// write ThreeAxisAngularAccelerometers field
1279bool SensorRPCData::write_ThreeAxisAngularAccelerometers(const yarp::os::idl::WireWriter& writer) const
1280{
1282 return false;
1283 }
1284 for (const auto& _item : ThreeAxisAngularAccelerometers) {
1285 if (!writer.writeNested(_item)) {
1286 return false;
1287 }
1288 }
1289 if (!writer.writeListEnd()) {
1290 return false;
1291 }
1292 return true;
1293}
1294
1295// read (nested) ThreeAxisAngularAccelerometers field
1296bool SensorRPCData::nested_read_ThreeAxisAngularAccelerometers(yarp::os::idl::WireReader& reader)
1297{
1298 if (reader.noMore()) {
1299 reader.fail();
1300 return false;
1301 }
1302 size_t _csize;
1304 reader.readListBegin(_etype, _csize);
1305 // WireReader removes BOTTLE_TAG_LIST from the tag
1306 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
1307 if constexpr (expected_tag != 0) {
1308 if (_csize != 0 && _etype.code != expected_tag) {
1309 return false;
1310 }
1311 }
1312 ThreeAxisAngularAccelerometers.resize(_csize);
1313 for (size_t _i = 0; _i < _csize; ++_i) {
1314 if (reader.noMore()) {
1315 reader.fail();
1316 return false;
1317 }
1318 if (!reader.readNested(ThreeAxisAngularAccelerometers[_i])) {
1319 reader.fail();
1320 return false;
1321 }
1322 }
1323 reader.readListEnd();
1324 return true;
1325}
1326
1327// write (nested) ThreeAxisAngularAccelerometers field
1328bool SensorRPCData::nested_write_ThreeAxisAngularAccelerometers(const yarp::os::idl::WireWriter& writer) const
1329{
1331 return false;
1332 }
1333 for (const auto& _item : ThreeAxisAngularAccelerometers) {
1334 if (!writer.writeNested(_item)) {
1335 return false;
1336 }
1337 }
1338 if (!writer.writeListEnd()) {
1339 return false;
1340 }
1341 return true;
1342}
#define BOTTLE_TAG_LIST
Definition Bottle.h:28
@ ThreeAxisAngularAccelerometers
@ ThreeAxisLinearAccelerometers
std::vector< SensorMetadata > SkinPatches
bool read(yarp::os::idl::WireReader &reader) override
std::vector< SensorMetadata > ContactLoadCellArrays
std::string toString() const
std::vector< SensorMetadata > ThreeAxisAngularAccelerometers
bool write(const yarp::os::idl::WireWriter &writer) const override
std::vector< SensorMetadata > EncoderArrays
std::vector< SensorMetadata > PositionSensors
std::vector< SensorMetadata > ThreeAxisGyroscopes
std::vector< SensorMetadata > ThreeAxisLinearAccelerometers
std::vector< SensorMetadata > LinearVelocitySensors
std::vector< SensorMetadata > ThreeAxisMagnetometers
std::vector< SensorMetadata > OrientationSensors
SensorRPCData()=default
std::vector< SensorMetadata > SixAxisForceTorqueSensors
std::vector< SensorMetadata > TemperatureSensors
A simple collection of objects that can be described and transmitted in a portable way.
Definition Bottle.h:64
std::string toString() const override
Gives a human-readable textual representation of the bottle.
Definition Bottle.cpp:211
An interface for reading from a network connection.
An interface for writing to a network connection.
static bool copyPortable(const PortWriter &writer, PortReader &reader)
Copy one portable to another, via writing and reading.
Definition Portable.cpp:16
IDL-friendly connection reader.
Definition WireReader.h:27
bool readNested(WirePortable &obj)
void readListBegin(yarp::os::idl::WireState &nstate, size_t &len)
IDL-friendly state.
Definition WireState.h:17
IDL-friendly connection writer.
Definition WireWriter.h:28
bool writeListHeader(int len) const
bool writeNested(const WirePortable &obj) const
bool writeListBegin(int tag, size_t len) const