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 *
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
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  strncpy(data->path_node_1, new_path_node_1, sizeof(data->path_node_1));
142  data_changed = true;
143 }
144 
145 /** Get path_node_2 value.
146  * Path Node
147  * @return path_node_2 value
148  */
149 char *
151 {
152  return data->path_node_2;
153 }
154 
155 /** Get maximum length of path_node_2 value.
156  * @return length of path_node_2 value, can be length of the array or number of
157  * maximum number of characters for a string
158  */
159 size_t
161 {
162  return 64;
163 }
164 
165 /** Set path_node_2 value.
166  * Path Node
167  * @param new_path_node_2 new path_node_2 value
168  */
169 void
170 NavPathInterface::set_path_node_2(const char * new_path_node_2)
171 {
172  strncpy(data->path_node_2, new_path_node_2, sizeof(data->path_node_2));
173  data_changed = true;
174 }
175 
176 /** Get path_node_3 value.
177  * Path Node
178  * @return path_node_3 value
179  */
180 char *
182 {
183  return data->path_node_3;
184 }
185 
186 /** Get maximum length of path_node_3 value.
187  * @return length of path_node_3 value, can be length of the array or number of
188  * maximum number of characters for a string
189  */
190 size_t
192 {
193  return 64;
194 }
195 
196 /** Set path_node_3 value.
197  * Path Node
198  * @param new_path_node_3 new path_node_3 value
199  */
200 void
201 NavPathInterface::set_path_node_3(const char * new_path_node_3)
202 {
203  strncpy(data->path_node_3, new_path_node_3, sizeof(data->path_node_3));
204  data_changed = true;
205 }
206 
207 /** Get path_node_4 value.
208  * Path Node
209  * @return path_node_4 value
210  */
211 char *
213 {
214  return data->path_node_4;
215 }
216 
217 /** Get maximum length of path_node_4 value.
218  * @return length of path_node_4 value, can be length of the array or number of
219  * maximum number of characters for a string
220  */
221 size_t
223 {
224  return 64;
225 }
226 
227 /** Set path_node_4 value.
228  * Path Node
229  * @param new_path_node_4 new path_node_4 value
230  */
231 void
232 NavPathInterface::set_path_node_4(const char * new_path_node_4)
233 {
234  strncpy(data->path_node_4, new_path_node_4, sizeof(data->path_node_4));
235  data_changed = true;
236 }
237 
238 /** Get path_node_5 value.
239  * Path Node
240  * @return path_node_5 value
241  */
242 char *
244 {
245  return data->path_node_5;
246 }
247 
248 /** Get maximum length of path_node_5 value.
249  * @return length of path_node_5 value, can be length of the array or number of
250  * maximum number of characters for a string
251  */
252 size_t
254 {
255  return 64;
256 }
257 
258 /** Set path_node_5 value.
259  * Path Node
260  * @param new_path_node_5 new path_node_5 value
261  */
262 void
263 NavPathInterface::set_path_node_5(const char * new_path_node_5)
264 {
265  strncpy(data->path_node_5, new_path_node_5, sizeof(data->path_node_5));
266  data_changed = true;
267 }
268 
269 /** Get path_node_6 value.
270  * Path Node
271  * @return path_node_6 value
272  */
273 char *
275 {
276  return data->path_node_6;
277 }
278 
279 /** Get maximum length of path_node_6 value.
280  * @return length of path_node_6 value, can be length of the array or number of
281  * maximum number of characters for a string
282  */
283 size_t
285 {
286  return 64;
287 }
288 
289 /** Set path_node_6 value.
290  * Path Node
291  * @param new_path_node_6 new path_node_6 value
292  */
293 void
294 NavPathInterface::set_path_node_6(const char * new_path_node_6)
295 {
296  strncpy(data->path_node_6, new_path_node_6, sizeof(data->path_node_6));
297  data_changed = true;
298 }
299 
300 /** Get path_node_7 value.
301  * Path Node
302  * @return path_node_7 value
303  */
304 char *
306 {
307  return data->path_node_7;
308 }
309 
310 /** Get maximum length of path_node_7 value.
311  * @return length of path_node_7 value, can be length of the array or number of
312  * maximum number of characters for a string
313  */
314 size_t
316 {
317  return 64;
318 }
319 
320 /** Set path_node_7 value.
321  * Path Node
322  * @param new_path_node_7 new path_node_7 value
323  */
324 void
325 NavPathInterface::set_path_node_7(const char * new_path_node_7)
326 {
327  strncpy(data->path_node_7, new_path_node_7, sizeof(data->path_node_7));
328  data_changed = true;
329 }
330 
331 /** Get path_node_8 value.
332  * Path Node
333  * @return path_node_8 value
334  */
335 char *
337 {
338  return data->path_node_8;
339 }
340 
341 /** Get maximum length of path_node_8 value.
342  * @return length of path_node_8 value, can be length of the array or number of
343  * maximum number of characters for a string
344  */
345 size_t
347 {
348  return 64;
349 }
350 
351 /** Set path_node_8 value.
352  * Path Node
353  * @param new_path_node_8 new path_node_8 value
354  */
355 void
356 NavPathInterface::set_path_node_8(const char * new_path_node_8)
357 {
358  strncpy(data->path_node_8, new_path_node_8, sizeof(data->path_node_8));
359  data_changed = true;
360 }
361 
362 /** Get path_node_9 value.
363  * Path Node
364  * @return path_node_9 value
365  */
366 char *
368 {
369  return data->path_node_9;
370 }
371 
372 /** Get maximum length of path_node_9 value.
373  * @return length of path_node_9 value, can be length of the array or number of
374  * maximum number of characters for a string
375  */
376 size_t
378 {
379  return 64;
380 }
381 
382 /** Set path_node_9 value.
383  * Path Node
384  * @param new_path_node_9 new path_node_9 value
385  */
386 void
387 NavPathInterface::set_path_node_9(const char * new_path_node_9)
388 {
389  strncpy(data->path_node_9, new_path_node_9, sizeof(data->path_node_9));
390  data_changed = true;
391 }
392 
393 /** Get path_node_10 value.
394  * Path Node
395  * @return path_node_10 value
396  */
397 char *
399 {
400  return data->path_node_10;
401 }
402 
403 /** Get maximum length of path_node_10 value.
404  * @return length of path_node_10 value, can be length of the array or number of
405  * maximum number of characters for a string
406  */
407 size_t
409 {
410  return 64;
411 }
412 
413 /** Set path_node_10 value.
414  * Path Node
415  * @param new_path_node_10 new path_node_10 value
416  */
417 void
418 NavPathInterface::set_path_node_10(const char * new_path_node_10)
419 {
420  strncpy(data->path_node_10, new_path_node_10, sizeof(data->path_node_10));
421  data_changed = true;
422 }
423 
424 /** Get path_node_11 value.
425  * Path Node
426  * @return path_node_11 value
427  */
428 char *
430 {
431  return data->path_node_11;
432 }
433 
434 /** Get maximum length of path_node_11 value.
435  * @return length of path_node_11 value, can be length of the array or number of
436  * maximum number of characters for a string
437  */
438 size_t
440 {
441  return 64;
442 }
443 
444 /** Set path_node_11 value.
445  * Path Node
446  * @param new_path_node_11 new path_node_11 value
447  */
448 void
449 NavPathInterface::set_path_node_11(const char * new_path_node_11)
450 {
451  strncpy(data->path_node_11, new_path_node_11, sizeof(data->path_node_11));
452  data_changed = true;
453 }
454 
455 /** Get path_node_12 value.
456  * Path Node
457  * @return path_node_12 value
458  */
459 char *
461 {
462  return data->path_node_12;
463 }
464 
465 /** Get maximum length of path_node_12 value.
466  * @return length of path_node_12 value, can be length of the array or number of
467  * maximum number of characters for a string
468  */
469 size_t
471 {
472  return 64;
473 }
474 
475 /** Set path_node_12 value.
476  * Path Node
477  * @param new_path_node_12 new path_node_12 value
478  */
479 void
480 NavPathInterface::set_path_node_12(const char * new_path_node_12)
481 {
482  strncpy(data->path_node_12, new_path_node_12, sizeof(data->path_node_12));
483  data_changed = true;
484 }
485 
486 /** Get path_node_13 value.
487  * Path Node
488  * @return path_node_13 value
489  */
490 char *
492 {
493  return data->path_node_13;
494 }
495 
496 /** Get maximum length of path_node_13 value.
497  * @return length of path_node_13 value, can be length of the array or number of
498  * maximum number of characters for a string
499  */
500 size_t
502 {
503  return 64;
504 }
505 
506 /** Set path_node_13 value.
507  * Path Node
508  * @param new_path_node_13 new path_node_13 value
509  */
510 void
511 NavPathInterface::set_path_node_13(const char * new_path_node_13)
512 {
513  strncpy(data->path_node_13, new_path_node_13, sizeof(data->path_node_13));
514  data_changed = true;
515 }
516 
517 /** Get path_node_14 value.
518  * Path Node
519  * @return path_node_14 value
520  */
521 char *
523 {
524  return data->path_node_14;
525 }
526 
527 /** Get maximum length of path_node_14 value.
528  * @return length of path_node_14 value, can be length of the array or number of
529  * maximum number of characters for a string
530  */
531 size_t
533 {
534  return 64;
535 }
536 
537 /** Set path_node_14 value.
538  * Path Node
539  * @param new_path_node_14 new path_node_14 value
540  */
541 void
542 NavPathInterface::set_path_node_14(const char * new_path_node_14)
543 {
544  strncpy(data->path_node_14, new_path_node_14, sizeof(data->path_node_14));
545  data_changed = true;
546 }
547 
548 /** Get path_node_15 value.
549  * Path Node
550  * @return path_node_15 value
551  */
552 char *
554 {
555  return data->path_node_15;
556 }
557 
558 /** Get maximum length of path_node_15 value.
559  * @return length of path_node_15 value, can be length of the array or number of
560  * maximum number of characters for a string
561  */
562 size_t
564 {
565  return 64;
566 }
567 
568 /** Set path_node_15 value.
569  * Path Node
570  * @param new_path_node_15 new path_node_15 value
571  */
572 void
573 NavPathInterface::set_path_node_15(const char * new_path_node_15)
574 {
575  strncpy(data->path_node_15, new_path_node_15, sizeof(data->path_node_15));
576  data_changed = true;
577 }
578 
579 /** Get path_node_16 value.
580  * Path Node
581  * @return path_node_16 value
582  */
583 char *
585 {
586  return data->path_node_16;
587 }
588 
589 /** Get maximum length of path_node_16 value.
590  * @return length of path_node_16 value, can be length of the array or number of
591  * maximum number of characters for a string
592  */
593 size_t
595 {
596  return 64;
597 }
598 
599 /** Set path_node_16 value.
600  * Path Node
601  * @param new_path_node_16 new path_node_16 value
602  */
603 void
604 NavPathInterface::set_path_node_16(const char * new_path_node_16)
605 {
606  strncpy(data->path_node_16, new_path_node_16, sizeof(data->path_node_16));
607  data_changed = true;
608 }
609 
610 /** Get path_node_17 value.
611  * Path Node
612  * @return path_node_17 value
613  */
614 char *
616 {
617  return data->path_node_17;
618 }
619 
620 /** Get maximum length of path_node_17 value.
621  * @return length of path_node_17 value, can be length of the array or number of
622  * maximum number of characters for a string
623  */
624 size_t
626 {
627  return 64;
628 }
629 
630 /** Set path_node_17 value.
631  * Path Node
632  * @param new_path_node_17 new path_node_17 value
633  */
634 void
635 NavPathInterface::set_path_node_17(const char * new_path_node_17)
636 {
637  strncpy(data->path_node_17, new_path_node_17, sizeof(data->path_node_17));
638  data_changed = true;
639 }
640 
641 /** Get path_node_18 value.
642  * Path Node
643  * @return path_node_18 value
644  */
645 char *
647 {
648  return data->path_node_18;
649 }
650 
651 /** Get maximum length of path_node_18 value.
652  * @return length of path_node_18 value, can be length of the array or number of
653  * maximum number of characters for a string
654  */
655 size_t
657 {
658  return 64;
659 }
660 
661 /** Set path_node_18 value.
662  * Path Node
663  * @param new_path_node_18 new path_node_18 value
664  */
665 void
666 NavPathInterface::set_path_node_18(const char * new_path_node_18)
667 {
668  strncpy(data->path_node_18, new_path_node_18, sizeof(data->path_node_18));
669  data_changed = true;
670 }
671 
672 /** Get path_node_19 value.
673  * Path Node
674  * @return path_node_19 value
675  */
676 char *
678 {
679  return data->path_node_19;
680 }
681 
682 /** Get maximum length of path_node_19 value.
683  * @return length of path_node_19 value, can be length of the array or number of
684  * maximum number of characters for a string
685  */
686 size_t
688 {
689  return 64;
690 }
691 
692 /** Set path_node_19 value.
693  * Path Node
694  * @param new_path_node_19 new path_node_19 value
695  */
696 void
697 NavPathInterface::set_path_node_19(const char * new_path_node_19)
698 {
699  strncpy(data->path_node_19, new_path_node_19, sizeof(data->path_node_19));
700  data_changed = true;
701 }
702 
703 /** Get path_node_20 value.
704  * Path Node
705  * @return path_node_20 value
706  */
707 char *
709 {
710  return data->path_node_20;
711 }
712 
713 /** Get maximum length of path_node_20 value.
714  * @return length of path_node_20 value, can be length of the array or number of
715  * maximum number of characters for a string
716  */
717 size_t
719 {
720  return 64;
721 }
722 
723 /** Set path_node_20 value.
724  * Path Node
725  * @param new_path_node_20 new path_node_20 value
726  */
727 void
728 NavPathInterface::set_path_node_20(const char * new_path_node_20)
729 {
730  strncpy(data->path_node_20, new_path_node_20, sizeof(data->path_node_20));
731  data_changed = true;
732 }
733 
734 /** Get path_node_21 value.
735  * Path Node
736  * @return path_node_21 value
737  */
738 char *
740 {
741  return data->path_node_21;
742 }
743 
744 /** Get maximum length of path_node_21 value.
745  * @return length of path_node_21 value, can be length of the array or number of
746  * maximum number of characters for a string
747  */
748 size_t
750 {
751  return 64;
752 }
753 
754 /** Set path_node_21 value.
755  * Path Node
756  * @param new_path_node_21 new path_node_21 value
757  */
758 void
759 NavPathInterface::set_path_node_21(const char * new_path_node_21)
760 {
761  strncpy(data->path_node_21, new_path_node_21, sizeof(data->path_node_21));
762  data_changed = true;
763 }
764 
765 /** Get path_node_22 value.
766  * Path Node
767  * @return path_node_22 value
768  */
769 char *
771 {
772  return data->path_node_22;
773 }
774 
775 /** Get maximum length of path_node_22 value.
776  * @return length of path_node_22 value, can be length of the array or number of
777  * maximum number of characters for a string
778  */
779 size_t
781 {
782  return 64;
783 }
784 
785 /** Set path_node_22 value.
786  * Path Node
787  * @param new_path_node_22 new path_node_22 value
788  */
789 void
790 NavPathInterface::set_path_node_22(const char * new_path_node_22)
791 {
792  strncpy(data->path_node_22, new_path_node_22, sizeof(data->path_node_22));
793  data_changed = true;
794 }
795 
796 /** Get path_node_23 value.
797  * Path Node
798  * @return path_node_23 value
799  */
800 char *
802 {
803  return data->path_node_23;
804 }
805 
806 /** Get maximum length of path_node_23 value.
807  * @return length of path_node_23 value, can be length of the array or number of
808  * maximum number of characters for a string
809  */
810 size_t
812 {
813  return 64;
814 }
815 
816 /** Set path_node_23 value.
817  * Path Node
818  * @param new_path_node_23 new path_node_23 value
819  */
820 void
821 NavPathInterface::set_path_node_23(const char * new_path_node_23)
822 {
823  strncpy(data->path_node_23, new_path_node_23, sizeof(data->path_node_23));
824  data_changed = true;
825 }
826 
827 /** Get path_node_24 value.
828  * Path Node
829  * @return path_node_24 value
830  */
831 char *
833 {
834  return data->path_node_24;
835 }
836 
837 /** Get maximum length of path_node_24 value.
838  * @return length of path_node_24 value, can be length of the array or number of
839  * maximum number of characters for a string
840  */
841 size_t
843 {
844  return 64;
845 }
846 
847 /** Set path_node_24 value.
848  * Path Node
849  * @param new_path_node_24 new path_node_24 value
850  */
851 void
852 NavPathInterface::set_path_node_24(const char * new_path_node_24)
853 {
854  strncpy(data->path_node_24, new_path_node_24, sizeof(data->path_node_24));
855  data_changed = true;
856 }
857 
858 /** Get path_node_25 value.
859  * Path Node
860  * @return path_node_25 value
861  */
862 char *
864 {
865  return data->path_node_25;
866 }
867 
868 /** Get maximum length of path_node_25 value.
869  * @return length of path_node_25 value, can be length of the array or number of
870  * maximum number of characters for a string
871  */
872 size_t
874 {
875  return 64;
876 }
877 
878 /** Set path_node_25 value.
879  * Path Node
880  * @param new_path_node_25 new path_node_25 value
881  */
882 void
883 NavPathInterface::set_path_node_25(const char * new_path_node_25)
884 {
885  strncpy(data->path_node_25, new_path_node_25, sizeof(data->path_node_25));
886  data_changed = true;
887 }
888 
889 /** Get path_node_26 value.
890  * Path Node
891  * @return path_node_26 value
892  */
893 char *
895 {
896  return data->path_node_26;
897 }
898 
899 /** Get maximum length of path_node_26 value.
900  * @return length of path_node_26 value, can be length of the array or number of
901  * maximum number of characters for a string
902  */
903 size_t
905 {
906  return 64;
907 }
908 
909 /** Set path_node_26 value.
910  * Path Node
911  * @param new_path_node_26 new path_node_26 value
912  */
913 void
914 NavPathInterface::set_path_node_26(const char * new_path_node_26)
915 {
916  strncpy(data->path_node_26, new_path_node_26, sizeof(data->path_node_26));
917  data_changed = true;
918 }
919 
920 /** Get path_node_27 value.
921  * Path Node
922  * @return path_node_27 value
923  */
924 char *
926 {
927  return data->path_node_27;
928 }
929 
930 /** Get maximum length of path_node_27 value.
931  * @return length of path_node_27 value, can be length of the array or number of
932  * maximum number of characters for a string
933  */
934 size_t
936 {
937  return 64;
938 }
939 
940 /** Set path_node_27 value.
941  * Path Node
942  * @param new_path_node_27 new path_node_27 value
943  */
944 void
945 NavPathInterface::set_path_node_27(const char * new_path_node_27)
946 {
947  strncpy(data->path_node_27, new_path_node_27, sizeof(data->path_node_27));
948  data_changed = true;
949 }
950 
951 /** Get path_node_28 value.
952  * Path Node
953  * @return path_node_28 value
954  */
955 char *
957 {
958  return data->path_node_28;
959 }
960 
961 /** Get maximum length of path_node_28 value.
962  * @return length of path_node_28 value, can be length of the array or number of
963  * maximum number of characters for a string
964  */
965 size_t
967 {
968  return 64;
969 }
970 
971 /** Set path_node_28 value.
972  * Path Node
973  * @param new_path_node_28 new path_node_28 value
974  */
975 void
976 NavPathInterface::set_path_node_28(const char * new_path_node_28)
977 {
978  strncpy(data->path_node_28, new_path_node_28, sizeof(data->path_node_28));
979  data_changed = true;
980 }
981 
982 /** Get path_node_29 value.
983  * Path Node
984  * @return path_node_29 value
985  */
986 char *
988 {
989  return data->path_node_29;
990 }
991 
992 /** Get maximum length of path_node_29 value.
993  * @return length of path_node_29 value, can be length of the array or number of
994  * maximum number of characters for a string
995  */
996 size_t
998 {
999  return 64;
1000 }
1001 
1002 /** Set path_node_29 value.
1003  * Path Node
1004  * @param new_path_node_29 new path_node_29 value
1005  */
1006 void
1007 NavPathInterface::set_path_node_29(const char * new_path_node_29)
1008 {
1009  strncpy(data->path_node_29, new_path_node_29, sizeof(data->path_node_29));
1010  data_changed = true;
1011 }
1012 
1013 /** Get path_node_30 value.
1014  * Path Node
1015  * @return path_node_30 value
1016  */
1017 char *
1019 {
1020  return data->path_node_30;
1021 }
1022 
1023 /** Get maximum length of path_node_30 value.
1024  * @return length of path_node_30 value, can be length of the array or number of
1025  * maximum number of characters for a string
1026  */
1027 size_t
1029 {
1030  return 64;
1031 }
1032 
1033 /** Set path_node_30 value.
1034  * Path Node
1035  * @param new_path_node_30 new path_node_30 value
1036  */
1037 void
1038 NavPathInterface::set_path_node_30(const char * new_path_node_30)
1039 {
1040  strncpy(data->path_node_30, new_path_node_30, sizeof(data->path_node_30));
1041  data_changed = true;
1042 }
1043 
1044 /** Get path_node_31 value.
1045  * Path Node
1046  * @return path_node_31 value
1047  */
1048 char *
1050 {
1051  return data->path_node_31;
1052 }
1053 
1054 /** Get maximum length of path_node_31 value.
1055  * @return length of path_node_31 value, can be length of the array or number of
1056  * maximum number of characters for a string
1057  */
1058 size_t
1060 {
1061  return 64;
1062 }
1063 
1064 /** Set path_node_31 value.
1065  * Path Node
1066  * @param new_path_node_31 new path_node_31 value
1067  */
1068 void
1069 NavPathInterface::set_path_node_31(const char * new_path_node_31)
1070 {
1071  strncpy(data->path_node_31, new_path_node_31, sizeof(data->path_node_31));
1072  data_changed = true;
1073 }
1074 
1075 /** Get path_node_32 value.
1076  * Path Node
1077  * @return path_node_32 value
1078  */
1079 char *
1081 {
1082  return data->path_node_32;
1083 }
1084 
1085 /** Get maximum length of path_node_32 value.
1086  * @return length of path_node_32 value, can be length of the array or number of
1087  * maximum number of characters for a string
1088  */
1089 size_t
1091 {
1092  return 64;
1093 }
1094 
1095 /** Set path_node_32 value.
1096  * Path Node
1097  * @param new_path_node_32 new path_node_32 value
1098  */
1099 void
1100 NavPathInterface::set_path_node_32(const char * new_path_node_32)
1101 {
1102  strncpy(data->path_node_32, new_path_node_32, sizeof(data->path_node_32));
1103  data_changed = true;
1104 }
1105 
1106 /** Get path_node_33 value.
1107  * Path Node
1108  * @return path_node_33 value
1109  */
1110 char *
1112 {
1113  return data->path_node_33;
1114 }
1115 
1116 /** Get maximum length of path_node_33 value.
1117  * @return length of path_node_33 value, can be length of the array or number of
1118  * maximum number of characters for a string
1119  */
1120 size_t
1122 {
1123  return 64;
1124 }
1125 
1126 /** Set path_node_33 value.
1127  * Path Node
1128  * @param new_path_node_33 new path_node_33 value
1129  */
1130 void
1131 NavPathInterface::set_path_node_33(const char * new_path_node_33)
1132 {
1133  strncpy(data->path_node_33, new_path_node_33, sizeof(data->path_node_33));
1134  data_changed = true;
1135 }
1136 
1137 /** Get path_node_34 value.
1138  * Path Node
1139  * @return path_node_34 value
1140  */
1141 char *
1143 {
1144  return data->path_node_34;
1145 }
1146 
1147 /** Get maximum length of path_node_34 value.
1148  * @return length of path_node_34 value, can be length of the array or number of
1149  * maximum number of characters for a string
1150  */
1151 size_t
1153 {
1154  return 64;
1155 }
1156 
1157 /** Set path_node_34 value.
1158  * Path Node
1159  * @param new_path_node_34 new path_node_34 value
1160  */
1161 void
1162 NavPathInterface::set_path_node_34(const char * new_path_node_34)
1163 {
1164  strncpy(data->path_node_34, new_path_node_34, sizeof(data->path_node_34));
1165  data_changed = true;
1166 }
1167 
1168 /** Get path_node_35 value.
1169  * Path Node
1170  * @return path_node_35 value
1171  */
1172 char *
1174 {
1175  return data->path_node_35;
1176 }
1177 
1178 /** Get maximum length of path_node_35 value.
1179  * @return length of path_node_35 value, can be length of the array or number of
1180  * maximum number of characters for a string
1181  */
1182 size_t
1184 {
1185  return 64;
1186 }
1187 
1188 /** Set path_node_35 value.
1189  * Path Node
1190  * @param new_path_node_35 new path_node_35 value
1191  */
1192 void
1193 NavPathInterface::set_path_node_35(const char * new_path_node_35)
1194 {
1195  strncpy(data->path_node_35, new_path_node_35, sizeof(data->path_node_35));
1196  data_changed = true;
1197 }
1198 
1199 /** Get path_node_36 value.
1200  * Path Node
1201  * @return path_node_36 value
1202  */
1203 char *
1205 {
1206  return data->path_node_36;
1207 }
1208 
1209 /** Get maximum length of path_node_36 value.
1210  * @return length of path_node_36 value, can be length of the array or number of
1211  * maximum number of characters for a string
1212  */
1213 size_t
1215 {
1216  return 64;
1217 }
1218 
1219 /** Set path_node_36 value.
1220  * Path Node
1221  * @param new_path_node_36 new path_node_36 value
1222  */
1223 void
1224 NavPathInterface::set_path_node_36(const char * new_path_node_36)
1225 {
1226  strncpy(data->path_node_36, new_path_node_36, sizeof(data->path_node_36));
1227  data_changed = true;
1228 }
1229 
1230 /** Get path_node_37 value.
1231  * Path Node
1232  * @return path_node_37 value
1233  */
1234 char *
1236 {
1237  return data->path_node_37;
1238 }
1239 
1240 /** Get maximum length of path_node_37 value.
1241  * @return length of path_node_37 value, can be length of the array or number of
1242  * maximum number of characters for a string
1243  */
1244 size_t
1246 {
1247  return 64;
1248 }
1249 
1250 /** Set path_node_37 value.
1251  * Path Node
1252  * @param new_path_node_37 new path_node_37 value
1253  */
1254 void
1255 NavPathInterface::set_path_node_37(const char * new_path_node_37)
1256 {
1257  strncpy(data->path_node_37, new_path_node_37, sizeof(data->path_node_37));
1258  data_changed = true;
1259 }
1260 
1261 /** Get path_node_38 value.
1262  * Path Node
1263  * @return path_node_38 value
1264  */
1265 char *
1267 {
1268  return data->path_node_38;
1269 }
1270 
1271 /** Get maximum length of path_node_38 value.
1272  * @return length of path_node_38 value, can be length of the array or number of
1273  * maximum number of characters for a string
1274  */
1275 size_t
1277 {
1278  return 64;
1279 }
1280 
1281 /** Set path_node_38 value.
1282  * Path Node
1283  * @param new_path_node_38 new path_node_38 value
1284  */
1285 void
1286 NavPathInterface::set_path_node_38(const char * new_path_node_38)
1287 {
1288  strncpy(data->path_node_38, new_path_node_38, sizeof(data->path_node_38));
1289  data_changed = true;
1290 }
1291 
1292 /** Get path_node_39 value.
1293  * Path Node
1294  * @return path_node_39 value
1295  */
1296 char *
1298 {
1299  return data->path_node_39;
1300 }
1301 
1302 /** Get maximum length of path_node_39 value.
1303  * @return length of path_node_39 value, can be length of the array or number of
1304  * maximum number of characters for a string
1305  */
1306 size_t
1308 {
1309  return 64;
1310 }
1311 
1312 /** Set path_node_39 value.
1313  * Path Node
1314  * @param new_path_node_39 new path_node_39 value
1315  */
1316 void
1317 NavPathInterface::set_path_node_39(const char * new_path_node_39)
1318 {
1319  strncpy(data->path_node_39, new_path_node_39, sizeof(data->path_node_39));
1320  data_changed = true;
1321 }
1322 
1323 /** Get path_node_40 value.
1324  * Path Node
1325  * @return path_node_40 value
1326  */
1327 char *
1329 {
1330  return data->path_node_40;
1331 }
1332 
1333 /** Get maximum length of path_node_40 value.
1334  * @return length of path_node_40 value, can be length of the array or number of
1335  * maximum number of characters for a string
1336  */
1337 size_t
1339 {
1340  return 64;
1341 }
1342 
1343 /** Set path_node_40 value.
1344  * Path Node
1345  * @param new_path_node_40 new path_node_40 value
1346  */
1347 void
1348 NavPathInterface::set_path_node_40(const char * new_path_node_40)
1349 {
1350  strncpy(data->path_node_40, new_path_node_40, sizeof(data->path_node_40));
1351  data_changed = true;
1352 }
1353 
1354 /** Get path_length value.
1355  * Length of path
1356  * @return path_length value
1357  */
1358 uint32_t
1360 {
1361  return data->path_length;
1362 }
1363 
1364 /** Get maximum length of path_length value.
1365  * @return length of path_length value, can be length of the array or number of
1366  * maximum number of characters for a string
1367  */
1368 size_t
1370 {
1371  return 1;
1372 }
1373 
1374 /** Set path_length value.
1375  * Length of path
1376  * @param new_path_length new path_length value
1377  */
1378 void
1379 NavPathInterface::set_path_length(const uint32_t new_path_length)
1380 {
1381  data->path_length = new_path_length;
1382  data_changed = true;
1383 }
1384 
1385 /* =========== message create =========== */
1386 Message *
1388 {
1389  throw UnknownTypeException("The given type '%s' does not match any known "
1390  "message type for this interface type.", type);
1391 }
1392 
1393 
1394 /** Copy values from other interface.
1395  * @param other other interface to copy values from
1396  */
1397 void
1399 {
1400  const NavPathInterface *oi = dynamic_cast<const NavPathInterface *>(other);
1401  if (oi == NULL) {
1402  throw TypeMismatchException("Can only copy values from interface of same type (%s vs. %s)",
1403  type(), other->type());
1404  }
1405  memcpy(data, oi->data, sizeof(NavPathInterface_data_t));
1406 }
1407 
1408 const char *
1409 NavPathInterface::enum_tostring(const char *enumtype, int val) const
1410 {
1411  throw UnknownTypeException("Unknown enum type %s", enumtype);
1412 }
1413 
1414 /* =========== messages =========== */
1415 /** Check if message is valid and can be enqueued.
1416  * @param message Message to check
1417  * @return true if the message is valid, false otherwise.
1418  */
1419 bool
1421 {
1422  return false;
1423 }
1424 
1425 /// @cond INTERNALS
1426 EXPORT_INTERFACE(NavPathInterface)
1427 /// @endcond
1428 
1429 
1430 } // end namespace fawkes
size_t maxlenof_path_node_12() const
Get maximum length of path_node_12 value.
char * path_node_16() const
Get path_node_16 value.
virtual Message * create_message(const char *type) const
Create message based on type name.
size_t maxlenof_path_node_3() const
Get maximum length of path_node_3 value.
void set_path_node_37(const char *new_path_node_37)
Set path_node_37 value.
size_t maxlenof_path_node_9() const
Get maximum length of path_node_9 value.
char * path_node_22() const
Get path_node_22 value.
void set_path_node_29(const char *new_path_node_29)
Set path_node_29 value.
void * data_ptr
Pointer to memory that contains local data.
Definition: message.h:124
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
size_t maxlenof_path_node_34() const
Get maximum length of path_node_34 value.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
Definition: message.h:44
void set_path_node_26(const char *new_path_node_26)
Set path_node_26 value.
void set_path_node_14(const char *new_path_node_14)
Set path_node_14 value.
virtual const char * enum_tostring(const char *enumtype, int val) const
Convert arbitrary enum value to string.
size_t maxlenof_path_node_17() const
Get maximum length of path_node_17 value.
void set_path_node_16(const char *new_path_node_16)
Set path_node_16 value.
char * path_node_38() const
Get path_node_38 value.
void set_path_node_1(const char *new_path_node_1)
Set path_node_1 value.
void set_path_node_15(const char *new_path_node_15)
Set path_node_15 value.
char * path_node_12() const
Get path_node_12 value.
void set_hash(unsigned char *ihash)
Set hash.
Definition: interface.cpp:314
void set_path_node_27(const char *new_path_node_27)
Set path_node_27 value.
void set_path_node_19(const char *new_path_node_19)
Set path_node_19 value.
size_t maxlenof_path_node_27() const
Get maximum length of path_node_27 value.
char * path_node_18() const
Get path_node_18 value.
Fawkes library namespace.
char * path_node_15() const
Get path_node_15 value.
char * path_node_28() const
Get path_node_28 value.
void set_path_node_6(const char *new_path_node_6)
Set path_node_6 value.
size_t maxlenof_path_length() const
Get maximum length of path_length value.
size_t maxlenof_path_node_16() const
Get maximum length of path_node_16 value.
size_t maxlenof_path_node_7() const
Get maximum length of path_node_7 value.
char * path_node_2() const
Get path_node_2 value.
char * path_node_10() const
Get path_node_10 value.
void set_path_node_18(const char *new_path_node_18)
Set path_node_18 value.
size_t maxlenof_path_node_38() const
Get maximum length of path_node_38 value.
void set_path_node_30(const char *new_path_node_30)
Set path_node_30 value.
char * path_node_5() const
Get path_node_5 value.
string field
Definition: types.h:47
void set_path_node_25(const char *new_path_node_25)
Set path_node_25 value.
char * path_node_25() const
Get path_node_25 value.
size_t maxlenof_path_node_15() const
Get maximum length of path_node_15 value.
void set_path_node_36(const char *new_path_node_36)
Set path_node_36 value.
Base class for all Fawkes BlackBoard interfaces.
Definition: interface.h:79
void set_path_node_11(const char *new_path_node_11)
Set path_node_11 value.
char * path_node_35() const
Get path_node_35 value.
char * path_node_29() const
Get path_node_29 value.
char * path_node_14() const
Get path_node_14 value.
void set_path_node_24(const char *new_path_node_24)
Set path_node_24 value.
void set_path_node_28(const char *new_path_node_28)
Set path_node_28 value.
message_data_ts_t * data_ts
data timestamp aliasing pointer
Definition: message.h:133
void set_path_node_22(const char *new_path_node_22)
Set path_node_22 value.
size_t maxlenof_path_node_1() const
Get maximum length of path_node_1 value.
unsigned int data_size
Size of memory needed to hold all data.
Definition: message.h:125
void set_path_node_35(const char *new_path_node_35)
Set path_node_35 value.
char * path_node_8() const
Get path_node_8 value.
size_t maxlenof_path_node_28() const
Get maximum length of path_node_28 value.
char * path_node_39() const
Get path_node_39 value.
char * path_node_4() const
Get path_node_4 value.
bool data_changed
Indicator if data has changed.
Definition: interface.h:222
void set_path_node_32(const char *new_path_node_32)
Set path_node_32 value.
char * path_node_30() const
Get path_node_30 value.
char * path_node_24() const
Get path_node_24 value.
void set_path_node_31(const char *new_path_node_31)
Set path_node_31 value.
void set_path_node_13(const char *new_path_node_13)
Set path_node_13 value.
size_t maxlenof_path_node_25() const
Get maximum length of path_node_25 value.
size_t maxlenof_path_node_24() const
Get maximum length of path_node_24 value.
const char * type() const
Get type of interface.
Definition: interface.cpp:651
char * path_node_1() const
Get path_node_1 value.
void set_path_node_17(const char *new_path_node_17)
Set path_node_17 value.
size_t maxlenof_path_node_6() const
Get maximum length of path_node_6 value.
void set_path_node_40(const char *new_path_node_40)
Set path_node_40 value.
void set_path_node_38(const char *new_path_node_38)
Set path_node_38 value.
char * path_node_23() const
Get path_node_23 value.
char * path_node_17() const
Get path_node_17 value.
void set_path_node_12(const char *new_path_node_12)
Set path_node_12 value.
char * path_node_26() const
Get path_node_26 value.
char * path_node_37() const
Get path_node_37 value.
size_t maxlenof_path_node_29() const
Get maximum length of path_node_29 value.
char * path_node_34() const
Get path_node_34 value.
char * path_node_7() const
Get path_node_7 value.
char * path_node_20() const
Get path_node_20 value.
void set_path_node_2(const char *new_path_node_2)
Set path_node_2 value.
size_t maxlenof_path_node_21() const
Get maximum length of path_node_21 value.
void set_path_length(const uint32_t new_path_length)
Set path_length value.
size_t maxlenof_path_node_23() const
Get maximum length of path_node_23 value.
size_t maxlenof_path_node_14() const
Get maximum length of path_node_14 value.
char * path_node_21() const
Get path_node_21 value.
char * path_node_33() const
Get path_node_33 value.
char * path_node_3() const
Get path_node_3 value.
char * path_node_13() const
Get path_node_13 value.
void set_path_node_10(const char *new_path_node_10)
Set path_node_10 value.
char * path_node_32() const
Get path_node_32 value.
size_t maxlenof_path_node_10() const
Get maximum length of path_node_10 value.
void set_path_node_4(const char *new_path_node_4)
Set path_node_4 value.
size_t maxlenof_path_node_20() const
Get maximum length of path_node_20 value.
size_t maxlenof_path_node_31() const
Get maximum length of path_node_31 value.
size_t maxlenof_path_node_35() const
Get maximum length of path_node_35 value.
size_t maxlenof_path_node_18() const
Get maximum length of path_node_18 value.
void set_path_node_9(const char *new_path_node_9)
Set path_node_9 value.
size_t maxlenof_path_node_30() const
Get maximum length of path_node_30 value.
char * path_node_31() const
Get path_node_31 value.
char * path_node_9() const
Get path_node_9 value.
size_t maxlenof_path_node_8() const
Get maximum length of path_node_8 value.
char * path_node_27() const
Get path_node_27 value.
size_t maxlenof_path_node_19() const
Get maximum length of path_node_19 value.
size_t maxlenof_path_node_13() const
Get maximum length of path_node_13 value.
char * path_node_11() const
Get path_node_11 value.
size_t maxlenof_path_node_4() const
Get maximum length of path_node_4 value.
size_t maxlenof_path_node_33() const
Get maximum length of path_node_33 value.
char * path_node_40() const
Get path_node_40 value.
void set_path_node_34(const char *new_path_node_34)
Set path_node_34 value.
size_t maxlenof_path_node_32() const
Get maximum length of path_node_32 value.
void set_path_node_33(const char *new_path_node_33)
Set path_node_33 value.
void set_path_node_20(const char *new_path_node_20)
Set path_node_20 value.
void set_path_node_21(const char *new_path_node_21)
Set path_node_21 value.
uint32_t path_length() const
Get path_length value.
void set_path_node_8(const char *new_path_node_8)
Set path_node_8 value.
void set_path_node_7(const char *new_path_node_7)
Set path_node_7 value.
size_t maxlenof_path_node_39() const
Get maximum length of path_node_39 value.
void set_path_node_23(const char *new_path_node_23)
Set path_node_23 value.
void add_fieldinfo(interface_fieldtype_t type, const char *name, size_t length, void *value, const char *enumtype=0, const interface_enum_map_t *enum_map=0)
Add an entry to the info list.
Definition: message.cpp:436
NavPathInterface Fawkes BlackBoard Interface.
void set_path_node_5(const char *new_path_node_5)
Set path_node_5 value.
void set_path_node_39(const char *new_path_node_39)
Set path_node_39 value.
size_t maxlenof_path_node_5() const
Get maximum length of path_node_5 value.
void set_path_node_3(const char *new_path_node_3)
Set path_node_3 value.
char * path_node_36() const
Get path_node_36 value.
const char * type() const
Get message type.
Definition: message.cpp:378
char * path_node_19() const
Get path_node_19 value.
char * path_node_6() const
Get path_node_6 value.
size_t maxlenof_path_node_40() const
Get maximum length of path_node_40 value.
size_t maxlenof_path_node_36() const
Get maximum length of path_node_36 value.
virtual void copy_values(const Interface *other)
Copy values from other interface.
32 bit unsigned integer field
Definition: types.h:42
size_t maxlenof_path_node_22() const
Get maximum length of path_node_22 value.
size_t maxlenof_path_node_2() const
Get maximum length of path_node_2 value.
size_t maxlenof_path_node_26() const
Get maximum length of path_node_26 value.
size_t maxlenof_path_node_37() const
Get maximum length of path_node_37 value.
size_t maxlenof_path_node_11() const
Get maximum length of path_node_11 value.