YARP
Yet Another Robot Platform
audioBufferSizeData.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 namespace yarp {
14 namespace dev {
15 
16 // Default constructor
18  WirePortable(),
19  m_samples(0),
20  m_channels(0),
21  m_depth(0),
22  size(0)
23 {
24 }
25 
26 // Constructor with field values
27 audioBufferSizeData::audioBufferSizeData(const std::int32_t m_samples,
28  const std::int32_t m_channels,
29  const std::int32_t m_depth,
30  const std::int32_t size) :
31  WirePortable(),
32  m_samples(m_samples),
33  m_channels(m_channels),
34  m_depth(m_depth),
35  size(size)
36 {
37 }
38 
39 // Read structure on a Wire
41 {
42  if (!read_m_samples(reader)) {
43  return false;
44  }
45  if (!read_m_channels(reader)) {
46  return false;
47  }
48  if (!read_m_depth(reader)) {
49  return false;
50  }
51  if (!read_size(reader)) {
52  return false;
53  }
54  return !reader.isError();
55 }
56 
57 // Read structure on a Connection
59 {
60  yarp::os::idl::WireReader reader(connection);
61  if (!reader.readListHeader(4)) {
62  return false;
63  }
64  return read(reader);
65 }
66 
67 // Write structure on a Wire
69 {
70  if (!write_m_samples(writer)) {
71  return false;
72  }
73  if (!write_m_channels(writer)) {
74  return false;
75  }
76  if (!write_m_depth(writer)) {
77  return false;
78  }
79  if (!write_size(writer)) {
80  return false;
81  }
82  return !writer.isError();
83 }
84 
85 // Write structure on a Connection
87 {
88  yarp::os::idl::WireWriter writer(connection);
89  if (!writer.writeListHeader(4)) {
90  return false;
91  }
92  return write(writer);
93 }
94 
95 // Convert to a printable string
96 std::string audioBufferSizeData::toString() const
97 {
99  b.read(*this);
100  return b.toString();
101 }
102 
103 // Editor: default constructor
105 {
106  group = 0;
107  obj_owned = true;
108  obj = new audioBufferSizeData;
109  dirty_flags(false);
110  yarp().setOwner(*this);
111 }
112 
113 // Editor: constructor with base class
115 {
116  group = 0;
117  obj_owned = false;
118  edit(obj, false);
119  yarp().setOwner(*this);
120 }
121 
122 // Editor: destructor
124 {
125  if (obj_owned) {
126  delete obj;
127  }
128 }
129 
130 // Editor: edit
132 {
133  if (obj_owned) {
134  delete this->obj;
135  }
136  this->obj = &obj;
137  obj_owned = false;
138  dirty_flags(dirty);
139  return true;
140 }
141 
142 // Editor: validity check
144 {
145  return obj != nullptr;
146 }
147 
148 // Editor: state
150 {
151  return *obj;
152 }
153 
154 // Editor: grouping begin
156 {
157  group++;
158 }
159 
160 // Editor: grouping end
162 {
163  group--;
164  if (group == 0 && is_dirty) {
165  communicate();
166  }
167 }
168 // Editor: m_samples setter
170 {
171  will_set_m_samples();
172  obj->m_samples = m_samples;
173  mark_dirty_m_samples();
174  communicate();
175  did_set_m_samples();
176 }
177 
178 // Editor: m_samples getter
180 {
181  return obj->m_samples;
182 }
183 
184 // Editor: m_samples will_set
186 {
187  return true;
188 }
189 
190 // Editor: m_samples did_set
192 {
193  return true;
194 }
195 
196 // Editor: m_channels setter
198 {
199  will_set_m_channels();
200  obj->m_channels = m_channels;
201  mark_dirty_m_channels();
202  communicate();
203  did_set_m_channels();
204 }
205 
206 // Editor: m_channels getter
208 {
209  return obj->m_channels;
210 }
211 
212 // Editor: m_channels will_set
214 {
215  return true;
216 }
217 
218 // Editor: m_channels did_set
220 {
221  return true;
222 }
223 
224 // Editor: m_depth setter
226 {
227  will_set_m_depth();
228  obj->m_depth = m_depth;
229  mark_dirty_m_depth();
230  communicate();
231  did_set_m_depth();
232 }
233 
234 // Editor: m_depth getter
236 {
237  return obj->m_depth;
238 }
239 
240 // Editor: m_depth will_set
242 {
243  return true;
244 }
245 
246 // Editor: m_depth did_set
248 {
249  return true;
250 }
251 
252 // Editor: size setter
254 {
255  will_set_size();
256  obj->size = size;
257  mark_dirty_size();
258  communicate();
259  did_set_size();
260 }
261 
262 // Editor: size getter
264 {
265  return obj->size;
266 }
267 
268 // Editor: size will_set
270 {
271  return true;
272 }
273 
274 // Editor: size did_set
276 {
277  return true;
278 }
279 
280 // Editor: clean
282 {
283  dirty_flags(false);
284 }
285 
286 // Editor: read
288 {
289  if (!isValid()) {
290  return false;
291  }
292  yarp::os::idl::WireReader reader(connection);
293  reader.expectAccept();
294  if (!reader.readListHeader()) {
295  return false;
296  }
297  int len = reader.getLength();
298  if (len == 0) {
299  yarp::os::idl::WireWriter writer(reader);
300  if (writer.isNull()) {
301  return true;
302  }
303  if (!writer.writeListHeader(1)) {
304  return false;
305  }
306  writer.writeString("send: 'help' or 'patch (param1 val1) (param2 val2)'");
307  return true;
308  }
309  std::string tag;
310  if (!reader.readString(tag)) {
311  return false;
312  }
313  if (tag == "help") {
314  yarp::os::idl::WireWriter writer(reader);
315  if (writer.isNull()) {
316  return true;
317  }
318  if (!writer.writeListHeader(2)) {
319  return false;
320  }
321  if (!writer.writeTag("many", 1, 0)) {
322  return false;
323  }
324  if (reader.getLength() > 0) {
325  std::string field;
326  if (!reader.readString(field)) {
327  return false;
328  }
329  if (field == "m_samples") {
330  if (!writer.writeListHeader(1)) {
331  return false;
332  }
333  if (!writer.writeString("std::int32_t m_samples")) {
334  return false;
335  }
336  }
337  if (field == "m_channels") {
338  if (!writer.writeListHeader(1)) {
339  return false;
340  }
341  if (!writer.writeString("std::int32_t m_channels")) {
342  return false;
343  }
344  }
345  if (field == "m_depth") {
346  if (!writer.writeListHeader(1)) {
347  return false;
348  }
349  if (!writer.writeString("std::int32_t m_depth")) {
350  return false;
351  }
352  }
353  if (field == "size") {
354  if (!writer.writeListHeader(1)) {
355  return false;
356  }
357  if (!writer.writeString("std::int32_t size")) {
358  return false;
359  }
360  }
361  }
362  if (!writer.writeListHeader(5)) {
363  return false;
364  }
365  writer.writeString("*** Available fields:");
366  writer.writeString("m_samples");
367  writer.writeString("m_channels");
368  writer.writeString("m_depth");
369  writer.writeString("size");
370  return true;
371  }
372  bool nested = true;
373  bool have_act = false;
374  if (tag != "patch") {
375  if (((len - 1) % 2) != 0) {
376  return false;
377  }
378  len = 1 + ((len - 1) / 2);
379  nested = false;
380  have_act = true;
381  }
382  for (int i = 1; i < len; ++i) {
383  if (nested && !reader.readListHeader(3)) {
384  return false;
385  }
386  std::string act;
387  std::string key;
388  if (have_act) {
389  act = tag;
390  } else if (!reader.readString(act)) {
391  return false;
392  }
393  if (!reader.readString(key)) {
394  return false;
395  }
396  if (key == "m_samples") {
397  will_set_m_samples();
398  if (!obj->nested_read_m_samples(reader)) {
399  return false;
400  }
401  did_set_m_samples();
402  } else if (key == "m_channels") {
403  will_set_m_channels();
404  if (!obj->nested_read_m_channels(reader)) {
405  return false;
406  }
407  did_set_m_channels();
408  } else if (key == "m_depth") {
409  will_set_m_depth();
410  if (!obj->nested_read_m_depth(reader)) {
411  return false;
412  }
413  did_set_m_depth();
414  } else if (key == "size") {
415  will_set_size();
416  if (!obj->nested_read_size(reader)) {
417  return false;
418  }
419  did_set_size();
420  } else {
421  // would be useful to have a fallback here
422  }
423  }
424  reader.accept();
425  yarp::os::idl::WireWriter writer(reader);
426  if (writer.isNull()) {
427  return true;
428  }
429  writer.writeListHeader(1);
430  writer.writeVocab32('o', 'k');
431  return true;
432 }
433 
434 // Editor: write
436 {
437  if (!isValid()) {
438  return false;
439  }
440  yarp::os::idl::WireWriter writer(connection);
441  if (!writer.writeListHeader(dirty_count + 1)) {
442  return false;
443  }
444  if (!writer.writeString("patch")) {
445  return false;
446  }
447  if (is_dirty_m_samples) {
448  if (!writer.writeListHeader(3)) {
449  return false;
450  }
451  if (!writer.writeString("set")) {
452  return false;
453  }
454  if (!writer.writeString("m_samples")) {
455  return false;
456  }
457  if (!obj->nested_write_m_samples(writer)) {
458  return false;
459  }
460  }
461  if (is_dirty_m_channels) {
462  if (!writer.writeListHeader(3)) {
463  return false;
464  }
465  if (!writer.writeString("set")) {
466  return false;
467  }
468  if (!writer.writeString("m_channels")) {
469  return false;
470  }
471  if (!obj->nested_write_m_channels(writer)) {
472  return false;
473  }
474  }
475  if (is_dirty_m_depth) {
476  if (!writer.writeListHeader(3)) {
477  return false;
478  }
479  if (!writer.writeString("set")) {
480  return false;
481  }
482  if (!writer.writeString("m_depth")) {
483  return false;
484  }
485  if (!obj->nested_write_m_depth(writer)) {
486  return false;
487  }
488  }
489  if (is_dirty_size) {
490  if (!writer.writeListHeader(3)) {
491  return false;
492  }
493  if (!writer.writeString("set")) {
494  return false;
495  }
496  if (!writer.writeString("size")) {
497  return false;
498  }
499  if (!obj->nested_write_size(writer)) {
500  return false;
501  }
502  }
503  return !writer.isError();
504 }
505 
506 // Editor: send if possible
507 void audioBufferSizeData::Editor::communicate()
508 {
509  if (group != 0) {
510  return;
511  }
512  if (yarp().canWrite()) {
513  yarp().write(*this);
514  clean();
515  }
516 }
517 
518 // Editor: mark dirty overall
519 void audioBufferSizeData::Editor::mark_dirty()
520 {
521  is_dirty = true;
522 }
523 
524 // Editor: m_samples mark_dirty
525 void audioBufferSizeData::Editor::mark_dirty_m_samples()
526 {
527  if (is_dirty_m_samples) {
528  return;
529  }
530  dirty_count++;
531  is_dirty_m_samples = true;
532  mark_dirty();
533 }
534 
535 // Editor: m_channels mark_dirty
536 void audioBufferSizeData::Editor::mark_dirty_m_channels()
537 {
538  if (is_dirty_m_channels) {
539  return;
540  }
541  dirty_count++;
542  is_dirty_m_channels = true;
543  mark_dirty();
544 }
545 
546 // Editor: m_depth mark_dirty
547 void audioBufferSizeData::Editor::mark_dirty_m_depth()
548 {
549  if (is_dirty_m_depth) {
550  return;
551  }
552  dirty_count++;
553  is_dirty_m_depth = true;
554  mark_dirty();
555 }
556 
557 // Editor: size mark_dirty
558 void audioBufferSizeData::Editor::mark_dirty_size()
559 {
560  if (is_dirty_size) {
561  return;
562  }
563  dirty_count++;
564  is_dirty_size = true;
565  mark_dirty();
566 }
567 
568 // Editor: dirty_flags
569 void audioBufferSizeData::Editor::dirty_flags(bool flag)
570 {
571  is_dirty = flag;
572  is_dirty_m_samples = flag;
573  is_dirty_m_channels = flag;
574  is_dirty_m_depth = flag;
575  is_dirty_size = flag;
576  dirty_count = flag ? 4 : 0;
577 }
578 
579 // read m_samples field
580 bool audioBufferSizeData::read_m_samples(yarp::os::idl::WireReader& reader)
581 {
582  if (!reader.readI32(m_samples)) {
583  reader.fail();
584  return false;
585  }
586  return true;
587 }
588 
589 // write m_samples field
590 bool audioBufferSizeData::write_m_samples(const yarp::os::idl::WireWriter& writer) const
591 {
592  if (!writer.writeI32(m_samples)) {
593  return false;
594  }
595  return true;
596 }
597 
598 // read (nested) m_samples field
599 bool audioBufferSizeData::nested_read_m_samples(yarp::os::idl::WireReader& reader)
600 {
601  if (!reader.readI32(m_samples)) {
602  reader.fail();
603  return false;
604  }
605  return true;
606 }
607 
608 // write (nested) m_samples field
609 bool audioBufferSizeData::nested_write_m_samples(const yarp::os::idl::WireWriter& writer) const
610 {
611  if (!writer.writeI32(m_samples)) {
612  return false;
613  }
614  return true;
615 }
616 
617 // read m_channels field
618 bool audioBufferSizeData::read_m_channels(yarp::os::idl::WireReader& reader)
619 {
620  if (!reader.readI32(m_channels)) {
621  reader.fail();
622  return false;
623  }
624  return true;
625 }
626 
627 // write m_channels field
628 bool audioBufferSizeData::write_m_channels(const yarp::os::idl::WireWriter& writer) const
629 {
630  if (!writer.writeI32(m_channels)) {
631  return false;
632  }
633  return true;
634 }
635 
636 // read (nested) m_channels field
637 bool audioBufferSizeData::nested_read_m_channels(yarp::os::idl::WireReader& reader)
638 {
639  if (!reader.readI32(m_channels)) {
640  reader.fail();
641  return false;
642  }
643  return true;
644 }
645 
646 // write (nested) m_channels field
647 bool audioBufferSizeData::nested_write_m_channels(const yarp::os::idl::WireWriter& writer) const
648 {
649  if (!writer.writeI32(m_channels)) {
650  return false;
651  }
652  return true;
653 }
654 
655 // read m_depth field
656 bool audioBufferSizeData::read_m_depth(yarp::os::idl::WireReader& reader)
657 {
658  if (!reader.readI32(m_depth)) {
659  reader.fail();
660  return false;
661  }
662  return true;
663 }
664 
665 // write m_depth field
666 bool audioBufferSizeData::write_m_depth(const yarp::os::idl::WireWriter& writer) const
667 {
668  if (!writer.writeI32(m_depth)) {
669  return false;
670  }
671  return true;
672 }
673 
674 // read (nested) m_depth field
675 bool audioBufferSizeData::nested_read_m_depth(yarp::os::idl::WireReader& reader)
676 {
677  if (!reader.readI32(m_depth)) {
678  reader.fail();
679  return false;
680  }
681  return true;
682 }
683 
684 // write (nested) m_depth field
685 bool audioBufferSizeData::nested_write_m_depth(const yarp::os::idl::WireWriter& writer) const
686 {
687  if (!writer.writeI32(m_depth)) {
688  return false;
689  }
690  return true;
691 }
692 
693 // read size field
694 bool audioBufferSizeData::read_size(yarp::os::idl::WireReader& reader)
695 {
696  if (!reader.readI32(size)) {
697  reader.fail();
698  return false;
699  }
700  return true;
701 }
702 
703 // write size field
704 bool audioBufferSizeData::write_size(const yarp::os::idl::WireWriter& writer) const
705 {
706  if (!writer.writeI32(size)) {
707  return false;
708  }
709  return true;
710 }
711 
712 // read (nested) size field
713 bool audioBufferSizeData::nested_read_size(yarp::os::idl::WireReader& reader)
714 {
715  if (!reader.readI32(size)) {
716  reader.fail();
717  return false;
718  }
719  return true;
720 }
721 
722 // write (nested) size field
723 bool audioBufferSizeData::nested_write_size(const yarp::os::idl::WireWriter& writer) const
724 {
725  if (!writer.writeI32(size)) {
726  return false;
727  }
728  return true;
729 }
730 
731 } // namespace yarp
732 } // namespace dev
void set_m_channels(const std::int32_t m_channels)
void set_m_depth(const std::int32_t m_depth)
void set_m_samples(const std::int32_t m_samples)
void set_size(const std::int32_t size)
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool edit(audioBufferSizeData &obj, bool dirty=true)
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool write(const yarp::os::idl::WireWriter &writer) const override
bool read(yarp::os::idl::WireReader &reader) override
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 readString(std::string &str, bool *is_vocab=nullptr)
Definition: WireReader.cpp:382
bool readI32(std::int32_t &x)
Definition: WireReader.cpp:175
IDL-friendly connection writer.
Definition: WireWriter.h:30
bool writeVocab32(yarp::conf::vocab32_t x) const
Definition: WireWriter.cpp:141
bool writeI32(std::int32_t x) const
Definition: WireWriter.cpp:93
bool writeListHeader(int len) const
Definition: WireWriter.cpp:206
bool writeTag(const char *tag, int split, int len) const
Definition: WireWriter.cpp:164
bool writeString(const std::string &tag) const
Definition: WireWriter.cpp:189
bool isValid()
Check if time is valid (non-zero).
Definition: Time.cpp:314
The main, catch-all namespace for YARP.
Definition: dirs.h:16