Fawkes API  Fawkes Development Version
TestInterface.cpp
1 
2 /***************************************************************************
3  * TestInterface.cpp - Fawkes BlackBoard Interface - TestInterface
4  *
5  * Templated created: Thu Oct 12 10:49:19 2006
6  * Copyright 2006-2007 Tim Niemueller
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/TestInterface.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 TestInterface <interfaces/TestInterface.h>
36  * TestInterface Fawkes BlackBoard Interface.
37  * Test interface. Use this to play around. Do NOT remove any fields, as this
38  interface is used by BlackBoard QA.
39  * @ingroup FawkesInterfaces
40  */
41 
42 
43 /** TEST_CONSTANT constant */
44 const int32_t TestInterface::TEST_CONSTANT = 5;
45 /** TEST_FLOAT_CONSTANT constant */
46 const float TestInterface::TEST_FLOAT_CONSTANT = 1.2;
47 
48 /** Constructor */
49 TestInterface::TestInterface() : Interface()
50 {
51  data_size = sizeof(TestInterface_data_t);
52  data_ptr = malloc(data_size);
53  data = (TestInterface_data_t *)data_ptr;
54  data_ts = (interface_data_ts_t *)data_ptr;
55  memset(data_ptr, 0, data_size);
56  enum_map_TestEnum[(int)TEST_ENUM_1] = "TEST_ENUM_1";
57  enum_map_TestEnum[(int)TEST_ENUM_2] = "TEST_ENUM_2";
58  add_fieldinfo(IFT_BOOL, "test_bool", 1, &data->test_bool);
59  add_fieldinfo(IFT_INT32, "test_int", 1, &data->test_int);
60  add_fieldinfo(IFT_BYTE, "flags", 1, &data->flags);
61  add_fieldinfo(IFT_STRING, "test_string", 30, data->test_string);
62  add_fieldinfo(IFT_INT32, "result", 1, &data->result);
63  add_fieldinfo(IFT_UINT32, "test_uint", 1, &data->test_uint);
64  add_messageinfo("SetTestIntMessage");
65  add_messageinfo("SetTestStringMessage");
66  add_messageinfo("CalculateMessage");
67  unsigned char tmp_hash[] = {0xe4, 0xe2, 0x1, 0xa9, 0xc8, 0x87, 0x8d, 0x3d, 0xa3, 0xab, 0xc9, 0xcd, 0xf3, 0xf, 0x5a, 0x33};
68  set_hash(tmp_hash);
69 }
70 
71 /** Destructor */
72 TestInterface::~TestInterface()
73 {
74  free(data_ptr);
75 }
76 /** Convert TestEnum constant to string.
77  * @param value value to convert to string
78  * @return constant value as string.
79  */
80 const char *
82 {
83  switch (value) {
84  case TEST_ENUM_1: return "TEST_ENUM_1";
85  case TEST_ENUM_2: return "TEST_ENUM_2";
86  default: return "UNKNOWN";
87  }
88 }
89 /* Methods */
90 /** Get test_bool value.
91  * Test Bool
92  * @return test_bool value
93  */
94 bool
96 {
97  return data->test_bool;
98 }
99 
100 /** Get maximum length of test_bool value.
101  * @return length of test_bool value, can be length of the array or number of
102  * maximum number of characters for a string
103  */
104 size_t
106 {
107  return 1;
108 }
109 
110 /** Set test_bool value.
111  * Test Bool
112  * @param new_test_bool new test_bool value
113  */
114 void
115 TestInterface::set_test_bool(const bool new_test_bool)
116 {
117  data->test_bool = new_test_bool;
118  data_changed = true;
119 }
120 
121 /** Get test_int value.
122  * Test integer
123  * @return test_int value
124  */
125 int32_t
127 {
128  return data->test_int;
129 }
130 
131 /** Get maximum length of test_int value.
132  * @return length of test_int value, can be length of the array or number of
133  * maximum number of characters for a string
134  */
135 size_t
137 {
138  return 1;
139 }
140 
141 /** Set test_int value.
142  * Test integer
143  * @param new_test_int new test_int value
144  */
145 void
146 TestInterface::set_test_int(const int32_t new_test_int)
147 {
148  data->test_int = new_test_int;
149  data_changed = true;
150 }
151 
152 /** Get flags value.
153  * Flags spit down by the writer
154  * @return flags value
155  */
156 uint8_t
157 TestInterface::flags() const
158 {
159  return data->flags;
160 }
161 
162 /** Get maximum length of flags value.
163  * @return length of flags value, can be length of the array or number of
164  * maximum number of characters for a string
165  */
166 size_t
168 {
169  return 1;
170 }
171 
172 /** Set flags value.
173  * Flags spit down by the writer
174  * @param new_flags new flags value
175  */
176 void
177 TestInterface::set_flags(const uint8_t new_flags)
178 {
179  data->flags = new_flags;
180  data_changed = true;
181 }
182 
183 /** Get test_string value.
184  * A test sring
185  * @return test_string value
186  */
187 char *
189 {
190  return data->test_string;
191 }
192 
193 /** Get maximum length of test_string value.
194  * @return length of test_string value, can be length of the array or number of
195  * maximum number of characters for a string
196  */
197 size_t
199 {
200  return 30;
201 }
202 
203 /** Set test_string value.
204  * A test sring
205  * @param new_test_string new test_string value
206  */
207 void
208 TestInterface::set_test_string(const char * new_test_string)
209 {
210  strncpy(data->test_string, new_test_string, sizeof(data->test_string)-1);
211  data->test_string[sizeof(data->test_string)-1] = 0;
212  data_changed = true;
213 }
214 
215 /** Get result value.
216  * Result of operation add operation from Calculate message.
217  * @return result value
218  */
219 int32_t
220 TestInterface::result() const
221 {
222  return data->result;
223 }
224 
225 /** Get maximum length of result value.
226  * @return length of result value, can be length of the array or number of
227  * maximum number of characters for a string
228  */
229 size_t
231 {
232  return 1;
233 }
234 
235 /** Set result value.
236  * Result of operation add operation from Calculate message.
237  * @param new_result new result value
238  */
239 void
240 TestInterface::set_result(const int32_t new_result)
241 {
242  data->result = new_result;
243  data_changed = true;
244 }
245 
246 /** Get test_uint value.
247  * Test uint32
248  * @return test_uint value
249  */
250 uint32_t
252 {
253  return data->test_uint;
254 }
255 
256 /** Get maximum length of test_uint value.
257  * @return length of test_uint value, can be length of the array or number of
258  * maximum number of characters for a string
259  */
260 size_t
262 {
263  return 1;
264 }
265 
266 /** Set test_uint value.
267  * Test uint32
268  * @param new_test_uint new test_uint value
269  */
270 void
271 TestInterface::set_test_uint(const uint32_t new_test_uint)
272 {
273  data->test_uint = new_test_uint;
274  data_changed = true;
275 }
276 
277 /* =========== message create =========== */
278 Message *
279 TestInterface::create_message(const char *type) const
280 {
281  if ( strncmp("SetTestIntMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
282  return new SetTestIntMessage();
283  } else if ( strncmp("SetTestStringMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
284  return new SetTestStringMessage();
285  } else if ( strncmp("CalculateMessage", type, INTERFACE_MESSAGE_TYPE_SIZE_ - 1) == 0 ) {
286  return new CalculateMessage();
287  } else {
288  throw UnknownTypeException("The given type '%s' does not match any known "
289  "message type for this interface type.", type);
290  }
291 }
292 
293 
294 /** Copy values from other interface.
295  * @param other other interface to copy values from
296  */
297 void
299 {
300  const TestInterface *oi = dynamic_cast<const TestInterface *>(other);
301  if (oi == NULL) {
302  throw TypeMismatchException("Can only copy values from interface of same type (%s vs. %s)",
303  type(), other->type());
304  }
305  memcpy(data, oi->data, sizeof(TestInterface_data_t));
306 }
307 
308 const char *
309 TestInterface::enum_tostring(const char *enumtype, int val) const
310 {
311  if (strcmp(enumtype, "TestEnum") == 0) {
312  return tostring_TestEnum((TestEnum)val);
313  }
314  throw UnknownTypeException("Unknown enum type %s", enumtype);
315 }
316 
317 /* =========== messages =========== */
318 /** @class TestInterface::SetTestIntMessage <interfaces/TestInterface.h>
319  * SetTestIntMessage Fawkes BlackBoard Interface Message.
320  *
321 
322  */
323 
324 
325 /** Constructor with initial values.
326  * @param ini_test_int initial value for test_int
327  */
328 TestInterface::SetTestIntMessage::SetTestIntMessage(const int32_t ini_test_int) : Message("SetTestIntMessage")
329 {
330  data_size = sizeof(SetTestIntMessage_data_t);
331  data_ptr = malloc(data_size);
332  memset(data_ptr, 0, data_size);
333  data = (SetTestIntMessage_data_t *)data_ptr;
335  data->test_int = ini_test_int;
336  enum_map_TestEnum[(int)TEST_ENUM_1] = "TEST_ENUM_1";
337  enum_map_TestEnum[(int)TEST_ENUM_2] = "TEST_ENUM_2";
338  add_fieldinfo(IFT_INT32, "test_int", 1, &data->test_int);
339 }
340 /** Constructor */
342 {
343  data_size = sizeof(SetTestIntMessage_data_t);
344  data_ptr = malloc(data_size);
345  memset(data_ptr, 0, data_size);
346  data = (SetTestIntMessage_data_t *)data_ptr;
348  enum_map_TestEnum[(int)TEST_ENUM_1] = "TEST_ENUM_1";
349  enum_map_TestEnum[(int)TEST_ENUM_2] = "TEST_ENUM_2";
350  add_fieldinfo(IFT_INT32, "test_int", 1, &data->test_int);
351 }
352 
353 /** Destructor */
355 {
356  free(data_ptr);
357 }
358 
359 /** Copy constructor.
360  * @param m message to copy from
361  */
363 {
364  data_size = m->data_size;
365  data_ptr = malloc(data_size);
366  memcpy(data_ptr, m->data_ptr, data_size);
367  data = (SetTestIntMessage_data_t *)data_ptr;
369 }
370 
371 /* Methods */
372 /** Get test_int value.
373  * Test integer
374  * @return test_int value
375  */
376 int32_t
378 {
379  return data->test_int;
380 }
381 
382 /** Get maximum length of test_int value.
383  * @return length of test_int value, can be length of the array or number of
384  * maximum number of characters for a string
385  */
386 size_t
388 {
389  return 1;
390 }
391 
392 /** Set test_int value.
393  * Test integer
394  * @param new_test_int new test_int value
395  */
396 void
397 TestInterface::SetTestIntMessage::set_test_int(const int32_t new_test_int)
398 {
399  data->test_int = new_test_int;
400 }
401 
402 /** Clone this message.
403  * Produces a message of the same type as this message and copies the
404  * data to the new message.
405  * @return clone of this message
406  */
407 Message *
409 {
410  return new TestInterface::SetTestIntMessage(this);
411 }
412 /** @class TestInterface::SetTestStringMessage <interfaces/TestInterface.h>
413  * SetTestStringMessage Fawkes BlackBoard Interface Message.
414  *
415 
416  */
417 
418 
419 /** Constructor with initial values.
420  * @param ini_test_string initial value for test_string
421  */
422 TestInterface::SetTestStringMessage::SetTestStringMessage(const char * ini_test_string) : Message("SetTestStringMessage")
423 {
424  data_size = sizeof(SetTestStringMessage_data_t);
425  data_ptr = malloc(data_size);
426  memset(data_ptr, 0, data_size);
427  data = (SetTestStringMessage_data_t *)data_ptr;
429  strncpy(data->test_string, ini_test_string, 30-1);
430  data->test_string[30-1] = 0;
431  enum_map_TestEnum[(int)TEST_ENUM_1] = "TEST_ENUM_1";
432  enum_map_TestEnum[(int)TEST_ENUM_2] = "TEST_ENUM_2";
433  add_fieldinfo(IFT_STRING, "test_string", 30, data->test_string);
434 }
435 /** Constructor */
437 {
438  data_size = sizeof(SetTestStringMessage_data_t);
439  data_ptr = malloc(data_size);
440  memset(data_ptr, 0, data_size);
441  data = (SetTestStringMessage_data_t *)data_ptr;
443  enum_map_TestEnum[(int)TEST_ENUM_1] = "TEST_ENUM_1";
444  enum_map_TestEnum[(int)TEST_ENUM_2] = "TEST_ENUM_2";
445  add_fieldinfo(IFT_STRING, "test_string", 30, data->test_string);
446 }
447 
448 /** Destructor */
450 {
451  free(data_ptr);
452 }
453 
454 /** Copy constructor.
455  * @param m message to copy from
456  */
458 {
459  data_size = m->data_size;
460  data_ptr = malloc(data_size);
461  memcpy(data_ptr, m->data_ptr, data_size);
462  data = (SetTestStringMessage_data_t *)data_ptr;
464 }
465 
466 /* Methods */
467 /** Get test_string value.
468  * A test sring
469  * @return test_string value
470  */
471 char *
473 {
474  return data->test_string;
475 }
476 
477 /** Get maximum length of test_string value.
478  * @return length of test_string value, can be length of the array or number of
479  * maximum number of characters for a string
480  */
481 size_t
483 {
484  return 30;
485 }
486 
487 /** Set test_string value.
488  * A test sring
489  * @param new_test_string new test_string value
490  */
491 void
492 TestInterface::SetTestStringMessage::set_test_string(const char * new_test_string)
493 {
494  strncpy(data->test_string, new_test_string, sizeof(data->test_string)-1);
495  data->test_string[sizeof(data->test_string)-1] = 0;
496 }
497 
498 /** Clone this message.
499  * Produces a message of the same type as this message and copies the
500  * data to the new message.
501  * @return clone of this message
502  */
503 Message *
505 {
506  return new TestInterface::SetTestStringMessage(this);
507 }
508 /** @class TestInterface::CalculateMessage <interfaces/TestInterface.h>
509  * CalculateMessage Fawkes BlackBoard Interface Message.
510  *
511 
512  */
513 
514 
515 /** Constructor with initial values.
516  * @param ini_summand initial value for summand
517  * @param ini_addend initial value for addend
518  */
519 TestInterface::CalculateMessage::CalculateMessage(const int32_t ini_summand, const int32_t ini_addend) : Message("CalculateMessage")
520 {
521  data_size = sizeof(CalculateMessage_data_t);
522  data_ptr = malloc(data_size);
523  memset(data_ptr, 0, data_size);
524  data = (CalculateMessage_data_t *)data_ptr;
526  data->summand = ini_summand;
527  data->addend = ini_addend;
528  enum_map_TestEnum[(int)TEST_ENUM_1] = "TEST_ENUM_1";
529  enum_map_TestEnum[(int)TEST_ENUM_2] = "TEST_ENUM_2";
530  add_fieldinfo(IFT_INT32, "summand", 1, &data->summand);
531  add_fieldinfo(IFT_INT32, "addend", 1, &data->addend);
532 }
533 /** Constructor */
535 {
536  data_size = sizeof(CalculateMessage_data_t);
537  data_ptr = malloc(data_size);
538  memset(data_ptr, 0, data_size);
539  data = (CalculateMessage_data_t *)data_ptr;
541  enum_map_TestEnum[(int)TEST_ENUM_1] = "TEST_ENUM_1";
542  enum_map_TestEnum[(int)TEST_ENUM_2] = "TEST_ENUM_2";
543  add_fieldinfo(IFT_INT32, "summand", 1, &data->summand);
544  add_fieldinfo(IFT_INT32, "addend", 1, &data->addend);
545 }
546 
547 /** Destructor */
549 {
550  free(data_ptr);
551 }
552 
553 /** Copy constructor.
554  * @param m message to copy from
555  */
557 {
558  data_size = m->data_size;
559  data_ptr = malloc(data_size);
560  memcpy(data_ptr, m->data_ptr, data_size);
561  data = (CalculateMessage_data_t *)data_ptr;
563 }
564 
565 /* Methods */
566 /** Get summand value.
567  * Summand
568  * @return summand value
569  */
570 int32_t
572 {
573  return data->summand;
574 }
575 
576 /** Get maximum length of summand value.
577  * @return length of summand value, can be length of the array or number of
578  * maximum number of characters for a string
579  */
580 size_t
582 {
583  return 1;
584 }
585 
586 /** Set summand value.
587  * Summand
588  * @param new_summand new summand value
589  */
590 void
591 TestInterface::CalculateMessage::set_summand(const int32_t new_summand)
592 {
593  data->summand = new_summand;
594 }
595 
596 /** Get addend value.
597  * Addend
598  * @return addend value
599  */
600 int32_t
602 {
603  return data->addend;
604 }
605 
606 /** Get maximum length of addend value.
607  * @return length of addend value, can be length of the array or number of
608  * maximum number of characters for a string
609  */
610 size_t
612 {
613  return 1;
614 }
615 
616 /** Set addend value.
617  * Addend
618  * @param new_addend new addend value
619  */
620 void
621 TestInterface::CalculateMessage::set_addend(const int32_t new_addend)
622 {
623  data->addend = new_addend;
624 }
625 
626 /** Clone this message.
627  * Produces a message of the same type as this message and copies the
628  * data to the new message.
629  * @return clone of this message
630  */
631 Message *
633 {
634  return new TestInterface::CalculateMessage(this);
635 }
636 /** Check if message is valid and can be enqueued.
637  * @param message Message to check
638  * @return true if the message is valid, false otherwise.
639  */
640 bool
641 TestInterface::message_valid(const Message *message) const
642 {
643  const SetTestIntMessage *m0 = dynamic_cast<const SetTestIntMessage *>(message);
644  if ( m0 != NULL ) {
645  return true;
646  }
647  const SetTestStringMessage *m1 = dynamic_cast<const SetTestStringMessage *>(message);
648  if ( m1 != NULL ) {
649  return true;
650  }
651  const CalculateMessage *m2 = dynamic_cast<const CalculateMessage *>(message);
652  if ( m2 != NULL ) {
653  return true;
654  }
655  return false;
656 }
657 
658 /// @cond INTERNALS
659 EXPORT_INTERFACE(TestInterface)
660 /// @endcond
661 
662 
663 } // end namespace fawkes
fawkes::Interface::data_ptr
void * data_ptr
Definition: interface.h:224
fawkes::TestInterface::TEST_ENUM_1
@ TEST_ENUM_1
Item 1.
Definition: TestInterface.h:57
fawkes::TestInterface::tostring_TestEnum
const char * tostring_TestEnum(TestEnum value) const
Convert TestEnum constant to string.
Definition: TestInterface.cpp:87
fawkes::TestInterface::create_message
virtual Message * create_message(const char *type) const
Definition: TestInterface.cpp:285
fawkes::TestInterface::copy_values
virtual void copy_values(const Interface *other)
Copy values from other interface.
Definition: TestInterface.cpp:304
fawkes::TestInterface::SetTestStringMessage::maxlenof_test_string
size_t maxlenof_test_string() const
Get maximum length of test_string value.
Definition: TestInterface.cpp:488
fawkes::TestInterface::set_result
void set_result(const int32_t new_result)
Set result value.
Definition: TestInterface.cpp:246
fawkes::TestInterface::SetTestIntMessage::~SetTestIntMessage
~SetTestIntMessage()
Destructor.
Definition: TestInterface.cpp:360
fawkes::Message
Definition: message.h:41
fawkes::TestInterface::SetTestIntMessage::SetTestIntMessage
SetTestIntMessage()
Constructor.
Definition: TestInterface.cpp:347
fawkes::TestInterface::CalculateMessage::addend
int32_t addend() const
Get addend value.
Definition: TestInterface.cpp:607
fawkes::Message::data_ptr
void * data_ptr
Definition: message.h:125
fawkes::TestInterface::SetTestStringMessage::~SetTestStringMessage
~SetTestStringMessage()
Destructor.
Definition: TestInterface.cpp:455
fawkes::IFT_BOOL
@ IFT_BOOL
boolean field
Definition: types.h:51
fawkes::Message::data_ts
message_data_ts_t * data_ts
data timestamp aliasing pointer
Definition: message.h:135
fawkes::IFT_UINT32
@ IFT_UINT32
32 bit unsigned integer field
Definition: types.h:57
fawkes::TestInterface::CalculateMessage::CalculateMessage
CalculateMessage()
Constructor.
Definition: TestInterface.cpp:540
fawkes::TestInterface::SetTestStringMessage::set_test_string
void set_test_string(const char *new_test_string)
Set test_string value.
Definition: TestInterface.cpp:498
fawkes::TestInterface::set_test_int
void set_test_int(const int32_t new_test_int)
Set test_int value.
Definition: TestInterface.cpp:152
fawkes::Interface::type
const char * type() const
Get type of interface.
Definition: interface.cpp:645
fawkes::Interface::add_fieldinfo
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 field info list.
Definition: interface.cpp:341
fawkes::TestInterface::CalculateMessage::~CalculateMessage
~CalculateMessage()
Destructor.
Definition: TestInterface.cpp:554
fawkes::TestInterface::SetTestIntMessage::test_int
int32_t test_int() const
Get test_int value.
Definition: TestInterface.cpp:383
fawkes::Interface::data_ts
interface_data_ts_t * data_ts
Definition: interface.h:228
fawkes::TestInterface::result
int32_t result() const
Get result value.
Definition: TestInterface.cpp:226
fawkes::Message::message_data_ts_t
Timestamp data, must be present and first entries for each interface data structs!...
Definition: message.h:130
fawkes::TestInterface::maxlenof_result
size_t maxlenof_result() const
Get maximum length of result value.
Definition: TestInterface.cpp:236
fawkes::TestInterface::maxlenof_flags
size_t maxlenof_flags() const
Get maximum length of flags value.
Definition: TestInterface.cpp:173
fawkes::Interface::data_changed
bool data_changed
Definition: interface.h:226
fawkes::TestInterface::maxlenof_test_int
size_t maxlenof_test_int() const
Get maximum length of test_int value.
Definition: TestInterface.cpp:142
fawkes::TestInterface::CalculateMessage::set_summand
void set_summand(const int32_t new_summand)
Set summand value.
Definition: TestInterface.cpp:597
fawkes::IFT_INT32
@ IFT_INT32
32 bit integer field
Definition: types.h:56
fawkes::TestInterface::SetTestIntMessage
Definition: TestInterface.h:80
fawkes::TestInterface::CalculateMessage
Definition: TestInterface.h:132
fawkes::TestInterface::SetTestStringMessage::test_string
char * test_string() const
Get test_string value.
Definition: TestInterface.cpp:478
fawkes::Interface::Interface
Interface()
Constructor.
Definition: interface.cpp:238
fawkes::TestInterface::is_test_bool
bool is_test_bool() const
Get test_bool value.
Definition: TestInterface.cpp:101
fawkes::TestInterface::test_int
int32_t test_int() const
Get test_int value.
Definition: TestInterface.cpp:132
fawkes::TestInterface::SetTestIntMessage::maxlenof_test_int
size_t maxlenof_test_int() const
Get maximum length of test_int value.
Definition: TestInterface.cpp:393
fawkes
fawkes::Interface::set_hash
void set_hash(unsigned char *ihash)
Set hash.
Definition: interface.cpp:321
fawkes::Message::data_size
unsigned int data_size
Definition: message.h:126
fawkes::TestInterface::enum_tostring
virtual const char * enum_tostring(const char *enumtype, int val) const
Definition: TestInterface.cpp:315
fawkes::TestInterface::TEST_FLOAT_CONSTANT
static const float TEST_FLOAT_CONSTANT
TEST_FLOAT_CONSTANT constant.
Definition: TestInterface.h:53
fawkes::SwitchInterface::value
float value() const
Get value value.
Definition: SwitchInterface.cpp:126
fawkes::TestInterface::SetTestIntMessage::clone
virtual Message * clone() const
Clone this message.
Definition: TestInterface.cpp:414
fawkes::TestInterface::SetTestStringMessage::SetTestStringMessage
SetTestStringMessage()
Constructor.
Definition: TestInterface.cpp:442
fawkes::TestInterface::CalculateMessage::set_addend
void set_addend(const int32_t new_addend)
Set addend value.
Definition: TestInterface.cpp:627
fawkes::TestInterface::CalculateMessage::maxlenof_addend
size_t maxlenof_addend() const
Get maximum length of addend value.
Definition: TestInterface.cpp:617
fawkes::Message::add_fieldinfo
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:406
fawkes::TestInterface::maxlenof_test_uint
size_t maxlenof_test_uint() const
Get maximum length of test_uint value.
Definition: TestInterface.cpp:267
fawkes::TestInterface::TEST_CONSTANT
static const int32_t TEST_CONSTANT
TEST_CONSTANT constant.
Definition: TestInterface.h:52
fawkes::TestInterface::test_uint
uint32_t test_uint() const
Get test_uint value.
Definition: TestInterface.cpp:257
fawkes::TestInterface::SetTestStringMessage::clone
virtual Message * clone() const
Clone this message.
Definition: TestInterface.cpp:510
fawkes::TestInterface::CalculateMessage::maxlenof_summand
size_t maxlenof_summand() const
Get maximum length of summand value.
Definition: TestInterface.cpp:587
fawkes::Interface::data_size
unsigned int data_size
Definition: interface.h:225
fawkes::TestInterface::set_flags
void set_flags(const uint8_t new_flags)
Set flags value.
Definition: TestInterface.cpp:183
fawkes::TestInterface::flags
uint8_t flags() const
Get flags value.
Definition: TestInterface.cpp:163
fawkes::TestInterface::CalculateMessage::clone
virtual Message * clone() const
Clone this message.
Definition: TestInterface.cpp:638
fawkes::TestInterface::set_test_uint
void set_test_uint(const uint32_t new_test_uint)
Set test_uint value.
Definition: TestInterface.cpp:277
fawkes::TestInterface::maxlenof_test_string
size_t maxlenof_test_string() const
Get maximum length of test_string value.
Definition: TestInterface.cpp:204
fawkes::TestInterface::test_string
char * test_string() const
Get test_string value.
Definition: TestInterface.cpp:194
fawkes::TestInterface::CalculateMessage::summand
int32_t summand() const
Get summand value.
Definition: TestInterface.cpp:577
fawkes::TestInterface::maxlenof_test_bool
size_t maxlenof_test_bool() const
Get maximum length of test_bool value.
Definition: TestInterface.cpp:111
fawkes::TestInterface::set_test_string
void set_test_string(const char *new_test_string)
Set test_string value.
Definition: TestInterface.cpp:214
fawkes::IFT_STRING
@ IFT_STRING
string field
Definition: types.h:62
fawkes::IFT_BYTE
@ IFT_BYTE
byte field, alias for uint8
Definition: types.h:63
fawkes::TestInterface::set_test_bool
void set_test_bool(const bool new_test_bool)
Set test_bool value.
Definition: TestInterface.cpp:121
fawkes::TestInterface::TEST_ENUM_2
@ TEST_ENUM_2
Item 2.
Definition: TestInterface.h:58
fawkes::Interface::add_messageinfo
void add_messageinfo(const char *name)
Add an entry to the message info list.
Definition: interface.cpp:380
fawkes::TestInterface::SetTestIntMessage::set_test_int
void set_test_int(const int32_t new_test_int)
Set test_int value.
Definition: TestInterface.cpp:403
fawkes::TestInterface::SetTestStringMessage
Definition: TestInterface.h:106
fawkes::TestInterface::message_valid
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
Definition: TestInterface.cpp:647