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