grasp
All Data Structures Namespaces Functions Modules
RGBA.cpp
1 // This is an automatically-generated file.
2 // It could get re-generated if the ALLOW_IDL_GENERATION flag is on.
3 
4 #include <iCub/data3D/RGBA.h>
5 
6 namespace iCub { namespace data3D {
7 bool RGBA::read_rgba(yarp::os::idl::WireReader& reader) {
8  if (!reader.readI32(rgba)) {
9  reader.fail();
10  return false;
11  }
12  return true;
13 }
14 bool RGBA::nested_read_rgba(yarp::os::idl::WireReader& reader) {
15  if (!reader.readI32(rgba)) {
16  reader.fail();
17  return false;
18  }
19  return true;
20 }
21 bool RGBA::read(yarp::os::idl::WireReader& reader) {
22  if (!read_rgba(reader)) return false;
23  return !reader.isError();
24 }
25 
26 bool RGBA::read(yarp::os::ConnectionReader& connection) {
27  yarp::os::idl::WireReader reader(connection);
28  if (!reader.readListHeader(1)) return false;
29  return read(reader);
30 }
31 
32 bool RGBA::write_rgba(yarp::os::idl::WireWriter& writer) {
33  if (!writer.writeI32(rgba)) return false;
34  return true;
35 }
36 bool RGBA::nested_write_rgba(yarp::os::idl::WireWriter& writer) {
37  if (!writer.writeI32(rgba)) return false;
38  return true;
39 }
40 bool RGBA::write(yarp::os::idl::WireWriter& writer) {
41  if (!write_rgba(writer)) return false;
42  return !writer.isError();
43 }
44 
45 bool RGBA::write(yarp::os::ConnectionWriter& connection) {
46  yarp::os::idl::WireWriter writer(connection);
47  if (!writer.writeListHeader(1)) return false;
48  return write(writer);
49 }
50 bool RGBA::Editor::write(yarp::os::ConnectionWriter& connection) {
51  if (!isValid()) return false;
52  yarp::os::idl::WireWriter writer(connection);
53  if (!writer.writeListHeader(dirty_count+1)) return false;
54  if (!writer.writeString("patch")) return false;
55  if (is_dirty_rgba) {
56  if (!writer.writeListHeader(3)) return false;
57  if (!writer.writeString("set")) return false;
58  if (!writer.writeString("rgba")) return false;
59  if (!obj->nested_write_rgba(writer)) return false;
60  }
61  return !writer.isError();
62 }
63 bool RGBA::Editor::read(yarp::os::ConnectionReader& connection) {
64  if (!isValid()) return false;
65  yarp::os::idl::WireReader reader(connection);
66  reader.expectAccept();
67  if (!reader.readListHeader()) return false;
68  int len = reader.getLength();
69  if (len==0) {
70  yarp::os::idl::WireWriter writer(reader);
71  if (writer.isNull()) return true;
72  if (!writer.writeListHeader(1)) return false;
73  writer.writeString("send: 'help' or 'patch (param1 val1) (param2 val2)'");
74  return true;
75  }
76  yarp::os::ConstString tag;
77  if (!reader.readString(tag)) return false;
78  if (tag=="help") {
79  yarp::os::idl::WireWriter writer(reader);
80  if (writer.isNull()) return true;
81  if (!writer.writeListHeader(2)) return false;
82  if (!writer.writeTag("many",1, 0)) return false;
83  if (reader.getLength()>0) {
84  yarp::os::ConstString field;
85  if (!reader.readString(field)) return false;
86  if (field=="rgba") {
87  if (!writer.writeListHeader(1)) return false;
88  if (!writer.writeString("int32_t rgba")) return false;
89  }
90  }
91  if (!writer.writeListHeader(2)) return false;
92  writer.writeString("*** Available fields:");
93  writer.writeString("rgba");
94  return true;
95  }
96  bool nested = true;
97  bool have_act = false;
98  if (tag!="patch") {
99  if ((len-1)%2 != 0) return false;
100  len = 1 + ((len-1)/2);
101  nested = false;
102  have_act = true;
103  }
104  for (int i=1; i<len; i++) {
105  if (nested && !reader.readListHeader(3)) return false;
106  yarp::os::ConstString act;
107  yarp::os::ConstString key;
108  if (have_act) {
109  act = tag;
110  } else {
111  if (!reader.readString(act)) return false;
112  }
113  if (!reader.readString(key)) return false;
114  // inefficient code follows, bug paulfitz to improve it
115  if (key == "rgba") {
116  will_set_rgba();
117  if (!obj->nested_read_rgba(reader)) return false;
118  did_set_rgba();
119  } else {
120  // would be useful to have a fallback here
121  }
122  }
123  reader.accept();
124  yarp::os::idl::WireWriter writer(reader);
125  if (writer.isNull()) return true;
126  writer.writeListHeader(1);
127  writer.writeVocab(VOCAB2('o','k'));
128  return true;
129 }
130 
131 yarp::os::ConstString RGBA::toString() {
132  yarp::os::Bottle b;
133  b.read(*this);
134  return b.toString();
135 }
136 }} // namespace