YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
return_get_all_areas.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<yarp::dev::Nav2D::Map2DArea>& areas) :
16 WirePortable(),
17 retval(retval),
18 areas(areas)
19{
20}
21
22// Read structure on a Wire
24{
25 if (!nested_read_retval(reader)) {
26 return false;
27 }
28 if (!read_areas(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_retval(writer)) {
54 return false;
55 }
56 if (!write_areas(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 retval field
89bool return_get_all_areas::read_retval(yarp::os::idl::WireReader& reader)
90{
91 if (reader.noMore()) {
92 reader.fail();
93 return false;
94 }
95 if (!reader.read(retval)) {
96 reader.fail();
97 return false;
98 }
99 return true;
100}
101
102// write retval field
103bool return_get_all_areas::write_retval(const yarp::os::idl::WireWriter& writer) const
104{
105 if (!writer.write(retval)) {
106 return false;
107 }
108 return true;
109}
110
111// read (nested) retval field
112bool return_get_all_areas::nested_read_retval(yarp::os::idl::WireReader& reader)
113{
114 if (reader.noMore()) {
115 reader.fail();
116 return false;
117 }
118 if (!reader.readNested(retval)) {
119 reader.fail();
120 return false;
121 }
122 return true;
123}
124
125// write (nested) retval field
126bool return_get_all_areas::nested_write_retval(const yarp::os::idl::WireWriter& writer) const
127{
128 if (!writer.writeNested(retval)) {
129 return false;
130 }
131 return true;
132}
133
134// read areas field
135bool return_get_all_areas::read_areas(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_LIST) & (~BOTTLE_TAG_LIST));
146 if constexpr (expected_tag != 0) {
147 if (_csize != 0 && _etype.code != expected_tag) {
148 return false;
149 }
150 }
151 areas.resize(_csize);
152 for (size_t _i = 0; _i < _csize; ++_i) {
153 if (reader.noMore()) {
154 reader.fail();
155 return false;
156 }
157 if (!reader.readNested(areas[_i])) {
158 reader.fail();
159 return false;
160 }
161 }
162 reader.readListEnd();
163 return true;
164}
165
166// write areas field
167bool return_get_all_areas::write_areas(const yarp::os::idl::WireWriter& writer) const
168{
169 if (!writer.writeListBegin(BOTTLE_TAG_LIST, areas.size())) {
170 return false;
171 }
172 for (const auto& _item : areas) {
173 if (!writer.writeNested(_item)) {
174 return false;
175 }
176 }
177 if (!writer.writeListEnd()) {
178 return false;
179 }
180 return true;
181}
182
183// read (nested) areas field
184bool return_get_all_areas::nested_read_areas(yarp::os::idl::WireReader& reader)
185{
186 if (reader.noMore()) {
187 reader.fail();
188 return false;
189 }
190 size_t _csize;
192 reader.readListBegin(_etype, _csize);
193 // WireReader removes BOTTLE_TAG_LIST from the tag
194 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
195 if constexpr (expected_tag != 0) {
196 if (_csize != 0 && _etype.code != expected_tag) {
197 return false;
198 }
199 }
200 areas.resize(_csize);
201 for (size_t _i = 0; _i < _csize; ++_i) {
202 if (reader.noMore()) {
203 reader.fail();
204 return false;
205 }
206 if (!reader.readNested(areas[_i])) {
207 reader.fail();
208 return false;
209 }
210 }
211 reader.readListEnd();
212 return true;
213}
214
215// write (nested) areas field
216bool return_get_all_areas::nested_write_areas(const yarp::os::idl::WireWriter& writer) const
217{
218 if (!writer.writeListBegin(BOTTLE_TAG_LIST, areas.size())) {
219 return false;
220 }
221 for (const auto& _item : areas) {
222 if (!writer.writeNested(_item)) {
223 return false;
224 }
225 }
226 if (!writer.writeListEnd()) {
227 return false;
228 }
229 return true;
230}
#define BOTTLE_TAG_LIST
Definition Bottle.h:28
std::string toString() const
bool read(yarp::os::idl::WireReader &reader) override
bool write(const yarp::os::idl::WireWriter &writer) const override
yarp::dev::ReturnValue retval
return_get_all_areas()=default
std::vector< yarp::dev::Nav2D::Map2DArea > areas
A simple collection of objects that can be described and transmitted in a portable way.
Definition Bottle.h:64
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.
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 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 writeNested(const WirePortable &obj) const
bool writeListBegin(int tag, size_t len) const