YARP
Yet Another Robot Platform
return_getAllTransforms.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 
12 
13 // Default constructor
15  WirePortable(),
16  retvalue(0),
17  transforms_list()
18 {
19 }
20 
21 // Constructor with field values
23  const std::vector<yarp::math::FrameTransform>& transforms_list) :
24  WirePortable(),
25  retvalue(retvalue),
26  transforms_list(transforms_list)
27 {
28 }
29 
30 // Read structure on a Wire
32 {
33  if (!read_retvalue(reader)) {
34  return false;
35  }
36  if (!read_transforms_list(reader)) {
37  return false;
38  }
39  return !reader.isError();
40 }
41 
42 // Read structure on a Connection
44 {
45  yarp::os::idl::WireReader reader(connection);
46  if (!reader.readListHeader(2)) {
47  return false;
48  }
49  return read(reader);
50 }
51 
52 // Write structure on a Wire
54 {
55  if (!write_retvalue(writer)) {
56  return false;
57  }
58  if (!write_transforms_list(writer)) {
59  return false;
60  }
61  return !writer.isError();
62 }
63 
64 // Write structure on a Connection
66 {
67  yarp::os::idl::WireWriter writer(connection);
68  if (!writer.writeListHeader(2)) {
69  return false;
70  }
71  return write(writer);
72 }
73 
74 // Convert to a printable string
76 {
78  b.read(*this);
79  return b.toString();
80 }
81 
82 // Editor: default constructor
84 {
85  group = 0;
86  obj_owned = true;
87  obj = new return_getAllTransforms;
88  dirty_flags(false);
89  yarp().setOwner(*this);
90 }
91 
92 // Editor: constructor with base class
94 {
95  group = 0;
96  obj_owned = false;
97  edit(obj, false);
98  yarp().setOwner(*this);
99 }
100 
101 // Editor: destructor
103 {
104  if (obj_owned) {
105  delete obj;
106  }
107 }
108 
109 // Editor: edit
111 {
112  if (obj_owned) {
113  delete this->obj;
114  }
115  this->obj = &obj;
116  obj_owned = false;
117  dirty_flags(dirty);
118  return true;
119 }
120 
121 // Editor: validity check
123 {
124  return obj != nullptr;
125 }
126 
127 // Editor: state
129 {
130  return *obj;
131 }
132 
133 // Editor: grouping begin
135 {
136  group++;
137 }
138 
139 // Editor: grouping end
141 {
142  group--;
143  if (group == 0 && is_dirty) {
144  communicate();
145  }
146 }
147 // Editor: retvalue setter
149 {
150  will_set_retvalue();
151  obj->retvalue = retvalue;
152  mark_dirty_retvalue();
153  communicate();
154  did_set_retvalue();
155 }
156 
157 // Editor: retvalue getter
159 {
160  return obj->retvalue;
161 }
162 
163 // Editor: retvalue will_set
165 {
166  return true;
167 }
168 
169 // Editor: retvalue did_set
171 {
172  return true;
173 }
174 
175 // Editor: transforms_list setter
176 void return_getAllTransforms::Editor::set_transforms_list(const std::vector<yarp::math::FrameTransform>& transforms_list)
177 {
178  will_set_transforms_list();
179  obj->transforms_list = transforms_list;
180  mark_dirty_transforms_list();
181  communicate();
182  did_set_transforms_list();
183 }
184 
185 // Editor: transforms_list setter (list)
187 {
188  will_set_transforms_list();
189  obj->transforms_list[index] = elem;
190  mark_dirty_transforms_list();
191  communicate();
192  did_set_transforms_list();
193 }
194 
195 // Editor: transforms_list getter
196 const std::vector<yarp::math::FrameTransform>& return_getAllTransforms::Editor::get_transforms_list() const
197 {
198  return obj->transforms_list;
199 }
200 
201 // Editor: transforms_list will_set
203 {
204  return true;
205 }
206 
207 // Editor: transforms_list did_set
209 {
210  return true;
211 }
212 
213 // Editor: clean
215 {
216  dirty_flags(false);
217 }
218 
219 // Editor: read
221 {
222  if (!isValid()) {
223  return false;
224  }
225  yarp::os::idl::WireReader reader(connection);
226  reader.expectAccept();
227  if (!reader.readListHeader()) {
228  return false;
229  }
230  int len = reader.getLength();
231  if (len == 0) {
232  yarp::os::idl::WireWriter writer(reader);
233  if (writer.isNull()) {
234  return true;
235  }
236  if (!writer.writeListHeader(1)) {
237  return false;
238  }
239  writer.writeString("send: 'help' or 'patch (param1 val1) (param2 val2)'");
240  return true;
241  }
242  std::string tag;
243  if (!reader.readString(tag)) {
244  return false;
245  }
246  if (tag == "help") {
247  yarp::os::idl::WireWriter writer(reader);
248  if (writer.isNull()) {
249  return true;
250  }
251  if (!writer.writeListHeader(2)) {
252  return false;
253  }
254  if (!writer.writeTag("many", 1, 0)) {
255  return false;
256  }
257  if (reader.getLength() > 0) {
258  std::string field;
259  if (!reader.readString(field)) {
260  return false;
261  }
262  if (field == "retvalue") {
263  if (!writer.writeListHeader(1)) {
264  return false;
265  }
266  if (!writer.writeString("bool retvalue")) {
267  return false;
268  }
269  }
270  if (field == "transforms_list") {
271  if (!writer.writeListHeader(1)) {
272  return false;
273  }
274  if (!writer.writeString("std::vector<yarp::math::FrameTransform> transforms_list")) {
275  return false;
276  }
277  }
278  }
279  if (!writer.writeListHeader(3)) {
280  return false;
281  }
282  writer.writeString("*** Available fields:");
283  writer.writeString("retvalue");
284  writer.writeString("transforms_list");
285  return true;
286  }
287  bool nested = true;
288  bool have_act = false;
289  if (tag != "patch") {
290  if (((len - 1) % 2) != 0) {
291  return false;
292  }
293  len = 1 + ((len - 1) / 2);
294  nested = false;
295  have_act = true;
296  }
297  for (int i = 1; i < len; ++i) {
298  if (nested && !reader.readListHeader(3)) {
299  return false;
300  }
301  std::string act;
302  std::string key;
303  if (have_act) {
304  act = tag;
305  } else if (!reader.readString(act)) {
306  return false;
307  }
308  if (!reader.readString(key)) {
309  return false;
310  }
311  if (key == "retvalue") {
312  will_set_retvalue();
313  if (!obj->nested_read_retvalue(reader)) {
314  return false;
315  }
316  did_set_retvalue();
317  } else if (key == "transforms_list") {
318  will_set_transforms_list();
319  if (!obj->nested_read_transforms_list(reader)) {
320  return false;
321  }
322  did_set_transforms_list();
323  } else {
324  // would be useful to have a fallback here
325  }
326  }
327  reader.accept();
328  yarp::os::idl::WireWriter writer(reader);
329  if (writer.isNull()) {
330  return true;
331  }
332  writer.writeListHeader(1);
333  writer.writeVocab32('o', 'k');
334  return true;
335 }
336 
337 // Editor: write
339 {
340  if (!isValid()) {
341  return false;
342  }
343  yarp::os::idl::WireWriter writer(connection);
344  if (!writer.writeListHeader(dirty_count + 1)) {
345  return false;
346  }
347  if (!writer.writeString("patch")) {
348  return false;
349  }
350  if (is_dirty_retvalue) {
351  if (!writer.writeListHeader(3)) {
352  return false;
353  }
354  if (!writer.writeString("set")) {
355  return false;
356  }
357  if (!writer.writeString("retvalue")) {
358  return false;
359  }
360  if (!obj->nested_write_retvalue(writer)) {
361  return false;
362  }
363  }
364  if (is_dirty_transforms_list) {
365  if (!writer.writeListHeader(3)) {
366  return false;
367  }
368  if (!writer.writeString("set")) {
369  return false;
370  }
371  if (!writer.writeString("transforms_list")) {
372  return false;
373  }
374  if (!obj->nested_write_transforms_list(writer)) {
375  return false;
376  }
377  }
378  return !writer.isError();
379 }
380 
381 // Editor: send if possible
382 void return_getAllTransforms::Editor::communicate()
383 {
384  if (group != 0) {
385  return;
386  }
387  if (yarp().canWrite()) {
388  yarp().write(*this);
389  clean();
390  }
391 }
392 
393 // Editor: mark dirty overall
394 void return_getAllTransforms::Editor::mark_dirty()
395 {
396  is_dirty = true;
397 }
398 
399 // Editor: retvalue mark_dirty
400 void return_getAllTransforms::Editor::mark_dirty_retvalue()
401 {
402  if (is_dirty_retvalue) {
403  return;
404  }
405  dirty_count++;
406  is_dirty_retvalue = true;
407  mark_dirty();
408 }
409 
410 // Editor: transforms_list mark_dirty
411 void return_getAllTransforms::Editor::mark_dirty_transforms_list()
412 {
413  if (is_dirty_transforms_list) {
414  return;
415  }
416  dirty_count++;
417  is_dirty_transforms_list = true;
418  mark_dirty();
419 }
420 
421 // Editor: dirty_flags
422 void return_getAllTransforms::Editor::dirty_flags(bool flag)
423 {
424  is_dirty = flag;
425  is_dirty_retvalue = flag;
426  is_dirty_transforms_list = flag;
427  dirty_count = flag ? 2 : 0;
428 }
429 
430 // read retvalue field
431 bool return_getAllTransforms::read_retvalue(yarp::os::idl::WireReader& reader)
432 {
433  if (!reader.readBool(retvalue)) {
434  reader.fail();
435  return false;
436  }
437  return true;
438 }
439 
440 // write retvalue field
441 bool return_getAllTransforms::write_retvalue(const yarp::os::idl::WireWriter& writer) const
442 {
443  if (!writer.writeBool(retvalue)) {
444  return false;
445  }
446  return true;
447 }
448 
449 // read (nested) retvalue field
450 bool return_getAllTransforms::nested_read_retvalue(yarp::os::idl::WireReader& reader)
451 {
452  if (!reader.readBool(retvalue)) {
453  reader.fail();
454  return false;
455  }
456  return true;
457 }
458 
459 // write (nested) retvalue field
460 bool return_getAllTransforms::nested_write_retvalue(const yarp::os::idl::WireWriter& writer) const
461 {
462  if (!writer.writeBool(retvalue)) {
463  return false;
464  }
465  return true;
466 }
467 
468 // read transforms_list field
469 bool return_getAllTransforms::read_transforms_list(yarp::os::idl::WireReader& reader)
470 {
471  transforms_list.clear();
472  uint32_t _size0;
473  yarp::os::idl::WireState _etype3;
474  reader.readListBegin(_etype3, _size0);
475  transforms_list.resize(_size0);
476  for (size_t _i4 = 0; _i4 < _size0; ++_i4) {
477  if (!reader.readNested(transforms_list[_i4])) {
478  reader.fail();
479  return false;
480  }
481  }
482  reader.readListEnd();
483  return true;
484 }
485 
486 // write transforms_list field
487 bool return_getAllTransforms::write_transforms_list(const yarp::os::idl::WireWriter& writer) const
488 {
489  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(transforms_list.size()))) {
490  return false;
491  }
492  for (const auto& _item5 : transforms_list) {
493  if (!writer.writeNested(_item5)) {
494  return false;
495  }
496  }
497  if (!writer.writeListEnd()) {
498  return false;
499  }
500  return true;
501 }
502 
503 // read (nested) transforms_list field
504 bool return_getAllTransforms::nested_read_transforms_list(yarp::os::idl::WireReader& reader)
505 {
506  transforms_list.clear();
507  uint32_t _size6;
508  yarp::os::idl::WireState _etype9;
509  reader.readListBegin(_etype9, _size6);
510  transforms_list.resize(_size6);
511  for (size_t _i10 = 0; _i10 < _size6; ++_i10) {
512  if (!reader.readNested(transforms_list[_i10])) {
513  reader.fail();
514  return false;
515  }
516  }
517  reader.readListEnd();
518  return true;
519 }
520 
521 // write (nested) transforms_list field
522 bool return_getAllTransforms::nested_write_transforms_list(const yarp::os::idl::WireWriter& writer) const
523 {
524  if (!writer.writeListBegin(BOTTLE_TAG_LIST, static_cast<uint32_t>(transforms_list.size()))) {
525  return false;
526  }
527  for (const auto& _item11 : transforms_list) {
528  if (!writer.writeNested(_item11)) {
529  return false;
530  }
531  }
532  if (!writer.writeListEnd()) {
533  return false;
534  }
535  return true;
536 }
#define BOTTLE_TAG_LIST
Definition: Bottle.h:28
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
const std::vector< yarp::math::FrameTransform > & get_transforms_list() const
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool edit(return_getAllTransforms &obj, bool dirty=true)
void set_transforms_list(const std::vector< yarp::math::FrameTransform > &transforms_list)
bool read(yarp::os::idl::WireReader &reader) override
bool write(const yarp::os::idl::WireWriter &writer) const override
std::vector< yarp::math::FrameTransform > transforms_list
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 writeBool(bool x) const
Definition: WireWriter.cpp:72
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