Fawkes API Fawkes Development Version
NavPathInterface.cpp
1
2/***************************************************************************
3 * NavPathInterface.cpp - Fawkes BlackBoard Interface - NavPathInterface
4 *
5 * Templated created: Thu Oct 12 10:49:19 2006
6 * Copyright 2014 Sebastian Reuter
7 *
8 ****************************************************************************/
9
10/* This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version. A runtime exception applies to
14 * this software (see LICENSE.GPL_WRE file mentioned below for details).
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Library General Public License for more details.
20 *
21 * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22 */
23
24#include <interfaces/NavPathInterface.h>
25
26#include <core/exceptions/software.h>
27
28#include <map>
29#include <string>
30#include <cstring>
31#include <cstdlib>
32
33namespace fawkes {
34
35/** @class NavPathInterface <interfaces/NavPathInterface.h>
36 * NavPathInterface Fawkes BlackBoard Interface.
37 *
38 The navigator interface is used by the navigator to export information about
39 the current status of the navigator and to define all messages by which the navigator
40 can be instructed.
41
42 There are three coordinate systems, the robot system which is a right-handed cartesian
43 coordinate system with the robot in its origin, X axis pointing forward, Y pointing to
44 the left and Z pointing upwards. The second coordinate system is the so-called
45 navigator system. It is a coordinate system similar to the robot system, but the
46 origin is defined on the initialization of the navigator. The last system is the
47 odometry system. It is again a similar system, but the origin is reset from time
48 to time and the robot's position in this system gives the odometry deltas.
49
50 * @ingroup FawkesInterfaces
51 */
52
53
54
55/** Constructor */
56NavPathInterface::NavPathInterface() : Interface()
57{
58 data_size = sizeof(NavPathInterface_data_t);
59 data_ptr = malloc(data_size);
60 data = (NavPathInterface_data_t *)data_ptr;
61 data_ts = (interface_data_ts_t *)data_ptr;
62 memset(data_ptr, 0, data_size);
63 add_fieldinfo(IFT_STRING, "path_node_1", 64, data->path_node_1);
64 add_fieldinfo(IFT_STRING, "path_node_2", 64, data->path_node_2);
65 add_fieldinfo(IFT_STRING, "path_node_3", 64, data->path_node_3);
66 add_fieldinfo(IFT_STRING, "path_node_4", 64, data->path_node_4);
67 add_fieldinfo(IFT_STRING, "path_node_5", 64, data->path_node_5);
68 add_fieldinfo(IFT_STRING, "path_node_6", 64, data->path_node_6);
69 add_fieldinfo(IFT_STRING, "path_node_7", 64, data->path_node_7);
70 add_fieldinfo(IFT_STRING, "path_node_8", 64, data->path_node_8);
71 add_fieldinfo(IFT_STRING, "path_node_9", 64, data->path_node_9);
72 add_fieldinfo(IFT_STRING, "path_node_10", 64, data->path_node_10);
73 add_fieldinfo(IFT_STRING, "path_node_11", 64, data->path_node_11);
74 add_fieldinfo(IFT_STRING, "path_node_12", 64, data->path_node_12);
75 add_fieldinfo(IFT_STRING, "path_node_13", 64, data->path_node_13);
76 add_fieldinfo(IFT_STRING, "path_node_14", 64, data->path_node_14);
77 add_fieldinfo(IFT_STRING, "path_node_15", 64, data->path_node_15);
78 add_fieldinfo(IFT_STRING, "path_node_16", 64, data->path_node_16);
79 add_fieldinfo(IFT_STRING, "path_node_17", 64, data->path_node_17);
80 add_fieldinfo(IFT_STRING, "path_node_18", 64, data->path_node_18);
81 add_fieldinfo(IFT_STRING, "path_node_19", 64, data->path_node_19);
82 add_fieldinfo(IFT_STRING, "path_node_20", 64, data->path_node_20);
83 add_fieldinfo(IFT_STRING, "path_node_21", 64, data->path_node_21);
84 add_fieldinfo(IFT_STRING, "path_node_22", 64, data->path_node_22);
85 add_fieldinfo(IFT_STRING, "path_node_23", 64, data->path_node_23);
86 add_fieldinfo(IFT_STRING, "path_node_24", 64, data->path_node_24);
87 add_fieldinfo(IFT_STRING, "path_node_25", 64, data->path_node_25);
88 add_fieldinfo(IFT_STRING, "path_node_26", 64, data->path_node_26);
89 add_fieldinfo(IFT_STRING, "path_node_27", 64, data->path_node_27);
90 add_fieldinfo(IFT_STRING, "path_node_28", 64, data->path_node_28);
91 add_fieldinfo(IFT_STRING, "path_node_29", 64, data->path_node_29);
92 add_fieldinfo(IFT_STRING, "path_node_30", 64, data->path_node_30);
93 add_fieldinfo(IFT_STRING, "path_node_31", 64, data->path_node_31);
94 add_fieldinfo(IFT_STRING, "path_node_32", 64, data->path_node_32);
95 add_fieldinfo(IFT_STRING, "path_node_33", 64, data->path_node_33);
96 add_fieldinfo(IFT_STRING, "path_node_34", 64, data->path_node_34);
97 add_fieldinfo(IFT_STRING, "path_node_35", 64, data->path_node_35);
98 add_fieldinfo(IFT_STRING, "path_node_36", 64, data->path_node_36);
99 add_fieldinfo(IFT_STRING, "path_node_37", 64, data->path_node_37);
100 add_fieldinfo(IFT_STRING, "path_node_38", 64, data->path_node_38);
101 add_fieldinfo(IFT_STRING, "path_node_39", 64, data->path_node_39);
102 add_fieldinfo(IFT_STRING, "path_node_40", 64, data->path_node_40);
103 add_fieldinfo(IFT_UINT32, "path_length", 1, &data->path_length);
104 unsigned char tmp_hash[] = {0x9d, 0xe, 0xdb, 0x61, 0x65, 0x94, 0x3d, 0x7a, 0x87, 0x95, 0x8f, 0x85, 0x87, 0xa4, 0x5f, 0x61};
105 set_hash(tmp_hash);
106}
107
108/** Destructor */
109NavPathInterface::~NavPathInterface()
110{
111 free(data_ptr);
112}
113/* Methods */
114/** Get path_node_1 value.
115 * Path Node
116 * @return path_node_1 value
117 */
118char *
119NavPathInterface::path_node_1() const
120{
121 return data->path_node_1;
122}
123
124/** Get maximum length of path_node_1 value.
125 * @return length of path_node_1 value, can be length of the array or number of
126 * maximum number of characters for a string
127 */
128size_t
129NavPathInterface::maxlenof_path_node_1() const
130{
131 return 64;
132}
133
134/** Set path_node_1 value.
135 * Path Node
136 * @param new_path_node_1 new path_node_1 value
137 */
138void
139NavPathInterface::set_path_node_1(const char * new_path_node_1)
140{
141 set_field(data->path_node_1, new_path_node_1);
142}
143
144/** Get path_node_2 value.
145 * Path Node
146 * @return path_node_2 value
147 */
148char *
149NavPathInterface::path_node_2() const
150{
151 return data->path_node_2;
152}
153
154/** Get maximum length of path_node_2 value.
155 * @return length of path_node_2 value, can be length of the array or number of
156 * maximum number of characters for a string
157 */
158size_t
159NavPathInterface::maxlenof_path_node_2() const
160{
161 return 64;
162}
163
164/** Set path_node_2 value.
165 * Path Node
166 * @param new_path_node_2 new path_node_2 value
167 */
168void
169NavPathInterface::set_path_node_2(const char * new_path_node_2)
170{
171 set_field(data->path_node_2, new_path_node_2);
172}
173
174/** Get path_node_3 value.
175 * Path Node
176 * @return path_node_3 value
177 */
178char *
179NavPathInterface::path_node_3() const
180{
181 return data->path_node_3;
182}
183
184/** Get maximum length of path_node_3 value.
185 * @return length of path_node_3 value, can be length of the array or number of
186 * maximum number of characters for a string
187 */
188size_t
189NavPathInterface::maxlenof_path_node_3() const
190{
191 return 64;
192}
193
194/** Set path_node_3 value.
195 * Path Node
196 * @param new_path_node_3 new path_node_3 value
197 */
198void
199NavPathInterface::set_path_node_3(const char * new_path_node_3)
200{
201 set_field(data->path_node_3, new_path_node_3);
202}
203
204/** Get path_node_4 value.
205 * Path Node
206 * @return path_node_4 value
207 */
208char *
209NavPathInterface::path_node_4() const
210{
211 return data->path_node_4;
212}
213
214/** Get maximum length of path_node_4 value.
215 * @return length of path_node_4 value, can be length of the array or number of
216 * maximum number of characters for a string
217 */
218size_t
219NavPathInterface::maxlenof_path_node_4() const
220{
221 return 64;
222}
223
224/** Set path_node_4 value.
225 * Path Node
226 * @param new_path_node_4 new path_node_4 value
227 */
228void
229NavPathInterface::set_path_node_4(const char * new_path_node_4)
230{
231 set_field(data->path_node_4, new_path_node_4);
232}
233
234/** Get path_node_5 value.
235 * Path Node
236 * @return path_node_5 value
237 */
238char *
239NavPathInterface::path_node_5() const
240{
241 return data->path_node_5;
242}
243
244/** Get maximum length of path_node_5 value.
245 * @return length of path_node_5 value, can be length of the array or number of
246 * maximum number of characters for a string
247 */
248size_t
249NavPathInterface::maxlenof_path_node_5() const
250{
251 return 64;
252}
253
254/** Set path_node_5 value.
255 * Path Node
256 * @param new_path_node_5 new path_node_5 value
257 */
258void
259NavPathInterface::set_path_node_5(const char * new_path_node_5)
260{
261 set_field(data->path_node_5, new_path_node_5);
262}
263
264/** Get path_node_6 value.
265 * Path Node
266 * @return path_node_6 value
267 */
268char *
269NavPathInterface::path_node_6() const
270{
271 return data->path_node_6;
272}
273
274/** Get maximum length of path_node_6 value.
275 * @return length of path_node_6 value, can be length of the array or number of
276 * maximum number of characters for a string
277 */
278size_t
279NavPathInterface::maxlenof_path_node_6() const
280{
281 return 64;
282}
283
284/** Set path_node_6 value.
285 * Path Node
286 * @param new_path_node_6 new path_node_6 value
287 */
288void
289NavPathInterface::set_path_node_6(const char * new_path_node_6)
290{
291 set_field(data->path_node_6, new_path_node_6);
292}
293
294/** Get path_node_7 value.
295 * Path Node
296 * @return path_node_7 value
297 */
298char *
299NavPathInterface::path_node_7() const
300{
301 return data->path_node_7;
302}
303
304/** Get maximum length of path_node_7 value.
305 * @return length of path_node_7 value, can be length of the array or number of
306 * maximum number of characters for a string
307 */
308size_t
309NavPathInterface::maxlenof_path_node_7() const
310{
311 return 64;
312}
313
314/** Set path_node_7 value.
315 * Path Node
316 * @param new_path_node_7 new path_node_7 value
317 */
318void
319NavPathInterface::set_path_node_7(const char * new_path_node_7)
320{
321 set_field(data->path_node_7, new_path_node_7);
322}
323
324/** Get path_node_8 value.
325 * Path Node
326 * @return path_node_8 value
327 */
328char *
329NavPathInterface::path_node_8() const
330{
331 return data->path_node_8;
332}
333
334/** Get maximum length of path_node_8 value.
335 * @return length of path_node_8 value, can be length of the array or number of
336 * maximum number of characters for a string
337 */
338size_t
339NavPathInterface::maxlenof_path_node_8() const
340{
341 return 64;
342}
343
344/** Set path_node_8 value.
345 * Path Node
346 * @param new_path_node_8 new path_node_8 value
347 */
348void
349NavPathInterface::set_path_node_8(const char * new_path_node_8)
350{
351 set_field(data->path_node_8, new_path_node_8);
352}
353
354/** Get path_node_9 value.
355 * Path Node
356 * @return path_node_9 value
357 */
358char *
359NavPathInterface::path_node_9() const
360{
361 return data->path_node_9;
362}
363
364/** Get maximum length of path_node_9 value.
365 * @return length of path_node_9 value, can be length of the array or number of
366 * maximum number of characters for a string
367 */
368size_t
369NavPathInterface::maxlenof_path_node_9() const
370{
371 return 64;
372}
373
374/** Set path_node_9 value.
375 * Path Node
376 * @param new_path_node_9 new path_node_9 value
377 */
378void
379NavPathInterface::set_path_node_9(const char * new_path_node_9)
380{
381 set_field(data->path_node_9, new_path_node_9);
382}
383
384/** Get path_node_10 value.
385 * Path Node
386 * @return path_node_10 value
387 */
388char *
389NavPathInterface::path_node_10() const
390{
391 return data->path_node_10;
392}
393
394/** Get maximum length of path_node_10 value.
395 * @return length of path_node_10 value, can be length of the array or number of
396 * maximum number of characters for a string
397 */
398size_t
399NavPathInterface::maxlenof_path_node_10() const
400{
401 return 64;
402}
403
404/** Set path_node_10 value.
405 * Path Node
406 * @param new_path_node_10 new path_node_10 value
407 */
408void
409NavPathInterface::set_path_node_10(const char * new_path_node_10)
410{
411 set_field(data->path_node_10, new_path_node_10);
412}
413
414/** Get path_node_11 value.
415 * Path Node
416 * @return path_node_11 value
417 */
418char *
419NavPathInterface::path_node_11() const
420{
421 return data->path_node_11;
422}
423
424/** Get maximum length of path_node_11 value.
425 * @return length of path_node_11 value, can be length of the array or number of
426 * maximum number of characters for a string
427 */
428size_t
429NavPathInterface::maxlenof_path_node_11() const
430{
431 return 64;
432}
433
434/** Set path_node_11 value.
435 * Path Node
436 * @param new_path_node_11 new path_node_11 value
437 */
438void
439NavPathInterface::set_path_node_11(const char * new_path_node_11)
440{
441 set_field(data->path_node_11, new_path_node_11);
442}
443
444/** Get path_node_12 value.
445 * Path Node
446 * @return path_node_12 value
447 */
448char *
449NavPathInterface::path_node_12() const
450{
451 return data->path_node_12;
452}
453
454/** Get maximum length of path_node_12 value.
455 * @return length of path_node_12 value, can be length of the array or number of
456 * maximum number of characters for a string
457 */
458size_t
459NavPathInterface::maxlenof_path_node_12() const
460{
461 return 64;
462}
463
464/** Set path_node_12 value.
465 * Path Node
466 * @param new_path_node_12 new path_node_12 value
467 */
468void
469NavPathInterface::set_path_node_12(const char * new_path_node_12)
470{
471 set_field(data->path_node_12, new_path_node_12);
472}
473
474/** Get path_node_13 value.
475 * Path Node
476 * @return path_node_13 value
477 */
478char *
479NavPathInterface::path_node_13() const
480{
481 return data->path_node_13;
482}
483
484/** Get maximum length of path_node_13 value.
485 * @return length of path_node_13 value, can be length of the array or number of
486 * maximum number of characters for a string
487 */
488size_t
489NavPathInterface::maxlenof_path_node_13() const
490{
491 return 64;
492}
493
494/** Set path_node_13 value.
495 * Path Node
496 * @param new_path_node_13 new path_node_13 value
497 */
498void
499NavPathInterface::set_path_node_13(const char * new_path_node_13)
500{
501 set_field(data->path_node_13, new_path_node_13);
502}
503
504/** Get path_node_14 value.
505 * Path Node
506 * @return path_node_14 value
507 */
508char *
509NavPathInterface::path_node_14() const
510{
511 return data->path_node_14;
512}
513
514/** Get maximum length of path_node_14 value.
515 * @return length of path_node_14 value, can be length of the array or number of
516 * maximum number of characters for a string
517 */
518size_t
519NavPathInterface::maxlenof_path_node_14() const
520{
521 return 64;
522}
523
524/** Set path_node_14 value.
525 * Path Node
526 * @param new_path_node_14 new path_node_14 value
527 */
528void
529NavPathInterface::set_path_node_14(const char * new_path_node_14)
530{
531 set_field(data->path_node_14, new_path_node_14);
532}
533
534/** Get path_node_15 value.
535 * Path Node
536 * @return path_node_15 value
537 */
538char *
539NavPathInterface::path_node_15() const
540{
541 return data->path_node_15;
542}
543
544/** Get maximum length of path_node_15 value.
545 * @return length of path_node_15 value, can be length of the array or number of
546 * maximum number of characters for a string
547 */
548size_t
549NavPathInterface::maxlenof_path_node_15() const
550{
551 return 64;
552}
553
554/** Set path_node_15 value.
555 * Path Node
556 * @param new_path_node_15 new path_node_15 value
557 */
558void
559NavPathInterface::set_path_node_15(const char * new_path_node_15)
560{
561 set_field(data->path_node_15, new_path_node_15);
562}
563
564/** Get path_node_16 value.
565 * Path Node
566 * @return path_node_16 value
567 */
568char *
569NavPathInterface::path_node_16() const
570{
571 return data->path_node_16;
572}
573
574/** Get maximum length of path_node_16 value.
575 * @return length of path_node_16 value, can be length of the array or number of
576 * maximum number of characters for a string
577 */
578size_t
579NavPathInterface::maxlenof_path_node_16() const
580{
581 return 64;
582}
583
584/** Set path_node_16 value.
585 * Path Node
586 * @param new_path_node_16 new path_node_16 value
587 */
588void
589NavPathInterface::set_path_node_16(const char * new_path_node_16)
590{
591 set_field(data->path_node_16, new_path_node_16);
592}
593
594/** Get path_node_17 value.
595 * Path Node
596 * @return path_node_17 value
597 */
598char *
599NavPathInterface::path_node_17() const
600{
601 return data->path_node_17;
602}
603
604/** Get maximum length of path_node_17 value.
605 * @return length of path_node_17 value, can be length of the array or number of
606 * maximum number of characters for a string
607 */
608size_t
609NavPathInterface::maxlenof_path_node_17() const
610{
611 return 64;
612}
613
614/** Set path_node_17 value.
615 * Path Node
616 * @param new_path_node_17 new path_node_17 value
617 */
618void
619NavPathInterface::set_path_node_17(const char * new_path_node_17)
620{
621 set_field(data->path_node_17, new_path_node_17);
622}
623
624/** Get path_node_18 value.
625 * Path Node
626 * @return path_node_18 value
627 */
628char *
629NavPathInterface::path_node_18() const
630{
631 return data->path_node_18;
632}
633
634/** Get maximum length of path_node_18 value.
635 * @return length of path_node_18 value, can be length of the array or number of
636 * maximum number of characters for a string
637 */
638size_t
639NavPathInterface::maxlenof_path_node_18() const
640{
641 return 64;
642}
643
644/** Set path_node_18 value.
645 * Path Node
646 * @param new_path_node_18 new path_node_18 value
647 */
648void
649NavPathInterface::set_path_node_18(const char * new_path_node_18)
650{
651 set_field(data->path_node_18, new_path_node_18);
652}
653
654/** Get path_node_19 value.
655 * Path Node
656 * @return path_node_19 value
657 */
658char *
659NavPathInterface::path_node_19() const
660{
661 return data->path_node_19;
662}
663
664/** Get maximum length of path_node_19 value.
665 * @return length of path_node_19 value, can be length of the array or number of
666 * maximum number of characters for a string
667 */
668size_t
669NavPathInterface::maxlenof_path_node_19() const
670{
671 return 64;
672}
673
674/** Set path_node_19 value.
675 * Path Node
676 * @param new_path_node_19 new path_node_19 value
677 */
678void
679NavPathInterface::set_path_node_19(const char * new_path_node_19)
680{
681 set_field(data->path_node_19, new_path_node_19);
682}
683
684/** Get path_node_20 value.
685 * Path Node
686 * @return path_node_20 value
687 */
688char *
689NavPathInterface::path_node_20() const
690{
691 return data->path_node_20;
692}
693
694/** Get maximum length of path_node_20 value.
695 * @return length of path_node_20 value, can be length of the array or number of
696 * maximum number of characters for a string
697 */
698size_t
699NavPathInterface::maxlenof_path_node_20() const
700{
701 return 64;
702}
703
704/** Set path_node_20 value.
705 * Path Node
706 * @param new_path_node_20 new path_node_20 value
707 */
708void
709NavPathInterface::set_path_node_20(const char * new_path_node_20)
710{
711 set_field(data->path_node_20, new_path_node_20);
712}
713
714/** Get path_node_21 value.
715 * Path Node
716 * @return path_node_21 value
717 */
718char *
719NavPathInterface::path_node_21() const
720{
721 return data->path_node_21;
722}
723
724/** Get maximum length of path_node_21 value.
725 * @return length of path_node_21 value, can be length of the array or number of
726 * maximum number of characters for a string
727 */
728size_t
729NavPathInterface::maxlenof_path_node_21() const
730{
731 return 64;
732}
733
734/** Set path_node_21 value.
735 * Path Node
736 * @param new_path_node_21 new path_node_21 value
737 */
738void
739NavPathInterface::set_path_node_21(const char * new_path_node_21)
740{
741 set_field(data->path_node_21, new_path_node_21);
742}
743
744/** Get path_node_22 value.
745 * Path Node
746 * @return path_node_22 value
747 */
748char *
749NavPathInterface::path_node_22() const
750{
751 return data->path_node_22;
752}
753
754/** Get maximum length of path_node_22 value.
755 * @return length of path_node_22 value, can be length of the array or number of
756 * maximum number of characters for a string
757 */
758size_t
759NavPathInterface::maxlenof_path_node_22() const
760{
761 return 64;
762}
763
764/** Set path_node_22 value.
765 * Path Node
766 * @param new_path_node_22 new path_node_22 value
767 */
768void
769NavPathInterface::set_path_node_22(const char * new_path_node_22)
770{
771 set_field(data->path_node_22, new_path_node_22);
772}
773
774/** Get path_node_23 value.
775 * Path Node
776 * @return path_node_23 value
777 */
778char *
779NavPathInterface::path_node_23() const
780{
781 return data->path_node_23;
782}
783
784/** Get maximum length of path_node_23 value.
785 * @return length of path_node_23 value, can be length of the array or number of
786 * maximum number of characters for a string
787 */
788size_t
789NavPathInterface::maxlenof_path_node_23() const
790{
791 return 64;
792}
793
794/** Set path_node_23 value.
795 * Path Node
796 * @param new_path_node_23 new path_node_23 value
797 */
798void
799NavPathInterface::set_path_node_23(const char * new_path_node_23)
800{
801 set_field(data->path_node_23, new_path_node_23);
802}
803
804/** Get path_node_24 value.
805 * Path Node
806 * @return path_node_24 value
807 */
808char *
809NavPathInterface::path_node_24() const
810{
811 return data->path_node_24;
812}
813
814/** Get maximum length of path_node_24 value.
815 * @return length of path_node_24 value, can be length of the array or number of
816 * maximum number of characters for a string
817 */
818size_t
819NavPathInterface::maxlenof_path_node_24() const
820{
821 return 64;
822}
823
824/** Set path_node_24 value.
825 * Path Node
826 * @param new_path_node_24 new path_node_24 value
827 */
828void
829NavPathInterface::set_path_node_24(const char * new_path_node_24)
830{
831 set_field(data->path_node_24, new_path_node_24);
832}
833
834/** Get path_node_25 value.
835 * Path Node
836 * @return path_node_25 value
837 */
838char *
839NavPathInterface::path_node_25() const
840{
841 return data->path_node_25;
842}
843
844/** Get maximum length of path_node_25 value.
845 * @return length of path_node_25 value, can be length of the array or number of
846 * maximum number of characters for a string
847 */
848size_t
849NavPathInterface::maxlenof_path_node_25() const
850{
851 return 64;
852}
853
854/** Set path_node_25 value.
855 * Path Node
856 * @param new_path_node_25 new path_node_25 value
857 */
858void
859NavPathInterface::set_path_node_25(const char * new_path_node_25)
860{
861 set_field(data->path_node_25, new_path_node_25);
862}
863
864/** Get path_node_26 value.
865 * Path Node
866 * @return path_node_26 value
867 */
868char *
869NavPathInterface::path_node_26() const
870{
871 return data->path_node_26;
872}
873
874/** Get maximum length of path_node_26 value.
875 * @return length of path_node_26 value, can be length of the array or number of
876 * maximum number of characters for a string
877 */
878size_t
879NavPathInterface::maxlenof_path_node_26() const
880{
881 return 64;
882}
883
884/** Set path_node_26 value.
885 * Path Node
886 * @param new_path_node_26 new path_node_26 value
887 */
888void
889NavPathInterface::set_path_node_26(const char * new_path_node_26)
890{
891 set_field(data->path_node_26, new_path_node_26);
892}
893
894/** Get path_node_27 value.
895 * Path Node
896 * @return path_node_27 value
897 */
898char *
899NavPathInterface::path_node_27() const
900{
901 return data->path_node_27;
902}
903
904/** Get maximum length of path_node_27 value.
905 * @return length of path_node_27 value, can be length of the array or number of
906 * maximum number of characters for a string
907 */
908size_t
909NavPathInterface::maxlenof_path_node_27() const
910{
911 return 64;
912}
913
914/** Set path_node_27 value.
915 * Path Node
916 * @param new_path_node_27 new path_node_27 value
917 */
918void
919NavPathInterface::set_path_node_27(const char * new_path_node_27)
920{
921 set_field(data->path_node_27, new_path_node_27);
922}
923
924/** Get path_node_28 value.
925 * Path Node
926 * @return path_node_28 value
927 */
928char *
929NavPathInterface::path_node_28() const
930{
931 return data->path_node_28;
932}
933
934/** Get maximum length of path_node_28 value.
935 * @return length of path_node_28 value, can be length of the array or number of
936 * maximum number of characters for a string
937 */
938size_t
939NavPathInterface::maxlenof_path_node_28() const
940{
941 return 64;
942}
943
944/** Set path_node_28 value.
945 * Path Node
946 * @param new_path_node_28 new path_node_28 value
947 */
948void
949NavPathInterface::set_path_node_28(const char * new_path_node_28)
950{
951 set_field(data->path_node_28, new_path_node_28);
952}
953
954/** Get path_node_29 value.
955 * Path Node
956 * @return path_node_29 value
957 */
958char *
959NavPathInterface::path_node_29() const
960{
961 return data->path_node_29;
962}
963
964/** Get maximum length of path_node_29 value.
965 * @return length of path_node_29 value, can be length of the array or number of
966 * maximum number of characters for a string
967 */
968size_t
969NavPathInterface::maxlenof_path_node_29() const
970{
971 return 64;
972}
973
974/** Set path_node_29 value.
975 * Path Node
976 * @param new_path_node_29 new path_node_29 value
977 */
978void
979NavPathInterface::set_path_node_29(const char * new_path_node_29)
980{
981 set_field(data->path_node_29, new_path_node_29);
982}
983
984/** Get path_node_30 value.
985 * Path Node
986 * @return path_node_30 value
987 */
988char *
989NavPathInterface::path_node_30() const
990{
991 return data->path_node_30;
992}
993
994/** Get maximum length of path_node_30 value.
995 * @return length of path_node_30 value, can be length of the array or number of
996 * maximum number of characters for a string
997 */
998size_t
999NavPathInterface::maxlenof_path_node_30() const
1000{
1001 return 64;
1002}
1003
1004/** Set path_node_30 value.
1005 * Path Node
1006 * @param new_path_node_30 new path_node_30 value
1007 */
1008void
1009NavPathInterface::set_path_node_30(const char * new_path_node_30)
1010{
1011 set_field(data->path_node_30, new_path_node_30);
1012}
1013
1014/** Get path_node_31 value.
1015 * Path Node
1016 * @return path_node_31 value
1017 */
1018char *
1019NavPathInterface::path_node_31() const
1020{
1021 return data->path_node_31;
1022}
1023
1024/** Get maximum length of path_node_31 value.
1025 * @return length of path_node_31 value, can be length of the array or number of
1026 * maximum number of characters for a string
1027 */
1028size_t
1029NavPathInterface::maxlenof_path_node_31() const
1030{
1031 return 64;
1032}
1033
1034/** Set path_node_31 value.
1035 * Path Node
1036 * @param new_path_node_31 new path_node_31 value
1037 */
1038void
1039NavPathInterface::set_path_node_31(const char * new_path_node_31)
1040{
1041 set_field(data->path_node_31, new_path_node_31);
1042}
1043
1044/** Get path_node_32 value.
1045 * Path Node
1046 * @return path_node_32 value
1047 */
1048char *
1049NavPathInterface::path_node_32() const
1050{
1051 return data->path_node_32;
1052}
1053
1054/** Get maximum length of path_node_32 value.
1055 * @return length of path_node_32 value, can be length of the array or number of
1056 * maximum number of characters for a string
1057 */
1058size_t
1059NavPathInterface::maxlenof_path_node_32() const
1060{
1061 return 64;
1062}
1063
1064/** Set path_node_32 value.
1065 * Path Node
1066 * @param new_path_node_32 new path_node_32 value
1067 */
1068void
1069NavPathInterface::set_path_node_32(const char * new_path_node_32)
1070{
1071 set_field(data->path_node_32, new_path_node_32);
1072}
1073
1074/** Get path_node_33 value.
1075 * Path Node
1076 * @return path_node_33 value
1077 */
1078char *
1079NavPathInterface::path_node_33() const
1080{
1081 return data->path_node_33;
1082}
1083
1084/** Get maximum length of path_node_33 value.
1085 * @return length of path_node_33 value, can be length of the array or number of
1086 * maximum number of characters for a string
1087 */
1088size_t
1089NavPathInterface::maxlenof_path_node_33() const
1090{
1091 return 64;
1092}
1093
1094/** Set path_node_33 value.
1095 * Path Node
1096 * @param new_path_node_33 new path_node_33 value
1097 */
1098void
1099NavPathInterface::set_path_node_33(const char * new_path_node_33)
1100{
1101 set_field(data->path_node_33, new_path_node_33);
1102}
1103
1104/** Get path_node_34 value.
1105 * Path Node
1106 * @return path_node_34 value
1107 */
1108char *
1109NavPathInterface::path_node_34() const
1110{
1111 return data->path_node_34;
1112}
1113
1114/** Get maximum length of path_node_34 value.
1115 * @return length of path_node_34 value, can be length of the array or number of
1116 * maximum number of characters for a string
1117 */
1118size_t
1119NavPathInterface::maxlenof_path_node_34() const
1120{
1121 return 64;
1122}
1123
1124/** Set path_node_34 value.
1125 * Path Node
1126 * @param new_path_node_34 new path_node_34 value
1127 */
1128void
1129NavPathInterface::set_path_node_34(const char * new_path_node_34)
1130{
1131 set_field(data->path_node_34, new_path_node_34);
1132}
1133
1134/** Get path_node_35 value.
1135 * Path Node
1136 * @return path_node_35 value
1137 */
1138char *
1139NavPathInterface::path_node_35() const
1140{
1141 return data->path_node_35;
1142}
1143
1144/** Get maximum length of path_node_35 value.
1145 * @return length of path_node_35 value, can be length of the array or number of
1146 * maximum number of characters for a string
1147 */
1148size_t
1149NavPathInterface::maxlenof_path_node_35() const
1150{
1151 return 64;
1152}
1153
1154/** Set path_node_35 value.
1155 * Path Node
1156 * @param new_path_node_35 new path_node_35 value
1157 */
1158void
1159NavPathInterface::set_path_node_35(const char * new_path_node_35)
1160{
1161 set_field(data->path_node_35, new_path_node_35);
1162}
1163
1164/** Get path_node_36 value.
1165 * Path Node
1166 * @return path_node_36 value
1167 */
1168char *
1169NavPathInterface::path_node_36() const
1170{
1171 return data->path_node_36;
1172}
1173
1174/** Get maximum length of path_node_36 value.
1175 * @return length of path_node_36 value, can be length of the array or number of
1176 * maximum number of characters for a string
1177 */
1178size_t
1179NavPathInterface::maxlenof_path_node_36() const
1180{
1181 return 64;
1182}
1183
1184/** Set path_node_36 value.
1185 * Path Node
1186 * @param new_path_node_36 new path_node_36 value
1187 */
1188void
1189NavPathInterface::set_path_node_36(const char * new_path_node_36)
1190{
1191 set_field(data->path_node_36, new_path_node_36);
1192}
1193
1194/** Get path_node_37 value.
1195 * Path Node
1196 * @return path_node_37 value
1197 */
1198char *
1199NavPathInterface::path_node_37() const
1200{
1201 return data->path_node_37;
1202}
1203
1204/** Get maximum length of path_node_37 value.
1205 * @return length of path_node_37 value, can be length of the array or number of
1206 * maximum number of characters for a string
1207 */
1208size_t
1209NavPathInterface::maxlenof_path_node_37() const
1210{
1211 return 64;
1212}
1213
1214/** Set path_node_37 value.
1215 * Path Node
1216 * @param new_path_node_37 new path_node_37 value
1217 */
1218void
1219NavPathInterface::set_path_node_37(const char * new_path_node_37)
1220{
1221 set_field(data->path_node_37, new_path_node_37);
1222}
1223
1224/** Get path_node_38 value.
1225 * Path Node
1226 * @return path_node_38 value
1227 */
1228char *
1229NavPathInterface::path_node_38() const
1230{
1231 return data->path_node_38;
1232}
1233
1234/** Get maximum length of path_node_38 value.
1235 * @return length of path_node_38 value, can be length of the array or number of
1236 * maximum number of characters for a string
1237 */
1238size_t
1239NavPathInterface::maxlenof_path_node_38() const
1240{
1241 return 64;
1242}
1243
1244/** Set path_node_38 value.
1245 * Path Node
1246 * @param new_path_node_38 new path_node_38 value
1247 */
1248void
1249NavPathInterface::set_path_node_38(const char * new_path_node_38)
1250{
1251 set_field(data->path_node_38, new_path_node_38);
1252}
1253
1254/** Get path_node_39 value.
1255 * Path Node
1256 * @return path_node_39 value
1257 */
1258char *
1259NavPathInterface::path_node_39() const
1260{
1261 return data->path_node_39;
1262}
1263
1264/** Get maximum length of path_node_39 value.
1265 * @return length of path_node_39 value, can be length of the array or number of
1266 * maximum number of characters for a string
1267 */
1268size_t
1269NavPathInterface::maxlenof_path_node_39() const
1270{
1271 return 64;
1272}
1273
1274/** Set path_node_39 value.
1275 * Path Node
1276 * @param new_path_node_39 new path_node_39 value
1277 */
1278void
1279NavPathInterface::set_path_node_39(const char * new_path_node_39)
1280{
1281 set_field(data->path_node_39, new_path_node_39);
1282}
1283
1284/** Get path_node_40 value.
1285 * Path Node
1286 * @return path_node_40 value
1287 */
1288char *
1289NavPathInterface::path_node_40() const
1290{
1291 return data->path_node_40;
1292}
1293
1294/** Get maximum length of path_node_40 value.
1295 * @return length of path_node_40 value, can be length of the array or number of
1296 * maximum number of characters for a string
1297 */
1298size_t
1299NavPathInterface::maxlenof_path_node_40() const
1300{
1301 return 64;
1302}
1303
1304/** Set path_node_40 value.
1305 * Path Node
1306 * @param new_path_node_40 new path_node_40 value
1307 */
1308void
1309NavPathInterface::set_path_node_40(const char * new_path_node_40)
1310{
1311 set_field(data->path_node_40, new_path_node_40);
1312}
1313
1314/** Get path_length value.
1315 * Length of path
1316 * @return path_length value
1317 */
1318uint32_t
1319NavPathInterface::path_length() const
1320{
1321 return data->path_length;
1322}
1323
1324/** Get maximum length of path_length value.
1325 * @return length of path_length value, can be length of the array or number of
1326 * maximum number of characters for a string
1327 */
1328size_t
1329NavPathInterface::maxlenof_path_length() const
1330{
1331 return 1;
1332}
1333
1334/** Set path_length value.
1335 * Length of path
1336 * @param new_path_length new path_length value
1337 */
1338void
1339NavPathInterface::set_path_length(const uint32_t new_path_length)
1340{
1341 set_field(data->path_length, new_path_length);
1342}
1343
1344/* =========== message create =========== */
1345Message *
1346NavPathInterface::create_message(const char *type) const
1347{
1348 throw UnknownTypeException("The given type '%s' does not match any known "
1349 "message type for this interface type.", type);
1350}
1351
1352
1353/** Copy values from other interface.
1354 * @param other other interface to copy values from
1355 */
1356void
1357NavPathInterface::copy_values(const Interface *other)
1358{
1359 const NavPathInterface *oi = dynamic_cast<const NavPathInterface *>(other);
1360 if (oi == NULL) {
1361 throw TypeMismatchException("Can only copy values from interface of same type (%s vs. %s)",
1362 type(), other->type());
1363 }
1364 memcpy(data, oi->data, sizeof(NavPathInterface_data_t));
1365}
1366
1367const char *
1368NavPathInterface::enum_tostring(const char *enumtype, int val) const
1369{
1370 throw UnknownTypeException("Unknown enum type %s", enumtype);
1371}
1372
1373/* =========== messages =========== */
1374/** Check if message is valid and can be enqueued.
1375 * @param message Message to check
1376 * @return true if the message is valid, false otherwise.
1377 */
1378bool
1379NavPathInterface::message_valid(const Message *message) const
1380{
1381 return false;
1382}
1383
1384/// @cond INTERNALS
1385EXPORT_INTERFACE(NavPathInterface)
1386/// @endcond
1387
1388
1389} // end namespace fawkes
Base class for all Fawkes BlackBoard interfaces.
Definition: interface.h:80
const char * type() const
Get type of interface.
Definition: interface.cpp:652
Base class for all messages passed through interfaces in Fawkes BlackBoard.
Definition: message.h:44
NavPathInterface Fawkes BlackBoard Interface.
Fawkes library namespace.