Fawkes API  Fawkes Development Version
OpenRaveInterface.cpp
1 
2 /***************************************************************************
3  * OpenRaveInterface.cpp - Fawkes BlackBoard Interface - OpenRaveInterface
4  *
5  * Templated created: Thu Oct 12 10:49:19 2006
6  * Copyright 2011 Bahram Maleki-Fard
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/OpenRaveInterface.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 OpenRaveInterface <interfaces/OpenRaveInterface.h>
36  * OpenRaveInterface Fawkes BlackBoard Interface.
37  *
38  Interface providing access to OpenRAVE functionality
39 
40  * @ingroup FawkesInterfaces
41  */
42 
43 
44 
45 /** Constructor */
46 OpenRaveInterface::OpenRaveInterface() : Interface()
47 {
48  data_size = sizeof(OpenRaveInterface_data_t);
49  data_ptr = malloc(data_size);
50  data = (OpenRaveInterface_data_t *)data_ptr;
51  data_ts = (interface_data_ts_t *)data_ptr;
52  memset(data_ptr, 0, data_size);
53  add_fieldinfo(IFT_UINT32, "msgid", 1, &data->msgid);
54  add_fieldinfo(IFT_BOOL, "final", 1, &data->final);
55  add_fieldinfo(IFT_UINT32, "error_code", 1, &data->error_code);
56  add_fieldinfo(IFT_BOOL, "success", 1, &data->success);
57  add_messageinfo("StartViewerMessage");
58  add_messageinfo("AddObjectMessage");
59  add_messageinfo("DeleteObjectMessage");
60  add_messageinfo("DeleteAllObjectsMessage");
61  add_messageinfo("AttachObjectMessage");
62  add_messageinfo("ReleaseObjectMessage");
63  add_messageinfo("ReleaseAllObjectsMessage");
64  add_messageinfo("MoveObjectMessage");
65  add_messageinfo("RotateObjectQuatMessage");
66  add_messageinfo("RotateObjectMessage");
67  add_messageinfo("RenameObjectMessage");
68  unsigned char tmp_hash[] = {0xac, 0x95, 0xde, 0xc, 0xea, 0xa4, 0x97, 0x56, 0x5c, 0x46, 0x11, 0x5b, 0xf7, 0x60, 0x41, 0xb};
69  set_hash(tmp_hash);
70 }
71 
72 /** Destructor */
73 OpenRaveInterface::~OpenRaveInterface()
74 {
75  free(data_ptr);
76 }
77 /* Methods */
78 /** Get msgid value.
79  * The ID of the message that is currently being
80  processed, or 0 if no message is being processed.
81  * @return msgid value
82  */
83 uint32_t
85 {
86  return data->msgid;
87 }
88 
89 /** Get maximum length of msgid value.
90  * @return length of msgid value, can be length of the array or number of
91  * maximum number of characters for a string
92  */
93 size_t
95 {
96  return 1;
97 }
98 
99 /** Set msgid value.
100  * The ID of the message that is currently being
101  processed, or 0 if no message is being processed.
102  * @param new_msgid new msgid value
103  */
104 void
105 OpenRaveInterface::set_msgid(const uint32_t new_msgid)
106 {
107  data->msgid = new_msgid;
108  data_changed = true;
109 }
110 
111 /** Get final value.
112  * True, if the last goto command has been finished,
113  false if it is still running
114  * @return final value
115  */
116 bool
118 {
119  return data->final;
120 }
121 
122 /** Get maximum length of final value.
123  * @return length of final value, can be length of the array or number of
124  * maximum number of characters for a string
125  */
126 size_t
128 {
129  return 1;
130 }
131 
132 /** Set final value.
133  * True, if the last goto command has been finished,
134  false if it is still running
135  * @param new_final new final value
136  */
137 void
138 OpenRaveInterface::set_final(const bool new_final)
139 {
140  data->final = new_final;
141  data_changed = true;
142 }
143 
144 /** Get error_code value.
145  * Failure code set if
146  final is true. 0 if no error occured, an error code from ERROR_*
147  constants otherwise (or a bit-wise combination).
148  * @return error_code value
149  */
150 uint32_t
152 {
153  return data->error_code;
154 }
155 
156 /** Get maximum length of error_code value.
157  * @return length of error_code value, can be length of the array or number of
158  * maximum number of characters for a string
159  */
160 size_t
162 {
163  return 1;
164 }
165 
166 /** Set error_code value.
167  * Failure code set if
168  final is true. 0 if no error occured, an error code from ERROR_*
169  constants otherwise (or a bit-wise combination).
170  * @param new_error_code new error_code value
171  */
172 void
173 OpenRaveInterface::set_error_code(const uint32_t new_error_code)
174 {
175  data->error_code = new_error_code;
176  data_changed = true;
177 }
178 
179 /** Get success value.
180  * True, if last command was successful. False otherwise
181  * @return success value
182  */
183 bool
185 {
186  return data->success;
187 }
188 
189 /** Get maximum length of success value.
190  * @return length of success value, can be length of the array or number of
191  * maximum number of characters for a string
192  */
193 size_t
195 {
196  return 1;
197 }
198 
199 /** Set success value.
200  * True, if last command was successful. False otherwise
201  * @param new_success new success value
202  */
203 void
204 OpenRaveInterface::set_success(const bool new_success)
205 {
206  data->success = new_success;
207  data_changed = true;
208 }
209 
210 /* =========== message create =========== */
211 Message *
212 OpenRaveInterface::create_message(const char *type) const
213 {
214  if ( strncmp("StartViewerMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_) == 0 ) {
215  return new StartViewerMessage();
216  } else if ( strncmp("AddObjectMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_) == 0 ) {
217  return new AddObjectMessage();
218  } else if ( strncmp("DeleteObjectMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_) == 0 ) {
219  return new DeleteObjectMessage();
220  } else if ( strncmp("DeleteAllObjectsMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_) == 0 ) {
221  return new DeleteAllObjectsMessage();
222  } else if ( strncmp("AttachObjectMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_) == 0 ) {
223  return new AttachObjectMessage();
224  } else if ( strncmp("ReleaseObjectMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_) == 0 ) {
225  return new ReleaseObjectMessage();
226  } else if ( strncmp("ReleaseAllObjectsMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_) == 0 ) {
227  return new ReleaseAllObjectsMessage();
228  } else if ( strncmp("MoveObjectMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_) == 0 ) {
229  return new MoveObjectMessage();
230  } else if ( strncmp("RotateObjectQuatMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_) == 0 ) {
231  return new RotateObjectQuatMessage();
232  } else if ( strncmp("RotateObjectMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_) == 0 ) {
233  return new RotateObjectMessage();
234  } else if ( strncmp("RenameObjectMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_) == 0 ) {
235  return new RenameObjectMessage();
236  } else {
237  throw UnknownTypeException("The given type '%s' does not match any known "
238  "message type for this interface type.", type);
239  }
240 }
241 
242 
243 /** Copy values from other interface.
244  * @param other other interface to copy values from
245  */
246 void
248 {
249  const OpenRaveInterface *oi = dynamic_cast<const OpenRaveInterface *>(other);
250  if (oi == NULL) {
251  throw TypeMismatchException("Can only copy values from interface of same type (%s vs. %s)",
252  type(), other->type());
253  }
254  memcpy(data, oi->data, sizeof(OpenRaveInterface_data_t));
255 }
256 
257 const char *
258 OpenRaveInterface::enum_tostring(const char *enumtype, int val) const
259 {
260  throw UnknownTypeException("Unknown enum type %s", enumtype);
261 }
262 
263 /* =========== messages =========== */
264 /** @class OpenRaveInterface::StartViewerMessage <interfaces/OpenRaveInterface.h>
265  * StartViewerMessage Fawkes BlackBoard Interface Message.
266  *
267  Start the qtcoin viewer, showing the current OpenRAVE environment.
268 
269  */
270 
271 
272 /** Constructor */
274 {
275  data_size = sizeof(StartViewerMessage_data_t);
276  data_ptr = malloc(data_size);
277  memset(data_ptr, 0, data_size);
278  data = (StartViewerMessage_data_t *)data_ptr;
280 }
281 
282 /** Destructor */
284 {
285  free(data_ptr);
286 }
287 
288 /** Copy constructor.
289  * @param m message to copy from
290  */
292 {
293  data_size = m->data_size;
294  data_ptr = malloc(data_size);
295  memcpy(data_ptr, m->data_ptr, data_size);
296  data = (StartViewerMessage_data_t *)data_ptr;
298 }
299 
300 /* Methods */
301 /** Clone this message.
302  * Produces a message of the same type as this message and copies the
303  * data to the new message.
304  * @return clone of this message
305  */
306 Message *
308 {
309  return new OpenRaveInterface::StartViewerMessage(this);
310 }
311 /** @class OpenRaveInterface::AddObjectMessage <interfaces/OpenRaveInterface.h>
312  * AddObjectMessage Fawkes BlackBoard Interface Message.
313  *
314 
315  */
316 
317 
318 /** Constructor with initial values.
319  * @param ini_name initial value for name
320  * @param ini_path initial value for path
321  */
322 OpenRaveInterface::AddObjectMessage::AddObjectMessage(const char * ini_name, const char * ini_path) : Message("AddObjectMessage")
323 {
324  data_size = sizeof(AddObjectMessage_data_t);
325  data_ptr = malloc(data_size);
326  memset(data_ptr, 0, data_size);
327  data = (AddObjectMessage_data_t *)data_ptr;
329  strncpy(data->name, ini_name, 30-1);
330  data->name[30-1] = 0;
331  strncpy(data->path, ini_path, 1024-1);
332  data->path[1024-1] = 0;
333  add_fieldinfo(IFT_STRING, "name", 30, data->name);
334  add_fieldinfo(IFT_STRING, "path", 1024, data->path);
335 }
336 /** Constructor */
338 {
339  data_size = sizeof(AddObjectMessage_data_t);
340  data_ptr = malloc(data_size);
341  memset(data_ptr, 0, data_size);
342  data = (AddObjectMessage_data_t *)data_ptr;
344  add_fieldinfo(IFT_STRING, "name", 30, data->name);
345  add_fieldinfo(IFT_STRING, "path", 1024, data->path);
346 }
347 
348 /** Destructor */
350 {
351  free(data_ptr);
352 }
353 
354 /** Copy constructor.
355  * @param m message to copy from
356  */
358 {
359  data_size = m->data_size;
360  data_ptr = malloc(data_size);
361  memcpy(data_ptr, m->data_ptr, data_size);
362  data = (AddObjectMessage_data_t *)data_ptr;
364 }
365 
366 /* Methods */
367 /** Get name value.
368  * Name of object
369  * @return name value
370  */
371 char *
373 {
374  return data->name;
375 }
376 
377 /** Get maximum length of name value.
378  * @return length of name value, can be length of the array or number of
379  * maximum number of characters for a string
380  */
381 size_t
383 {
384  return 30;
385 }
386 
387 /** Set name value.
388  * Name of object
389  * @param new_name new name value
390  */
391 void
393 {
394  strncpy(data->name, new_name, sizeof(data->name)-1);
395  data->name[sizeof(data->name)-1] = 0;
396 }
397 
398 /** Get path value.
399  * Path to object xml file
400  * @return path value
401  */
402 char *
404 {
405  return data->path;
406 }
407 
408 /** Get maximum length of path value.
409  * @return length of path value, can be length of the array or number of
410  * maximum number of characters for a string
411  */
412 size_t
414 {
415  return 1024;
416 }
417 
418 /** Set path value.
419  * Path to object xml file
420  * @param new_path new path value
421  */
422 void
424 {
425  strncpy(data->path, new_path, sizeof(data->path)-1);
426  data->path[sizeof(data->path)-1] = 0;
427 }
428 
429 /** Clone this message.
430  * Produces a message of the same type as this message and copies the
431  * data to the new message.
432  * @return clone of this message
433  */
434 Message *
436 {
437  return new OpenRaveInterface::AddObjectMessage(this);
438 }
439 /** @class OpenRaveInterface::DeleteObjectMessage <interfaces/OpenRaveInterface.h>
440  * DeleteObjectMessage Fawkes BlackBoard Interface Message.
441  *
442 
443  */
444 
445 
446 /** Constructor with initial values.
447  * @param ini_name initial value for name
448  */
449 OpenRaveInterface::DeleteObjectMessage::DeleteObjectMessage(const char * ini_name) : Message("DeleteObjectMessage")
450 {
451  data_size = sizeof(DeleteObjectMessage_data_t);
452  data_ptr = malloc(data_size);
453  memset(data_ptr, 0, data_size);
454  data = (DeleteObjectMessage_data_t *)data_ptr;
456  strncpy(data->name, ini_name, 30-1);
457  data->name[30-1] = 0;
458  add_fieldinfo(IFT_STRING, "name", 30, data->name);
459 }
460 /** Constructor */
462 {
463  data_size = sizeof(DeleteObjectMessage_data_t);
464  data_ptr = malloc(data_size);
465  memset(data_ptr, 0, data_size);
466  data = (DeleteObjectMessage_data_t *)data_ptr;
468  add_fieldinfo(IFT_STRING, "name", 30, data->name);
469 }
470 
471 /** Destructor */
473 {
474  free(data_ptr);
475 }
476 
477 /** Copy constructor.
478  * @param m message to copy from
479  */
481 {
482  data_size = m->data_size;
483  data_ptr = malloc(data_size);
484  memcpy(data_ptr, m->data_ptr, data_size);
485  data = (DeleteObjectMessage_data_t *)data_ptr;
487 }
488 
489 /* Methods */
490 /** Get name value.
491  * Name of object
492  * @return name value
493  */
494 char *
496 {
497  return data->name;
498 }
499 
500 /** Get maximum length of name value.
501  * @return length of name value, can be length of the array or number of
502  * maximum number of characters for a string
503  */
504 size_t
506 {
507  return 30;
508 }
509 
510 /** Set name value.
511  * Name of object
512  * @param new_name new name value
513  */
514 void
516 {
517  strncpy(data->name, new_name, sizeof(data->name)-1);
518  data->name[sizeof(data->name)-1] = 0;
519 }
520 
521 /** Clone this message.
522  * Produces a message of the same type as this message and copies the
523  * data to the new message.
524  * @return clone of this message
525  */
526 Message *
528 {
530 }
531 /** @class OpenRaveInterface::DeleteAllObjectsMessage <interfaces/OpenRaveInterface.h>
532  * DeleteAllObjectsMessage Fawkes BlackBoard Interface Message.
533  *
534 
535  */
536 
537 
538 /** Constructor */
540 {
541  data_size = sizeof(DeleteAllObjectsMessage_data_t);
542  data_ptr = malloc(data_size);
543  memset(data_ptr, 0, data_size);
544  data = (DeleteAllObjectsMessage_data_t *)data_ptr;
546 }
547 
548 /** Destructor */
550 {
551  free(data_ptr);
552 }
553 
554 /** Copy constructor.
555  * @param m message to copy from
556  */
558 {
559  data_size = m->data_size;
560  data_ptr = malloc(data_size);
561  memcpy(data_ptr, m->data_ptr, data_size);
562  data = (DeleteAllObjectsMessage_data_t *)data_ptr;
564 }
565 
566 /* Methods */
567 /** Clone this message.
568  * Produces a message of the same type as this message and copies the
569  * data to the new message.
570  * @return clone of this message
571  */
572 Message *
574 {
576 }
577 /** @class OpenRaveInterface::AttachObjectMessage <interfaces/OpenRaveInterface.h>
578  * AttachObjectMessage Fawkes BlackBoard Interface Message.
579  *
580 
581  */
582 
583 
584 /** Constructor with initial values.
585  * @param ini_name initial value for name
586  * @param ini_manip_name initial value for manip_name
587  */
588 OpenRaveInterface::AttachObjectMessage::AttachObjectMessage(const char * ini_name, const char * ini_manip_name) : Message("AttachObjectMessage")
589 {
590  data_size = sizeof(AttachObjectMessage_data_t);
591  data_ptr = malloc(data_size);
592  memset(data_ptr, 0, data_size);
593  data = (AttachObjectMessage_data_t *)data_ptr;
595  strncpy(data->name, ini_name, 30-1);
596  data->name[30-1] = 0;
597  strncpy(data->manip_name, ini_manip_name, 30-1);
598  data->manip_name[30-1] = 0;
599  add_fieldinfo(IFT_STRING, "name", 30, data->name);
600  add_fieldinfo(IFT_STRING, "manip_name", 30, data->manip_name);
601 }
602 /** Constructor */
604 {
605  data_size = sizeof(AttachObjectMessage_data_t);
606  data_ptr = malloc(data_size);
607  memset(data_ptr, 0, data_size);
608  data = (AttachObjectMessage_data_t *)data_ptr;
610  add_fieldinfo(IFT_STRING, "name", 30, data->name);
611  add_fieldinfo(IFT_STRING, "manip_name", 30, data->manip_name);
612 }
613 
614 /** Destructor */
616 {
617  free(data_ptr);
618 }
619 
620 /** Copy constructor.
621  * @param m message to copy from
622  */
624 {
625  data_size = m->data_size;
626  data_ptr = malloc(data_size);
627  memcpy(data_ptr, m->data_ptr, data_size);
628  data = (AttachObjectMessage_data_t *)data_ptr;
630 }
631 
632 /* Methods */
633 /** Get name value.
634  * Name of object
635  * @return name value
636  */
637 char *
639 {
640  return data->name;
641 }
642 
643 /** Get maximum length of name value.
644  * @return length of name value, can be length of the array or number of
645  * maximum number of characters for a string
646  */
647 size_t
649 {
650  return 30;
651 }
652 
653 /** Set name value.
654  * Name of object
655  * @param new_name new name value
656  */
657 void
659 {
660  strncpy(data->name, new_name, sizeof(data->name)-1);
661  data->name[sizeof(data->name)-1] = 0;
662 }
663 
664 /** Get manip_name value.
665  * Name of manipulator
666  * @return manip_name value
667  */
668 char *
670 {
671  return data->manip_name;
672 }
673 
674 /** Get maximum length of manip_name value.
675  * @return length of manip_name value, can be length of the array or number of
676  * maximum number of characters for a string
677  */
678 size_t
680 {
681  return 30;
682 }
683 
684 /** Set manip_name value.
685  * Name of manipulator
686  * @param new_manip_name new manip_name value
687  */
688 void
690 {
691  strncpy(data->manip_name, new_manip_name, sizeof(data->manip_name)-1);
692  data->manip_name[sizeof(data->manip_name)-1] = 0;
693 }
694 
695 /** Clone this message.
696  * Produces a message of the same type as this message and copies the
697  * data to the new message.
698  * @return clone of this message
699  */
700 Message *
702 {
704 }
705 /** @class OpenRaveInterface::ReleaseObjectMessage <interfaces/OpenRaveInterface.h>
706  * ReleaseObjectMessage Fawkes BlackBoard Interface Message.
707  *
708 
709  */
710 
711 
712 /** Constructor with initial values.
713  * @param ini_name initial value for name
714  */
715 OpenRaveInterface::ReleaseObjectMessage::ReleaseObjectMessage(const char * ini_name) : Message("ReleaseObjectMessage")
716 {
717  data_size = sizeof(ReleaseObjectMessage_data_t);
718  data_ptr = malloc(data_size);
719  memset(data_ptr, 0, data_size);
720  data = (ReleaseObjectMessage_data_t *)data_ptr;
722  strncpy(data->name, ini_name, 30-1);
723  data->name[30-1] = 0;
724  add_fieldinfo(IFT_STRING, "name", 30, data->name);
725 }
726 /** Constructor */
728 {
729  data_size = sizeof(ReleaseObjectMessage_data_t);
730  data_ptr = malloc(data_size);
731  memset(data_ptr, 0, data_size);
732  data = (ReleaseObjectMessage_data_t *)data_ptr;
734  add_fieldinfo(IFT_STRING, "name", 30, data->name);
735 }
736 
737 /** Destructor */
739 {
740  free(data_ptr);
741 }
742 
743 /** Copy constructor.
744  * @param m message to copy from
745  */
747 {
748  data_size = m->data_size;
749  data_ptr = malloc(data_size);
750  memcpy(data_ptr, m->data_ptr, data_size);
751  data = (ReleaseObjectMessage_data_t *)data_ptr;
753 }
754 
755 /* Methods */
756 /** Get name value.
757  * Name of object
758  * @return name value
759  */
760 char *
762 {
763  return data->name;
764 }
765 
766 /** Get maximum length of name value.
767  * @return length of name value, can be length of the array or number of
768  * maximum number of characters for a string
769  */
770 size_t
772 {
773  return 30;
774 }
775 
776 /** Set name value.
777  * Name of object
778  * @param new_name new name value
779  */
780 void
782 {
783  strncpy(data->name, new_name, sizeof(data->name)-1);
784  data->name[sizeof(data->name)-1] = 0;
785 }
786 
787 /** Clone this message.
788  * Produces a message of the same type as this message and copies the
789  * data to the new message.
790  * @return clone of this message
791  */
792 Message *
794 {
796 }
797 /** @class OpenRaveInterface::ReleaseAllObjectsMessage <interfaces/OpenRaveInterface.h>
798  * ReleaseAllObjectsMessage Fawkes BlackBoard Interface Message.
799  *
800 
801  */
802 
803 
804 /** Constructor */
806 {
807  data_size = sizeof(ReleaseAllObjectsMessage_data_t);
808  data_ptr = malloc(data_size);
809  memset(data_ptr, 0, data_size);
810  data = (ReleaseAllObjectsMessage_data_t *)data_ptr;
812 }
813 
814 /** Destructor */
816 {
817  free(data_ptr);
818 }
819 
820 /** Copy constructor.
821  * @param m message to copy from
822  */
824 {
825  data_size = m->data_size;
826  data_ptr = malloc(data_size);
827  memcpy(data_ptr, m->data_ptr, data_size);
828  data = (ReleaseAllObjectsMessage_data_t *)data_ptr;
830 }
831 
832 /* Methods */
833 /** Clone this message.
834  * Produces a message of the same type as this message and copies the
835  * data to the new message.
836  * @return clone of this message
837  */
838 Message *
840 {
842 }
843 /** @class OpenRaveInterface::MoveObjectMessage <interfaces/OpenRaveInterface.h>
844  * MoveObjectMessage Fawkes BlackBoard Interface Message.
845  *
846 
847  */
848 
849 
850 /** Constructor with initial values.
851  * @param ini_name initial value for name
852  * @param ini_x initial value for x
853  * @param ini_y initial value for y
854  * @param ini_z initial value for z
855  */
856 OpenRaveInterface::MoveObjectMessage::MoveObjectMessage(const char * ini_name, const float ini_x, const float ini_y, const float ini_z) : Message("MoveObjectMessage")
857 {
858  data_size = sizeof(MoveObjectMessage_data_t);
859  data_ptr = malloc(data_size);
860  memset(data_ptr, 0, data_size);
861  data = (MoveObjectMessage_data_t *)data_ptr;
863  strncpy(data->name, ini_name, 30-1);
864  data->name[30-1] = 0;
865  data->x = ini_x;
866  data->y = ini_y;
867  data->z = ini_z;
868  add_fieldinfo(IFT_STRING, "name", 30, data->name);
869  add_fieldinfo(IFT_FLOAT, "x", 1, &data->x);
870  add_fieldinfo(IFT_FLOAT, "y", 1, &data->y);
871  add_fieldinfo(IFT_FLOAT, "z", 1, &data->z);
872 }
873 /** Constructor */
875 {
876  data_size = sizeof(MoveObjectMessage_data_t);
877  data_ptr = malloc(data_size);
878  memset(data_ptr, 0, data_size);
879  data = (MoveObjectMessage_data_t *)data_ptr;
881  add_fieldinfo(IFT_STRING, "name", 30, data->name);
882  add_fieldinfo(IFT_FLOAT, "x", 1, &data->x);
883  add_fieldinfo(IFT_FLOAT, "y", 1, &data->y);
884  add_fieldinfo(IFT_FLOAT, "z", 1, &data->z);
885 }
886 
887 /** Destructor */
889 {
890  free(data_ptr);
891 }
892 
893 /** Copy constructor.
894  * @param m message to copy from
895  */
897 {
898  data_size = m->data_size;
899  data_ptr = malloc(data_size);
900  memcpy(data_ptr, m->data_ptr, data_size);
901  data = (MoveObjectMessage_data_t *)data_ptr;
903 }
904 
905 /* Methods */
906 /** Get name value.
907  * Name of object
908  * @return name value
909  */
910 char *
912 {
913  return data->name;
914 }
915 
916 /** Get maximum length of name value.
917  * @return length of name value, can be length of the array or number of
918  * maximum number of characters for a string
919  */
920 size_t
922 {
923  return 30;
924 }
925 
926 /** Set name value.
927  * Name of object
928  * @param new_name new name value
929  */
930 void
932 {
933  strncpy(data->name, new_name, sizeof(data->name)-1);
934  data->name[sizeof(data->name)-1] = 0;
935 }
936 
937 /** Get x value.
938  * x position of object (meters)
939  * @return x value
940  */
941 float
943 {
944  return data->x;
945 }
946 
947 /** Get maximum length of x value.
948  * @return length of x value, can be length of the array or number of
949  * maximum number of characters for a string
950  */
951 size_t
953 {
954  return 1;
955 }
956 
957 /** Set x value.
958  * x position of object (meters)
959  * @param new_x new x value
960  */
961 void
963 {
964  data->x = new_x;
965 }
966 
967 /** Get y value.
968  * y position of object (meters)
969  * @return y value
970  */
971 float
973 {
974  return data->y;
975 }
976 
977 /** Get maximum length of y value.
978  * @return length of y value, can be length of the array or number of
979  * maximum number of characters for a string
980  */
981 size_t
983 {
984  return 1;
985 }
986 
987 /** Set y value.
988  * y position of object (meters)
989  * @param new_y new y value
990  */
991 void
993 {
994  data->y = new_y;
995 }
996 
997 /** Get z value.
998  * z position of object (meters)
999  * @return z value
1000  */
1001 float
1003 {
1004  return data->z;
1005 }
1006 
1007 /** Get maximum length of z value.
1008  * @return length of z value, can be length of the array or number of
1009  * maximum number of characters for a string
1010  */
1011 size_t
1013 {
1014  return 1;
1015 }
1016 
1017 /** Set z value.
1018  * z position of object (meters)
1019  * @param new_z new z value
1020  */
1021 void
1023 {
1024  data->z = new_z;
1025 }
1026 
1027 /** Clone this message.
1028  * Produces a message of the same type as this message and copies the
1029  * data to the new message.
1030  * @return clone of this message
1031  */
1032 Message *
1034 {
1035  return new OpenRaveInterface::MoveObjectMessage(this);
1036 }
1037 /** @class OpenRaveInterface::RotateObjectQuatMessage <interfaces/OpenRaveInterface.h>
1038  * RotateObjectQuatMessage Fawkes BlackBoard Interface Message.
1039  *
1040 
1041  */
1042 
1043 
1044 /** Constructor with initial values.
1045  * @param ini_name initial value for name
1046  * @param ini_x initial value for x
1047  * @param ini_y initial value for y
1048  * @param ini_z initial value for z
1049  * @param ini_w initial value for w
1050  */
1051 OpenRaveInterface::RotateObjectQuatMessage::RotateObjectQuatMessage(const char * ini_name, const float ini_x, const float ini_y, const float ini_z, const float ini_w) : Message("RotateObjectQuatMessage")
1052 {
1053  data_size = sizeof(RotateObjectQuatMessage_data_t);
1054  data_ptr = malloc(data_size);
1055  memset(data_ptr, 0, data_size);
1056  data = (RotateObjectQuatMessage_data_t *)data_ptr;
1058  strncpy(data->name, ini_name, 30-1);
1059  data->name[30-1] = 0;
1060  data->x = ini_x;
1061  data->y = ini_y;
1062  data->z = ini_z;
1063  data->w = ini_w;
1064  add_fieldinfo(IFT_STRING, "name", 30, data->name);
1065  add_fieldinfo(IFT_FLOAT, "x", 1, &data->x);
1066  add_fieldinfo(IFT_FLOAT, "y", 1, &data->y);
1067  add_fieldinfo(IFT_FLOAT, "z", 1, &data->z);
1068  add_fieldinfo(IFT_FLOAT, "w", 1, &data->w);
1069 }
1070 /** Constructor */
1072 {
1073  data_size = sizeof(RotateObjectQuatMessage_data_t);
1074  data_ptr = malloc(data_size);
1075  memset(data_ptr, 0, data_size);
1076  data = (RotateObjectQuatMessage_data_t *)data_ptr;
1078  add_fieldinfo(IFT_STRING, "name", 30, data->name);
1079  add_fieldinfo(IFT_FLOAT, "x", 1, &data->x);
1080  add_fieldinfo(IFT_FLOAT, "y", 1, &data->y);
1081  add_fieldinfo(IFT_FLOAT, "z", 1, &data->z);
1082  add_fieldinfo(IFT_FLOAT, "w", 1, &data->w);
1083 }
1084 
1085 /** Destructor */
1087 {
1088  free(data_ptr);
1089 }
1090 
1091 /** Copy constructor.
1092  * @param m message to copy from
1093  */
1095 {
1096  data_size = m->data_size;
1097  data_ptr = malloc(data_size);
1098  memcpy(data_ptr, m->data_ptr, data_size);
1099  data = (RotateObjectQuatMessage_data_t *)data_ptr;
1101 }
1102 
1103 /* Methods */
1104 /** Get name value.
1105  * Name of object
1106  * @return name value
1107  */
1108 char *
1110 {
1111  return data->name;
1112 }
1113 
1114 /** Get maximum length of name value.
1115  * @return length of name value, can be length of the array or number of
1116  * maximum number of characters for a string
1117  */
1118 size_t
1120 {
1121  return 30;
1122 }
1123 
1124 /** Set name value.
1125  * Name of object
1126  * @param new_name new name value
1127  */
1128 void
1130 {
1131  strncpy(data->name, new_name, sizeof(data->name)-1);
1132  data->name[sizeof(data->name)-1] = 0;
1133 }
1134 
1135 /** Get x value.
1136  * x value of quaternion
1137  * @return x value
1138  */
1139 float
1141 {
1142  return data->x;
1143 }
1144 
1145 /** Get maximum length of x value.
1146  * @return length of x value, can be length of the array or number of
1147  * maximum number of characters for a string
1148  */
1149 size_t
1151 {
1152  return 1;
1153 }
1154 
1155 /** Set x value.
1156  * x value of quaternion
1157  * @param new_x new x value
1158  */
1159 void
1161 {
1162  data->x = new_x;
1163 }
1164 
1165 /** Get y value.
1166  * y value of quaternion
1167  * @return y value
1168  */
1169 float
1171 {
1172  return data->y;
1173 }
1174 
1175 /** Get maximum length of y value.
1176  * @return length of y value, can be length of the array or number of
1177  * maximum number of characters for a string
1178  */
1179 size_t
1181 {
1182  return 1;
1183 }
1184 
1185 /** Set y value.
1186  * y value of quaternion
1187  * @param new_y new y value
1188  */
1189 void
1191 {
1192  data->y = new_y;
1193 }
1194 
1195 /** Get z value.
1196  * z value of quaternion
1197  * @return z value
1198  */
1199 float
1201 {
1202  return data->z;
1203 }
1204 
1205 /** Get maximum length of z value.
1206  * @return length of z value, can be length of the array or number of
1207  * maximum number of characters for a string
1208  */
1209 size_t
1211 {
1212  return 1;
1213 }
1214 
1215 /** Set z value.
1216  * z value of quaternion
1217  * @param new_z new z value
1218  */
1219 void
1221 {
1222  data->z = new_z;
1223 }
1224 
1225 /** Get w value.
1226  * w value of quaternion
1227  * @return w value
1228  */
1229 float
1231 {
1232  return data->w;
1233 }
1234 
1235 /** Get maximum length of w value.
1236  * @return length of w value, can be length of the array or number of
1237  * maximum number of characters for a string
1238  */
1239 size_t
1241 {
1242  return 1;
1243 }
1244 
1245 /** Set w value.
1246  * w value of quaternion
1247  * @param new_w new w value
1248  */
1249 void
1251 {
1252  data->w = new_w;
1253 }
1254 
1255 /** Clone this message.
1256  * Produces a message of the same type as this message and copies the
1257  * data to the new message.
1258  * @return clone of this message
1259  */
1260 Message *
1262 {
1264 }
1265 /** @class OpenRaveInterface::RotateObjectMessage <interfaces/OpenRaveInterface.h>
1266  * RotateObjectMessage Fawkes BlackBoard Interface Message.
1267  *
1268 
1269  */
1270 
1271 
1272 /** Constructor with initial values.
1273  * @param ini_name initial value for name
1274  * @param ini_x initial value for x
1275  * @param ini_y initial value for y
1276  * @param ini_z initial value for z
1277  */
1278 OpenRaveInterface::RotateObjectMessage::RotateObjectMessage(const char * ini_name, const float ini_x, const float ini_y, const float ini_z) : Message("RotateObjectMessage")
1279 {
1280  data_size = sizeof(RotateObjectMessage_data_t);
1281  data_ptr = malloc(data_size);
1282  memset(data_ptr, 0, data_size);
1283  data = (RotateObjectMessage_data_t *)data_ptr;
1285  strncpy(data->name, ini_name, 30-1);
1286  data->name[30-1] = 0;
1287  data->x = ini_x;
1288  data->y = ini_y;
1289  data->z = ini_z;
1290  add_fieldinfo(IFT_STRING, "name", 30, data->name);
1291  add_fieldinfo(IFT_FLOAT, "x", 1, &data->x);
1292  add_fieldinfo(IFT_FLOAT, "y", 1, &data->y);
1293  add_fieldinfo(IFT_FLOAT, "z", 1, &data->z);
1294 }
1295 /** Constructor */
1297 {
1298  data_size = sizeof(RotateObjectMessage_data_t);
1299  data_ptr = malloc(data_size);
1300  memset(data_ptr, 0, data_size);
1301  data = (RotateObjectMessage_data_t *)data_ptr;
1303  add_fieldinfo(IFT_STRING, "name", 30, data->name);
1304  add_fieldinfo(IFT_FLOAT, "x", 1, &data->x);
1305  add_fieldinfo(IFT_FLOAT, "y", 1, &data->y);
1306  add_fieldinfo(IFT_FLOAT, "z", 1, &data->z);
1307 }
1308 
1309 /** Destructor */
1311 {
1312  free(data_ptr);
1313 }
1314 
1315 /** Copy constructor.
1316  * @param m message to copy from
1317  */
1319 {
1320  data_size = m->data_size;
1321  data_ptr = malloc(data_size);
1322  memcpy(data_ptr, m->data_ptr, data_size);
1323  data = (RotateObjectMessage_data_t *)data_ptr;
1325 }
1326 
1327 /* Methods */
1328 /** Get name value.
1329  * Name of object
1330  * @return name value
1331  */
1332 char *
1334 {
1335  return data->name;
1336 }
1337 
1338 /** Get maximum length of name value.
1339  * @return length of name value, can be length of the array or number of
1340  * maximum number of characters for a string
1341  */
1342 size_t
1344 {
1345  return 30;
1346 }
1347 
1348 /** Set name value.
1349  * Name of object
1350  * @param new_name new name value
1351  */
1352 void
1354 {
1355  strncpy(data->name, new_name, sizeof(data->name)-1);
1356  data->name[sizeof(data->name)-1] = 0;
1357 }
1358 
1359 /** Get x value.
1360  * x-axis rotation of object (rad)
1361  * @return x value
1362  */
1363 float
1365 {
1366  return data->x;
1367 }
1368 
1369 /** Get maximum length of x value.
1370  * @return length of x value, can be length of the array or number of
1371  * maximum number of characters for a string
1372  */
1373 size_t
1375 {
1376  return 1;
1377 }
1378 
1379 /** Set x value.
1380  * x-axis rotation of object (rad)
1381  * @param new_x new x value
1382  */
1383 void
1385 {
1386  data->x = new_x;
1387 }
1388 
1389 /** Get y value.
1390  * y-axis rotation of object (rad)
1391  * @return y value
1392  */
1393 float
1395 {
1396  return data->y;
1397 }
1398 
1399 /** Get maximum length of y value.
1400  * @return length of y value, can be length of the array or number of
1401  * maximum number of characters for a string
1402  */
1403 size_t
1405 {
1406  return 1;
1407 }
1408 
1409 /** Set y value.
1410  * y-axis rotation of object (rad)
1411  * @param new_y new y value
1412  */
1413 void
1415 {
1416  data->y = new_y;
1417 }
1418 
1419 /** Get z value.
1420  * z-axis rotation of object (rad)
1421  * @return z value
1422  */
1423 float
1425 {
1426  return data->z;
1427 }
1428 
1429 /** Get maximum length of z value.
1430  * @return length of z value, can be length of the array or number of
1431  * maximum number of characters for a string
1432  */
1433 size_t
1435 {
1436  return 1;
1437 }
1438 
1439 /** Set z value.
1440  * z-axis rotation of object (rad)
1441  * @param new_z new z value
1442  */
1443 void
1445 {
1446  data->z = new_z;
1447 }
1448 
1449 /** Clone this message.
1450  * Produces a message of the same type as this message and copies the
1451  * data to the new message.
1452  * @return clone of this message
1453  */
1454 Message *
1456 {
1457  return new OpenRaveInterface::RotateObjectMessage(this);
1458 }
1459 /** @class OpenRaveInterface::RenameObjectMessage <interfaces/OpenRaveInterface.h>
1460  * RenameObjectMessage Fawkes BlackBoard Interface Message.
1461  *
1462 
1463  */
1464 
1465 
1466 /** Constructor with initial values.
1467  * @param ini_name initial value for name
1468  * @param ini_newName initial value for newName
1469  */
1470 OpenRaveInterface::RenameObjectMessage::RenameObjectMessage(const char * ini_name, const char * ini_newName) : Message("RenameObjectMessage")
1471 {
1472  data_size = sizeof(RenameObjectMessage_data_t);
1473  data_ptr = malloc(data_size);
1474  memset(data_ptr, 0, data_size);
1475  data = (RenameObjectMessage_data_t *)data_ptr;
1477  strncpy(data->name, ini_name, 30-1);
1478  data->name[30-1] = 0;
1479  strncpy(data->newName, ini_newName, 30-1);
1480  data->newName[30-1] = 0;
1481  add_fieldinfo(IFT_STRING, "name", 30, data->name);
1482  add_fieldinfo(IFT_STRING, "newName", 30, data->newName);
1483 }
1484 /** Constructor */
1486 {
1487  data_size = sizeof(RenameObjectMessage_data_t);
1488  data_ptr = malloc(data_size);
1489  memset(data_ptr, 0, data_size);
1490  data = (RenameObjectMessage_data_t *)data_ptr;
1492  add_fieldinfo(IFT_STRING, "name", 30, data->name);
1493  add_fieldinfo(IFT_STRING, "newName", 30, data->newName);
1494 }
1495 
1496 /** Destructor */
1498 {
1499  free(data_ptr);
1500 }
1501 
1502 /** Copy constructor.
1503  * @param m message to copy from
1504  */
1506 {
1507  data_size = m->data_size;
1508  data_ptr = malloc(data_size);
1509  memcpy(data_ptr, m->data_ptr, data_size);
1510  data = (RenameObjectMessage_data_t *)data_ptr;
1512 }
1513 
1514 /* Methods */
1515 /** Get name value.
1516  * Name of object
1517  * @return name value
1518  */
1519 char *
1521 {
1522  return data->name;
1523 }
1524 
1525 /** Get maximum length of name value.
1526  * @return length of name value, can be length of the array or number of
1527  * maximum number of characters for a string
1528  */
1529 size_t
1531 {
1532  return 30;
1533 }
1534 
1535 /** Set name value.
1536  * Name of object
1537  * @param new_name new name value
1538  */
1539 void
1541 {
1542  strncpy(data->name, new_name, sizeof(data->name)-1);
1543  data->name[sizeof(data->name)-1] = 0;
1544 }
1545 
1546 /** Get newName value.
1547  * New name of object
1548  * @return newName value
1549  */
1550 char *
1552 {
1553  return data->newName;
1554 }
1555 
1556 /** Get maximum length of newName value.
1557  * @return length of newName value, can be length of the array or number of
1558  * maximum number of characters for a string
1559  */
1560 size_t
1562 {
1563  return 30;
1564 }
1565 
1566 /** Set newName value.
1567  * New name of object
1568  * @param new_newName new newName value
1569  */
1570 void
1572 {
1573  strncpy(data->newName, new_newName, sizeof(data->newName)-1);
1574  data->newName[sizeof(data->newName)-1] = 0;
1575 }
1576 
1577 /** Clone this message.
1578  * Produces a message of the same type as this message and copies the
1579  * data to the new message.
1580  * @return clone of this message
1581  */
1582 Message *
1584 {
1585  return new OpenRaveInterface::RenameObjectMessage(this);
1586 }
1587 /** Check if message is valid and can be enqueued.
1588  * @param message Message to check
1589  * @return true if the message is valid, false otherwise.
1590  */
1591 bool
1593 {
1594  const StartViewerMessage *m0 = dynamic_cast<const StartViewerMessage *>(message);
1595  if ( m0 != NULL ) {
1596  return true;
1597  }
1598  const AddObjectMessage *m1 = dynamic_cast<const AddObjectMessage *>(message);
1599  if ( m1 != NULL ) {
1600  return true;
1601  }
1602  const DeleteObjectMessage *m2 = dynamic_cast<const DeleteObjectMessage *>(message);
1603  if ( m2 != NULL ) {
1604  return true;
1605  }
1606  const DeleteAllObjectsMessage *m3 = dynamic_cast<const DeleteAllObjectsMessage *>(message);
1607  if ( m3 != NULL ) {
1608  return true;
1609  }
1610  const AttachObjectMessage *m4 = dynamic_cast<const AttachObjectMessage *>(message);
1611  if ( m4 != NULL ) {
1612  return true;
1613  }
1614  const ReleaseObjectMessage *m5 = dynamic_cast<const ReleaseObjectMessage *>(message);
1615  if ( m5 != NULL ) {
1616  return true;
1617  }
1618  const ReleaseAllObjectsMessage *m6 = dynamic_cast<const ReleaseAllObjectsMessage *>(message);
1619  if ( m6 != NULL ) {
1620  return true;
1621  }
1622  const MoveObjectMessage *m7 = dynamic_cast<const MoveObjectMessage *>(message);
1623  if ( m7 != NULL ) {
1624  return true;
1625  }
1626  const RotateObjectQuatMessage *m8 = dynamic_cast<const RotateObjectQuatMessage *>(message);
1627  if ( m8 != NULL ) {
1628  return true;
1629  }
1630  const RotateObjectMessage *m9 = dynamic_cast<const RotateObjectMessage *>(message);
1631  if ( m9 != NULL ) {
1632  return true;
1633  }
1634  const RenameObjectMessage *m10 = dynamic_cast<const RenameObjectMessage *>(message);
1635  if ( m10 != NULL ) {
1636  return true;
1637  }
1638  return false;
1639 }
1640 
1641 /// @cond INTERNALS
1642 EXPORT_INTERFACE(OpenRaveInterface)
1643 /// @endcond
1644 
1645 
1646 } // end namespace fawkes
virtual Message * clone() const
Clone this message.
void set_name(const char *new_name)
Set name value.
size_t maxlenof_newName() const
Get maximum length of newName value.
void set_path(const char *new_path)
Set path value.
void * data_ptr
Pointer to memory that contains local data.
Definition: message.h:125
RotateObjectQuatMessage Fawkes BlackBoard Interface Message.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
Definition: message.h:41
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
void set_name(const char *new_name)
Set name value.
size_t maxlenof_name() const
Get maximum length of name value.
uint32_t error_code() const
Get error_code value.
void set_error_code(const uint32_t new_error_code)
Set error_code value.
size_t maxlenof_name() const
Get maximum length of name value.
bool is_final() const
Get final value.
size_t maxlenof_x() const
Get maximum length of x value.
void set_success(const bool new_success)
Set success value.
ReleaseAllObjectsMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_msgid() const
Get maximum length of msgid value.
virtual Message * clone() const
Clone this message.
size_t maxlenof_y() const
Get maximum length of y value.
Fawkes library namespace.
Timestamp data, must be present and first entries for each interface data structs!...
Definition: message.h:130
virtual Message * clone() const
Clone this message.
virtual void copy_values(const Interface *other)
Copy values from other interface.
void set_manip_name(const char *new_manip_name)
Set manip_name value.
void set_final(const bool new_final)
Set final value.
string field
Definition: types.h:48
void set_z(const float new_z)
Set z value.
virtual Message * clone() const
Clone this message.
size_t maxlenof_manip_name() const
Get maximum length of manip_name value.
Base class for all Fawkes BlackBoard interfaces.
Definition: interface.h:78
virtual const char * enum_tostring(const char *enumtype, int val) const
Convert arbitrary enum value to string.
size_t maxlenof_name() const
Get maximum length of name value.
RotateObjectMessage Fawkes BlackBoard Interface Message.
message_data_ts_t * data_ts
data timestamp aliasing pointer
Definition: message.h:135
unsigned int data_size
Size of memory needed to hold all data.
Definition: message.h:126
size_t maxlenof_name() const
Get maximum length of name value.
virtual Message * clone() const
Clone this message.
virtual Message * clone() const
Clone this message.
void set_x(const float new_x)
Set x value.
size_t maxlenof_y() const
Get maximum length of y value.
StartViewerMessage Fawkes BlackBoard Interface Message.
void set_y(const float new_y)
Set y value.
size_t maxlenof_z() const
Get maximum length of z value.
bool data_changed
Indicator if data has changed.
Definition: interface.h:226
size_t maxlenof_z() const
Get maximum length of z value.
size_t maxlenof_z() const
Get maximum length of z value.
void set_newName(const char *new_newName)
Set newName value.
const char * type() const
Get type of interface.
Definition: interface.cpp:640
void * data_ptr
Pointer to local memory storage.
Definition: interface.h:224
void set_msgid(const uint32_t new_msgid)
Set msgid value.
size_t maxlenof_w() const
Get maximum length of w value.
AttachObjectMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_final() const
Get maximum length of final value.
virtual Message * clone() const
Clone this message.
void set_y(const float new_y)
Set y value.
size_t maxlenof_name() const
Get maximum length of name value.
DeleteAllObjectsMessage Fawkes BlackBoard Interface Message.
void set_z(const float new_z)
Set z value.
virtual Message * clone() const
Clone this message.
size_t maxlenof_name() const
Get maximum length of name value.
float field
Definition: types.h:46
virtual Message * create_message(const char *type) const
Create message based on type name.
ReleaseObjectMessage Fawkes BlackBoard Interface Message.
void set_x(const float new_x)
Set x value.
size_t maxlenof_path() const
Get maximum length of path value.
virtual Message * clone() const
Clone this message.
void set_name(const char *new_name)
Set name value.
size_t maxlenof_name() const
Get maximum length of name value.
RenameObjectMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_success() const
Get maximum length of success value.
virtual Message * clone() const
Clone this message.
void set_name(const char *new_name)
Set name value.
void set_name(const char *new_name)
Set name value.
void set_name(const char *new_name)
Set name value.
size_t maxlenof_x() const
Get maximum length of x value.
void set_name(const char *new_name)
Set name value.
char * manip_name() const
Get manip_name 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:410
boolean field
Definition: types.h:37
void set_name(const char *new_name)
Set name value.
size_t maxlenof_error_code() const
Get maximum length of error_code value.
DeleteObjectMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_name() const
Get maximum length of name value.
virtual Message * clone() const
Clone this message.
MoveObjectMessage Fawkes BlackBoard Interface Message.
uint32_t msgid() const
Get msgid value.
32 bit unsigned integer field
Definition: types.h:43
bool is_success() const
Get success value.
size_t maxlenof_x() const
Get maximum length of x value.
OpenRaveInterface Fawkes BlackBoard Interface.
size_t maxlenof_y() const
Get maximum length of y value.
AddObjectMessage Fawkes BlackBoard Interface Message.