YARP
Yet Another Robot Platform
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 // Default constructor
15  WirePortable(),
23  EncoderArrays(),
24  SkinPatches(),
26 {
27 }
28 
29 // Constructor with field values
30 SensorRPCData::SensorRPCData(const std::vector<SensorMetadata>& ThreeAxisGyroscopes,
31  const std::vector<SensorMetadata>& ThreeAxisLinearAccelerometers,
32  const std::vector<SensorMetadata>& ThreeAxisMagnetometers,
33  const std::vector<SensorMetadata>& OrientationSensors,
34  const std::vector<SensorMetadata>& TemperatureSensors,
35  const std::vector<SensorMetadata>& SixAxisForceTorqueSensors,
36  const std::vector<SensorMetadata>& ContactLoadCellArrays,
37  const std::vector<SensorMetadata>& EncoderArrays,
38  const std::vector<SensorMetadata>& SkinPatches,
39  const std::vector<SensorMetadata>& PositionSensors) :
40  WirePortable(),
51 {
52 }
53 
54 // Read structure on a Wire
56 {
57  if (!read_ThreeAxisGyroscopes(reader)) {
58  return false;
59  }
60  if (!read_ThreeAxisLinearAccelerometers(reader)) {
61  return false;
62  }
63  if (!read_ThreeAxisMagnetometers(reader)) {
64  return false;
65  }
66  if (!read_OrientationSensors(reader)) {
67  return false;
68  }
69  if (!read_TemperatureSensors(reader)) {
70  return false;
71  }
72  if (!read_SixAxisForceTorqueSensors(reader)) {
73  return false;
74  }
75  if (!read_ContactLoadCellArrays(reader)) {
76  return false;
77  }
78  if (!read_EncoderArrays(reader)) {
79  return false;
80  }
81  if (!read_SkinPatches(reader)) {
82  return false;
83  }
84  if (!read_PositionSensors(reader)) {
85  return false;
86  }
87  return !reader.isError();
88 }
89 
90 // Read structure on a Connection
92 {
93  yarp::os::idl::WireReader reader(connection);
94  if (!reader.readListHeader(10)) {
95  return false;
96  }
97  return read(reader);
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  return !writer.isError();
134 }
135 
136 // Write structure on a Connection
138 {
139  yarp::os::idl::WireWriter writer(connection);
140  if (!writer.writeListHeader(10)) {
141  return false;
142  }
143  return write(writer);
144 }
145 
146 // Convert to a printable string
147 std::string SensorRPCData::toString() const
148 {
150  b.read(*this);
151  return b.toString();
152 }
153 
154 // Editor: default constructor
156 {
157  group = 0;
158  obj_owned = true;
159  obj = new SensorRPCData;
160  dirty_flags(false);
161  yarp().setOwner(*this);
162 }
163 
164 // Editor: constructor with base class
166 {
167  group = 0;
168  obj_owned = false;
169  edit(obj, false);
170  yarp().setOwner(*this);
171 }
172 
173 // Editor: destructor
175 {
176  if (obj_owned) {
177  delete obj;
178  }
179 }
180 
181 // Editor: edit
183 {
184  if (obj_owned) {
185  delete this->obj;
186  }
187  this->obj = &obj;
188  obj_owned = false;
189  dirty_flags(dirty);
190  return true;
191 }
192 
193 // Editor: validity check
195 {
196  return obj != nullptr;
197 }
198 
199 // Editor: state
201 {
202  return *obj;
203 }
204 
205 // Editor: grouping begin
207 {
208  group++;
209 }
210 
211 // Editor: grouping end
213 {
214  group--;
215  if (group == 0 && is_dirty) {
216  communicate();
217  }
218 }
219 // Editor: ThreeAxisGyroscopes setter
221 {
222  will_set_ThreeAxisGyroscopes();
223  obj->ThreeAxisGyroscopes = ThreeAxisGyroscopes;
224  mark_dirty_ThreeAxisGyroscopes();
225  communicate();
226  did_set_ThreeAxisGyroscopes();
227 }
228 
229 // Editor: ThreeAxisGyroscopes setter (list)
231 {
232  will_set_ThreeAxisGyroscopes();
233  obj->ThreeAxisGyroscopes[index] = elem;
234  mark_dirty_ThreeAxisGyroscopes();
235  communicate();
236  did_set_ThreeAxisGyroscopes();
237 }
238 
239 // Editor: ThreeAxisGyroscopes getter
240 const std::vector<SensorMetadata>& SensorRPCData::Editor::get_ThreeAxisGyroscopes() const
241 {
242  return obj->ThreeAxisGyroscopes;
243 }
244 
245 // Editor: ThreeAxisGyroscopes will_set
247 {
248  return true;
249 }
250 
251 // Editor: ThreeAxisGyroscopes did_set
253 {
254  return true;
255 }
256 
257 // Editor: ThreeAxisLinearAccelerometers setter
259 {
260  will_set_ThreeAxisLinearAccelerometers();
261  obj->ThreeAxisLinearAccelerometers = ThreeAxisLinearAccelerometers;
262  mark_dirty_ThreeAxisLinearAccelerometers();
263  communicate();
264  did_set_ThreeAxisLinearAccelerometers();
265 }
266 
267 // Editor: ThreeAxisLinearAccelerometers setter (list)
269 {
270  will_set_ThreeAxisLinearAccelerometers();
271  obj->ThreeAxisLinearAccelerometers[index] = elem;
272  mark_dirty_ThreeAxisLinearAccelerometers();
273  communicate();
274  did_set_ThreeAxisLinearAccelerometers();
275 }
276 
277 // Editor: ThreeAxisLinearAccelerometers getter
278 const std::vector<SensorMetadata>& SensorRPCData::Editor::get_ThreeAxisLinearAccelerometers() const
279 {
280  return obj->ThreeAxisLinearAccelerometers;
281 }
282 
283 // Editor: ThreeAxisLinearAccelerometers will_set
285 {
286  return true;
287 }
288 
289 // Editor: ThreeAxisLinearAccelerometers did_set
291 {
292  return true;
293 }
294 
295 // Editor: ThreeAxisMagnetometers setter
297 {
298  will_set_ThreeAxisMagnetometers();
299  obj->ThreeAxisMagnetometers = ThreeAxisMagnetometers;
300  mark_dirty_ThreeAxisMagnetometers();
301  communicate();
302  did_set_ThreeAxisMagnetometers();
303 }
304 
305 // Editor: ThreeAxisMagnetometers setter (list)
307 {
308  will_set_ThreeAxisMagnetometers();
309  obj->ThreeAxisMagnetometers[index] = elem;
310  mark_dirty_ThreeAxisMagnetometers();
311  communicate();
312  did_set_ThreeAxisMagnetometers();
313 }
314 
315 // Editor: ThreeAxisMagnetometers getter
316 const std::vector<SensorMetadata>& SensorRPCData::Editor::get_ThreeAxisMagnetometers() const
317 {
318  return obj->ThreeAxisMagnetometers;
319 }
320 
321 // Editor: ThreeAxisMagnetometers will_set
323 {
324  return true;
325 }
326 
327 // Editor: ThreeAxisMagnetometers did_set
329 {
330  return true;
331 }
332 
333 // Editor: OrientationSensors setter
335 {
336  will_set_OrientationSensors();
337  obj->OrientationSensors = OrientationSensors;
338  mark_dirty_OrientationSensors();
339  communicate();
340  did_set_OrientationSensors();
341 }
342 
343 // Editor: OrientationSensors setter (list)
345 {
346  will_set_OrientationSensors();
347  obj->OrientationSensors[index] = elem;
348  mark_dirty_OrientationSensors();
349  communicate();
350  did_set_OrientationSensors();
351 }
352 
353 // Editor: OrientationSensors getter
354 const std::vector<SensorMetadata>& SensorRPCData::Editor::get_OrientationSensors() const
355 {
356  return obj->OrientationSensors;
357 }
358 
359 // Editor: OrientationSensors will_set
361 {
362  return true;
363 }
364 
365 // Editor: OrientationSensors did_set
367 {
368  return true;
369 }
370 
371 // Editor: TemperatureSensors setter
373 {
374  will_set_TemperatureSensors();
375  obj->TemperatureSensors = TemperatureSensors;
376  mark_dirty_TemperatureSensors();
377  communicate();
378  did_set_TemperatureSensors();
379 }
380 
381 // Editor: TemperatureSensors setter (list)
383 {
384  will_set_TemperatureSensors();
385  obj->TemperatureSensors[index] = elem;
386  mark_dirty_TemperatureSensors();
387  communicate();
388  did_set_TemperatureSensors();
389 }
390 
391 // Editor: TemperatureSensors getter
392 const std::vector<SensorMetadata>& SensorRPCData::Editor::get_TemperatureSensors() const
393 {
394  return obj->TemperatureSensors;
395 }
396 
397 // Editor: TemperatureSensors will_set
399 {
400  return true;
401 }
402 
403 // Editor: TemperatureSensors did_set
405 {
406  return true;
407 }
408 
409 // Editor: SixAxisForceTorqueSensors setter
411 {
412  will_set_SixAxisForceTorqueSensors();
413  obj->SixAxisForceTorqueSensors = SixAxisForceTorqueSensors;
414  mark_dirty_SixAxisForceTorqueSensors();
415  communicate();
416  did_set_SixAxisForceTorqueSensors();
417 }
418 
419 // Editor: SixAxisForceTorqueSensors setter (list)
421 {
422  will_set_SixAxisForceTorqueSensors();
423  obj->SixAxisForceTorqueSensors[index] = elem;
424  mark_dirty_SixAxisForceTorqueSensors();
425  communicate();
426  did_set_SixAxisForceTorqueSensors();
427 }
428 
429 // Editor: SixAxisForceTorqueSensors getter
430 const std::vector<SensorMetadata>& SensorRPCData::Editor::get_SixAxisForceTorqueSensors() const
431 {
432  return obj->SixAxisForceTorqueSensors;
433 }
434 
435 // Editor: SixAxisForceTorqueSensors will_set
437 {
438  return true;
439 }
440 
441 // Editor: SixAxisForceTorqueSensors did_set
443 {
444  return true;
445 }
446 
447 // Editor: ContactLoadCellArrays setter
449 {
450  will_set_ContactLoadCellArrays();
451  obj->ContactLoadCellArrays = ContactLoadCellArrays;
452  mark_dirty_ContactLoadCellArrays();
453  communicate();
454  did_set_ContactLoadCellArrays();
455 }
456 
457 // Editor: ContactLoadCellArrays setter (list)
459 {
460  will_set_ContactLoadCellArrays();
461  obj->ContactLoadCellArrays[index] = elem;
462  mark_dirty_ContactLoadCellArrays();
463  communicate();
464  did_set_ContactLoadCellArrays();
465 }
466 
467 // Editor: ContactLoadCellArrays getter
468 const std::vector<SensorMetadata>& SensorRPCData::Editor::get_ContactLoadCellArrays() const
469 {
470  return obj->ContactLoadCellArrays;
471 }
472 
473 // Editor: ContactLoadCellArrays will_set
475 {
476  return true;
477 }
478 
479 // Editor: ContactLoadCellArrays did_set
481 {
482  return true;
483 }
484 
485 // Editor: EncoderArrays setter
486 void SensorRPCData::Editor::set_EncoderArrays(const std::vector<SensorMetadata>& EncoderArrays)
487 {
488  will_set_EncoderArrays();
489  obj->EncoderArrays = EncoderArrays;
490  mark_dirty_EncoderArrays();
491  communicate();
492  did_set_EncoderArrays();
493 }
494 
495 // Editor: EncoderArrays setter (list)
497 {
498  will_set_EncoderArrays();
499  obj->EncoderArrays[index] = elem;
500  mark_dirty_EncoderArrays();
501  communicate();
502  did_set_EncoderArrays();
503 }
504 
505 // Editor: EncoderArrays getter
506 const std::vector<SensorMetadata>& SensorRPCData::Editor::get_EncoderArrays() const
507 {
508  return obj->EncoderArrays;
509 }
510 
511 // Editor: EncoderArrays will_set
513 {
514  return true;
515 }
516 
517 // Editor: EncoderArrays did_set
519 {
520  return true;
521 }
522 
523 // Editor: SkinPatches setter
524 void SensorRPCData::Editor::set_SkinPatches(const std::vector<SensorMetadata>& SkinPatches)
525 {
526  will_set_SkinPatches();
527  obj->SkinPatches = SkinPatches;
528  mark_dirty_SkinPatches();
529  communicate();
530  did_set_SkinPatches();
531 }
532 
533 // Editor: SkinPatches setter (list)
535 {
536  will_set_SkinPatches();
537  obj->SkinPatches[index] = elem;
538  mark_dirty_SkinPatches();
539  communicate();
540  did_set_SkinPatches();
541 }
542 
543 // Editor: SkinPatches getter
544 const std::vector<SensorMetadata>& SensorRPCData::Editor::get_SkinPatches() const
545 {
546  return obj->SkinPatches;
547 }
548 
549 // Editor: SkinPatches will_set
551 {
552  return true;
553 }
554 
555 // Editor: SkinPatches did_set
557 {
558  return true;
559 }
560 
561 // Editor: PositionSensors setter
562 void SensorRPCData::Editor::set_PositionSensors(const std::vector<SensorMetadata>& PositionSensors)
563 {
564  will_set_PositionSensors();
565  obj->PositionSensors = PositionSensors;
566  mark_dirty_PositionSensors();
567  communicate();
568  did_set_PositionSensors();
569 }
570 
571 // Editor: PositionSensors setter (list)
573 {
574  will_set_PositionSensors();
575  obj->PositionSensors[index] = elem;
576  mark_dirty_PositionSensors();
577  communicate();
578  did_set_PositionSensors();
579 }
580 
581 // Editor: PositionSensors getter
582 const std::vector<SensorMetadata>& SensorRPCData::Editor::get_PositionSensors() const
583 {
584  return obj->PositionSensors;
585 }
586 
587 // Editor: PositionSensors will_set
589 {
590  return true;
591 }
592 
593 // Editor: PositionSensors did_set
595 {
596  return true;
597 }
598 
599 // Editor: clean
601 {
602  dirty_flags(false);
603 }
604 
605 // Editor: read
607 {
608  if (!isValid()) {
609  return false;
610  }
611  yarp::os::idl::WireReader reader(connection);
612  reader.expectAccept();
613  if (!reader.readListHeader()) {
614  return false;
615  }
616  int len = reader.getLength();
617  if (len == 0) {
618  yarp::os::idl::WireWriter writer(reader);
619  if (writer.isNull()) {
620  return true;
621  }
622  if (!writer.writeListHeader(1)) {
623  return false;
624  }
625  writer.writeString("send: 'help' or 'patch (param1 val1) (param2 val2)'");
626  return true;
627  }
628  std::string tag;
629  if (!reader.readString(tag)) {
630  return false;
631  }
632  if (tag == "help") {
633  yarp::os::idl::WireWriter writer(reader);
634  if (writer.isNull()) {
635  return true;
636  }
637  if (!writer.writeListHeader(2)) {
638  return false;
639  }
640  if (!writer.writeTag("many", 1, 0)) {
641  return false;
642  }
643  if (reader.getLength() > 0) {
644  std::string field;
645  if (!reader.readString(field)) {
646  return false;
647  }
648  if (field == "ThreeAxisGyroscopes") {
649  if (!writer.writeListHeader(1)) {
650  return false;
651  }
652  if (!writer.writeString("std::vector<SensorMetadata> ThreeAxisGyroscopes")) {
653  return false;
654  }
655  }
656  if (field == "ThreeAxisLinearAccelerometers") {
657  if (!writer.writeListHeader(1)) {
658  return false;
659  }
660  if (!writer.writeString("std::vector<SensorMetadata> ThreeAxisLinearAccelerometers")) {
661  return false;
662  }
663  }
664  if (field == "ThreeAxisMagnetometers") {
665  if (!writer.writeListHeader(1)) {
666  return false;
667  }
668  if (!writer.writeString("std::vector<SensorMetadata> ThreeAxisMagnetometers")) {
669  return false;
670  }
671  }
672  if (field == "OrientationSensors") {
673  if (!writer.writeListHeader(1)) {
674  return false;
675  }
676  if (!writer.writeString("std::vector<SensorMetadata> OrientationSensors")) {
677  return false;
678  }
679  }
680  if (field == "TemperatureSensors") {
681  if (!writer.writeListHeader(1)) {
682  return false;
683  }
684  if (!writer.writeString("std::vector<SensorMetadata> TemperatureSensors")) {
685  return false;
686  }
687  }
688  if (field == "SixAxisForceTorqueSensors") {
689  if (!writer.writeListHeader(1)) {
690  return false;
691  }
692  if (!writer.writeString("std::vector<SensorMetadata> SixAxisForceTorqueSensors")) {
693  return false;
694  }
695  }
696  if (field == "ContactLoadCellArrays") {
697  if (!writer.writeListHeader(1)) {
698  return false;
699  }
700  if (!writer.writeString("std::vector<SensorMetadata> ContactLoadCellArrays")) {
701  return false;
702  }
703  }
704  if (field == "EncoderArrays") {
705  if (!writer.writeListHeader(1)) {
706  return false;
707  }
708  if (!writer.writeString("std::vector<SensorMetadata> EncoderArrays")) {
709  return false;
710  }
711  }
712  if (field == "SkinPatches") {
713  if (!writer.writeListHeader(1)) {
714  return false;
715  }
716  if (!writer.writeString("std::vector<SensorMetadata> SkinPatches")) {
717  return false;
718  }
719  }
720  if (field == "PositionSensors") {
721  if (!writer.writeListHeader(1)) {
722  return false;
723  }
724  if (!writer.writeString("std::vector<SensorMetadata> PositionSensors")) {
725  return false;
726  }
727  }
728  }
729  if (!writer.writeListHeader(11)) {
730  return false;
731  }
732  writer.writeString("*** Available fields:");
733  writer.writeString("ThreeAxisGyroscopes");
734  writer.writeString("ThreeAxisLinearAccelerometers");
735  writer.writeString("ThreeAxisMagnetometers");
736  writer.writeString("OrientationSensors");
737  writer.writeString("TemperatureSensors");
738  writer.writeString("SixAxisForceTorqueSensors");
739  writer.writeString("ContactLoadCellArrays");
740  writer.writeString("EncoderArrays");
741  writer.writeString("SkinPatches");
742  writer.writeString("PositionSensors");
743  return true;
744  }
745  bool nested = true;
746  bool have_act = false;
747  if (tag != "patch") {
748  if (((len - 1) % 2) != 0) {
749  return false;
750  }
751  len = 1 + ((len - 1) / 2);
752  nested = false;
753  have_act = true;
754  }
755  for (int i = 1; i < len; ++i) {
756  if (nested && !reader.readListHeader(3)) {
757  return false;
758  }
759  std::string act;
760  std::string key;
761  if (have_act) {
762  act = tag;
763  } else if (!reader.readString(act)) {
764  return false;
765  }
766  if (!reader.readString(key)) {
767  return false;
768  }
769  if (key == "ThreeAxisGyroscopes") {
770  will_set_ThreeAxisGyroscopes();
771  if (!obj->nested_read_ThreeAxisGyroscopes(reader)) {
772  return false;
773  }
774  did_set_ThreeAxisGyroscopes();
775  } else if (key == "ThreeAxisLinearAccelerometers") {
776  will_set_ThreeAxisLinearAccelerometers();
777  if (!obj->nested_read_ThreeAxisLinearAccelerometers(reader)) {
778  return false;
779  }
780  did_set_ThreeAxisLinearAccelerometers();
781  } else if (key == "ThreeAxisMagnetometers") {
782  will_set_ThreeAxisMagnetometers();
783  if (!obj->nested_read_ThreeAxisMagnetometers(reader)) {
784  return false;
785  }
786  did_set_ThreeAxisMagnetometers();
787  } else if (key == "OrientationSensors") {
788  will_set_OrientationSensors();
789  if (!obj->nested_read_OrientationSensors(reader)) {
790  return false;
791  }
792  did_set_OrientationSensors();
793  } else if (key == "TemperatureSensors") {
794  will_set_TemperatureSensors();
795  if (!obj->nested_read_TemperatureSensors(reader)) {
796  return false;
797  }
798  did_set_TemperatureSensors();
799  } else if (key == "SixAxisForceTorqueSensors") {
800  will_set_SixAxisForceTorqueSensors();
801  if (!obj->nested_read_SixAxisForceTorqueSensors(reader)) {
802  return false;
803  }
804  did_set_SixAxisForceTorqueSensors();
805  } else if (key == "ContactLoadCellArrays") {
806  will_set_ContactLoadCellArrays();
807  if (!obj->nested_read_ContactLoadCellArrays(reader)) {
808  return false;
809  }
810  did_set_ContactLoadCellArrays();
811  } else if (key == "EncoderArrays") {
812  will_set_EncoderArrays();
813  if (!obj->nested_read_EncoderArrays(reader)) {
814  return false;
815  }
816  did_set_EncoderArrays();
817  } else if (key == "SkinPatches") {
818  will_set_SkinPatches();
819  if (!obj->nested_read_SkinPatches(reader)) {
820  return false;
821  }
822  did_set_SkinPatches();
823  } else if (key == "PositionSensors") {
824  will_set_PositionSensors();
825  if (!obj->nested_read_PositionSensors(reader)) {
826  return false;
827  }
828  did_set_PositionSensors();
829  } else {
830  // would be useful to have a fallback here
831  }
832  }
833  reader.accept();
834  yarp::os::idl::WireWriter writer(reader);
835  if (writer.isNull()) {
836  return true;
837  }
838  writer.writeListHeader(1);
839  writer.writeVocab32('o', 'k');
840  return true;
841 }
842 
843 // Editor: write
845 {
846  if (!isValid()) {
847  return false;
848  }
849  yarp::os::idl::WireWriter writer(connection);
850  if (!writer.writeListHeader(dirty_count + 1)) {
851  return false;
852  }
853  if (!writer.writeString("patch")) {
854  return false;
855  }
856  if (is_dirty_ThreeAxisGyroscopes) {
857  if (!writer.writeListHeader(3)) {
858  return false;
859  }
860  if (!writer.writeString("set")) {
861  return false;
862  }
863  if (!writer.writeString("ThreeAxisGyroscopes")) {
864  return false;
865  }
866  if (!obj->nested_write_ThreeAxisGyroscopes(writer)) {
867  return false;
868  }
869  }
870  if (is_dirty_ThreeAxisLinearAccelerometers) {
871  if (!writer.writeListHeader(3)) {
872  return false;
873  }
874  if (!writer.writeString("set")) {
875  return false;
876  }
877  if (!writer.writeString("ThreeAxisLinearAccelerometers")) {
878  return false;
879  }
880  if (!obj->nested_write_ThreeAxisLinearAccelerometers(writer)) {
881  return false;
882  }
883  }
884  if (is_dirty_ThreeAxisMagnetometers) {
885  if (!writer.writeListHeader(3)) {
886  return false;
887  }
888  if (!writer.writeString("set")) {
889  return false;
890  }
891  if (!writer.writeString("ThreeAxisMagnetometers")) {
892  return false;
893  }
894  if (!obj->nested_write_ThreeAxisMagnetometers(writer)) {
895  return false;
896  }
897  }
898  if (is_dirty_OrientationSensors) {
899  if (!writer.writeListHeader(3)) {
900  return false;
901  }
902  if (!writer.writeString("set")) {
903  return false;
904  }
905  if (!writer.writeString("OrientationSensors")) {
906  return false;
907  }
908  if (!obj->nested_write_OrientationSensors(writer)) {
909  return false;
910  }
911  }
912  if (is_dirty_TemperatureSensors) {
913  if (!writer.writeListHeader(3)) {
914  return false;
915  }
916  if (!writer.writeString("set")) {
917  return false;
918  }
919  if (!writer.writeString("TemperatureSensors")) {
920  return false;
921  }
922  if (!obj->nested_write_TemperatureSensors(writer)) {
923  return false;
924  }
925  }
926  if (is_dirty_SixAxisForceTorqueSensors) {
927  if (!writer.writeListHeader(3)) {
928  return false;
929  }
930  if (!writer.writeString("set")) {
931  return false;
932  }
933  if (!writer.writeString("SixAxisForceTorqueSensors")) {
934  return false;
935  }
936  if (!obj->nested_write_SixAxisForceTorqueSensors(writer)) {
937  return false;
938  }
939  }
940  if (is_dirty_ContactLoadCellArrays) {
941  if (!writer.writeListHeader(3)) {
942  return false;
943  }
944  if (!writer.writeString("set")) {
945  return false;
946  }
947  if (!writer.writeString("ContactLoadCellArrays")) {
948  return false;
949  }
950  if (!obj->nested_write_ContactLoadCellArrays(writer)) {
951  return false;
952  }
953  }
954  if (is_dirty_EncoderArrays) {
955  if (!writer.writeListHeader(3)) {
956  return false;
957  }
958  if (!writer.writeString("set")) {
959  return false;
960  }
961  if (!writer.writeString("EncoderArrays")) {
962  return false;
963  }
964  if (!obj->nested_write_EncoderArrays(writer)) {
965  return false;
966  }
967  }
968  if (is_dirty_SkinPatches) {
969  if (!writer.writeListHeader(3)) {
970  return false;
971  }
972  if (!writer.writeString("set")) {
973  return false;
974  }
975  if (!writer.writeString("SkinPatches")) {
976  return false;
977  }
978  if (!obj->nested_write_SkinPatches(writer)) {
979  return false;
980  }
981  }
982  if (is_dirty_PositionSensors) {
983  if (!writer.writeListHeader(3)) {
984  return false;
985  }
986  if (!writer.writeString("set")) {
987  return false;
988  }
989  if (!writer.writeString("PositionSensors")) {
990  return false;
991  }
992  if (!obj->nested_write_PositionSensors(writer)) {
993  return false;
994  }
995  }
996  return !writer.isError();
997 }
998 
999 // Editor: send if possible
1000 void SensorRPCData::Editor::communicate()
1001 {
1002  if (group != 0) {
1003  return;
1004  }
1005  if (yarp().canWrite()) {
1006  yarp().write(*this);
1007  clean();
1008  }
1009 }
1010 
1011 // Editor: mark dirty overall
1012 void SensorRPCData::Editor::mark_dirty()
1013 {
1014  is_dirty = true;
1015 }
1016 
1017 // Editor: ThreeAxisGyroscopes mark_dirty
1018 void SensorRPCData::Editor::mark_dirty_ThreeAxisGyroscopes()
1019 {
1020  if (is_dirty_ThreeAxisGyroscopes) {
1021  return;
1022  }
1023  dirty_count++;
1024  is_dirty_ThreeAxisGyroscopes = true;
1025  mark_dirty();
1026 }
1027 
1028 // Editor: ThreeAxisLinearAccelerometers mark_dirty
1029 void SensorRPCData::Editor::mark_dirty_ThreeAxisLinearAccelerometers()
1030 {
1031  if (is_dirty_ThreeAxisLinearAccelerometers) {
1032  return;
1033  }
1034  dirty_count++;
1035  is_dirty_ThreeAxisLinearAccelerometers = true;
1036  mark_dirty();
1037 }
1038 
1039 // Editor: ThreeAxisMagnetometers mark_dirty
1040 void SensorRPCData::Editor::mark_dirty_ThreeAxisMagnetometers()
1041 {
1042  if (is_dirty_ThreeAxisMagnetometers) {
1043  return;
1044  }
1045  dirty_count++;
1046  is_dirty_ThreeAxisMagnetometers = true;
1047  mark_dirty();
1048 }
1049 
1050 // Editor: OrientationSensors mark_dirty
1051 void SensorRPCData::Editor::mark_dirty_OrientationSensors()
1052 {
1053  if (is_dirty_OrientationSensors) {
1054  return;
1055  }
1056  dirty_count++;
1057  is_dirty_OrientationSensors = true;
1058  mark_dirty();
1059 }
1060 
1061 // Editor: TemperatureSensors mark_dirty
1062 void SensorRPCData::Editor::mark_dirty_TemperatureSensors()
1063 {
1064  if (is_dirty_TemperatureSensors) {
1065  return;
1066  }
1067  dirty_count++;
1068  is_dirty_TemperatureSensors = true;
1069  mark_dirty();
1070 }
1071 
1072 // Editor: SixAxisForceTorqueSensors mark_dirty
1073 void SensorRPCData::Editor::mark_dirty_SixAxisForceTorqueSensors()
1074 {
1075  if (is_dirty_SixAxisForceTorqueSensors) {
1076  return;
1077  }
1078  dirty_count++;
1079  is_dirty_SixAxisForceTorqueSensors = true;
1080  mark_dirty();
1081 }
1082 
1083 // Editor: ContactLoadCellArrays mark_dirty
1084 void SensorRPCData::Editor::mark_dirty_ContactLoadCellArrays()
1085 {
1086  if (is_dirty_ContactLoadCellArrays) {
1087  return;
1088  }
1089  dirty_count++;
1090  is_dirty_ContactLoadCellArrays = true;
1091  mark_dirty();
1092 }
1093 
1094 // Editor: EncoderArrays mark_dirty
1095 void SensorRPCData::Editor::mark_dirty_EncoderArrays()
1096 {
1097  if (is_dirty_EncoderArrays) {
1098  return;
1099  }
1100  dirty_count++;
1101  is_dirty_EncoderArrays = true;
1102  mark_dirty();
1103 }
1104 
1105 // Editor: SkinPatches mark_dirty
1106 void SensorRPCData::Editor::mark_dirty_SkinPatches()
1107 {
1108  if (is_dirty_SkinPatches) {
1109  return;
1110  }
1111  dirty_count++;
1112  is_dirty_SkinPatches = true;
1113  mark_dirty();
1114 }
1115 
1116 // Editor: PositionSensors mark_dirty
1117 void SensorRPCData::Editor::mark_dirty_PositionSensors()
1118 {
1119  if (is_dirty_PositionSensors) {
1120  return;
1121  }
1122  dirty_count++;
1123  is_dirty_PositionSensors = true;
1124  mark_dirty();
1125 }
1126 
1127 // Editor: dirty_flags
1128 void SensorRPCData::Editor::dirty_flags(bool flag)
1129 {
1130  is_dirty = flag;
1131  is_dirty_ThreeAxisGyroscopes = flag;
1132  is_dirty_ThreeAxisLinearAccelerometers = flag;
1133  is_dirty_ThreeAxisMagnetometers = flag;
1134  is_dirty_OrientationSensors = flag;
1135  is_dirty_TemperatureSensors = flag;
1136  is_dirty_SixAxisForceTorqueSensors = flag;
1137  is_dirty_ContactLoadCellArrays = flag;
1138  is_dirty_EncoderArrays = flag;
1139  is_dirty_SkinPatches = flag;
1140  is_dirty_PositionSensors = flag;
1141  dirty_count = flag ? 10 : 0;
1142 }
1143 
1144 // read ThreeAxisGyroscopes field
1145 bool SensorRPCData::read_ThreeAxisGyroscopes(yarp::os::idl::WireReader& reader)
1146 {
1147  ThreeAxisGyroscopes.clear();
1148  uint32_t _size12;
1149  yarp::os::idl::WireState _etype15;
1150  reader.readListBegin(_etype15, _size12);
1151  ThreeAxisGyroscopes.resize(_size12);
1152  for (size_t _i16 = 0; _i16 < _size12; ++_i16) {
1153  if (!reader.readNested(ThreeAxisGyroscopes[_i16])) {
1154  reader.fail();
1155  return false;
1156  }
1157  }
1158  reader.readListEnd();
1159  return true;
1160 }
1161 
1162 // write ThreeAxisGyroscopes field
1163 bool SensorRPCData::write_ThreeAxisGyroscopes(const yarp::os::idl::WireWriter& writer) const
1164 {
1165  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(ThreeAxisGyroscopes.size()))) {
1166  return false;
1167  }
1168  for (const auto& _item17 : ThreeAxisGyroscopes) {
1169  if (!writer.writeNested(_item17)) {
1170  return false;
1171  }
1172  }
1173  if (!writer.writeListEnd()) {
1174  return false;
1175  }
1176  return true;
1177 }
1178 
1179 // read (nested) ThreeAxisGyroscopes field
1180 bool SensorRPCData::nested_read_ThreeAxisGyroscopes(yarp::os::idl::WireReader& reader)
1181 {
1182  ThreeAxisGyroscopes.clear();
1183  uint32_t _size18;
1184  yarp::os::idl::WireState _etype21;
1185  reader.readListBegin(_etype21, _size18);
1186  ThreeAxisGyroscopes.resize(_size18);
1187  for (size_t _i22 = 0; _i22 < _size18; ++_i22) {
1188  if (!reader.readNested(ThreeAxisGyroscopes[_i22])) {
1189  reader.fail();
1190  return false;
1191  }
1192  }
1193  reader.readListEnd();
1194  return true;
1195 }
1196 
1197 // write (nested) ThreeAxisGyroscopes field
1198 bool SensorRPCData::nested_write_ThreeAxisGyroscopes(const yarp::os::idl::WireWriter& writer) const
1199 {
1200  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(ThreeAxisGyroscopes.size()))) {
1201  return false;
1202  }
1203  for (const auto& _item23 : ThreeAxisGyroscopes) {
1204  if (!writer.writeNested(_item23)) {
1205  return false;
1206  }
1207  }
1208  if (!writer.writeListEnd()) {
1209  return false;
1210  }
1211  return true;
1212 }
1213 
1214 // read ThreeAxisLinearAccelerometers field
1215 bool SensorRPCData::read_ThreeAxisLinearAccelerometers(yarp::os::idl::WireReader& reader)
1216 {
1218  uint32_t _size24;
1219  yarp::os::idl::WireState _etype27;
1220  reader.readListBegin(_etype27, _size24);
1221  ThreeAxisLinearAccelerometers.resize(_size24);
1222  for (size_t _i28 = 0; _i28 < _size24; ++_i28) {
1223  if (!reader.readNested(ThreeAxisLinearAccelerometers[_i28])) {
1224  reader.fail();
1225  return false;
1226  }
1227  }
1228  reader.readListEnd();
1229  return true;
1230 }
1231 
1232 // write ThreeAxisLinearAccelerometers field
1233 bool SensorRPCData::write_ThreeAxisLinearAccelerometers(const yarp::os::idl::WireWriter& writer) const
1234 {
1235  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(ThreeAxisLinearAccelerometers.size()))) {
1236  return false;
1237  }
1238  for (const auto& _item29 : ThreeAxisLinearAccelerometers) {
1239  if (!writer.writeNested(_item29)) {
1240  return false;
1241  }
1242  }
1243  if (!writer.writeListEnd()) {
1244  return false;
1245  }
1246  return true;
1247 }
1248 
1249 // read (nested) ThreeAxisLinearAccelerometers field
1250 bool SensorRPCData::nested_read_ThreeAxisLinearAccelerometers(yarp::os::idl::WireReader& reader)
1251 {
1253  uint32_t _size30;
1254  yarp::os::idl::WireState _etype33;
1255  reader.readListBegin(_etype33, _size30);
1256  ThreeAxisLinearAccelerometers.resize(_size30);
1257  for (size_t _i34 = 0; _i34 < _size30; ++_i34) {
1258  if (!reader.readNested(ThreeAxisLinearAccelerometers[_i34])) {
1259  reader.fail();
1260  return false;
1261  }
1262  }
1263  reader.readListEnd();
1264  return true;
1265 }
1266 
1267 // write (nested) ThreeAxisLinearAccelerometers field
1268 bool SensorRPCData::nested_write_ThreeAxisLinearAccelerometers(const yarp::os::idl::WireWriter& writer) const
1269 {
1270  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(ThreeAxisLinearAccelerometers.size()))) {
1271  return false;
1272  }
1273  for (const auto& _item35 : ThreeAxisLinearAccelerometers) {
1274  if (!writer.writeNested(_item35)) {
1275  return false;
1276  }
1277  }
1278  if (!writer.writeListEnd()) {
1279  return false;
1280  }
1281  return true;
1282 }
1283 
1284 // read ThreeAxisMagnetometers field
1285 bool SensorRPCData::read_ThreeAxisMagnetometers(yarp::os::idl::WireReader& reader)
1286 {
1287  ThreeAxisMagnetometers.clear();
1288  uint32_t _size36;
1289  yarp::os::idl::WireState _etype39;
1290  reader.readListBegin(_etype39, _size36);
1291  ThreeAxisMagnetometers.resize(_size36);
1292  for (size_t _i40 = 0; _i40 < _size36; ++_i40) {
1293  if (!reader.readNested(ThreeAxisMagnetometers[_i40])) {
1294  reader.fail();
1295  return false;
1296  }
1297  }
1298  reader.readListEnd();
1299  return true;
1300 }
1301 
1302 // write ThreeAxisMagnetometers field
1303 bool SensorRPCData::write_ThreeAxisMagnetometers(const yarp::os::idl::WireWriter& writer) const
1304 {
1305  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(ThreeAxisMagnetometers.size()))) {
1306  return false;
1307  }
1308  for (const auto& _item41 : ThreeAxisMagnetometers) {
1309  if (!writer.writeNested(_item41)) {
1310  return false;
1311  }
1312  }
1313  if (!writer.writeListEnd()) {
1314  return false;
1315  }
1316  return true;
1317 }
1318 
1319 // read (nested) ThreeAxisMagnetometers field
1320 bool SensorRPCData::nested_read_ThreeAxisMagnetometers(yarp::os::idl::WireReader& reader)
1321 {
1322  ThreeAxisMagnetometers.clear();
1323  uint32_t _size42;
1324  yarp::os::idl::WireState _etype45;
1325  reader.readListBegin(_etype45, _size42);
1326  ThreeAxisMagnetometers.resize(_size42);
1327  for (size_t _i46 = 0; _i46 < _size42; ++_i46) {
1328  if (!reader.readNested(ThreeAxisMagnetometers[_i46])) {
1329  reader.fail();
1330  return false;
1331  }
1332  }
1333  reader.readListEnd();
1334  return true;
1335 }
1336 
1337 // write (nested) ThreeAxisMagnetometers field
1338 bool SensorRPCData::nested_write_ThreeAxisMagnetometers(const yarp::os::idl::WireWriter& writer) const
1339 {
1340  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(ThreeAxisMagnetometers.size()))) {
1341  return false;
1342  }
1343  for (const auto& _item47 : ThreeAxisMagnetometers) {
1344  if (!writer.writeNested(_item47)) {
1345  return false;
1346  }
1347  }
1348  if (!writer.writeListEnd()) {
1349  return false;
1350  }
1351  return true;
1352 }
1353 
1354 // read OrientationSensors field
1355 bool SensorRPCData::read_OrientationSensors(yarp::os::idl::WireReader& reader)
1356 {
1357  OrientationSensors.clear();
1358  uint32_t _size48;
1359  yarp::os::idl::WireState _etype51;
1360  reader.readListBegin(_etype51, _size48);
1361  OrientationSensors.resize(_size48);
1362  for (size_t _i52 = 0; _i52 < _size48; ++_i52) {
1363  if (!reader.readNested(OrientationSensors[_i52])) {
1364  reader.fail();
1365  return false;
1366  }
1367  }
1368  reader.readListEnd();
1369  return true;
1370 }
1371 
1372 // write OrientationSensors field
1373 bool SensorRPCData::write_OrientationSensors(const yarp::os::idl::WireWriter& writer) const
1374 {
1375  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(OrientationSensors.size()))) {
1376  return false;
1377  }
1378  for (const auto& _item53 : OrientationSensors) {
1379  if (!writer.writeNested(_item53)) {
1380  return false;
1381  }
1382  }
1383  if (!writer.writeListEnd()) {
1384  return false;
1385  }
1386  return true;
1387 }
1388 
1389 // read (nested) OrientationSensors field
1390 bool SensorRPCData::nested_read_OrientationSensors(yarp::os::idl::WireReader& reader)
1391 {
1392  OrientationSensors.clear();
1393  uint32_t _size54;
1394  yarp::os::idl::WireState _etype57;
1395  reader.readListBegin(_etype57, _size54);
1396  OrientationSensors.resize(_size54);
1397  for (size_t _i58 = 0; _i58 < _size54; ++_i58) {
1398  if (!reader.readNested(OrientationSensors[_i58])) {
1399  reader.fail();
1400  return false;
1401  }
1402  }
1403  reader.readListEnd();
1404  return true;
1405 }
1406 
1407 // write (nested) OrientationSensors field
1408 bool SensorRPCData::nested_write_OrientationSensors(const yarp::os::idl::WireWriter& writer) const
1409 {
1410  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(OrientationSensors.size()))) {
1411  return false;
1412  }
1413  for (const auto& _item59 : OrientationSensors) {
1414  if (!writer.writeNested(_item59)) {
1415  return false;
1416  }
1417  }
1418  if (!writer.writeListEnd()) {
1419  return false;
1420  }
1421  return true;
1422 }
1423 
1424 // read TemperatureSensors field
1425 bool SensorRPCData::read_TemperatureSensors(yarp::os::idl::WireReader& reader)
1426 {
1427  TemperatureSensors.clear();
1428  uint32_t _size60;
1429  yarp::os::idl::WireState _etype63;
1430  reader.readListBegin(_etype63, _size60);
1431  TemperatureSensors.resize(_size60);
1432  for (size_t _i64 = 0; _i64 < _size60; ++_i64) {
1433  if (!reader.readNested(TemperatureSensors[_i64])) {
1434  reader.fail();
1435  return false;
1436  }
1437  }
1438  reader.readListEnd();
1439  return true;
1440 }
1441 
1442 // write TemperatureSensors field
1443 bool SensorRPCData::write_TemperatureSensors(const yarp::os::idl::WireWriter& writer) const
1444 {
1445  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(TemperatureSensors.size()))) {
1446  return false;
1447  }
1448  for (const auto& _item65 : TemperatureSensors) {
1449  if (!writer.writeNested(_item65)) {
1450  return false;
1451  }
1452  }
1453  if (!writer.writeListEnd()) {
1454  return false;
1455  }
1456  return true;
1457 }
1458 
1459 // read (nested) TemperatureSensors field
1460 bool SensorRPCData::nested_read_TemperatureSensors(yarp::os::idl::WireReader& reader)
1461 {
1462  TemperatureSensors.clear();
1463  uint32_t _size66;
1464  yarp::os::idl::WireState _etype69;
1465  reader.readListBegin(_etype69, _size66);
1466  TemperatureSensors.resize(_size66);
1467  for (size_t _i70 = 0; _i70 < _size66; ++_i70) {
1468  if (!reader.readNested(TemperatureSensors[_i70])) {
1469  reader.fail();
1470  return false;
1471  }
1472  }
1473  reader.readListEnd();
1474  return true;
1475 }
1476 
1477 // write (nested) TemperatureSensors field
1478 bool SensorRPCData::nested_write_TemperatureSensors(const yarp::os::idl::WireWriter& writer) const
1479 {
1480  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(TemperatureSensors.size()))) {
1481  return false;
1482  }
1483  for (const auto& _item71 : TemperatureSensors) {
1484  if (!writer.writeNested(_item71)) {
1485  return false;
1486  }
1487  }
1488  if (!writer.writeListEnd()) {
1489  return false;
1490  }
1491  return true;
1492 }
1493 
1494 // read SixAxisForceTorqueSensors field
1495 bool SensorRPCData::read_SixAxisForceTorqueSensors(yarp::os::idl::WireReader& reader)
1496 {
1497  SixAxisForceTorqueSensors.clear();
1498  uint32_t _size72;
1499  yarp::os::idl::WireState _etype75;
1500  reader.readListBegin(_etype75, _size72);
1501  SixAxisForceTorqueSensors.resize(_size72);
1502  for (size_t _i76 = 0; _i76 < _size72; ++_i76) {
1503  if (!reader.readNested(SixAxisForceTorqueSensors[_i76])) {
1504  reader.fail();
1505  return false;
1506  }
1507  }
1508  reader.readListEnd();
1509  return true;
1510 }
1511 
1512 // write SixAxisForceTorqueSensors field
1513 bool SensorRPCData::write_SixAxisForceTorqueSensors(const yarp::os::idl::WireWriter& writer) const
1514 {
1515  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(SixAxisForceTorqueSensors.size()))) {
1516  return false;
1517  }
1518  for (const auto& _item77 : SixAxisForceTorqueSensors) {
1519  if (!writer.writeNested(_item77)) {
1520  return false;
1521  }
1522  }
1523  if (!writer.writeListEnd()) {
1524  return false;
1525  }
1526  return true;
1527 }
1528 
1529 // read (nested) SixAxisForceTorqueSensors field
1530 bool SensorRPCData::nested_read_SixAxisForceTorqueSensors(yarp::os::idl::WireReader& reader)
1531 {
1532  SixAxisForceTorqueSensors.clear();
1533  uint32_t _size78;
1534  yarp::os::idl::WireState _etype81;
1535  reader.readListBegin(_etype81, _size78);
1536  SixAxisForceTorqueSensors.resize(_size78);
1537  for (size_t _i82 = 0; _i82 < _size78; ++_i82) {
1538  if (!reader.readNested(SixAxisForceTorqueSensors[_i82])) {
1539  reader.fail();
1540  return false;
1541  }
1542  }
1543  reader.readListEnd();
1544  return true;
1545 }
1546 
1547 // write (nested) SixAxisForceTorqueSensors field
1548 bool SensorRPCData::nested_write_SixAxisForceTorqueSensors(const yarp::os::idl::WireWriter& writer) const
1549 {
1550  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(SixAxisForceTorqueSensors.size()))) {
1551  return false;
1552  }
1553  for (const auto& _item83 : SixAxisForceTorqueSensors) {
1554  if (!writer.writeNested(_item83)) {
1555  return false;
1556  }
1557  }
1558  if (!writer.writeListEnd()) {
1559  return false;
1560  }
1561  return true;
1562 }
1563 
1564 // read ContactLoadCellArrays field
1565 bool SensorRPCData::read_ContactLoadCellArrays(yarp::os::idl::WireReader& reader)
1566 {
1567  ContactLoadCellArrays.clear();
1568  uint32_t _size84;
1569  yarp::os::idl::WireState _etype87;
1570  reader.readListBegin(_etype87, _size84);
1571  ContactLoadCellArrays.resize(_size84);
1572  for (size_t _i88 = 0; _i88 < _size84; ++_i88) {
1573  if (!reader.readNested(ContactLoadCellArrays[_i88])) {
1574  reader.fail();
1575  return false;
1576  }
1577  }
1578  reader.readListEnd();
1579  return true;
1580 }
1581 
1582 // write ContactLoadCellArrays field
1583 bool SensorRPCData::write_ContactLoadCellArrays(const yarp::os::idl::WireWriter& writer) const
1584 {
1585  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(ContactLoadCellArrays.size()))) {
1586  return false;
1587  }
1588  for (const auto& _item89 : ContactLoadCellArrays) {
1589  if (!writer.writeNested(_item89)) {
1590  return false;
1591  }
1592  }
1593  if (!writer.writeListEnd()) {
1594  return false;
1595  }
1596  return true;
1597 }
1598 
1599 // read (nested) ContactLoadCellArrays field
1600 bool SensorRPCData::nested_read_ContactLoadCellArrays(yarp::os::idl::WireReader& reader)
1601 {
1602  ContactLoadCellArrays.clear();
1603  uint32_t _size90;
1604  yarp::os::idl::WireState _etype93;
1605  reader.readListBegin(_etype93, _size90);
1606  ContactLoadCellArrays.resize(_size90);
1607  for (size_t _i94 = 0; _i94 < _size90; ++_i94) {
1608  if (!reader.readNested(ContactLoadCellArrays[_i94])) {
1609  reader.fail();
1610  return false;
1611  }
1612  }
1613  reader.readListEnd();
1614  return true;
1615 }
1616 
1617 // write (nested) ContactLoadCellArrays field
1618 bool SensorRPCData::nested_write_ContactLoadCellArrays(const yarp::os::idl::WireWriter& writer) const
1619 {
1620  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(ContactLoadCellArrays.size()))) {
1621  return false;
1622  }
1623  for (const auto& _item95 : ContactLoadCellArrays) {
1624  if (!writer.writeNested(_item95)) {
1625  return false;
1626  }
1627  }
1628  if (!writer.writeListEnd()) {
1629  return false;
1630  }
1631  return true;
1632 }
1633 
1634 // read EncoderArrays field
1635 bool SensorRPCData::read_EncoderArrays(yarp::os::idl::WireReader& reader)
1636 {
1637  EncoderArrays.clear();
1638  uint32_t _size96;
1639  yarp::os::idl::WireState _etype99;
1640  reader.readListBegin(_etype99, _size96);
1641  EncoderArrays.resize(_size96);
1642  for (size_t _i100 = 0; _i100 < _size96; ++_i100) {
1643  if (!reader.readNested(EncoderArrays[_i100])) {
1644  reader.fail();
1645  return false;
1646  }
1647  }
1648  reader.readListEnd();
1649  return true;
1650 }
1651 
1652 // write EncoderArrays field
1653 bool SensorRPCData::write_EncoderArrays(const yarp::os::idl::WireWriter& writer) const
1654 {
1655  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(EncoderArrays.size()))) {
1656  return false;
1657  }
1658  for (const auto& _item101 : EncoderArrays) {
1659  if (!writer.writeNested(_item101)) {
1660  return false;
1661  }
1662  }
1663  if (!writer.writeListEnd()) {
1664  return false;
1665  }
1666  return true;
1667 }
1668 
1669 // read (nested) EncoderArrays field
1670 bool SensorRPCData::nested_read_EncoderArrays(yarp::os::idl::WireReader& reader)
1671 {
1672  EncoderArrays.clear();
1673  uint32_t _size102;
1674  yarp::os::idl::WireState _etype105;
1675  reader.readListBegin(_etype105, _size102);
1676  EncoderArrays.resize(_size102);
1677  for (size_t _i106 = 0; _i106 < _size102; ++_i106) {
1678  if (!reader.readNested(EncoderArrays[_i106])) {
1679  reader.fail();
1680  return false;
1681  }
1682  }
1683  reader.readListEnd();
1684  return true;
1685 }
1686 
1687 // write (nested) EncoderArrays field
1688 bool SensorRPCData::nested_write_EncoderArrays(const yarp::os::idl::WireWriter& writer) const
1689 {
1690  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(EncoderArrays.size()))) {
1691  return false;
1692  }
1693  for (const auto& _item107 : EncoderArrays) {
1694  if (!writer.writeNested(_item107)) {
1695  return false;
1696  }
1697  }
1698  if (!writer.writeListEnd()) {
1699  return false;
1700  }
1701  return true;
1702 }
1703 
1704 // read SkinPatches field
1705 bool SensorRPCData::read_SkinPatches(yarp::os::idl::WireReader& reader)
1706 {
1707  SkinPatches.clear();
1708  uint32_t _size108;
1709  yarp::os::idl::WireState _etype111;
1710  reader.readListBegin(_etype111, _size108);
1711  SkinPatches.resize(_size108);
1712  for (size_t _i112 = 0; _i112 < _size108; ++_i112) {
1713  if (!reader.readNested(SkinPatches[_i112])) {
1714  reader.fail();
1715  return false;
1716  }
1717  }
1718  reader.readListEnd();
1719  return true;
1720 }
1721 
1722 // write SkinPatches field
1723 bool SensorRPCData::write_SkinPatches(const yarp::os::idl::WireWriter& writer) const
1724 {
1725  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(SkinPatches.size()))) {
1726  return false;
1727  }
1728  for (const auto& _item113 : SkinPatches) {
1729  if (!writer.writeNested(_item113)) {
1730  return false;
1731  }
1732  }
1733  if (!writer.writeListEnd()) {
1734  return false;
1735  }
1736  return true;
1737 }
1738 
1739 // read (nested) SkinPatches field
1740 bool SensorRPCData::nested_read_SkinPatches(yarp::os::idl::WireReader& reader)
1741 {
1742  SkinPatches.clear();
1743  uint32_t _size114;
1744  yarp::os::idl::WireState _etype117;
1745  reader.readListBegin(_etype117, _size114);
1746  SkinPatches.resize(_size114);
1747  for (size_t _i118 = 0; _i118 < _size114; ++_i118) {
1748  if (!reader.readNested(SkinPatches[_i118])) {
1749  reader.fail();
1750  return false;
1751  }
1752  }
1753  reader.readListEnd();
1754  return true;
1755 }
1756 
1757 // write (nested) SkinPatches field
1758 bool SensorRPCData::nested_write_SkinPatches(const yarp::os::idl::WireWriter& writer) const
1759 {
1760  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(SkinPatches.size()))) {
1761  return false;
1762  }
1763  for (const auto& _item119 : SkinPatches) {
1764  if (!writer.writeNested(_item119)) {
1765  return false;
1766  }
1767  }
1768  if (!writer.writeListEnd()) {
1769  return false;
1770  }
1771  return true;
1772 }
1773 
1774 // read PositionSensors field
1775 bool SensorRPCData::read_PositionSensors(yarp::os::idl::WireReader& reader)
1776 {
1777  PositionSensors.clear();
1778  uint32_t _size120;
1779  yarp::os::idl::WireState _etype123;
1780  reader.readListBegin(_etype123, _size120);
1781  PositionSensors.resize(_size120);
1782  for (size_t _i124 = 0; _i124 < _size120; ++_i124) {
1783  if (!reader.readNested(PositionSensors[_i124])) {
1784  reader.fail();
1785  return false;
1786  }
1787  }
1788  reader.readListEnd();
1789  return true;
1790 }
1791 
1792 // write PositionSensors field
1793 bool SensorRPCData::write_PositionSensors(const yarp::os::idl::WireWriter& writer) const
1794 {
1795  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(PositionSensors.size()))) {
1796  return false;
1797  }
1798  for (const auto& _item125 : PositionSensors) {
1799  if (!writer.writeNested(_item125)) {
1800  return false;
1801  }
1802  }
1803  if (!writer.writeListEnd()) {
1804  return false;
1805  }
1806  return true;
1807 }
1808 
1809 // read (nested) PositionSensors field
1810 bool SensorRPCData::nested_read_PositionSensors(yarp::os::idl::WireReader& reader)
1811 {
1812  PositionSensors.clear();
1813  uint32_t _size126;
1814  yarp::os::idl::WireState _etype129;
1815  reader.readListBegin(_etype129, _size126);
1816  PositionSensors.resize(_size126);
1817  for (size_t _i130 = 0; _i130 < _size126; ++_i130) {
1818  if (!reader.readNested(PositionSensors[_i130])) {
1819  reader.fail();
1820  return false;
1821  }
1822  }
1823  reader.readListEnd();
1824  return true;
1825 }
1826 
1827 // write (nested) PositionSensors field
1828 bool SensorRPCData::nested_write_PositionSensors(const yarp::os::idl::WireWriter& writer) const
1829 {
1830  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(PositionSensors.size()))) {
1831  return false;
1832  }
1833  for (const auto& _item131 : PositionSensors) {
1834  if (!writer.writeNested(_item131)) {
1835  return false;
1836  }
1837  }
1838  if (!writer.writeListEnd()) {
1839  return false;
1840  }
1841  return true;
1842 }
#define BOTTLE_TAG_LIST
Definition: Bottle.h:28
@ ThreeAxisLinearAccelerometers
virtual bool did_set_TemperatureSensors()
void set_SkinPatches(const std::vector< SensorMetadata > &SkinPatches)
void set_TemperatureSensors(const std::vector< SensorMetadata > &TemperatureSensors)
virtual bool did_set_ThreeAxisMagnetometers()
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
void set_EncoderArrays(const std::vector< SensorMetadata > &EncoderArrays)
bool edit(SensorRPCData &obj, bool dirty=true)
const std::vector< SensorMetadata > & get_ThreeAxisGyroscopes() const
void set_SixAxisForceTorqueSensors(const std::vector< SensorMetadata > &SixAxisForceTorqueSensors)
virtual bool did_set_ThreeAxisLinearAccelerometers()
virtual bool will_set_PositionSensors()
const std::vector< SensorMetadata > & get_TemperatureSensors() const
void set_ThreeAxisLinearAccelerometers(const std::vector< SensorMetadata > &ThreeAxisLinearAccelerometers)
void set_PositionSensors(const std::vector< SensorMetadata > &PositionSensors)
virtual bool did_set_ContactLoadCellArrays()
virtual bool did_set_ThreeAxisGyroscopes()
void set_ThreeAxisMagnetometers(const std::vector< SensorMetadata > &ThreeAxisMagnetometers)
virtual bool will_set_OrientationSensors()
SensorRPCData & state()
virtual bool will_set_ThreeAxisGyroscopes()
virtual bool will_set_TemperatureSensors()
const std::vector< SensorMetadata > & get_ContactLoadCellArrays() const
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
void set_ContactLoadCellArrays(const std::vector< SensorMetadata > &ContactLoadCellArrays)
virtual bool did_set_SkinPatches()
const std::vector< SensorMetadata > & get_ThreeAxisLinearAccelerometers() const
const std::vector< SensorMetadata > & get_ThreeAxisMagnetometers() const
virtual bool will_set_EncoderArrays()
virtual bool did_set_PositionSensors()
const std::vector< SensorMetadata > & get_SkinPatches() const
const std::vector< SensorMetadata > & get_SixAxisForceTorqueSensors() const
const std::vector< SensorMetadata > & get_EncoderArrays() const
virtual bool will_set_SixAxisForceTorqueSensors()
virtual bool will_set_ThreeAxisMagnetometers()
virtual bool did_set_SixAxisForceTorqueSensors()
virtual bool will_set_SkinPatches()
virtual bool will_set_ContactLoadCellArrays()
const std::vector< SensorMetadata > & get_PositionSensors() const
virtual bool will_set_ThreeAxisLinearAccelerometers()
const std::vector< SensorMetadata > & get_OrientationSensors() const
virtual bool did_set_OrientationSensors()
void set_ThreeAxisGyroscopes(const std::vector< SensorMetadata > &ThreeAxisGyroscopes)
virtual bool did_set_EncoderArrays()
void set_OrientationSensors(const std::vector< SensorMetadata > &OrientationSensors)
std::vector< SensorMetadata > SkinPatches
Definition: SensorRPCData.h:31
bool read(yarp::os::idl::WireReader &reader) override
std::vector< SensorMetadata > ContactLoadCellArrays
Definition: SensorRPCData.h:29
std::string toString() const
bool write(const yarp::os::idl::WireWriter &writer) const override
std::vector< SensorMetadata > EncoderArrays
Definition: SensorRPCData.h:30
std::vector< SensorMetadata > PositionSensors
Definition: SensorRPCData.h:32
std::vector< SensorMetadata > ThreeAxisGyroscopes
Definition: SensorRPCData.h:23
std::vector< SensorMetadata > ThreeAxisLinearAccelerometers
Definition: SensorRPCData.h:24
std::vector< SensorMetadata > ThreeAxisMagnetometers
Definition: SensorRPCData.h:25
std::vector< SensorMetadata > OrientationSensors
Definition: SensorRPCData.h:26
std::vector< SensorMetadata > SixAxisForceTorqueSensors
Definition: SensorRPCData.h:28
std::vector< SensorMetadata > TemperatureSensors
Definition: SensorRPCData.h:27
A simple collection of objects that can be described and transmitted in a portable way.
Definition: Bottle.h:74
bool read(ConnectionReader &reader) override
Set the bottle's value based on input from a network connection.
Definition: Bottle.cpp:240
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.
yarp::os::WireLink & yarp()
Get YARP state associated with this object.
Definition: Wire.h:29
IDL-friendly connection reader.
Definition: WireReader.h:30
bool readNested(WirePortable &obj)
Definition: WireReader.cpp:88
bool readString(std::string &str, bool *is_vocab=nullptr)
Definition: WireReader.cpp:382
void readListBegin(yarp::os::idl::WireState &nstate, std::uint32_t &len)
Definition: WireReader.cpp:632
IDL-friendly state.
Definition: WireState.h:19
IDL-friendly connection writer.
Definition: WireWriter.h:30
bool writeVocab32(yarp::conf::vocab32_t x) const
Definition: WireWriter.cpp:141
bool writeListHeader(int len) const
Definition: WireWriter.cpp:206
bool writeTag(const char *tag, int split, int len) const
Definition: WireWriter.cpp:164
bool writeListBegin(int tag, std::uint32_t len) const
Definition: WireWriter.cpp:227
bool writeString(const std::string &tag) const
Definition: WireWriter.cpp:189
bool writeNested(const WirePortable &obj) const
Definition: WireWriter.cpp:62
bool isValid()
Check if time is valid (non-zero).
Definition: Time.cpp:314
The main, catch-all namespace for YARP.
Definition: dirs.h:16