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 
33 namespace 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 */
56 NavPathInterface::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 */
109 NavPathInterface::~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  */
118 char *
119 NavPathInterface::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  */
128 size_t
129 NavPathInterface::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  */
138 void
139 NavPathInterface::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  */
148 char *
149 NavPathInterface::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  */
158 size_t
159 NavPathInterface::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  */
168 void
169 NavPathInterface::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  */
178 char *
179 NavPathInterface::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  */
188 size_t
189 NavPathInterface::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  */
198 void
199 NavPathInterface::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  */
208 char *
209 NavPathInterface::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  */
218 size_t
219 NavPathInterface::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  */
228 void
229 NavPathInterface::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  */
238 char *
239 NavPathInterface::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  */
248 size_t
249 NavPathInterface::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  */
258 void
259 NavPathInterface::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  */
268 char *
269 NavPathInterface::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  */
278 size_t
279 NavPathInterface::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  */
288 void
289 NavPathInterface::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  */
298 char *
299 NavPathInterface::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  */
308 size_t
309 NavPathInterface::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  */
318 void
319 NavPathInterface::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  */
328 char *
329 NavPathInterface::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  */
338 size_t
339 NavPathInterface::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  */
348 void
349 NavPathInterface::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  */
358 char *
359 NavPathInterface::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  */
368 size_t
369 NavPathInterface::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  */
378 void
379 NavPathInterface::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  */
388 char *
389 NavPathInterface::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  */
398 size_t
399 NavPathInterface::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  */
408 void
409 NavPathInterface::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  */
418 char *
419 NavPathInterface::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  */
428 size_t
429 NavPathInterface::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  */
438 void
439 NavPathInterface::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  */
448 char *
449 NavPathInterface::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  */
458 size_t
459 NavPathInterface::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  */
468 void
469 NavPathInterface::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  */
478 char *
479 NavPathInterface::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  */
488 size_t
489 NavPathInterface::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  */
498 void
499 NavPathInterface::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  */
508 char *
509 NavPathInterface::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  */
518 size_t
519 NavPathInterface::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  */
528 void
529 NavPathInterface::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  */
538 char *
539 NavPathInterface::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  */
548 size_t
549 NavPathInterface::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  */
558 void
559 NavPathInterface::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  */
568 char *
569 NavPathInterface::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  */
578 size_t
579 NavPathInterface::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  */
588 void
589 NavPathInterface::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  */
598 char *
599 NavPathInterface::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  */
608 size_t
609 NavPathInterface::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  */
618 void
619 NavPathInterface::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  */
628 char *
629 NavPathInterface::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  */
638 size_t
639 NavPathInterface::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  */
648 void
649 NavPathInterface::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  */
658 char *
659 NavPathInterface::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  */
668 size_t
669 NavPathInterface::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  */
678 void
679 NavPathInterface::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  */
688 char *
689 NavPathInterface::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  */
698 size_t
699 NavPathInterface::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  */
708 void
709 NavPathInterface::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  */
718 char *
719 NavPathInterface::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  */
728 size_t
729 NavPathInterface::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  */
738 void
739 NavPathInterface::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  */
748 char *
749 NavPathInterface::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  */
758 size_t
759 NavPathInterface::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  */
768 void
769 NavPathInterface::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  */
778 char *
779 NavPathInterface::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  */
788 size_t
789 NavPathInterface::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  */
798 void
799 NavPathInterface::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  */
808 char *
809 NavPathInterface::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  */
818 size_t
819 NavPathInterface::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  */
828 void
829 NavPathInterface::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  */
838 char *
839 NavPathInterface::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  */
848 size_t
849 NavPathInterface::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  */
858 void
859 NavPathInterface::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  */
868 char *
869 NavPathInterface::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  */
878 size_t
879 NavPathInterface::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  */
888 void
889 NavPathInterface::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  */
898 char *
899 NavPathInterface::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  */
908 size_t
909 NavPathInterface::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  */
918 void
919 NavPathInterface::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  */
928 char *
929 NavPathInterface::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  */
938 size_t
939 NavPathInterface::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  */
948 void
949 NavPathInterface::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  */
958 char *
959 NavPathInterface::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  */
968 size_t
969 NavPathInterface::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  */
978 void
979 NavPathInterface::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  */
988 char *
989 NavPathInterface::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  */
998 size_t
999 NavPathInterface::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  */
1008 void
1009 NavPathInterface::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  */
1018 char *
1019 NavPathInterface::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  */
1028 size_t
1029 NavPathInterface::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  */
1038 void
1039 NavPathInterface::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  */
1048 char *
1049 NavPathInterface::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  */
1058 size_t
1059 NavPathInterface::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  */
1068 void
1069 NavPathInterface::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  */
1078 char *
1079 NavPathInterface::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  */
1088 size_t
1089 NavPathInterface::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  */
1098 void
1099 NavPathInterface::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  */
1108 char *
1109 NavPathInterface::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  */
1118 size_t
1119 NavPathInterface::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  */
1128 void
1129 NavPathInterface::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  */
1138 char *
1139 NavPathInterface::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  */
1148 size_t
1149 NavPathInterface::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  */
1158 void
1159 NavPathInterface::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  */
1168 char *
1169 NavPathInterface::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  */
1178 size_t
1179 NavPathInterface::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  */
1188 void
1189 NavPathInterface::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  */
1198 char *
1199 NavPathInterface::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  */
1208 size_t
1209 NavPathInterface::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  */
1218 void
1219 NavPathInterface::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  */
1228 char *
1229 NavPathInterface::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  */
1238 size_t
1239 NavPathInterface::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  */
1248 void
1249 NavPathInterface::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  */
1258 char *
1259 NavPathInterface::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  */
1268 size_t
1269 NavPathInterface::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  */
1278 void
1279 NavPathInterface::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  */
1288 char *
1289 NavPathInterface::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  */
1298 size_t
1299 NavPathInterface::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  */
1308 void
1309 NavPathInterface::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  */
1318 uint32_t
1319 NavPathInterface::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  */
1328 size_t
1329 NavPathInterface::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  */
1338 void
1339 NavPathInterface::set_path_length(const uint32_t new_path_length)
1340 {
1341  set_field(data->path_length, new_path_length);
1342 }
1343 
1344 /* =========== message create =========== */
1345 Message *
1346 NavPathInterface::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  */
1356 void
1357 NavPathInterface::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 
1367 const char *
1368 NavPathInterface::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  */
1378 bool
1379 NavPathInterface::message_valid(const Message *message) const
1380 {
1381  return false;
1382 }
1383 
1384 /// @cond INTERNALS
1385 EXPORT_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.