YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
IRobotDescriptionMsgs.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
11#include <yarp/conf/version.h>
14#include <yarp/os/LogStream.h>
15
17
18#include <algorithm>
19
20namespace
21{
22 YARP_LOG_COMPONENT(SERVICE_LOG_COMPONENT, "IRobotDescriptionMsgs")
23}
24
25//IRobotDescriptionMsgs_getRemoteProtocolVersion_helper declaration
36
38{
39 yarp::os::idl::WireWriter writer(connection);
40 if (!writer.writeListHeader(1)) {
41 return false;
42 }
43 if (!writer.writeString("getRemoteProtocolVersion")) {
44 return false;
45 }
46 return true;
47}
48
49bool IRobotDescriptionMsgs_getRemoteProtocolVersion_helper ::read(yarp::os::ConnectionReader & connection)
50 {
51 yarp::os::idl::WireReader reader(connection);
52 if (!reader.readListHeader()) {
53 reader.fail();
54 return false;
55 }
56
57 if (!helper_proto.read(connection)) {
58 reader.fail();
59 return false;
60 }
61 return true;
62}
63
64//ProtocolVersion, client side
66 {
67 if(!yarp().canWrite()) {
68 yError(" Missing server method IRobotDescriptionMsgs::getRemoteProtocolVersion");
69 }
71 bool ok = yarp().write(helper, helper);
72 if (ok) {
73 return helper.helper_proto;}
74 else {
76 return failureproto;}
77}
78
79//ProtocolVersion, client side
81 {
82 auto locproto = this->getLocalProtocolVersion();
83 auto remproto = this->getRemoteProtocolVersion();
84 if (remproto.protocol_version != locproto.protocol_version)
85 {
86 yCError(SERVICE_LOG_COMPONENT) << "Invalid communication protocol.";
87 yCError(SERVICE_LOG_COMPONENT) << "Local Protocol Version: " << locproto.toString();
88 yCError(SERVICE_LOG_COMPONENT) << "Remote Protocol Version: " << remproto.toString();
89 return false;
90 }
91 return true;
92}
93
94//ProtocolVersion, server side
96{
98 //myproto.protocol_version using default value = 0
99 //to change this value add the following line to the .thrift file:
100 //const i16 protocol_version = <your_number_here>
101 myproto.protocol_version = 0;
105 return myproto;
106}
107
108// getAllDevicesRPC helper class declaration
110 public yarp::os::Portable
111{
112public:
114 bool write(yarp::os::ConnectionWriter& connection) const override;
115 bool read(yarp::os::ConnectionReader& connection) override;
116
117 class Command :
119 {
120 public:
121 Command() = default;
122 ~Command() override = default;
123
124 bool write(yarp::os::ConnectionWriter& connection) const override;
125 bool read(yarp::os::ConnectionReader& connection) override;
126
127 bool write(const yarp::os::idl::WireWriter& writer) const override;
128 bool writeTag(const yarp::os::idl::WireWriter& writer) const;
129 bool writeArgs(const yarp::os::idl::WireWriter& writer) const;
130
131 bool read(yarp::os::idl::WireReader& reader) override;
134 };
135
136 class Reply :
138 {
139 public:
140 Reply() = default;
141 ~Reply() override = default;
142
143 bool write(yarp::os::ConnectionWriter& connection) const override;
144 bool read(yarp::os::ConnectionReader& connection) override;
145
146 bool write(const yarp::os::idl::WireWriter& writer) const override;
147 bool read(yarp::os::idl::WireReader& reader) override;
148
150 };
151
153 void call(IRobotDescriptionMsgs* ptr);
154
157
158 static constexpr const char* s_tag{"getAllDevicesRPC"};
159 static constexpr size_t s_tag_len{1};
160 static constexpr size_t s_cmd_len{1};
161 static constexpr size_t s_reply_len{2};
162 static constexpr const char* s_prototype{"return_getAllDevices IRobotDescriptionMsgs::getAllDevicesRPC()"};
163 static constexpr const char* s_help{""};
164};
165
166// getAllDevicesByTypeRPC helper class declaration
168 public yarp::os::Portable
169{
170public:
172 explicit IRobotDescriptionMsgs_getAllDevicesByTypeRPC_helper(const std::string& type);
173 bool write(yarp::os::ConnectionWriter& connection) const override;
174 bool read(yarp::os::ConnectionReader& connection) override;
175
176 class Command :
178 {
179 public:
180 Command() = default;
181 explicit Command(const std::string& type);
182
183 ~Command() override = default;
184
185 bool write(yarp::os::ConnectionWriter& connection) const override;
186 bool read(yarp::os::ConnectionReader& connection) override;
187
188 bool write(const yarp::os::idl::WireWriter& writer) const override;
189 bool writeTag(const yarp::os::idl::WireWriter& writer) const;
190 bool writeArgs(const yarp::os::idl::WireWriter& writer) const;
191
192 bool read(yarp::os::idl::WireReader& reader) override;
195
196 std::string type{};
197 };
198
199 class Reply :
201 {
202 public:
203 Reply() = default;
204 ~Reply() override = default;
205
206 bool write(yarp::os::ConnectionWriter& connection) const override;
207 bool read(yarp::os::ConnectionReader& connection) override;
208
209 bool write(const yarp::os::idl::WireWriter& writer) const override;
210 bool read(yarp::os::idl::WireReader& reader) override;
211
213 };
214
215 using funcptr_t = return_getAllDevicesByType (*)(const std::string&);
216 void call(IRobotDescriptionMsgs* ptr);
217
220
221 static constexpr const char* s_tag{"getAllDevicesByTypeRPC"};
222 static constexpr size_t s_tag_len{1};
223 static constexpr size_t s_cmd_len{2};
224 static constexpr size_t s_reply_len{2};
225 static constexpr const char* s_prototype{"return_getAllDevicesByType IRobotDescriptionMsgs::getAllDevicesByTypeRPC(const std::string& type)"};
226 static constexpr const char* s_help{""};
227};
228
229// registerDeviceRPC helper class declaration
231 public yarp::os::Portable
232{
233public:
236 bool write(yarp::os::ConnectionWriter& connection) const override;
237 bool read(yarp::os::ConnectionReader& connection) override;
238
239 class Command :
241 {
242 public:
243 Command() = default;
245
246 ~Command() override = default;
247
248 bool write(yarp::os::ConnectionWriter& connection) const override;
249 bool read(yarp::os::ConnectionReader& connection) override;
250
251 bool write(const yarp::os::idl::WireWriter& writer) const override;
252 bool writeTag(const yarp::os::idl::WireWriter& writer) const;
253 bool writeArgs(const yarp::os::idl::WireWriter& writer) const;
254
255 bool read(yarp::os::idl::WireReader& reader) override;
258
260 };
261
262 class Reply :
264 {
265 public:
266 Reply() = default;
267 ~Reply() override = default;
268
269 bool write(yarp::os::ConnectionWriter& connection) const override;
270 bool read(yarp::os::ConnectionReader& connection) override;
271
272 bool write(const yarp::os::idl::WireWriter& writer) const override;
273 bool read(yarp::os::idl::WireReader& reader) override;
274
276 };
277
279 void call(IRobotDescriptionMsgs* ptr);
280
283
284 static constexpr const char* s_tag{"registerDeviceRPC"};
285 static constexpr size_t s_tag_len{1};
286 static constexpr size_t s_cmd_len{2};
287 static constexpr size_t s_reply_len{1};
288 static constexpr const char* s_prototype{"yarp::dev::ReturnValue IRobotDescriptionMsgs::registerDeviceRPC(const yarp::dev::DeviceDescription& dev)"};
289 static constexpr const char* s_help{""};
290};
291
292// unregisterDeviceRPC helper class declaration
294 public yarp::os::Portable
295{
296public:
298 explicit IRobotDescriptionMsgs_unregisterDeviceRPC_helper(const std::string& dev);
299 bool write(yarp::os::ConnectionWriter& connection) const override;
300 bool read(yarp::os::ConnectionReader& connection) override;
301
302 class Command :
304 {
305 public:
306 Command() = default;
307 explicit Command(const std::string& dev);
308
309 ~Command() override = default;
310
311 bool write(yarp::os::ConnectionWriter& connection) const override;
312 bool read(yarp::os::ConnectionReader& connection) override;
313
314 bool write(const yarp::os::idl::WireWriter& writer) const override;
315 bool writeTag(const yarp::os::idl::WireWriter& writer) const;
316 bool writeArgs(const yarp::os::idl::WireWriter& writer) const;
317
318 bool read(yarp::os::idl::WireReader& reader) override;
321
322 std::string dev{};
323 };
324
325 class Reply :
327 {
328 public:
329 Reply() = default;
330 ~Reply() override = default;
331
332 bool write(yarp::os::ConnectionWriter& connection) const override;
333 bool read(yarp::os::ConnectionReader& connection) override;
334
335 bool write(const yarp::os::idl::WireWriter& writer) const override;
336 bool read(yarp::os::idl::WireReader& reader) override;
337
339 };
340
341 using funcptr_t = yarp::dev::ReturnValue (*)(const std::string&);
342 void call(IRobotDescriptionMsgs* ptr);
343
346
347 static constexpr const char* s_tag{"unregisterDeviceRPC"};
348 static constexpr size_t s_tag_len{1};
349 static constexpr size_t s_cmd_len{2};
350 static constexpr size_t s_reply_len{1};
351 static constexpr const char* s_prototype{"yarp::dev::ReturnValue IRobotDescriptionMsgs::unregisterDeviceRPC(const std::string& dev)"};
352 static constexpr const char* s_help{""};
353};
354
355// unregisterAllRPC helper class declaration
357 public yarp::os::Portable
358{
359public:
361 bool write(yarp::os::ConnectionWriter& connection) const override;
362 bool read(yarp::os::ConnectionReader& connection) override;
363
364 class Command :
366 {
367 public:
368 Command() = default;
369 ~Command() override = default;
370
371 bool write(yarp::os::ConnectionWriter& connection) const override;
372 bool read(yarp::os::ConnectionReader& connection) override;
373
374 bool write(const yarp::os::idl::WireWriter& writer) const override;
375 bool writeTag(const yarp::os::idl::WireWriter& writer) const;
376 bool writeArgs(const yarp::os::idl::WireWriter& writer) const;
377
378 bool read(yarp::os::idl::WireReader& reader) override;
381 };
382
383 class Reply :
385 {
386 public:
387 Reply() = default;
388 ~Reply() override = default;
389
390 bool write(yarp::os::ConnectionWriter& connection) const override;
391 bool read(yarp::os::ConnectionReader& connection) override;
392
393 bool write(const yarp::os::idl::WireWriter& writer) const override;
394 bool read(yarp::os::idl::WireReader& reader) override;
395
397 };
398
400 void call(IRobotDescriptionMsgs* ptr);
401
404
405 static constexpr const char* s_tag{"unregisterAllRPC"};
406 static constexpr size_t s_tag_len{1};
407 static constexpr size_t s_cmd_len{1};
408 static constexpr size_t s_reply_len{1};
409 static constexpr const char* s_prototype{"yarp::dev::ReturnValue IRobotDescriptionMsgs::unregisterAllRPC()"};
410 static constexpr const char* s_help{""};
411};
412
413// getAllDevicesRPC helper class implementation
415{
416 return cmd.write(connection);
417}
418
423
425{
426 yarp::os::idl::WireWriter writer(connection);
427 if (!writer.writeListHeader(s_cmd_len)) {
428 return false;
429 }
430 return write(writer);
431}
432
434{
435 yarp::os::idl::WireReader reader(connection);
436 if (!reader.readListHeader()) {
437 reader.fail();
438 return false;
439 }
440 return read(reader);
441}
442
444{
445 if (!writeTag(writer)) {
446 return false;
447 }
448 if (!writeArgs(writer)) {
449 return false;
450 }
451 return true;
452}
453
455{
456 if (!writer.writeTag(s_tag, 1, s_tag_len)) {
457 return false;
458 }
459 return true;
460}
461
463{
464 return true;
465}
466
468{
469 if (!readTag(reader)) {
470 return false;
471 }
472 if (!readArgs(reader)) {
473 return false;
474 }
475 return true;
476}
477
479{
480 std::string tag = reader.readTag(s_tag_len);
481 if (reader.isError()) {
482 return false;
483 }
484 if (tag != s_tag) {
485 reader.fail();
486 return false;
487 }
488 return true;
489}
490
492{
493 if (!reader.noMore()) {
494 reader.fail();
495 return false;
496 }
497 return true;
498}
499
501{
502 yarp::os::idl::WireWriter writer(connection);
503 return write(writer);
504}
505
511
513{
514 if (!writer.isNull()) {
515 if (!writer.writeListHeader(s_reply_len)) {
516 return false;
517 }
518 if (!writer.write(return_helper)) {
519 return false;
520 }
521 }
522 return true;
523}
524
526{
527 if (!reader.readListReturn()) {
528 return false;
529 }
530 if (reader.noMore()) {
531 reader.fail();
532 return false;
533 }
534 if (!reader.read(return_helper)) {
535 reader.fail();
536 return false;
537 }
538 return true;
539}
540
545
546// getAllDevicesByTypeRPC helper class implementation
551
556
561
563 type{type}
564{
565}
566
568{
569 yarp::os::idl::WireWriter writer(connection);
570 if (!writer.writeListHeader(s_cmd_len)) {
571 return false;
572 }
573 return write(writer);
574}
575
577{
578 yarp::os::idl::WireReader reader(connection);
579 if (!reader.readListHeader()) {
580 reader.fail();
581 return false;
582 }
583 return read(reader);
584}
585
587{
588 if (!writeTag(writer)) {
589 return false;
590 }
591 if (!writeArgs(writer)) {
592 return false;
593 }
594 return true;
595}
596
598{
599 if (!writer.writeTag(s_tag, 1, s_tag_len)) {
600 return false;
601 }
602 return true;
603}
604
606{
607 if (!writer.writeString(type)) {
608 return false;
609 }
610 return true;
611}
612
614{
615 if (!readTag(reader)) {
616 return false;
617 }
618 if (!readArgs(reader)) {
619 return false;
620 }
621 return true;
622}
623
625{
626 std::string tag = reader.readTag(s_tag_len);
627 if (reader.isError()) {
628 return false;
629 }
630 if (tag != s_tag) {
631 reader.fail();
632 return false;
633 }
634 return true;
635}
636
638{
639 if (reader.noMore()) {
640 reader.fail();
641 return false;
642 }
643 if (!reader.readString(type)) {
644 reader.fail();
645 return false;
646 }
647 if (!reader.noMore()) {
648 reader.fail();
649 return false;
650 }
651 return true;
652}
653
659
665
667{
668 if (!writer.isNull()) {
669 if (!writer.writeListHeader(s_reply_len)) {
670 return false;
671 }
672 if (!writer.write(return_helper)) {
673 return false;
674 }
675 }
676 return true;
677}
678
680{
681 if (!reader.readListReturn()) {
682 return false;
683 }
684 if (reader.noMore()) {
685 reader.fail();
686 return false;
687 }
688 if (!reader.read(return_helper)) {
689 reader.fail();
690 return false;
691 }
692 return true;
693}
694
699
700// registerDeviceRPC helper class implementation
705
707{
708 return cmd.write(connection);
709}
710
715
720
722{
723 yarp::os::idl::WireWriter writer(connection);
724 if (!writer.writeListHeader(s_cmd_len)) {
725 return false;
726 }
727 return write(writer);
728}
729
731{
732 yarp::os::idl::WireReader reader(connection);
733 if (!reader.readListHeader()) {
734 reader.fail();
735 return false;
736 }
737 return read(reader);
738}
739
741{
742 if (!writeTag(writer)) {
743 return false;
744 }
745 if (!writeArgs(writer)) {
746 return false;
747 }
748 return true;
749}
750
752{
753 if (!writer.writeTag(s_tag, 1, s_tag_len)) {
754 return false;
755 }
756 return true;
757}
758
760{
761 if (!writer.writeNested(dev)) {
762 return false;
763 }
764 return true;
765}
766
768{
769 if (!readTag(reader)) {
770 return false;
771 }
772 if (!readArgs(reader)) {
773 return false;
774 }
775 return true;
776}
777
779{
780 std::string tag = reader.readTag(s_tag_len);
781 if (reader.isError()) {
782 return false;
783 }
784 if (tag != s_tag) {
785 reader.fail();
786 return false;
787 }
788 return true;
789}
790
792{
793 if (reader.noMore()) {
794 reader.fail();
795 return false;
796 }
797 if (!reader.readNested(dev)) {
798 reader.fail();
799 return false;
800 }
801 if (!reader.noMore()) {
802 reader.fail();
803 return false;
804 }
805 return true;
806}
807
809{
810 yarp::os::idl::WireWriter writer(connection);
811 return write(writer);
812}
813
819
821{
822 if (!writer.isNull()) {
823 if (!writer.write(return_helper)) {
824 return false;
825 }
826 }
827 return true;
828}
829
831{
832 if (reader.noMore()) {
833 reader.fail();
834 return false;
835 }
836 if (!reader.read(return_helper)) {
837 reader.fail();
838 return false;
839 }
840 return true;
841}
842
847
848// unregisterDeviceRPC helper class implementation
853
855{
856 return cmd.write(connection);
857}
858
863
865 dev{dev}
866{
867}
868
870{
871 yarp::os::idl::WireWriter writer(connection);
872 if (!writer.writeListHeader(s_cmd_len)) {
873 return false;
874 }
875 return write(writer);
876}
877
879{
880 yarp::os::idl::WireReader reader(connection);
881 if (!reader.readListHeader()) {
882 reader.fail();
883 return false;
884 }
885 return read(reader);
886}
887
889{
890 if (!writeTag(writer)) {
891 return false;
892 }
893 if (!writeArgs(writer)) {
894 return false;
895 }
896 return true;
897}
898
900{
901 if (!writer.writeTag(s_tag, 1, s_tag_len)) {
902 return false;
903 }
904 return true;
905}
906
908{
909 if (!writer.writeString(dev)) {
910 return false;
911 }
912 return true;
913}
914
916{
917 if (!readTag(reader)) {
918 return false;
919 }
920 if (!readArgs(reader)) {
921 return false;
922 }
923 return true;
924}
925
927{
928 std::string tag = reader.readTag(s_tag_len);
929 if (reader.isError()) {
930 return false;
931 }
932 if (tag != s_tag) {
933 reader.fail();
934 return false;
935 }
936 return true;
937}
938
940{
941 if (reader.noMore()) {
942 reader.fail();
943 return false;
944 }
945 if (!reader.readString(dev)) {
946 reader.fail();
947 return false;
948 }
949 if (!reader.noMore()) {
950 reader.fail();
951 return false;
952 }
953 return true;
954}
955
957{
958 yarp::os::idl::WireWriter writer(connection);
959 return write(writer);
960}
961
967
969{
970 if (!writer.isNull()) {
971 if (!writer.write(return_helper)) {
972 return false;
973 }
974 }
975 return true;
976}
977
979{
980 if (reader.noMore()) {
981 reader.fail();
982 return false;
983 }
984 if (!reader.read(return_helper)) {
985 reader.fail();
986 return false;
987 }
988 return true;
989}
990
995
996// unregisterAllRPC helper class implementation
998{
999 return cmd.write(connection);
1000}
1001
1006
1008{
1009 yarp::os::idl::WireWriter writer(connection);
1010 if (!writer.writeListHeader(s_cmd_len)) {
1011 return false;
1012 }
1013 return write(writer);
1014}
1015
1017{
1018 yarp::os::idl::WireReader reader(connection);
1019 if (!reader.readListHeader()) {
1020 reader.fail();
1021 return false;
1022 }
1023 return read(reader);
1024}
1025
1027{
1028 if (!writeTag(writer)) {
1029 return false;
1030 }
1031 if (!writeArgs(writer)) {
1032 return false;
1033 }
1034 return true;
1035}
1036
1038{
1039 if (!writer.writeTag(s_tag, 1, s_tag_len)) {
1040 return false;
1041 }
1042 return true;
1043}
1044
1046{
1047 return true;
1048}
1049
1051{
1052 if (!readTag(reader)) {
1053 return false;
1054 }
1055 if (!readArgs(reader)) {
1056 return false;
1057 }
1058 return true;
1059}
1060
1062{
1063 std::string tag = reader.readTag(s_tag_len);
1064 if (reader.isError()) {
1065 return false;
1066 }
1067 if (tag != s_tag) {
1068 reader.fail();
1069 return false;
1070 }
1071 return true;
1072}
1073
1075{
1076 if (!reader.noMore()) {
1077 reader.fail();
1078 return false;
1079 }
1080 return true;
1081}
1082
1084{
1085 yarp::os::idl::WireWriter writer(connection);
1086 return write(writer);
1087}
1088
1090{
1091 yarp::os::idl::WireReader reader(connection);
1092 return read(reader);
1093}
1094
1096{
1097 if (!writer.isNull()) {
1098 if (!writer.write(return_helper)) {
1099 return false;
1100 }
1101 }
1102 return true;
1103}
1104
1106{
1107 if (reader.noMore()) {
1108 reader.fail();
1109 return false;
1110 }
1111 if (!reader.read(return_helper)) {
1112 reader.fail();
1113 return false;
1114 }
1115 return true;
1116}
1117
1122
1123// Constructor
1125{
1126 yarp().setOwner(*this);
1127}
1128
1130{
1131 if (!yarp().canWrite()) {
1133 }
1135 bool ok = yarp().write(helper, helper);
1136 return ok ? helper.reply.return_helper : return_getAllDevices{};
1137}
1138
1140{
1141 if (!yarp().canWrite()) {
1143 }
1145 bool ok = yarp().write(helper, helper);
1146 return ok ? helper.reply.return_helper : return_getAllDevicesByType{};
1147}
1148
1150{
1151 if (!yarp().canWrite()) {
1153 }
1155 bool ok = yarp().write(helper, helper);
1156 return ok ? helper.reply.return_helper : yarp::dev::ReturnValue{};
1157}
1158
1160{
1161 if (!yarp().canWrite()) {
1163 }
1165 bool ok = yarp().write(helper, helper);
1166 return ok ? helper.reply.return_helper : yarp::dev::ReturnValue{};
1167}
1168
1170{
1171 if (!yarp().canWrite()) {
1173 }
1175 bool ok = yarp().write(helper, helper);
1176 return ok ? helper.reply.return_helper : yarp::dev::ReturnValue{};
1177}
1178
1179// help method
1180std::vector<std::string> IRobotDescriptionMsgs::help(const std::string& functionName)
1181{
1182 bool showAll = (functionName == "--all");
1183 std::vector<std::string> helpString;
1184 if (showAll) {
1185 helpString.emplace_back("*** Available commands:");
1191 helpString.emplace_back("help");
1192 } else {
1195 }
1198 }
1201 }
1204 }
1207 }
1208 if (functionName == "help") {
1209 helpString.emplace_back("std::vector<std::string> help(const std::string& functionName = \"--all\")");
1210 helpString.emplace_back("Return list of available commands, or help message for a specific function");
1211 helpString.emplace_back("@param functionName name of command for which to get a detailed description. If none or '--all' is provided, print list of available commands");
1212 helpString.emplace_back("@return list of strings (one string per line)");
1213 }
1214 }
1215 if (helpString.empty()) {
1216 helpString.emplace_back("Command not found");
1217 }
1218 return helpString;
1219}
1220
1221// read from ConnectionReader
1223{
1224 constexpr size_t max_tag_len = 1;
1225 size_t tag_len = 1;
1226
1227 yarp::os::idl::WireReader reader(connection);
1228 reader.expectAccept();
1229 if (!reader.readListHeader()) {
1230 reader.fail();
1231 return false;
1232 }
1233
1234 std::string tag = reader.readTag(1);
1235 bool direct = (tag == "__direct__");
1236 if (direct) {
1237 tag = reader.readTag(1);
1238 }
1239 while (tag_len <= max_tag_len && !reader.isError()) {
1240 if(tag == "getRemoteProtocolVersion") {
1241 if (!reader.noMore()) {
1242 yError("Reader invalid protocol?! %s:%d - %s", __FILE__, __LINE__, __YFUNCTION__);
1243 reader.fail();
1244 return false;
1245 }
1246
1247 auto proto = getLocalProtocolVersion();
1248
1249 yarp::os::idl::WireWriter writer(reader);
1250 if (!writer.writeListHeader(1)) {
1251 yWarning("Writer invalid protocol?! %s:%d - %s", __FILE__, __LINE__, __YFUNCTION__);
1252 return false;}
1253 if (!writer.write(proto)) {
1254 yWarning("Writer invalid protocol?! %s:%d - %s", __FILE__, __LINE__, __YFUNCTION__);
1255 return false;
1256 }
1257 reader.accept();
1258 return true;
1259 }
1262 if (!helper.cmd.readArgs(reader)) {
1263 return false;
1264 }
1265
1266 helper.call(this);
1267
1268 yarp::os::idl::WireWriter writer(reader);
1269 if (!helper.reply.write(writer)) {
1270 return false;
1271 }
1272 reader.accept();
1273 return true;
1274 }
1277 if (!helper.cmd.readArgs(reader)) {
1278 return false;
1279 }
1280
1281 helper.call(this);
1282
1283 yarp::os::idl::WireWriter writer(reader);
1284 if (!helper.reply.write(writer)) {
1285 return false;
1286 }
1287 reader.accept();
1288 return true;
1289 }
1292 if (!helper.cmd.readArgs(reader)) {
1293 return false;
1294 }
1295
1296 helper.call(this);
1297
1298 yarp::os::idl::WireWriter writer(reader);
1299 if (!helper.reply.write(writer)) {
1300 return false;
1301 }
1302 reader.accept();
1303 return true;
1304 }
1307 if (!helper.cmd.readArgs(reader)) {
1308 return false;
1309 }
1310
1311 helper.call(this);
1312
1313 yarp::os::idl::WireWriter writer(reader);
1314 if (!helper.reply.write(writer)) {
1315 return false;
1316 }
1317 reader.accept();
1318 return true;
1319 }
1322 if (!helper.cmd.readArgs(reader)) {
1323 return false;
1324 }
1325
1326 helper.call(this);
1327
1328 yarp::os::idl::WireWriter writer(reader);
1329 if (!helper.reply.write(writer)) {
1330 return false;
1331 }
1332 reader.accept();
1333 return true;
1334 }
1335 if (tag == "help") {
1336 std::string functionName;
1337 if (!reader.readString(functionName)) {
1338 functionName = "--all";
1339 }
1340 auto help_strings = help(functionName);
1341 yarp::os::idl::WireWriter writer(reader);
1342 if (!writer.isNull()) {
1343 if (!writer.writeListHeader(2)) {
1344 return false;
1345 }
1346 if (!writer.writeTag("many", 1, 0)) {
1347 return false;
1348 }
1349 if (!writer.writeListBegin(0, help_strings.size())) {
1350 return false;
1351 }
1352 for (const auto& help_string : help_strings) {
1353 if (!writer.writeString(help_string)) {
1354 return false;
1355 }
1356 }
1357 if (!writer.writeListEnd()) {
1358 return false;
1359 }
1360 }
1361 reader.accept();
1362 return true;
1363 }
1364 if (reader.noMore()) {
1365 reader.fail();
1366 return false;
1367 }
1368 std::string next_tag = reader.readTag(1);
1369 if (next_tag.empty()) {
1370 break;
1371 }
1372 tag.append("_").append(next_tag);
1373 tag_len = std::count(tag.begin(), tag.end(), '_') + 1;
1374 }
1375 return false;
1376}
#define yError(...)
Definition Log.h:361
#define __YFUNCTION__
Definition Log.h:24
#define yWarning(...)
Definition Log.h:340
bool writeTag(const yarp::os::idl::WireWriter &writer) const
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool writeArgs(const yarp::os::idl::WireWriter &writer) const
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
return_getAllDevicesByType(*)(const std::string &) funcptr_t
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool writeTag(const yarp::os::idl::WireWriter &writer) const
bool writeArgs(const yarp::os::idl::WireWriter &writer) const
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
yarp::os::ApplicationNetworkProtocolVersion helper_proto
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool writeTag(const yarp::os::idl::WireWriter &writer) const
bool writeArgs(const yarp::os::idl::WireWriter &writer) const
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
yarp::dev::ReturnValue(*)(const yarp::dev::DeviceDescription &) funcptr_t
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool writeArgs(const yarp::os::idl::WireWriter &writer) const
bool writeTag(const yarp::os::idl::WireWriter &writer) const
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool writeTag(const yarp::os::idl::WireWriter &writer) const
bool writeArgs(const yarp::os::idl::WireWriter &writer) const
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
yarp::dev::ReturnValue(*)(const std::string &) funcptr_t
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
virtual yarp::os::ApplicationNetworkProtocolVersion getRemoteProtocolVersion()
virtual yarp::dev::ReturnValue unregisterAllRPC()
virtual return_getAllDevices getAllDevicesRPC()
virtual return_getAllDevicesByType getAllDevicesByTypeRPC(const std::string &type)
virtual std::vector< std::string > help(const std::string &functionName="--all")
virtual yarp::os::ApplicationNetworkProtocolVersion getLocalProtocolVersion()
virtual yarp::dev::ReturnValue registerDeviceRPC(const yarp::dev::DeviceDescription &dev)
virtual yarp::dev::ReturnValue unregisterDeviceRPC(const std::string &dev)
An interface for reading from a network connection.
An interface for writing to a network connection.
This is a base class for objects that can be both read from and be written to the YARP network.
Definition Portable.h:25
yarp::os::WireLink & yarp()
Get YARP state associated with this object.
Definition Wire.h:28
A "tamed" Portable, that promises to serialize itself in an IDL-friendly way.
IDL-friendly connection reader.
Definition WireReader.h:27
bool readNested(WirePortable &obj)
bool readString(std::string &str, bool *is_vocab=nullptr)
std::string readTag(size_t len=static_cast< size_t >(-1))
bool read(WirePortable &obj)
IDL-friendly connection writer.
Definition WireWriter.h:28
bool write(const WirePortable &obj) const
bool writeListHeader(int len) const
bool writeTag(const char *tag, int split, int len) const
bool writeString(const std::string &str, bool skip_tag=false) const
bool writeNested(const WirePortable &obj) const
bool writeListBegin(int tag, size_t len) const
#define yCError(component,...)
#define YARP_LOG_COMPONENT(name,...)
The main, catch-all namespace for YARP.
Definition dirs.h:16
#define YARP_VERSION_PATCH
Definition version.h:12
#define YARP_VERSION_MAJOR
Definition version.h:10
#define YARP_VERSION_MINOR
Definition version.h:11