4 #include <iCub/data3D/RGBA.h> 6 namespace iCub {
namespace data3D {
7 bool RGBA::read_rgba(yarp::os::idl::WireReader& reader) {
8 if (!reader.readI32(rgba)) {
14 bool RGBA::nested_read_rgba(yarp::os::idl::WireReader& reader) {
15 if (!reader.readI32(rgba)) {
21 bool RGBA::read(yarp::os::idl::WireReader& reader) {
22 if (!read_rgba(reader))
return false;
23 return !reader.isError();
26 bool RGBA::read(yarp::os::ConnectionReader& connection) {
27 yarp::os::idl::WireReader reader(connection);
28 if (!reader.readListHeader(1))
return false;
32 bool RGBA::write_rgba(yarp::os::idl::WireWriter& writer) {
33 if (!writer.writeI32(rgba))
return false;
36 bool RGBA::nested_write_rgba(yarp::os::idl::WireWriter& writer) {
37 if (!writer.writeI32(rgba))
return false;
40 bool RGBA::write(yarp::os::idl::WireWriter& writer) {
41 if (!write_rgba(writer))
return false;
42 return !writer.isError();
45 bool RGBA::write(yarp::os::ConnectionWriter& connection) {
46 yarp::os::idl::WireWriter writer(connection);
47 if (!writer.writeListHeader(1))
return false;
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;
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;
61 return !writer.isError();
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();
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)'");
76 yarp::os::ConstString tag;
77 if (!reader.readString(tag))
return false;
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;
87 if (!writer.writeListHeader(1))
return false;
88 if (!writer.writeString(
"int32_t rgba"))
return false;
91 if (!writer.writeListHeader(2))
return false;
92 writer.writeString(
"*** Available fields:");
93 writer.writeString(
"rgba");
97 bool have_act =
false;
99 if ((len-1)%2 != 0)
return false;
100 len = 1 + ((len-1)/2);
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;
111 if (!reader.readString(act))
return false;
113 if (!reader.readString(key))
return false;
117 if (!obj->nested_read_rgba(reader))
return false;
124 yarp::os::idl::WireWriter writer(reader);
125 if (writer.isNull())
return true;
126 writer.writeListHeader(1);
127 writer.writeVocab(VOCAB2(
'o',
'k'));
131 yarp::os::ConstString RGBA::toString() {