YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
return_getConversation.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
13namespace yarp::dev::llm {
14
15// Constructor with field values
17 const std::vector<yarp::dev::LLM_Message>& conversation) :
18 WirePortable(),
19 ret(ret),
20 conversation(conversation)
21{
22}
23
24// Read structure on a Wire
26{
27 if (!nested_read_ret(reader)) {
28 return false;
29 }
30 if (!read_conversation(reader)) {
31 return false;
32 }
33 if (reader.isError()) {
34 return false;
35 }
36 return true;
37}
38
39// Read structure on a Connection
41{
42 yarp::os::idl::WireReader reader(connection);
43 if (!reader.readListHeader(2)) {
44 return false;
45 }
46 if (!read(reader)) {
47 return false;
48 }
49 return true;
50}
51
52// Write structure on a Wire
54{
55 if (!nested_write_ret(writer)) {
56 return false;
57 }
58 if (!write_conversation(writer)) {
59 return false;
60 }
61 if (writer.isError()) {
62 return false;
63 }
64 return true;
65}
66
67// Write structure on a Connection
69{
70 yarp::os::idl::WireWriter writer(connection);
71 if (!writer.writeListHeader(2)) {
72 return false;
73 }
74 if (!write(writer)) {
75 return false;
76 }
77 return true;
78}
79
80// Convert to a printable string
82{
84 if (!yarp::os::Portable::copyPortable(*this, b)) {
85 return {};
86 }
87 return b.toString();
88}
89
90// read ret field
91bool return_getConversation::read_ret(yarp::os::idl::WireReader& reader)
92{
93 if (reader.noMore()) {
94 reader.fail();
95 return false;
96 }
97 if (!reader.read(ret)) {
98 reader.fail();
99 return false;
100 }
101 return true;
102}
103
104// write ret field
105bool return_getConversation::write_ret(const yarp::os::idl::WireWriter& writer) const
106{
107 if (!writer.write(ret)) {
108 return false;
109 }
110 return true;
111}
112
113// read (nested) ret field
114bool return_getConversation::nested_read_ret(yarp::os::idl::WireReader& reader)
115{
116 if (reader.noMore()) {
117 reader.fail();
118 return false;
119 }
120 if (!reader.readNested(ret)) {
121 reader.fail();
122 return false;
123 }
124 return true;
125}
126
127// write (nested) ret field
128bool return_getConversation::nested_write_ret(const yarp::os::idl::WireWriter& writer) const
129{
130 if (!writer.writeNested(ret)) {
131 return false;
132 }
133 return true;
134}
135
136// read conversation field
137bool return_getConversation::read_conversation(yarp::os::idl::WireReader& reader)
138{
139 if (reader.noMore()) {
140 reader.fail();
141 return false;
142 }
143 size_t _csize;
145 reader.readListBegin(_etype, _csize);
146 // WireReader removes BOTTLE_TAG_LIST from the tag
147 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
148 if constexpr (expected_tag != 0) {
149 if (_csize != 0 && _etype.code != expected_tag) {
150 return false;
151 }
152 }
153 conversation.resize(_csize);
154 for (size_t _i = 0; _i < _csize; ++_i) {
155 if (reader.noMore()) {
156 reader.fail();
157 return false;
158 }
159 if (!reader.readNested(conversation[_i])) {
160 reader.fail();
161 return false;
162 }
163 }
164 reader.readListEnd();
165 return true;
166}
167
168// write conversation field
169bool return_getConversation::write_conversation(const yarp::os::idl::WireWriter& writer) const
170{
171 if (!writer.writeListBegin(BOTTLE_TAG_LIST, conversation.size())) {
172 return false;
173 }
174 for (const auto& _item : conversation) {
175 if (!writer.writeNested(_item)) {
176 return false;
177 }
178 }
179 if (!writer.writeListEnd()) {
180 return false;
181 }
182 return true;
183}
184
185// read (nested) conversation field
186bool return_getConversation::nested_read_conversation(yarp::os::idl::WireReader& reader)
187{
188 if (reader.noMore()) {
189 reader.fail();
190 return false;
191 }
192 size_t _csize;
194 reader.readListBegin(_etype, _csize);
195 // WireReader removes BOTTLE_TAG_LIST from the tag
196 constexpr int expected_tag = ((BOTTLE_TAG_LIST) & (~BOTTLE_TAG_LIST));
197 if constexpr (expected_tag != 0) {
198 if (_csize != 0 && _etype.code != expected_tag) {
199 return false;
200 }
201 }
202 conversation.resize(_csize);
203 for (size_t _i = 0; _i < _csize; ++_i) {
204 if (reader.noMore()) {
205 reader.fail();
206 return false;
207 }
208 if (!reader.readNested(conversation[_i])) {
209 reader.fail();
210 return false;
211 }
212 }
213 reader.readListEnd();
214 return true;
215}
216
217// write (nested) conversation field
218bool return_getConversation::nested_write_conversation(const yarp::os::idl::WireWriter& writer) const
219{
220 if (!writer.writeListBegin(BOTTLE_TAG_LIST, conversation.size())) {
221 return false;
222 }
223 for (const auto& _item : conversation) {
224 if (!writer.writeNested(_item)) {
225 return false;
226 }
227 }
228 if (!writer.writeListEnd()) {
229 return false;
230 }
231 return true;
232}
233
234} // namespace yarp::dev::llm
#define BOTTLE_TAG_LIST
Definition Bottle.h:28
bool ret
bool write(const yarp::os::idl::WireWriter &writer) const override
bool read(yarp::os::idl::WireReader &reader) override
std::vector< yarp::dev::LLM_Message > conversation
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