YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
return_getDesiredVelocityGroup.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// Constructor with field values
15 const std::vector<double>& vel) :
16 WirePortable(),
17 ret(ret),
18 vel(vel)
19{
20}
21
22// Read structure on a Wire
24{
25 if (!nested_read_ret(reader)) {
26 return false;
27 }
28 if (!read_vel(reader)) {
29 return false;
30 }
31 if (reader.isError()) {
32 return false;
33 }
34 return true;
35}
36
37// Read structure on a Connection
39{
40 yarp::os::idl::WireReader reader(connection);
41 if (!reader.readListHeader(2)) {
42 return false;
43 }
44 if (!read(reader)) {
45 return false;
46 }
47 return true;
48}
49
50// Write structure on a Wire
52{
53 if (!nested_write_ret(writer)) {
54 return false;
55 }
56 if (!write_vel(writer)) {
57 return false;
58 }
59 if (writer.isError()) {
60 return false;
61 }
62 return true;
63}
64
65// Write structure on a Connection
67{
68 yarp::os::idl::WireWriter writer(connection);
69 if (!writer.writeListHeader(2)) {
70 return false;
71 }
72 if (!write(writer)) {
73 return false;
74 }
75 return true;
76}
77
78// Convert to a printable string
80{
82 if (!yarp::os::Portable::copyPortable(*this, b)) {
83 return {};
84 }
85 return b.toString();
86}
87
88// read ret field
89bool return_getDesiredVelocityGroup::read_ret(yarp::os::idl::WireReader& reader)
90{
91 if (reader.noMore()) {
92 reader.fail();
93 return false;
94 }
95 if (!reader.read(ret)) {
96 reader.fail();
97 return false;
98 }
99 return true;
100}
101
102// write ret field
103bool return_getDesiredVelocityGroup::write_ret(const yarp::os::idl::WireWriter& writer) const
104{
105 if (!writer.write(ret)) {
106 return false;
107 }
108 return true;
109}
110
111// read (nested) ret field
112bool return_getDesiredVelocityGroup::nested_read_ret(yarp::os::idl::WireReader& reader)
113{
114 if (reader.noMore()) {
115 reader.fail();
116 return false;
117 }
118 if (!reader.readNested(ret)) {
119 reader.fail();
120 return false;
121 }
122 return true;
123}
124
125// write (nested) ret field
126bool return_getDesiredVelocityGroup::nested_write_ret(const yarp::os::idl::WireWriter& writer) const
127{
128 if (!writer.writeNested(ret)) {
129 return false;
130 }
131 return true;
132}
133
134// read vel field
135bool return_getDesiredVelocityGroup::read_vel(yarp::os::idl::WireReader& reader)
136{
137 if (reader.noMore()) {
138 reader.fail();
139 return false;
140 }
141 size_t _csize;
143 reader.readListBegin(_etype, _csize);
144 // WireReader removes BOTTLE_TAG_LIST from the tag
145 constexpr int expected_tag = ((BOTTLE_TAG_FLOAT64) & (~BOTTLE_TAG_LIST));
146 if constexpr (expected_tag != 0) {
147 if (_csize != 0 && _etype.code != expected_tag) {
148 return false;
149 }
150 }
151 vel.resize(_csize);
152 if (_csize != 0 && !reader.readBlock(reinterpret_cast<char*>(vel.data()), vel.size() * sizeof(double))) {
153 return false;
154 }
155 reader.readListEnd();
156 return true;
157}
158
159// write vel field
160bool return_getDesiredVelocityGroup::write_vel(const yarp::os::idl::WireWriter& writer) const
161{
162 if (!writer.writeListBegin(BOTTLE_TAG_FLOAT64, vel.size())) {
163 return false;
164 }
165 if (!writer.writeBlock(reinterpret_cast<const char*>(vel.data()), vel.size() * sizeof(double))) {
166 return false;
167 }
168 if (!writer.writeListEnd()) {
169 return false;
170 }
171 return true;
172}
173
174// read (nested) vel field
175bool return_getDesiredVelocityGroup::nested_read_vel(yarp::os::idl::WireReader& reader)
176{
177 if (reader.noMore()) {
178 reader.fail();
179 return false;
180 }
181 size_t _csize;
183 reader.readListBegin(_etype, _csize);
184 // WireReader removes BOTTLE_TAG_LIST from the tag
185 constexpr int expected_tag = ((BOTTLE_TAG_FLOAT64) & (~BOTTLE_TAG_LIST));
186 if constexpr (expected_tag != 0) {
187 if (_csize != 0 && _etype.code != expected_tag) {
188 return false;
189 }
190 }
191 vel.resize(_csize);
192 if (_csize != 0 && !reader.readBlock(reinterpret_cast<char*>(vel.data()), vel.size() * sizeof(double))) {
193 return false;
194 }
195 reader.readListEnd();
196 return true;
197}
198
199// write (nested) vel field
200bool return_getDesiredVelocityGroup::nested_write_vel(const yarp::os::idl::WireWriter& writer) const
201{
202 if (!writer.writeListBegin(BOTTLE_TAG_FLOAT64, vel.size())) {
203 return false;
204 }
205 if (!writer.writeBlock(reinterpret_cast<const char*>(vel.data()), vel.size() * sizeof(double))) {
206 return false;
207 }
208 if (!writer.writeListEnd()) {
209 return false;
210 }
211 return true;
212}
#define BOTTLE_TAG_FLOAT64
Definition Bottle.h:26
#define BOTTLE_TAG_LIST
Definition Bottle.h:29
bool ret
bool read(yarp::os::idl::WireReader &reader) override
bool write(const yarp::os::idl::WireWriter &writer) const override
A simple collection of objects that can be described and transmitted in a portable way.
Definition Bottle.h:65
std::string toString() const override
Gives a human-readable textual representation of the bottle.
Definition Bottle.cpp:217
An interface for reading from a network connection.
An interface for writing to a network connection.
static bool copyPortable(const PortWriter &writer, PortReader &reader)
Copy one portable to another, via writing and reading.
Definition Portable.cpp:16
IDL-friendly connection reader.
Definition WireReader.h:27
bool readNested(WirePortable &obj)
void readListBegin(yarp::os::idl::WireState &nstate, size_t &len)
bool readBlock(char *const data, size_t len)
bool read(WirePortable &obj)
IDL-friendly state.
Definition WireState.h:17
IDL-friendly connection writer.
Definition WireWriter.h:28
bool write(const WirePortable &obj) const
bool writeListHeader(int len) const
bool writeBlock(const char *data, size_t len) const
bool writeNested(const WirePortable &obj) const
bool writeListBegin(int tag, size_t len) const